mirror of https://github.com/BOINC/boinc.git
264 lines
8.1 KiB
C++
264 lines
8.1 KiB
C++
// This file is part of BOINC.
|
|
// http://boinc.berkeley.edu
|
|
// Copyright (C) 2015 University of California
|
|
//
|
|
// BOINC is free software; you can redistribute it and/or modify it
|
|
// under the terms of the GNU Lesser General Public License
|
|
// as published by the Free Software Foundation,
|
|
// either version 3 of the License, or (at your option) any later version.
|
|
//
|
|
// BOINC is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
// See the GNU Lesser General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Lesser General Public License
|
|
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
// This code was initially generated with wxFormBuilder (version Oct 13 2006)
|
|
// http://www.wxformbuilder.org/
|
|
//
|
|
|
|
#ifndef __DlgAdvPreferencesBase__
|
|
#define __DlgAdvPreferencesBase__
|
|
|
|
// Define WX_GCH in order to support precompiled headers with GCC compiler.
|
|
// You have to create the header "wx_pch.h" and include all files needed
|
|
// for compile your gui inside it.
|
|
// Then, compile it and place the file "wx_pch.h.gch" into the same
|
|
// directory that "wx_pch.h".
|
|
#ifdef WX_GCH
|
|
#include <wx_pch.h>
|
|
#else
|
|
#include <wx/wx.h>
|
|
#endif
|
|
|
|
#include <wx/button.h>
|
|
#include <wx/notebook.h>
|
|
#include <wx/panel.h>
|
|
#include <wx/statbmp.h>
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#define PROC_DAY_OF_WEEK_TOOLTIP_TEXT _("On this day of the week, compute only during these hours.")
|
|
#define NET_DAY_OF_WEEK_TOOLTIP_TEXT _("On this day of the week, transfer files only during these hours.")
|
|
|
|
#define ID_DEFAULT wxID_ANY // Default
|
|
#define ID_ADV_PREFS_START 20000
|
|
enum {
|
|
ID_BTN_CLEAR = ID_ADV_PREFS_START,
|
|
// These 7 must be in sequence
|
|
ID_CHKNETSUNDAY,
|
|
ID_CHKNETMONDAY,
|
|
ID_CHKNETTUESDAY,
|
|
ID_CHKNETWEDNESDAY,
|
|
ID_CHKNETTHURSDAY,
|
|
ID_CHKNETFRIDAY,
|
|
ID_CHKNETSATURDAY,
|
|
|
|
// These 7 must be in sequence
|
|
ID_CHKPROCSUNDAY,
|
|
ID_CHKPROCMONDAY,
|
|
ID_CHKPROCTUESDAY,
|
|
ID_CHKPROCWEDNESDAY,
|
|
ID_CHKPROCTHURSDAY,
|
|
ID_CHKPROCFRIDAY,
|
|
ID_CHKPROCSATURDAY,
|
|
|
|
ID_CHKDAILYXFERLIMIT,
|
|
ID_CHKDISKLEASTFREE,
|
|
ID_CHKDISKMAXOFTOTAL,
|
|
ID_CHKDISKMAXSPACE,
|
|
ID_CHKMEMORYWHILESUSPENDED,
|
|
ID_CHKNETCONFIRMBEFORECONNECT,
|
|
ID_CHKNETDISCONNECTWHENDONE,
|
|
ID_CHKNETDOWNLOADRATE,
|
|
ID_CHKNETEVERYDAY,
|
|
ID_CHKNETSKIPIMAGEVERIFICATION,
|
|
ID_CHKNETUPLOADRATE,
|
|
ID_CHKPROCEVERYDAY,
|
|
ID_CHKPROCINUSE,
|
|
ID_CHKMAXLOAD,
|
|
ID_CHKPROCONBATTERIES,
|
|
ID_TABPAGE_SCHED,
|
|
ID_TABPAGE_DISK,
|
|
ID_TABPAGE_NET,
|
|
ID_TABPAGE_PROC,
|
|
ID_TXTDISKLEASTFREE,
|
|
ID_TXTDISKMAXOFTOTAL,
|
|
ID_TXTDISKMAXSPACE,
|
|
ID_TXTDISKWRITETODISK,
|
|
ID_TXTMEMORYMAXINUSE,
|
|
ID_TXTMEMORYMAXONIDLE,
|
|
ID_TXTNETADDITIONALDAYS,
|
|
ID_TXTNETCONNECTINTERVAL,
|
|
ID_TXTNETDOWNLOADRATE,
|
|
ID_TXTNETEVERYDAYSTART,
|
|
ID_TXTNETEVERYDAYSTOP,
|
|
ID_TXTNETFRIDAYSTART,
|
|
ID_TXTNETFRIDAYSTOP,
|
|
ID_TXTNETMONDAYSTART,
|
|
ID_TXTNETMONDAYSTOP,
|
|
ID_TXTNETSATURDAYSTART,
|
|
ID_TXTNETSATURDAYSTOP,
|
|
ID_TXTNETSUNDAYSTART,
|
|
ID_TXTNETSUNDAYSTOP,
|
|
ID_TXTNETTHURSDAYSTART,
|
|
ID_TXTNETTHURSDAYSTOP,
|
|
ID_TXTNETTUESDAYSTART,
|
|
ID_TXTNETTUESDAYSTOP,
|
|
ID_TXTNETUPLOADRATE,
|
|
ID_TXTNETWEDNESDAYSTART,
|
|
ID_TXTNETWEDNESDAYSTOP,
|
|
ID_TXTPOCUSECPUTIME,
|
|
ID_TXTPROCEVERYDAYSTART,
|
|
ID_TXTPROCEVERYDAYSTOP,
|
|
ID_TXTPROCFRIDAYSTART,
|
|
ID_TXTPROCFRIDAYSTOP,
|
|
ID_TXTPROCIDLEFOR,
|
|
ID_TXTPROCMONDAYSTART,
|
|
ID_TXTPROCMONDAYSTOP,
|
|
ID_TXTPROCSATURDAYSTART,
|
|
ID_TXTPROCSATURDAYSTOP,
|
|
ID_TXTPROCSUNDAYSTART,
|
|
ID_TXTPROCSUNDAYSTOP,
|
|
ID_TXTPROCSWITCHEVERY,
|
|
ID_TXTPROCTHURSDAYSTART,
|
|
ID_TXTPROCTHURSDAYSTOP,
|
|
ID_TXTPROCTUESDAYSTART,
|
|
ID_TXTPROCTUESDAYSTOP,
|
|
ID_TXTPROCUSEPROCESSORS,
|
|
ID_TXTPROCWEDNESDAYSTART,
|
|
ID_TXTPROCWEDNESDAYSTOP,
|
|
ID_CHKGPUPROCINUSE,
|
|
ID_TXTMAXLOAD,
|
|
ID_DAILY_XFER_LIMIT_MB,
|
|
ID_DAILY_XFER_PERIOD_DAYS,
|
|
ID_ADV_PREFS_LAST
|
|
};
|
|
|
|
|
|
/**
|
|
* Class CDlgAdvPreferencesBase
|
|
*/
|
|
class CDlgAdvPreferencesBase : public wxDialog
|
|
{
|
|
protected:
|
|
wxStaticBitmap* m_bmpWarning;
|
|
wxButton* m_btnClear;
|
|
wxPanel* m_panelControls;
|
|
wxNotebook* m_Notebook;
|
|
wxPanel* m_panelProcessor;
|
|
wxTextCtrl* m_txtProcUseProcessors;
|
|
wxTextCtrl* m_txtProcUseCPUTime;
|
|
wxCheckBox* m_chkProcOnBatteries;
|
|
wxCheckBox* m_chkProcInUse;
|
|
wxCheckBox* m_chkGPUProcInUse;
|
|
wxTextCtrl* m_txtProcIdleFor;
|
|
wxCheckBox* m_chkMaxLoad;
|
|
wxTextCtrl* m_txtMaxLoad;
|
|
wxCheckBox* m_chkNetEveryDay;
|
|
wxCheckBox* m_chkProcEveryDay;
|
|
wxTextCtrl* m_txtProcEveryDayStart;
|
|
wxTextCtrl* m_txtProcEveryDayStop;
|
|
wxCheckBox* m_chkProcMonday;
|
|
wxTextCtrl* m_txtProcMondayStart;
|
|
wxTextCtrl* m_txtProcMondayStop;
|
|
wxCheckBox* m_chkProcTuesday;
|
|
wxTextCtrl* m_txtProcTuesdayStart;
|
|
wxTextCtrl* m_txtProcTuesdayStop;
|
|
wxCheckBox* m_chkProcWednesday;
|
|
wxTextCtrl* m_txtProcWednesdayStart;
|
|
wxTextCtrl* m_txtProcWednesdayStop;
|
|
wxCheckBox* m_chkProcThursday;
|
|
wxTextCtrl* m_txtProcThursdayStart;
|
|
wxTextCtrl* m_txtProcThursdayStop;
|
|
wxCheckBox* m_chkProcFriday;
|
|
wxTextCtrl* m_txtProcFridayStart;
|
|
wxTextCtrl* m_txtProcFridayStop;
|
|
wxCheckBox* m_chkProcSaturday;
|
|
wxTextCtrl* m_txtProcSaturdayStart;
|
|
wxTextCtrl* m_txtProcSaturdayStop;
|
|
wxCheckBox* m_chkProcSunday;
|
|
wxTextCtrl* m_txtProcSundayStart;
|
|
wxTextCtrl* m_txtProcSundayStop;
|
|
wxTextCtrl* m_txtProcSwitchEvery;
|
|
wxTextCtrl* m_txtDiskWriteToDisk;
|
|
wxPanel* m_panelNetwork;
|
|
wxCheckBox* m_chkNetDownloadRate;
|
|
wxTextCtrl* m_txtNetDownloadRate;
|
|
wxCheckBox* m_chkNetUploadRate;
|
|
wxTextCtrl* m_txtNetUploadRate;
|
|
|
|
wxCheckBox * m_chk_daily_xfer_limit;
|
|
wxTextCtrl* m_txt_daily_xfer_limit_mb;
|
|
wxTextCtrl* m_txt_daily_xfer_period_days;
|
|
|
|
wxTextCtrl* m_txtNetConnectInterval;
|
|
wxTextCtrl* m_txtNetAdditionalDays;
|
|
wxCheckBox* m_chkNetSkipImageVerification;
|
|
wxCheckBox* m_chkNetConfirmBeforeConnect;
|
|
wxCheckBox* m_chkNetDisconnectWhenDone;
|
|
wxTextCtrl* m_txtNetEveryDayStart;
|
|
wxTextCtrl* m_txtNetEveryDayStop;
|
|
wxCheckBox* m_chkNetMonday;
|
|
wxTextCtrl* m_txtNetMondayStart;
|
|
wxTextCtrl* m_txtNetMondayStop;
|
|
wxCheckBox* m_chkNetTuesday;
|
|
wxTextCtrl* m_txtNetTuesdayStart;
|
|
wxTextCtrl* m_txtNetTuesdayStop;
|
|
wxCheckBox* m_chkNetWednesday;
|
|
wxTextCtrl* m_txtNetWednesdayStart;
|
|
wxTextCtrl* m_txtNetWednesdayStop;
|
|
wxCheckBox* m_chkNetThursday;
|
|
wxTextCtrl* m_txtNetThursdayStart;
|
|
wxTextCtrl* m_txtNetThursdayStop;
|
|
wxCheckBox* m_chkNetFriday;
|
|
wxTextCtrl* m_txtNetFridayStart;
|
|
wxTextCtrl* m_txtNetFridayStop;
|
|
wxCheckBox* m_chkNetSaturday;
|
|
wxTextCtrl* m_txtNetSaturdayStart;
|
|
wxTextCtrl* m_txtNetSaturdayStop;
|
|
wxCheckBox* m_chkNetSunday;
|
|
wxTextCtrl* m_txtNetSundayStart;
|
|
wxTextCtrl* m_txtNetSundayStop;
|
|
wxPanel* m_panelDiskAndMemory;
|
|
wxCheckBox* m_chkDiskMaxSpace;
|
|
wxTextCtrl* m_txtDiskMaxSpace;
|
|
wxCheckBox* m_chkDiskLeastFree;
|
|
wxTextCtrl* m_txtDiskLeastFree;
|
|
wxCheckBox* m_chkDiskMaxOfTotal;
|
|
wxTextCtrl* m_txtDiskMaxOfTotal;
|
|
wxTextCtrl* m_txtDiskMaxSwap;
|
|
wxTextCtrl* m_txtMemoryMaxInUse;
|
|
wxTextCtrl* m_txtMemoryMaxOnIdle;
|
|
wxCheckBox* m_chkMemoryWhileSuspended;
|
|
wxPanel* m_panelDailySchedules;
|
|
|
|
wxPanel* m_panelButtons;
|
|
wxButton* m_btnOK;
|
|
wxButton* m_btnCancel;
|
|
wxButton* m_btnHelp;
|
|
|
|
wxString *web_prefs_url;
|
|
|
|
public:
|
|
CDlgAdvPreferencesBase( wxWindow* parent, int id = -1, wxString title = wxT(""), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxDEFAULT_DIALOG_STYLE );
|
|
|
|
private:
|
|
void addNewRowToSizer(wxSizer* toSizer, wxString& toolTipText,
|
|
wxWindow* first, wxWindow* second, wxWindow* third,
|
|
wxWindow* fourth=NULL, wxWindow* fifth=NULL);
|
|
wxPanel* createProcessorTab(wxNotebook* notebook);
|
|
wxPanel* createNetworkTab(wxNotebook* notebook);
|
|
wxPanel* createDiskAndMemoryTab(wxNotebook* notebook);
|
|
wxPanel* createDailySchedulesTab(wxNotebook* notebook);
|
|
wxSize getTextCtrlSize(wxString maxText);
|
|
bool doesLocalPrefsFileExist();
|
|
void makeStaticBoxLabelItalic(wxStaticBox* staticBox);
|
|
};
|
|
|
|
#endif //__DlgAdvPreferencesBase__
|