diff --git a/checkin_notes b/checkin_notes index cb87aa204b..59b7ebf05c 100755 --- a/checkin_notes +++ b/checkin_notes @@ -11509,3 +11509,13 @@ David April 9 2004 db_base.C,h html/user/ stats.php + +Rom April 10 2004 + - Initial Snapshot of the new BOINC Universal GUI, this GUI will provide the + native interface for all supported platforms. + NOTE: This is just a bare bones skeleton. Header file stuff still needs + to be moved around to support all the platforms. stdwx.h should include + config.h or win_config.h depending on platform, etc. + + clientgui/ + * (new) diff --git a/clientgui/.cvsignore b/clientgui/.cvsignore new file mode 100644 index 0000000000..acc0db9066 --- /dev/null +++ b/clientgui/.cvsignore @@ -0,0 +1,3 @@ +Release +Debug +BOINCGUI.suo \ No newline at end of file diff --git a/clientgui/BOINCGUI.pjd b/clientgui/BOINCGUI.pjd new file mode 100644 index 0000000000..7093665d44 --- /dev/null +++ b/clientgui/BOINCGUI.pjd @@ -0,0 +1,3257 @@ + + + + 1.0 + dialogblocks + + Project File + + + 2 + + + + + 80 + + TRUE + FALSE + FALSE + TRUE + TRUE + FALSE + + + + TRUE + + Projects + 12336808 + root-document + + project + 1 + 1 + 0 + 0 + + Windows + 12365720 + html-document + + dialogsfolder + 1 + 1 + 12336808 + 1 + + Options + 12443472 + dialog-document + + dialog + 0 + 1 + 12365720 + 0 + 8/3/2004 + wbDialogProxy + 10000 + ID_TOOLSOPTIONSDIALOG + 10000 + CDlgToolsOptions + wxDialog + wxDialog + DlgOptions.cpp + DlgOptions.h + + Options + TRUE + FALSE + + + + + + FALSE + TRUE + TRUE + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + -1 + -1 + + wxBoxSizer V + 12509752 + dialog-control-document + + sizer + 0 + 1 + 12443472 + 0 + wbBoxSizerProxy + Vertical + + FALSE + FALSE + + wxNotebook: ID_NOTEBOOK + 12424256 + dialog-control-document + + dialogcontrol + 0 + 1 + 12509752 + 0 + wbNotebookProxy + wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED|OnNotebookPageChanged + wxEVT_UPDATE_UI|OnNotebookUpdate + ID_NOTEBOOK + 10001 + wxNotebook + + FALSE + + + + + + FALSE + + + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 300 + 265 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxPanel: ID_GENERAL + 12494464 + dialog-control-document + + panel + 0 + 1 + 12424256 + 0 + wbPanelProxy + ID_GENERAL + 10002 + wxPanel + General + wxPanel + + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 99 + 80 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxPanel: ID_HTTPPROXY + 12620640 + dialog-control-document + + panel + 0 + 1 + 12424256 + 0 + wbPanelProxy + ID_HTTPPROXY + 10003 + wxPanel + HTTP Proxy + wxPanel + + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 99 + 150 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxBoxSizer V + 12596272 + dialog-control-document + + sizer + 0 + 1 + 12620640 + 0 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxCheckBox: ID_ENABLEHTTPPROXYCTRL + 12375856 + dialog-control-document + + dialogcontrol + 0 + 1 + 12596272 + 0 + wbCheckBoxProxy + wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablehttpproxyctrlClick + wxEVT_UPDATE_UI|OnEnablehttpproxyctrlUpdate + ID_ENABLEHTTPPROXYCTRL + 10007 + wxCheckBox + m_EnableHTTPProxyCtrl + Connect via HTTP proxy server + FALSE + + + + + + + + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticBoxSizer V + 12383552 + dialog-control-document + + sizer + 0 + 1 + 12596272 + 0 + wbStaticBoxSizerProxy + wxID_ANY + -1 + HTTP Proxy Server Configuration + Vertical + + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxGridSizer + 12529792 + dialog-control-document + + sizer + 0 + 1 + 12383552 + 0 + wbGridSizerProxy + 1 + 2 + 0 + 0 + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxFlexGridSizer + 12625656 + dialog-control-document + + sizer + 0 + 1 + 12529792 + 0 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 12463888 + dialog-control-document + + dialogcontrol + 0 + 1 + 12625656 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Address: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_HTTPADDRESSCTRL + 12561912 + dialog-control-document + + dialogcontrol + 0 + 1 + 12625656 + 0 + wbTextCtrlProxy + ID_HTTPADDRESSCTRL + 10010 + wxTextCtrl + m_HTTPAddressCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 150 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticText: wxID_STATIC + 12379256 + dialog-control-document + + dialogcontrol + 0 + 1 + 12625656 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Port: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_HTTPPORTCTRL + 12506696 + dialog-control-document + + dialogcontrol + 0 + 1 + 12625656 + 0 + wbTextCtrlProxy + ID_HTTPPORTCTRL + 10011 + wxTextCtrl + m_HTTPPortCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 50 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + wxStaticBoxSizer V + 12521704 + dialog-control-document + + sizer + 0 + 1 + 12383552 + 0 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Leave these blank if not needed + Vertical + + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxFlexGridSizer + 12414992 + dialog-control-document + + sizer + 0 + 1 + 12521704 + 0 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 12421920 + dialog-control-document + + dialogcontrol + 0 + 1 + 12414992 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + User Name: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_HTTPUSERNAMECTRL + 12446576 + dialog-control-document + + dialogcontrol + 0 + 1 + 12414992 + 0 + wbTextCtrlProxy + ID_HTTPUSERNAMECTRL + 10008 + wxTextCtrl + m_HTTPUsernameCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 175 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticText: wxID_STATIC + 12528712 + dialog-control-document + + dialogcontrol + 0 + 1 + 12414992 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Password: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_HTTPPASSWORDCTRL + 12544416 + dialog-control-document + + dialogcontrol + 0 + 1 + 12414992 + 0 + wbTextCtrlProxy + ID_HTTPPASSWORDCTRL + 10009 + wxTextCtrl + m_HTTPPasswordCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + + + + wxPanel: ID_SOCKSPROXY + 12620400 + dialog-control-document + + panel + 0 + 1 + 12424256 + 0 + wbPanelProxy + ID_SOCKSPROXY + 10006 + wxPanel + SOCKS Proxy + wxPanel + + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 99 + 80 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxBoxSizer V + 20123616 + dialog-control-document + + sizer + 0 + 1 + 12620400 + 0 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxCheckBox: ID_ENABLESOCKSPROXYCTRL + 20130640 + dialog-control-document + + dialogcontrol + 0 + 1 + 20123616 + 0 + wbCheckBoxProxy + wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablesocksproxyctrlClick + wxEVT_UPDATE_UI|OnEnablesocksproxyctrlUpdate + ID_ENABLESOCKSPROXYCTRL + 10012 + wxCheckBox + m_EnableSOCKSProxyCtrl + Connect via SOCKS proxy server + FALSE + + + + + + + + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticBoxSizer V + 20140568 + dialog-control-document + + sizer + 0 + 1 + 20123616 + 0 + wbStaticBoxSizerProxy + wxID_ANY + -1 + SOCKS Proxy Server Configuration + Vertical + + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxGridSizer + 20146848 + dialog-control-document + + sizer + 0 + 1 + 20140568 + 0 + wbGridSizerProxy + 1 + 2 + 0 + 0 + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxFlexGridSizer + 20153760 + dialog-control-document + + sizer + 0 + 1 + 20146848 + 0 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 20162112 + dialog-control-document + + dialogcontrol + 0 + 1 + 20153760 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Address: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_SOCKSADDRESSCTRL + 20174464 + dialog-control-document + + dialogcontrol + 0 + 1 + 20153760 + 0 + wbTextCtrlProxy + ID_SOCKSADDRESSCTRL + 10013 + wxTextCtrl + m_SOCKSAddressCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 150 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticText: wxID_STATIC + 20191120 + dialog-control-document + + dialogcontrol + 0 + 1 + 20153760 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Port: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_SOCKSPORTCTRL + 20203200 + dialog-control-document + + dialogcontrol + 0 + 1 + 20153760 + 0 + wbTextCtrlProxy + ID_SOCKSPORTCTRL + 10014 + wxTextCtrl + m_SOCKSPortCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 50 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + wxStaticBoxSizer V + 20128576 + dialog-control-document + + sizer + 0 + 1 + 20140568 + 0 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Leave these blank if not needed + Vertical + + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxFlexGridSizer + 20224528 + dialog-control-document + + sizer + 0 + 1 + 20128576 + 0 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 20231336 + dialog-control-document + + dialogcontrol + 0 + 1 + 20224528 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + User Name: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_SOCKSUSERNAMECTRL + 20244184 + dialog-control-document + + dialogcontrol + 0 + 1 + 20224528 + 0 + wbTextCtrlProxy + ID_SOCKSUSERNAMECTRL + 10015 + wxTextCtrl + m_SOCKSUsernameCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 175 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticText: wxID_STATIC + 20261640 + dialog-control-document + + dialogcontrol + 0 + 1 + 20224528 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Password: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_SOCKSPASSWORDCTRL + 20273720 + dialog-control-document + + dialogcontrol + 0 + 1 + 20224528 + 0 + wbTextCtrlProxy + ID_SOCKSPASSWORDCTRL + 10016 + wxTextCtrl + m_SOCKPasswordCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Expand + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + + + + + wxBoxSizer H + 12561672 + dialog-control-document + + sizer + 0 + 1 + 12509752 + 0 + wbBoxSizerProxy + Horizontal + + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxButton: wxID_OK + 12544200 + dialog-control-document + + dialogcontrol + 0 + 1 + 12561672 + 0 + wbButtonProxy + wxID_OK + 5100 + wxButton + + &OK + TRUE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxButton: wxID_CANCEL + 20297696 + dialog-control-document + + dialogcontrol + 0 + 1 + 12561672 + 0 + wbButtonProxy + wxID_CANCEL + 5101 + wxButton + + &Cancel + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + + About BOINC + 12363680 + dialog-document + + dialog + 0 + 1 + 12365720 + 0 + 9/3/2004 + wbDialogProxy + 10000 + ID_DIALOG + 10000 + CDlgHelpAbout + wxDialog + wxDialog + DlgAbout.cpp + DlgAbout.h + + About BOINC + TRUE + FALSE + + + + + + FALSE + TRUE + TRUE + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 400 + 300 + + wxBoxSizer V + 20318960 + dialog-control-document + + sizer + 0 + 1 + 12363680 + 0 + wbBoxSizerProxy + Vertical + + FALSE + FALSE + + wxStaticText: wxID_STATIC + 20326360 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + BOINC Core Client + + + 24, wxDEFAULT, wxNORMAL, wxBOLD + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxBoxSizer H + 20338200 + dialog-control-document + + sizer + 0 + 1 + 20318960 + 0 + wbBoxSizerProxy + Horizontal + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxBoxSizer V + 20342952 + dialog-control-document + + sizer + 0 + 1 + 20338200 + 0 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticBitmap: wxID_STATIC + 20350048 + dialog-control-document + + dialogcontrol + 0 + 1 + 20342952 + 0 + wbStaticBitmapProxy + wxID_STATIC + 5105 + wxStaticBitmap + + boincsm.xpm + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 50 + 50 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + wxFlexGridSizer + 20360488 + dialog-control-document + + sizer + 0 + 1 + 20338200 + 0 + wbFlexGridSizerProxy + + + 2 + 0 + 0 + 0 + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 20366896 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Version: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20378928 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + 2.28 + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20390984 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Licence type: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20403120 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + BOINC Public License + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20415160 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Copyright: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Top + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20427208 + dialog-control-document + + dialogcontrol + 0 + 1 + 20360488 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + (C) 2004 University of California at Berkeley. +All Rights Reserved. + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + TRUE + + + + + wxStaticText: wxID_STATIC + 20325440 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Berkeley Open Infrastructure for Network Computing + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20449952 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + A software platform for distributed computing using volunteered computer resources + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxStaticText: wxID_STATIC + 20461208 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + http://boinc.berkeley.edu/ + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxStaticLine: wxID_STATIC + 20472936 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbStaticLineProxy + wxID_STATIC + 5105 + wxStaticLine + + + + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Expand + Expand + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxButton: wxID_OK + 20483704 + dialog-control-document + + dialogcontrol + 0 + 1 + 20318960 + 0 + wbButtonProxy + wxID_OK + 5100 + wxButton + + &OK + TRUE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + Connection + 12967824 + dialog-document + + dialog + 0 + 1 + 12365720 + 0 + 9/3/2004 + wbDialogProxy + 10000 + ID_DIALOG + 10000 + CDlgConnection + wxDialog + wxDialog + DlgConnection.cpp + DlgConnection.h + + Connection + TRUE + FALSE + + + + + + FALSE + TRUE + TRUE + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 400 + 300 + + wxBoxSizer V + 12912344 + dialog-control-document + + sizer + 0 + 1 + 12967824 + 0 + wbBoxSizerProxy + Vertical + + + wxBoxSizer H + 13041712 + dialog-control-document + + sizer + 0 + 1 + 12912344 + 0 + wbBoxSizerProxy + Horizontal + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxBoxSizer V + 13028248 + dialog-control-document + + sizer + 0 + 1 + 13041712 + 0 + wbBoxSizerProxy + Vertical + + Centre + Top + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 13071040 + dialog-control-document + + dialogcontrol + 0 + 1 + 13028248 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + BOINC needs to connect to the network. +May it do so now? + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + + wxBoxSizer V + 12972832 + dialog-control-document + + sizer + 0 + 1 + 13041712 + 0 + wbBoxSizerProxy + Vertical + + Centre + Top + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxButton: wxID_OK + 12953192 + dialog-control-document + + dialogcontrol + 0 + 1 + 12972832 + 0 + wbButtonProxy + wxID_OK + 5100 + wxButton + + &OK + TRUE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxButton: wxID_CANCEL + 13052624 + dialog-control-document + + dialogcontrol + 0 + 1 + 12972832 + 0 + wbButtonProxy + wxID_CANCEL + 5101 + wxButton + + &Cancel + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + + + Attach to Project + 13158176 + dialog-document + + dialog + 0 + 1 + 12365720 + 0 + 9/3/2004 + wbDialogProxy + 10000 + ID_DIALOG + 10000 + CDlgAttachProject + wxDialog + wxDialog + DlgAttachProject.cpp + DlgAttachProject.h + + Attach to Project + TRUE + FALSE + + + + + + FALSE + TRUE + TRUE + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + TRUE + -1 + -1 + 400 + 300 + + wxBoxSizer V + 13129128 + dialog-control-document + + sizer + 0 + 1 + 13158176 + 0 + wbBoxSizerProxy + Vertical + + + wxBoxSizer H + 19915128 + dialog-control-document + + sizer + 0 + 1 + 13129128 + 0 + wbBoxSizerProxy + Horizontal + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxFlexGridSizer + 13053600 + dialog-control-document + + sizer + 0 + 1 + 19915128 + 0 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 19421400 + dialog-control-document + + dialogcontrol + 0 + 1 + 13053600 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + URL: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_PROJECTADDRESS + 19477576 + dialog-control-document + + dialogcontrol + 0 + 1 + 13053600 + 0 + wbTextCtrlProxy + ID_PROJECTADDRESS + 10001 + wxTextCtrl + m_ProjectAddressCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 200 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxStaticText: wxID_STATIC + 19811656 + dialog-control-document + + dialogcontrol + 0 + 1 + 13053600 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Account Key: + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + + + wxTextCtrl: ID_PROJECTACCOUNTKEY + 19901728 + dialog-control-document + + dialogcontrol + 0 + 1 + 13053600 + 0 + wbTextCtrlProxy + ID_PROJECTACCOUNTKEY + 10002 + wxTextCtrl + m_ProjectAccountKeyCtrl + + + + + + + FALSE + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + 200 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + wxBoxSizer V + 13155968 + dialog-control-document + + sizer + 0 + 1 + 19915128 + 0 + wbBoxSizerProxy + Vertical + + Centre + Top + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + wxButton: wxID_OK + 13118224 + dialog-control-document + + dialogcontrol + 0 + 1 + 13155968 + 0 + wbButtonProxy + wxID_OK + 5100 + wxButton + + &OK + TRUE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + wxButton: wxID_CANCEL + 13188848 + dialog-control-document + + dialogcontrol + 0 + 1 + 13155968 + 0 + wbButtonProxy + wxID_CANCEL + 5101 + wxButton + + &Cancel + FALSE + + + + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + + + + + + + + Images + 12362280 + html-document + + bitmapsfolder + 1 + 1 + 12336808 + 1 + + Untitled + 12363400 + image-document + boincsm.xpm + image + 0 + 1 + 12362280 + 0 + 9/3/2004 + 100 + + + + diff --git a/clientgui/BOINCGUI.sln b/clientgui/BOINCGUI.sln new file mode 100644 index 0000000000..587384f9f1 --- /dev/null +++ b/clientgui/BOINCGUI.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boincgui", "boincgui.vcproj", "{2221DD49-9379-447D-AC5E-E3EB7CE7A42D}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {2221DD49-9379-447D-AC5E-E3EB7CE7A42D}.Debug.ActiveCfg = Debug|Win32 + {2221DD49-9379-447D-AC5E-E3EB7CE7A42D}.Debug.Build.0 = Debug|Win32 + {2221DD49-9379-447D-AC5E-E3EB7CE7A42D}.Release.ActiveCfg = Release|Win32 + {2221DD49-9379-447D-AC5E-E3EB7CE7A42D}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/clientgui/BOINCGUI.vcproj b/clientgui/BOINCGUI.vcproj new file mode 100644 index 0000000000..3e90c91c08 --- /dev/null +++ b/clientgui/BOINCGUI.vcproj @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp new file mode 100644 index 0000000000..d10485d632 --- /dev/null +++ b/clientgui/BOINCGUIApp.cpp @@ -0,0 +1,95 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" + +#include "boincguiapp.h" +#include "mainframe.h" +#include "maindocument.h" + + +IMPLEMENT_APP(CBOINCGUIApp) +IMPLEMENT_DYNAMIC_CLASS(CBOINCGUIApp, wxApp) + + +bool CBOINCGUIApp::OnInit() +{ + SetVendorName("Space Sciences Laboratory, U.C. Berkeley"); + SetAppName("BOINC Manager"); + + // Commandline parsing is done in wxApp::OnInit() + if (!Inherited::OnInit()) + return false; + + // Initialize the internationalization module + m_pLocale = new wxLocale(); + m_pLocale->Init(); + m_pLocale->AddCatalog(GetAppName()); + + // Initialize the main document + m_pDocument = new CMainDocument(); + + // Initialize the main gui window + m_pFrame = new CMainFrame(GetAppName()); + SetTopWindow(m_pFrame); + m_pFrame->Show(); + + return true; +} + + +int CBOINCGUIApp::OnExit() +{ + if (m_pDocument) + delete m_pDocument; + + if (m_pLocale) + delete m_pLocale; + + return Inherited::OnExit(); +} + + +void CBOINCGUIApp::OnInitCmdLine(wxCmdLineParser &parser) +{ + Inherited::OnInitCmdLine(parser); + static const wxCmdLineEntryDesc cmdLineDesc[] = { + { wxCMD_LINE_SWITCH, "e", "example", "example command line option"}, + { wxCMD_LINE_NONE} //DON'T forget this line!! + }; + parser.SetDesc(cmdLineDesc); +} + + +bool CBOINCGUIApp::OnCmdLineParsed(wxCmdLineParser &parser) +{ + // Give default processing (-?, --help and --verbose) the chance to do something. + Inherited::OnCmdLineParsed(parser); + if (parser.Found("example")) { + // Strings that have to be localized are enclosed in _(). See Internationalization. + wxMessageBox(_("You have specified -e on the commmand line. The application will exit now."), _("Example command line option"), MB_OK); + // tell wxWindows to exit right now. + return false; + } else { + // Log a message, but only if --verbose has been set on the command line. + wxLogVerbose("Commandline has been parsed. -e was not found."); + } + return true; +} + diff --git a/clientgui/BOINCGUIApp.h b/clientgui/BOINCGUIApp.h new file mode 100644 index 0000000000..0612a75f70 --- /dev/null +++ b/clientgui/BOINCGUIApp.h @@ -0,0 +1,53 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +#include "mainframe.h" +#include "maindocument.h" + + +class CBOINCGUIApp : public wxApp +{ + DECLARE_DYNAMIC_CLASS(CBOINCGUIApp) + + typedef wxApp Inherited; + +protected: + int OnExit(); + + /// Called by wxWindows to initialize command line handling. + void OnInitCmdLine(wxCmdLineParser &parser); + /// Called by wxWindows to allow CboincguiApp to handle the command line. + bool OnCmdLineParsed(wxCmdLineParser &parser); + + CMainFrame* m_pFrame; + CMainDocument* m_pDocument; + wxLocale* m_pLocale; + +public: + + bool OnInit(); + + CMainFrame* GetCurrentFrame() { return m_pFrame; }; + CMainDocument* GetCurrentDocument() { return m_pDocument; }; +}; + + +DECLARE_APP(CBOINCGUIApp) diff --git a/clientgui/BOINCGUIApp.rc b/clientgui/BOINCGUIApp.rc new file mode 100644 index 0000000000..288b92494c --- /dev/null +++ b/clientgui/BOINCGUIApp.rc @@ -0,0 +1,109 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +APP_ICON ICON "res\\boincguiApp.ico" +#endif // Neutral resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include \0" +END + +3 TEXTINCLUDE +BEGIN + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "Skeleton files created by wxVisualSetup... http://www.litwindow.com" + VALUE "FileDescription", "boincguiApp Application" + VALUE "FileVersion", "1, 0, 0, 1" + VALUE "InternalName", "boincguiApp" + VALUE "LegalCopyright", "Copyright (C) 2003" + VALUE "OriginalFilename", "boincguiApp.exe" + VALUE "ProductName", " boincguiApp Application" + VALUE "ProductVersion", "1, 0, 0, 1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + diff --git a/clientgui/BaseListCtrlView.cpp b/clientgui/BaseListCtrlView.cpp new file mode 100644 index 0000000000..889c46cdd2 --- /dev/null +++ b/clientgui/BaseListCtrlView.cpp @@ -0,0 +1,54 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#include "stdwx.h" +#include ".\baselistctrlview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CBaseListCtrlView, wxListCtrl) + + +CBaseListCtrlView::CBaseListCtrlView(void) +{ +} + + +CBaseListCtrlView::CBaseListCtrlView(wxNotebook* pNotebook) : + wxListCtrl(pNotebook, -1, wxDefaultPosition, wxDefaultSize, wxLC_REPORT, wxDefaultValidator, _T("wxListCtrl")) +{ +} + + +CBaseListCtrlView::~CBaseListCtrlView(void) +{ +} + + +// The user friendly name of the view. +// If it has not been defined by the view "Undefined" is returned. +// +wxString CBaseListCtrlView::GetViewName(void) +{ + return wxString(_T("Undefined")); +} diff --git a/clientgui/BaseListCtrlView.h b/clientgui/BaseListCtrlView.h new file mode 100644 index 0000000000..98ba12885f --- /dev/null +++ b/clientgui/BaseListCtrlView.h @@ -0,0 +1,33 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +class CBaseListCtrlView : public wxListCtrl +{ + DECLARE_DYNAMIC_CLASS(CBaseListCtrlView) + +public: + CBaseListCtrlView(void); + CBaseListCtrlView(wxNotebook* pNotebook); + + ~CBaseListCtrlView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/BaseWindowView.cpp b/clientgui/BaseWindowView.cpp new file mode 100644 index 0000000000..a00b36a450 --- /dev/null +++ b/clientgui/BaseWindowView.cpp @@ -0,0 +1,54 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#include "stdwx.h" +#include ".\basewindowview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CBaseWindowView, wxPanel) + + +CBaseWindowView::CBaseWindowView(void) +{ +} + + +CBaseWindowView::CBaseWindowView(wxNotebook* pNotebook) : + wxPanel(pNotebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER | wxTAB_TRAVERSAL, _T("wxBlankPanel")) +{ +} + + +CBaseWindowView::~CBaseWindowView(void) +{ +} + + +// The user friendly name of the view. +// If it has not been defined by the view "Undefined" is returned. +// +wxString CBaseWindowView::GetViewName(void) +{ + return wxString(_T("Undefined")); +} diff --git a/clientgui/BaseWindowView.h b/clientgui/BaseWindowView.h new file mode 100644 index 0000000000..73fd92f9f7 --- /dev/null +++ b/clientgui/BaseWindowView.h @@ -0,0 +1,33 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +class CBaseWindowView : public wxPanel +{ + DECLARE_DYNAMIC_CLASS(CBaseWindowView) + +public: + CBaseWindowView(void); + CBaseWindowView(wxNotebook* pNotebook); + + ~CBaseWindowView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/DlgAbout.cpp b/clientgui/DlgAbout.cpp new file mode 100644 index 0000000000..360defd696 --- /dev/null +++ b/clientgui/DlgAbout.cpp @@ -0,0 +1,183 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma implementation "DlgAbout.h" +#endif + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +////@begin includes +////@end includes + +#include "DlgAbout.h" + +////@begin XPM images +#include "boincsm.xpm" +////@end XPM images + +/*! + * CDlgHelpAbout type definition + */ + +IMPLEMENT_CLASS( CDlgHelpAbout, wxDialog ) + +/*! + * CDlgHelpAbout event table definition + */ + +BEGIN_EVENT_TABLE( CDlgHelpAbout, wxDialog ) + +////@begin CDlgHelpAbout event table entries +////@end CDlgHelpAbout event table entries + +END_EVENT_TABLE() + +/*! + * CDlgHelpAbout constructors + */ + +CDlgHelpAbout::CDlgHelpAbout( ) +{ +} + +CDlgHelpAbout::CDlgHelpAbout( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ + Create(parent, id, caption, pos, size, style); +} + +/*! + * CDlgHelpAbout creator + */ + +bool CDlgHelpAbout::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin CDlgHelpAbout member initialisation +////@end CDlgHelpAbout member initialisation + +////@begin CDlgHelpAbout creation + SetExtraStyle(wxWS_EX_BLOCK_EVENTS); + wxDialog::Create( parent, id, caption, pos, size, style ); + + CreateControls(); + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); +////@end CDlgHelpAbout creation + return TRUE; +} + +/*! + * Control creation for CDlgHelpAbout + */ + +void CDlgHelpAbout::CreateControls() +{ +////@begin CDlgHelpAbout content construction + + CDlgHelpAbout* item1 = this; + + wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL); + item1->SetSizer(item2); + item1->SetAutoLayout(TRUE); + + wxStaticText* item3 = new wxStaticText; + item3->Create( item1, wxID_STATIC, _("BOINC Core Client"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); + item3->SetFont(wxFont(24, wxDEFAULT, wxNORMAL, wxBOLD, FALSE, _T(""))); + item2->Add(item3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxADJUST_MINSIZE, 5); + + wxBoxSizer* item4 = new wxBoxSizer(wxHORIZONTAL); + item2->Add(item4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxBoxSizer* item5 = new wxBoxSizer(wxVERTICAL); + item4->Add(item5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBitmap item6Bitmap(boincsm_xpm); + wxStaticBitmap* item6 = new wxStaticBitmap; + item6->Create( item1, wxID_STATIC, item6Bitmap, wxDefaultPosition, wxSize(50, 50), 0 ); + item5->Add(item6, 0, wxALIGN_LEFT|wxALL, 5); + + wxFlexGridSizer* item7 = new wxFlexGridSizer(0, 2, 0, 0); + item4->Add(item7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticText* item8 = new wxStaticText; + item8->Create( item1, wxID_STATIC, _("Version:"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item8, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item9 = new wxStaticText; + item9->Create( item1, wxID_STATIC, _("2.28"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item9, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item10 = new wxStaticText; + item10->Create( item1, wxID_STATIC, _("Licence type:"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item11 = new wxStaticText; + item11->Create( item1, wxID_STATIC, _("BOINC Public License"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item12 = new wxStaticText; + item12->Create( item1, wxID_STATIC, _("Copyright:"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item12, 0, wxALIGN_RIGHT|wxALIGN_TOP|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item13 = new wxStaticText; + item13->Create( item1, wxID_STATIC, _("(C) 2004 University of California at Berkeley.\nAll Rights Reserved."), wxDefaultPosition, wxDefaultSize, 0 ); + item7->Add(item13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); + + wxStaticText* item14 = new wxStaticText; + item14->Create( item1, wxID_STATIC, _("Berkeley Open Infrastructure for Network Computing"), wxDefaultPosition, wxDefaultSize, 0 ); + item2->Add(item14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxADJUST_MINSIZE, 5); + + wxStaticText* item15 = new wxStaticText; + item15->Create( item1, wxID_STATIC, _("A software platform for distributed computing using volunteered computer resources"), wxDefaultPosition, wxDefaultSize, 0 ); + item2->Add(item15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxADJUST_MINSIZE, 5); + + wxStaticText* item16 = new wxStaticText; + item16->Create( item1, wxID_STATIC, _("http://boinc.berkeley.edu/"), wxDefaultPosition, wxDefaultSize, 0 ); + item2->Add(item16, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxADJUST_MINSIZE, 5); + + wxStaticLine* item17 = new wxStaticLine; + item17->Create( item1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + item2->Add(item17, 0, wxGROW|wxALL, 5); + + wxButton* item18 = new wxButton; + item18->Create( item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); + item18->SetDefault(); + item2->Add(item18, 0, wxALIGN_RIGHT|wxALL, 5); + +////@end CDlgHelpAbout content construction +} + +/*! + * Should we show tooltips? + */ + +bool CDlgHelpAbout::ShowToolTips() +{ + return TRUE; +} diff --git a/clientgui/DlgAbout.h b/clientgui/DlgAbout.h new file mode 100644 index 0000000000..e292c6ac92 --- /dev/null +++ b/clientgui/DlgAbout.h @@ -0,0 +1,99 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#ifndef _DLGABOUT_H_ +#define _DLGABOUT_H_ + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "DlgAbout.cpp" +#endif + +/*! + * Includes + */ + +////@begin includes +#include "wx/statline.h" +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_DIALOG 10000 +#define SYMBOL_CDLGHELPABOUT_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_CDLGHELPABOUT_TITLE _("About BOINC") +#define SYMBOL_CDLGHELPABOUT_IDNAME ID_DIALOG +#define SYMBOL_CDLGHELPABOUT_SIZE wxSize(400, 300) +#define SYMBOL_CDLGHELPABOUT_POSITION wxDefaultPosition +////@end control identifiers + +/*! + * Compatibility + */ + +#ifndef wxCLOSE_BOX +#define wxCLOSE_BOX 0x1000 +#endif + +/*! + * CDlgHelpAbout class declaration + */ + +class CDlgHelpAbout: public wxDialog +{ + DECLARE_CLASS( CDlgHelpAbout ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + CDlgHelpAbout( ); + CDlgHelpAbout( wxWindow* parent, wxWindowID id = SYMBOL_CDLGHELPABOUT_IDNAME, const wxString& caption = SYMBOL_CDLGHELPABOUT_TITLE, const wxPoint& pos = SYMBOL_CDLGHELPABOUT_POSITION, const wxSize& size = SYMBOL_CDLGHELPABOUT_SIZE, long style = SYMBOL_CDLGHELPABOUT_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGHELPABOUT_IDNAME, const wxString& caption = SYMBOL_CDLGHELPABOUT_TITLE, const wxPoint& pos = SYMBOL_CDLGHELPABOUT_POSITION, const wxSize& size = SYMBOL_CDLGHELPABOUT_SIZE, long style = SYMBOL_CDLGHELPABOUT_STYLE ); + + /// Creates the controls and sizers + void CreateControls(); + +////@begin CDlgHelpAbout event handler declarations + +////@end CDlgHelpAbout event handler declarations + +////@begin CDlgHelpAbout member function declarations + +////@end CDlgHelpAbout member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin CDlgHelpAbout member variables +////@end CDlgHelpAbout member variables +}; + +#endif + // _DLGABOUT_H_ diff --git a/clientgui/DlgAttachProject.cpp b/clientgui/DlgAttachProject.cpp new file mode 100644 index 0000000000..efc7ca94f1 --- /dev/null +++ b/clientgui/DlgAttachProject.cpp @@ -0,0 +1,156 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma implementation "DlgAttachProject.h" +#endif + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +////@begin includes +////@end includes + +#include "DlgAttachProject.h" + +////@begin XPM images +////@end XPM images + +/*! + * CDlgAttachProject type definition + */ + +IMPLEMENT_CLASS( CDlgAttachProject, wxDialog ) + +/*! + * CDlgAttachProject event table definition + */ + +BEGIN_EVENT_TABLE( CDlgAttachProject, wxDialog ) + +////@begin CDlgAttachProject event table entries +////@end CDlgAttachProject event table entries + +END_EVENT_TABLE() + +/*! + * CDlgAttachProject constructors + */ + +CDlgAttachProject::CDlgAttachProject( ) +{ +} + +CDlgAttachProject::CDlgAttachProject( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ + Create(parent, id, caption, pos, size, style); +} + +/*! + * CDlgAttachProject creator + */ + +bool CDlgAttachProject::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin CDlgAttachProject member initialisation + m_ProjectAddressCtrl = NULL; + m_ProjectAccountKeyCtrl = NULL; +////@end CDlgAttachProject member initialisation + +////@begin CDlgAttachProject creation + SetExtraStyle(wxWS_EX_BLOCK_EVENTS); + wxDialog::Create( parent, id, caption, pos, size, style ); + + CreateControls(); + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); +////@end CDlgAttachProject creation + return TRUE; +} + +/*! + * Control creation for CDlgAttachProject + */ + +void CDlgAttachProject::CreateControls() +{ +////@begin CDlgAttachProject content construction + + CDlgAttachProject* item1 = this; + + wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL); + item1->SetSizer(item2); + item1->SetAutoLayout(TRUE); + + wxBoxSizer* item3 = new wxBoxSizer(wxHORIZONTAL); + item2->Add(item3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxFlexGridSizer* item4 = new wxFlexGridSizer(2, 2, 0, 0); + item3->Add(item4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticText* item5 = new wxStaticText; + item5->Create( item1, wxID_STATIC, _("URL:"), wxDefaultPosition, wxDefaultSize, 0 ); + item4->Add(item5, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + + wxTextCtrl* item6 = new wxTextCtrl; + item6->Create( item1, ID_PROJECTADDRESS, _T(""), wxDefaultPosition, wxSize(200, -1), 0 ); + m_ProjectAddressCtrl = item6; + item4->Add(item6, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticText* item7 = new wxStaticText; + item7->Create( item1, wxID_STATIC, _("Account Key:"), wxDefaultPosition, wxDefaultSize, 0 ); + item4->Add(item7, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + + wxTextCtrl* item8 = new wxTextCtrl; + item8->Create( item1, ID_PROJECTACCOUNTKEY, _T(""), wxDefaultPosition, wxSize(200, -1), 0 ); + m_ProjectAccountKeyCtrl = item8; + item4->Add(item8, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBoxSizer* item9 = new wxBoxSizer(wxVERTICAL); + item3->Add(item9, 0, wxALIGN_TOP|wxALL, 5); + + wxButton* item10 = new wxButton; + item10->Create( item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); + item10->SetDefault(); + item9->Add(item10, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxButton* item11 = new wxButton; + item11->Create( item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); + item9->Add(item11, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + +////@end CDlgAttachProject content construction +} + +/*! + * Should we show tooltips? + */ + +bool CDlgAttachProject::ShowToolTips() +{ + return TRUE; +} diff --git a/clientgui/DlgAttachProject.h b/clientgui/DlgAttachProject.h new file mode 100644 index 0000000000..60f8cc9b16 --- /dev/null +++ b/clientgui/DlgAttachProject.h @@ -0,0 +1,102 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#ifndef _DLGATTACHPROJECT_H_ +#define _DLGATTACHPROJECT_H_ + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "DlgAttachProject.cpp" +#endif + +/*! + * Includes + */ + +////@begin includes +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_DIALOG 10000 +#define SYMBOL_CDLGATTACHPROJECT_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_CDLGATTACHPROJECT_TITLE _("Attach to Project") +#define SYMBOL_CDLGATTACHPROJECT_IDNAME ID_DIALOG +#define SYMBOL_CDLGATTACHPROJECT_SIZE wxSize(400, 300) +#define SYMBOL_CDLGATTACHPROJECT_POSITION wxDefaultPosition +#define ID_PROJECTADDRESS 10001 +#define ID_PROJECTACCOUNTKEY 10002 +////@end control identifiers + +/*! + * Compatibility + */ + +#ifndef wxCLOSE_BOX +#define wxCLOSE_BOX 0x1000 +#endif + +/*! + * CDlgAttachProject class declaration + */ + +class CDlgAttachProject: public wxDialog +{ + DECLARE_CLASS( CDlgAttachProject ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + CDlgAttachProject( ); + CDlgAttachProject( wxWindow* parent, wxWindowID id = SYMBOL_CDLGATTACHPROJECT_IDNAME, const wxString& caption = SYMBOL_CDLGATTACHPROJECT_TITLE, const wxPoint& pos = SYMBOL_CDLGATTACHPROJECT_POSITION, const wxSize& size = SYMBOL_CDLGATTACHPROJECT_SIZE, long style = SYMBOL_CDLGATTACHPROJECT_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGATTACHPROJECT_IDNAME, const wxString& caption = SYMBOL_CDLGATTACHPROJECT_TITLE, const wxPoint& pos = SYMBOL_CDLGATTACHPROJECT_POSITION, const wxSize& size = SYMBOL_CDLGATTACHPROJECT_SIZE, long style = SYMBOL_CDLGATTACHPROJECT_STYLE ); + + /// Creates the controls and sizers + void CreateControls(); + +////@begin CDlgAttachProject event handler declarations + +////@end CDlgAttachProject event handler declarations + +////@begin CDlgAttachProject member function declarations + +////@end CDlgAttachProject member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin CDlgAttachProject member variables + wxTextCtrl* m_ProjectAddressCtrl; + wxTextCtrl* m_ProjectAccountKeyCtrl; +////@end CDlgAttachProject member variables +}; + +#endif + // _DLGATTACHPROJECT_H_ diff --git a/clientgui/DlgConnection.cpp b/clientgui/DlgConnection.cpp new file mode 100644 index 0000000000..f2be8ea531 --- /dev/null +++ b/clientgui/DlgConnection.cpp @@ -0,0 +1,140 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma implementation "DlgConnection.h" +#endif + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +////@begin includes +////@end includes + +#include "DlgConnection.h" + +////@begin XPM images +////@end XPM images + +/*! + * CDlgConnection type definition + */ + +IMPLEMENT_CLASS( CDlgConnection, wxDialog ) + +/*! + * CDlgConnection event table definition + */ + +BEGIN_EVENT_TABLE( CDlgConnection, wxDialog ) + +////@begin CDlgConnection event table entries +////@end CDlgConnection event table entries + +END_EVENT_TABLE() + +/*! + * CDlgConnection constructors + */ + +CDlgConnection::CDlgConnection( ) +{ +} + +CDlgConnection::CDlgConnection( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ + Create(parent, id, caption, pos, size, style); +} + +/*! + * CDlgConnection creator + */ + +bool CDlgConnection::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin CDlgConnection member initialisation +////@end CDlgConnection member initialisation + +////@begin CDlgConnection creation + SetExtraStyle(wxWS_EX_BLOCK_EVENTS); + wxDialog::Create( parent, id, caption, pos, size, style ); + + CreateControls(); + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); +////@end CDlgConnection creation + return TRUE; +} + +/*! + * Control creation for CDlgConnection + */ + +void CDlgConnection::CreateControls() +{ +////@begin CDlgConnection content construction + + CDlgConnection* item1 = this; + + wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL); + item1->SetSizer(item2); + item1->SetAutoLayout(TRUE); + + wxBoxSizer* item3 = new wxBoxSizer(wxHORIZONTAL); + item2->Add(item3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxBoxSizer* item4 = new wxBoxSizer(wxVERTICAL); + item3->Add(item4, 0, wxALIGN_TOP|wxALL, 5); + + wxStaticText* item5 = new wxStaticText; + item5->Create( item1, wxID_STATIC, _("BOINC needs to connect to the network.\nMay it do so now?"), wxDefaultPosition, wxDefaultSize, 0 ); + item4->Add(item5, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5); + + wxBoxSizer* item6 = new wxBoxSizer(wxVERTICAL); + item3->Add(item6, 0, wxALIGN_TOP|wxALL, 5); + + wxButton* item7 = new wxButton; + item7->Create( item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); + item7->SetDefault(); + item6->Add(item7, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxButton* item8 = new wxButton; + item8->Create( item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); + item6->Add(item8, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + +////@end CDlgConnection content construction +} + +/*! + * Should we show tooltips? + */ + +bool CDlgConnection::ShowToolTips() +{ + return TRUE; +} diff --git a/clientgui/DlgConnection.h b/clientgui/DlgConnection.h new file mode 100644 index 0000000000..c1b9571bfd --- /dev/null +++ b/clientgui/DlgConnection.h @@ -0,0 +1,98 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#ifndef _DLGCONNECTION_H_ +#define _DLGCONNECTION_H_ + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "DlgConnection.cpp" +#endif + +/*! + * Includes + */ + +////@begin includes +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_DIALOG 10000 +#define SYMBOL_CDLGCONNECTION_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_CDLGCONNECTION_TITLE _("Connection") +#define SYMBOL_CDLGCONNECTION_IDNAME ID_DIALOG +#define SYMBOL_CDLGCONNECTION_SIZE wxSize(400, 300) +#define SYMBOL_CDLGCONNECTION_POSITION wxDefaultPosition +////@end control identifiers + +/*! + * Compatibility + */ + +#ifndef wxCLOSE_BOX +#define wxCLOSE_BOX 0x1000 +#endif + +/*! + * CDlgConnection class declaration + */ + +class CDlgConnection: public wxDialog +{ + DECLARE_CLASS( CDlgConnection ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + CDlgConnection( ); + CDlgConnection( wxWindow* parent, wxWindowID id = SYMBOL_CDLGCONNECTION_IDNAME, const wxString& caption = SYMBOL_CDLGCONNECTION_TITLE, const wxPoint& pos = SYMBOL_CDLGCONNECTION_POSITION, const wxSize& size = SYMBOL_CDLGCONNECTION_SIZE, long style = SYMBOL_CDLGCONNECTION_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGCONNECTION_IDNAME, const wxString& caption = SYMBOL_CDLGCONNECTION_TITLE, const wxPoint& pos = SYMBOL_CDLGCONNECTION_POSITION, const wxSize& size = SYMBOL_CDLGCONNECTION_SIZE, long style = SYMBOL_CDLGCONNECTION_STYLE ); + + /// Creates the controls and sizers + void CreateControls(); + +////@begin CDlgConnection event handler declarations + +////@end CDlgConnection event handler declarations + +////@begin CDlgConnection member function declarations + +////@end CDlgConnection member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin CDlgConnection member variables +////@end CDlgConnection member variables +}; + +#endif + // _DLGCONNECTION_H_ diff --git a/clientgui/DlgOptions.cpp b/clientgui/DlgOptions.cpp new file mode 100644 index 0000000000..701fb80d57 --- /dev/null +++ b/clientgui/DlgOptions.cpp @@ -0,0 +1,318 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma implementation "DlgToolsOptions.h" +#endif + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +////@begin includes +////@end includes + +#include "DlgToolsOptions.h" + +////@begin XPM images +////@end XPM images + +/*! + * CDlgToolsOptions type definition + */ + +IMPLEMENT_CLASS( CDlgToolsOptions, wxDialog ) + +/*! + * CDlgToolsOptions event table definition + */ + +BEGIN_EVENT_TABLE( CDlgToolsOptions, wxDialog ) + +////@begin CDlgToolsOptions event table entries + EVT_NOTEBOOK_PAGE_CHANGED( ID_NOTEBOOK, CDlgToolsOptions::OnNotebookPageChanged ) + EVT_UPDATE_UI( ID_NOTEBOOK, CDlgToolsOptions::OnNotebookUpdate ) + + EVT_CHECKBOX( ID_ENABLEHTTPPROXYCTRL, CDlgToolsOptions::OnEnablehttpproxyctrlClick ) + EVT_UPDATE_UI( ID_ENABLEHTTPPROXYCTRL, CDlgToolsOptions::OnEnablehttpproxyctrlUpdate ) + + EVT_CHECKBOX( ID_ENABLESOCKSPROXYCTRL, CDlgToolsOptions::OnEnablesocksproxyctrlClick ) + EVT_UPDATE_UI( ID_ENABLESOCKSPROXYCTRL, CDlgToolsOptions::OnEnablesocksproxyctrlUpdate ) + +////@end CDlgToolsOptions event table entries + +END_EVENT_TABLE() + +/*! + * CDlgToolsOptions constructors + */ + +CDlgToolsOptions::CDlgToolsOptions( ) +{ +} + +CDlgToolsOptions::CDlgToolsOptions( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ + Create(parent, id, caption, pos, size, style); +} + +/*! + * CDlgToolsOptions creator + */ + +bool CDlgToolsOptions::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin CDlgToolsOptions member initialisation + m_EnableHTTPProxyCtrl = NULL; + m_HTTPAddressCtrl = NULL; + m_HTTPPortCtrl = NULL; + m_HTTPUsernameCtrl = NULL; + m_HTTPPasswordCtrl = NULL; + m_EnableSOCKSProxyCtrl = NULL; + m_SOCKSAddressCtrl = NULL; + m_SOCKSPortCtrl = NULL; + m_SOCKSUsernameCtrl = NULL; + m_SOCKPasswordCtrl = NULL; +////@end CDlgToolsOptions member initialisation + +////@begin CDlgToolsOptions creation + SetExtraStyle(wxWS_EX_BLOCK_EVENTS); + wxDialog::Create( parent, id, caption, pos, size, style ); + + CreateControls(); + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); +////@end CDlgToolsOptions creation + return TRUE; +} + +/*! + * Control creation for CDlgToolsOptions + */ + +void CDlgToolsOptions::CreateControls() +{ +////@begin CDlgToolsOptions content construction + + CDlgToolsOptions* item1 = this; + + wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL); + item1->SetSizer(item2); + item1->SetAutoLayout(TRUE); + + wxNotebook* item3 = new wxNotebook; + item3->Create( item1, ID_NOTEBOOK, wxDefaultPosition, wxSize(300, 265), wxNB_TOP ); + wxPanel* item4 = new wxPanel; + item4->Create( item3, ID_GENERAL, wxDefaultPosition, wxSize(99, 80), wxTAB_TRAVERSAL ); + item3->AddPage(item4, _("General")); + wxPanel* item5 = new wxPanel; + item5->Create( item3, ID_HTTPPROXY, wxDefaultPosition, wxSize(99, 150), wxTAB_TRAVERSAL ); + wxBoxSizer* item6 = new wxBoxSizer(wxVERTICAL); + item5->SetSizer(item6); + item5->SetAutoLayout(TRUE); + wxCheckBox* item7 = new wxCheckBox; + item7->Create( item5, ID_ENABLEHTTPPROXYCTRL, _("Connect via HTTP proxy server"), wxDefaultPosition, wxDefaultSize, 0 ); + m_EnableHTTPProxyCtrl = item7; + item7->SetValue(FALSE); + item6->Add(item7, 0, wxGROW|wxALL, 5); + wxStaticBox* item8Static = new wxStaticBox(item5, wxID_ANY, _("HTTP Proxy Server Configuration")); + wxStaticBoxSizer* item8 = new wxStaticBoxSizer(item8Static, wxVERTICAL); + item6->Add(item8, 0, wxGROW|wxALL, 5); + wxGridSizer* item9 = new wxGridSizer(2, 1, 0, 0); + item8->Add(item9, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + wxFlexGridSizer* item10 = new wxFlexGridSizer(2, 2, 0, 0); + item9->Add(item10, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item11 = new wxStaticText; + item11->Create( item5, wxID_STATIC, _("Address:"), wxDefaultPosition, wxDefaultSize, 0 ); + item10->Add(item11, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item12 = new wxTextCtrl; + item12->Create( item5, ID_HTTPADDRESSCTRL, _T(""), wxDefaultPosition, wxSize(150, -1), 0 ); + m_HTTPAddressCtrl = item12; + item10->Add(item12, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item13 = new wxStaticText; + item13->Create( item5, wxID_STATIC, _("Port:"), wxDefaultPosition, wxDefaultSize, 0 ); + item10->Add(item13, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item14 = new wxTextCtrl; + item14->Create( item5, ID_HTTPPORTCTRL, _T(""), wxDefaultPosition, wxSize(50, -1), 0 ); + m_HTTPPortCtrl = item14; + item10->Add(item14, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticBox* item15Static = new wxStaticBox(item5, wxID_ANY, _("Leave these blank if not needed")); + wxStaticBoxSizer* item15 = new wxStaticBoxSizer(item15Static, wxVERTICAL); + item8->Add(item15, 0, wxGROW|wxALL, 5); + wxFlexGridSizer* item16 = new wxFlexGridSizer(2, 2, 0, 0); + item15->Add(item16, 0, wxALIGN_LEFT|wxALL, 5); + wxStaticText* item17 = new wxStaticText; + item17->Create( item5, wxID_STATIC, _("User Name:"), wxDefaultPosition, wxDefaultSize, 0 ); + item16->Add(item17, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item18 = new wxTextCtrl; + item18->Create( item5, ID_HTTPUSERNAMECTRL, _T(""), wxDefaultPosition, wxSize(175, -1), 0 ); + m_HTTPUsernameCtrl = item18; + item16->Add(item18, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item19 = new wxStaticText; + item19->Create( item5, wxID_STATIC, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 ); + item16->Add(item19, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item20 = new wxTextCtrl; + item20->Create( item5, ID_HTTPPASSWORDCTRL, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD ); + m_HTTPPasswordCtrl = item20; + item16->Add(item20, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5); + item3->AddPage(item5, _("HTTP Proxy")); + wxPanel* item21 = new wxPanel; + item21->Create( item3, ID_SOCKSPROXY, wxDefaultPosition, wxSize(99, 80), wxTAB_TRAVERSAL ); + wxBoxSizer* item22 = new wxBoxSizer(wxVERTICAL); + item21->SetSizer(item22); + item21->SetAutoLayout(TRUE); + wxCheckBox* item23 = new wxCheckBox; + item23->Create( item21, ID_ENABLESOCKSPROXYCTRL, _("Connect via SOCKS proxy server"), wxDefaultPosition, wxDefaultSize, 0 ); + m_EnableSOCKSProxyCtrl = item23; + item23->SetValue(FALSE); + item22->Add(item23, 0, wxGROW|wxALL, 5); + wxStaticBox* item24Static = new wxStaticBox(item21, wxID_ANY, _("SOCKS Proxy Server Configuration")); + wxStaticBoxSizer* item24 = new wxStaticBoxSizer(item24Static, wxVERTICAL); + item22->Add(item24, 0, wxGROW|wxALL, 5); + wxGridSizer* item25 = new wxGridSizer(2, 1, 0, 0); + item24->Add(item25, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + wxFlexGridSizer* item26 = new wxFlexGridSizer(2, 2, 0, 0); + item25->Add(item26, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item27 = new wxStaticText; + item27->Create( item21, wxID_STATIC, _("Address:"), wxDefaultPosition, wxDefaultSize, 0 ); + item26->Add(item27, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item28 = new wxTextCtrl; + item28->Create( item21, ID_SOCKSADDRESSCTRL, _T(""), wxDefaultPosition, wxSize(150, -1), 0 ); + m_SOCKSAddressCtrl = item28; + item26->Add(item28, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item29 = new wxStaticText; + item29->Create( item21, wxID_STATIC, _("Port:"), wxDefaultPosition, wxDefaultSize, 0 ); + item26->Add(item29, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item30 = new wxTextCtrl; + item30->Create( item21, ID_SOCKSPORTCTRL, _T(""), wxDefaultPosition, wxSize(50, -1), 0 ); + m_SOCKSPortCtrl = item30; + item26->Add(item30, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticBox* item31Static = new wxStaticBox(item21, wxID_ANY, _("Leave these blank if not needed")); + wxStaticBoxSizer* item31 = new wxStaticBoxSizer(item31Static, wxVERTICAL); + item24->Add(item31, 0, wxGROW|wxALL, 5); + wxFlexGridSizer* item32 = new wxFlexGridSizer(2, 2, 0, 0); + item31->Add(item32, 0, wxALIGN_LEFT|wxALL, 5); + wxStaticText* item33 = new wxStaticText; + item33->Create( item21, wxID_STATIC, _("User Name:"), wxDefaultPosition, wxDefaultSize, 0 ); + item32->Add(item33, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item34 = new wxTextCtrl; + item34->Create( item21, ID_SOCKSUSERNAMECTRL, _T(""), wxDefaultPosition, wxSize(175, -1), 0 ); + m_SOCKSUsernameCtrl = item34; + item32->Add(item34, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* item35 = new wxStaticText; + item35->Create( item21, wxID_STATIC, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 ); + item32->Add(item35, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + wxTextCtrl* item36 = new wxTextCtrl; + item36->Create( item21, ID_SOCKSPASSWORDCTRL, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD ); + m_SOCKPasswordCtrl = item36; + item32->Add(item36, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5); + item3->AddPage(item21, _("SOCKS Proxy")); + item2->Add(item3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxBoxSizer* item37 = new wxBoxSizer(wxHORIZONTAL); + item2->Add(item37, 0, wxALIGN_RIGHT|wxALL, 5); + + wxButton* item38 = new wxButton; + item38->Create( item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); + item38->SetDefault(); + item37->Add(item38, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxButton* item39 = new wxButton; + item39->Create( item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); + item37->Add(item39, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + +////@end CDlgToolsOptions content construction +} + +/*! + * wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event handler for ID_NOTEBOOK + */ + +void CDlgToolsOptions::OnNotebookPageChanged( wxNotebookEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_NOTEBOOK + */ + +void CDlgToolsOptions::OnNotebookUpdate( wxUpdateUIEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ENABLEHTTPPROXYCTRL + */ + +void CDlgToolsOptions::OnEnablehttpproxyctrlClick( wxCommandEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_ENABLEHTTPPROXYCTRL + */ + +void CDlgToolsOptions::OnEnablehttpproxyctrlUpdate( wxUpdateUIEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ENABLESOCKSPROXYCTRL + */ + +void CDlgToolsOptions::OnEnablesocksproxyctrlClick( wxCommandEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_ENABLESOCKSPROXYCTRL + */ + +void CDlgToolsOptions::OnEnablesocksproxyctrlUpdate( wxUpdateUIEvent& event ) +{ + // Insert custom code here + event.Skip(); +} + +/*! + * Should we show tooltips? + */ + +bool CDlgToolsOptions::ShowToolTips() +{ + return TRUE; +} diff --git a/clientgui/DlgOptions.h b/clientgui/DlgOptions.h new file mode 100644 index 0000000000..ae39d318d9 --- /dev/null +++ b/clientgui/DlgOptions.h @@ -0,0 +1,141 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#ifndef _DLGOPTIONS_H_ +#define _DLGOPTIONS_H_ + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "DlgOptions.cpp" +#endif + +/*! + * Includes + */ + +////@begin includes +#include "wx/notebook.h" +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_TOOLSOPTIONSDIALOG 10000 +#define SYMBOL_CDLGTOOLSOPTIONS_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_CDLGTOOLSOPTIONS_TITLE _("Options") +#define SYMBOL_CDLGTOOLSOPTIONS_IDNAME ID_TOOLSOPTIONSDIALOG +#define SYMBOL_CDLGTOOLSOPTIONS_SIZE wxDefaultSize +#define SYMBOL_CDLGTOOLSOPTIONS_POSITION wxDefaultPosition +#define ID_NOTEBOOK 10001 +#define ID_GENERAL 10002 +#define ID_HTTPPROXY 10003 +#define ID_ENABLEHTTPPROXYCTRL 10007 +#define ID_HTTPADDRESSCTRL 10010 +#define ID_HTTPPORTCTRL 10011 +#define ID_HTTPUSERNAMECTRL 10008 +#define ID_HTTPPASSWORDCTRL 10009 +#define ID_SOCKSPROXY 10006 +#define ID_ENABLESOCKSPROXYCTRL 10012 +#define ID_SOCKSADDRESSCTRL 10013 +#define ID_SOCKSPORTCTRL 10014 +#define ID_SOCKSUSERNAMECTRL 10015 +#define ID_SOCKSPASSWORDCTRL 10016 +////@end control identifiers + +/*! + * Compatibility + */ + +#ifndef wxCLOSE_BOX +#define wxCLOSE_BOX 0x1000 +#endif + +/*! + * CDlgToolsOptions class declaration + */ + +class CDlgToolsOptions: public wxDialog +{ + DECLARE_CLASS( CDlgToolsOptions ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + CDlgToolsOptions( ); + CDlgToolsOptions( wxWindow* parent, wxWindowID id = SYMBOL_CDLGTOOLSOPTIONS_IDNAME, const wxString& caption = SYMBOL_CDLGTOOLSOPTIONS_TITLE, const wxPoint& pos = SYMBOL_CDLGTOOLSOPTIONS_POSITION, const wxSize& size = SYMBOL_CDLGTOOLSOPTIONS_SIZE, long style = SYMBOL_CDLGTOOLSOPTIONS_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGTOOLSOPTIONS_IDNAME, const wxString& caption = SYMBOL_CDLGTOOLSOPTIONS_TITLE, const wxPoint& pos = SYMBOL_CDLGTOOLSOPTIONS_POSITION, const wxSize& size = SYMBOL_CDLGTOOLSOPTIONS_SIZE, long style = SYMBOL_CDLGTOOLSOPTIONS_STYLE ); + + /// Creates the controls and sizers + void CreateControls(); + +////@begin CDlgToolsOptions event handler declarations + + /// wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event handler for ID_NOTEBOOK + void OnNotebookPageChanged( wxNotebookEvent& event ); + + /// wxEVT_UPDATE_UI event handler for ID_NOTEBOOK + void OnNotebookUpdate( wxUpdateUIEvent& event ); + + /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ENABLEHTTPPROXYCTRL + void OnEnablehttpproxyctrlClick( wxCommandEvent& event ); + + /// wxEVT_UPDATE_UI event handler for ID_ENABLEHTTPPROXYCTRL + void OnEnablehttpproxyctrlUpdate( wxUpdateUIEvent& event ); + + /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ENABLESOCKSPROXYCTRL + void OnEnablesocksproxyctrlClick( wxCommandEvent& event ); + + /// wxEVT_UPDATE_UI event handler for ID_ENABLESOCKSPROXYCTRL + void OnEnablesocksproxyctrlUpdate( wxUpdateUIEvent& event ); + +////@end CDlgToolsOptions event handler declarations + +////@begin CDlgToolsOptions member function declarations + +////@end CDlgToolsOptions member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin CDlgToolsOptions member variables + wxCheckBox* m_EnableHTTPProxyCtrl; + wxTextCtrl* m_HTTPAddressCtrl; + wxTextCtrl* m_HTTPPortCtrl; + wxTextCtrl* m_HTTPUsernameCtrl; + wxTextCtrl* m_HTTPPasswordCtrl; + wxCheckBox* m_EnableSOCKSProxyCtrl; + wxTextCtrl* m_SOCKSAddressCtrl; + wxTextCtrl* m_SOCKSPortCtrl; + wxTextCtrl* m_SOCKSUsernameCtrl; + wxTextCtrl* m_SOCKPasswordCtrl; +////@end CDlgToolsOptions member variables +}; + +#endif + // _DLGOPTIONS_H_ diff --git a/clientgui/Events.h b/clientgui/Events.h new file mode 100644 index 0000000000..d914d5b839 --- /dev/null +++ b/clientgui/Events.h @@ -0,0 +1,26 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +enum { + ID_STATUSBAR = wxID_HIGHEST + 1, + +} enumEvents; + diff --git a/clientgui/MainDocument.cpp b/clientgui/MainDocument.cpp new file mode 100644 index 0000000000..f11a94e025 --- /dev/null +++ b/clientgui/MainDocument.cpp @@ -0,0 +1,33 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\maindocument.h" + + +IMPLEMENT_DYNAMIC_CLASS(CMainDocument, wxObject) + + +CMainDocument::CMainDocument(void) +{ +} + +CMainDocument::~CMainDocument(void) +{ +} diff --git a/clientgui/MainDocument.h b/clientgui/MainDocument.h new file mode 100644 index 0000000000..1e873f5b76 --- /dev/null +++ b/clientgui/MainDocument.h @@ -0,0 +1,29 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +class CMainDocument : public wxObject +{ + DECLARE_DYNAMIC_CLASS(CMainDocument) + +public: + CMainDocument(void); + ~CMainDocument(void); +}; diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp new file mode 100644 index 0000000000..d984601eb4 --- /dev/null +++ b/clientgui/MainFrame.cpp @@ -0,0 +1,237 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include "boincguiapp.h" +#include "mainframe.h" +#include "baselistctrlview.h" +#include "basewindowview.h" +#include "messagesview.h" +#include "projectsview.h" +#include "resourceutilizationview.h" +#include "transfersview.h" +#include "workview.h" +#include "events.h" + + +IMPLEMENT_DYNAMIC_CLASS(CMainFrame, wxFrame) + + +BEGIN_EVENT_TABLE (CMainFrame, wxFrame) + EVT_CLOSE ( CMainFrame::OnClose) + EVT_IDLE ( CMainFrame::OnIdle) + EVT_MENU (wxID_EXIT, CMainFrame::OnExit) + EVT_MENU (wxID_ABOUT, CMainFrame::OnAbout) + EVT_MENU (ID_STATUSBAR, CMainFrame::OnStatusbar) + EVT_UPDATE_UI (ID_STATUSBAR, CMainFrame::OnStatusbarUI) +END_EVENT_TABLE () + + +CMainFrame::CMainFrame() +{ +} + + +CMainFrame::CMainFrame(wxString strTitle) : + wxFrame ((wxFrame *)NULL, -1, strTitle, wxDefaultPosition, wxDefaultSize, + wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE) +{ + m_pMenubar = NULL; + m_pNotebook = NULL; + m_pStatusbar = NULL; + + SetIcon(wxICON(APP_ICON)); + + wxCHECK_RET(CreateMenu(), _T("Failed to create menu bar.")); + wxCHECK_RET(CreateNotebook(), _T("Failed to create notebook.")); + wxCHECK_RET(CreateStatusbar(), _T("Failed to create status bar.")); +} + + +CMainFrame::~CMainFrame(void) +{ + if (m_pMenubar) + wxCHECK_RET(DeleteMenu(), _T("Failed to delete menu bar.")); + + if (m_pNotebook) + wxCHECK_RET(DeleteNotebook(), _T("Failed to delete notebook.")); + + if (m_pStatusbar) + wxCHECK_RET(DeleteStatusbar(), _T("Failed to delete status bar.")); +} + + +bool CMainFrame::CreateMenu() { + + // File menu + wxMenu *menuFile = new wxMenu; + menuFile->Append(wxID_EXIT, _("E&xit")); + + // Commands menu + wxMenu *menuCommands = new wxMenu; + menuCommands->Append(wxID_EXIT, _("&Attach to Project...")); + + // Tools menu + wxMenu *menuTools = new wxMenu; + menuTools->Append(wxID_EXIT, _("&Options")); + + // Help menu + wxMenu *menuHelp = new wxMenu; + menuHelp->Append(wxID_ABOUT, _("&About BOINC...")); + + // construct menu + m_pMenubar = new wxMenuBar; + m_pMenubar->Append(menuFile, _("&File")); + m_pMenubar->Append(menuCommands, _("&Commands")); + m_pMenubar->Append(menuTools, _("&Tools")); + m_pMenubar->Append(menuHelp, _("&Help")); + SetMenuBar(m_pMenubar); + + return true; +} + + +bool CMainFrame::CreateNotebook() { + + // create frame panel + wxPanel *pPanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, + wxTAB_TRAVERSAL|wxCLIP_CHILDREN|wxNO_BORDER); + + // initialize notebook + m_pNotebook = new wxNotebook(pPanel, -1, wxDefaultPosition, wxDefaultSize, + wxNB_FIXEDWIDTH|wxCLIP_CHILDREN); + + wxNotebookSizer *pNotebookSizer = new wxNotebookSizer(m_pNotebook); + + // layout frame panel + wxBoxSizer *pPanelSizer = new wxBoxSizer(wxVERTICAL); + pPanelSizer->Add(new wxStaticLine(pPanel, -1), 0, wxEXPAND); + pPanelSizer->Add(0, 4); + pPanelSizer->Add(pNotebookSizer, 1, wxEXPAND); + pPanel->SetSizerAndFit(pPanelSizer); + + CreateNotebookPage(new CProjectsView(m_pNotebook)); + CreateNotebookPage(new CWorkView(m_pNotebook)); + CreateNotebookPage(new CTransfersView(m_pNotebook)); + CreateNotebookPage(new CMessagesView(m_pNotebook)); + CreateNotebookPage(new CResourceUtilizationView(m_pNotebook)); + + return true; +} + + +bool CMainFrame::CreateNotebookPage(wxWindow* pwndNewNotebookPage) { + + wxASSERT(pwndNewNotebookPage->IsKindOf(CLASSINFO(CBaseListCtrlView)) || + pwndNewNotebookPage->IsKindOf(CLASSINFO(CBaseWindowView))); + + if(pwndNewNotebookPage->IsKindOf(CLASSINFO(CBaseListCtrlView))) + { + CBaseListCtrlView* pPage = (CBaseListCtrlView*)pwndNewNotebookPage; + m_pNotebook->AddPage(pPage, pPage->GetViewName(), true, -1); + } + else + { + if(pwndNewNotebookPage->IsKindOf(CLASSINFO(CBaseWindowView))) + { + CBaseWindowView* pPage = (CBaseWindowView*)pwndNewNotebookPage; + m_pNotebook->AddPage(pPage, pPage->GetViewName(), true, -1); + } + } + + return true; +} + + +bool CMainFrame::CreateStatusbar() { + + if (m_pStatusbar) + return true; + + int ch = GetCharWidth(); + + const int widths[] = {-1, 20*ch, 15}; + + m_pStatusbar = CreateStatusBar(WXSIZEOF(widths), wxST_SIZEGRIP, ID_STATUSBAR); + m_pStatusbar->SetStatusWidths(WXSIZEOF(widths), widths); + + SetStatusBar(m_pStatusbar); + SendSizeEvent(); + + return true; +} + + +bool CMainFrame::DeleteMenu() { + return true; +} + + +bool CMainFrame::DeleteNotebook() { + return true; +} + + +bool CMainFrame::DeleteStatusbar() { + + if (!m_pStatusbar) + return true; + + SetStatusBar (NULL); + + delete m_pStatusbar; + + m_pStatusbar = NULL; + SendSizeEvent(); + + return true; +} + + +void CMainFrame::OnAbout(wxCommandEvent &WXUNUSED(event)) { +} + + +void CMainFrame::OnClose(wxCloseEvent &event) { + Destroy(); +} + + +void CMainFrame::OnExit(wxCommandEvent &WXUNUSED(event)) { + Close(true); +} + + +void CMainFrame::OnIdle (wxIdleEvent &event) { +} + + +void CMainFrame::OnStatusbar (wxCommandEvent &WXUNUSED(event)) { + + if (!m_pStatusbar) + CreateStatusbar(); + else + DeleteStatusbar(); + +} + + +void CMainFrame::OnStatusbarUI (wxUpdateUIEvent &event) { + event.Check(m_pStatusbar != NULL); +} diff --git a/clientgui/MainFrame.h b/clientgui/MainFrame.h new file mode 100644 index 0000000000..9b1bd3b818 --- /dev/null +++ b/clientgui/MainFrame.h @@ -0,0 +1,64 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once + +class CMainFrame : public wxFrame +{ + DECLARE_DYNAMIC_CLASS(CMainFrame) + +public: + CMainFrame(); + CMainFrame(wxString strTitle); + + ~CMainFrame(void); + + void OnClose (wxCloseEvent &event); + void OnIdle (wxIdleEvent &event); + + void OnAbout (wxCommandEvent &event); + void OnExit (wxCommandEvent &event); + void OnStatusbar (wxCommandEvent &event); + + void OnToolbarsUI (wxUpdateUIEvent &event); + void OnStatusbarUI (wxUpdateUIEvent &event); + +private: + + wxMenuBar* m_pMenubar; + wxNotebook* m_pNotebook; + wxStatusBar* m_pStatusbar; + + wxString m_strStatusMessage; + + // menu bar + bool CreateMenu(); + bool DeleteMenu(); + + // notebook + bool CreateNotebook(); + bool CreateNotebookPage(wxWindow* pwndNewNotebookPage); + bool DeleteNotebook(); + + // status bar + bool CreateStatusbar(); + bool DeleteStatusbar(); + + DECLARE_EVENT_TABLE() +}; diff --git a/clientgui/MessagesView.cpp b/clientgui/MessagesView.cpp new file mode 100644 index 0000000000..a7db17321d --- /dev/null +++ b/clientgui/MessagesView.cpp @@ -0,0 +1,49 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\messagesview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CMessagesView, CBaseListCtrlView) + + +CMessagesView::CMessagesView(void) +{ +} + + +CMessagesView::CMessagesView(wxNotebook* pNotebook) : + CBaseListCtrlView(pNotebook) +{ + InsertColumn(0, _("Project"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(1, _("Time"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(2, _("Message"), wxLIST_FORMAT_LEFT, -1); +} + + +CMessagesView::~CMessagesView(void) +{ +} + + +wxString CMessagesView::GetViewName(void) +{ + return wxString(_("Messages")); +} diff --git a/clientgui/MessagesView.h b/clientgui/MessagesView.h new file mode 100644 index 0000000000..1ce5d3cf06 --- /dev/null +++ b/clientgui/MessagesView.h @@ -0,0 +1,34 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once +#include "baselistctrlview.h" + +class CMessagesView : public CBaseListCtrlView +{ + DECLARE_DYNAMIC_CLASS(CMessagesView) + +public: + CMessagesView(void); + CMessagesView(wxNotebook* pNotebook); + + ~CMessagesView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/ProjectsView.cpp b/clientgui/ProjectsView.cpp new file mode 100644 index 0000000000..70439285fc --- /dev/null +++ b/clientgui/ProjectsView.cpp @@ -0,0 +1,51 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\projectsview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CProjectsView, CBaseListCtrlView) + + +CProjectsView::CProjectsView(void) +{ +} + + +CProjectsView::CProjectsView(wxNotebook* pNotebook) : + CBaseListCtrlView(pNotebook) +{ + InsertColumn(0, _("Project"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(1, _("Account"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(2, _("Total Credit"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(3, _("Avg. Credit"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Resource Share"), wxLIST_FORMAT_LEFT, -1); +} + + +CProjectsView::~CProjectsView(void) +{ +} + + +wxString CProjectsView::GetViewName(void) +{ + return wxString(_("Projects")); +} diff --git a/clientgui/ProjectsView.h b/clientgui/ProjectsView.h new file mode 100644 index 0000000000..3b20ec7cd0 --- /dev/null +++ b/clientgui/ProjectsView.h @@ -0,0 +1,34 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once +#include "baselistctrlview.h" + +class CProjectsView : public CBaseListCtrlView +{ + DECLARE_DYNAMIC_CLASS(CProjectsView) + +public: + CProjectsView(void); + CProjectsView(wxNotebook* pNotebook); + + ~CProjectsView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/ResourceUtilizationView.cpp b/clientgui/ResourceUtilizationView.cpp new file mode 100644 index 0000000000..c1b200ebc1 --- /dev/null +++ b/clientgui/ResourceUtilizationView.cpp @@ -0,0 +1,50 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\resourceutilizationview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CResourceUtilizationView, CBaseWindowView) + + +CResourceUtilizationView::CResourceUtilizationView(void) +{ +} + + +CResourceUtilizationView::CResourceUtilizationView(wxNotebook* pNotebook) : + CBaseWindowView(pNotebook) +{ + SetBackgroundColour(wxColor(_T("WHITE"))); + + (void) new wxStaticText( this, -1, + wxT("This page intentionally left blank"), wxPoint(10, 10) ); +} + + +CResourceUtilizationView::~CResourceUtilizationView(void) +{ +} + + +wxString CResourceUtilizationView::GetViewName(void) +{ + return wxString(_("Disk")); +} diff --git a/clientgui/ResourceUtilizationView.h b/clientgui/ResourceUtilizationView.h new file mode 100644 index 0000000000..e4577b8d02 --- /dev/null +++ b/clientgui/ResourceUtilizationView.h @@ -0,0 +1,34 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once +#include "basewindowview.h" + +class CResourceUtilizationView : public CBaseWindowView +{ + DECLARE_DYNAMIC_CLASS(CResourceUtilizationView) + +public: + CResourceUtilizationView(void); + CResourceUtilizationView(wxNotebook* pNotebook); + + ~CResourceUtilizationView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/TransfersView.cpp b/clientgui/TransfersView.cpp new file mode 100644 index 0000000000..a0efdf43b7 --- /dev/null +++ b/clientgui/TransfersView.cpp @@ -0,0 +1,53 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\transfersview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CTransfersView, CBaseListCtrlView) + + +CTransfersView::CTransfersView(void) +{ +} + + +CTransfersView::CTransfersView(wxNotebook* pNotebook) : + CBaseListCtrlView(pNotebook) +{ + InsertColumn(0, _("Project"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(1, _("File"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(2, _("Progress"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(3, _("Size"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Time"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Speed"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Status"), wxLIST_FORMAT_LEFT, -1); +} + + +CTransfersView::~CTransfersView(void) +{ +} + + +wxString CTransfersView::GetViewName(void) +{ + return wxString(_("Transfers")); +} diff --git a/clientgui/TransfersView.h b/clientgui/TransfersView.h new file mode 100644 index 0000000000..bb10e07161 --- /dev/null +++ b/clientgui/TransfersView.h @@ -0,0 +1,35 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once +#include "mainframe.h" +#include "baselistctrlview.h" + +class CTransfersView : public CBaseListCtrlView +{ + DECLARE_DYNAMIC_CLASS(CTransfersView) + +public: + CTransfersView(void); + CTransfersView(wxNotebook* pNotebook); + + ~CTransfersView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/WorkView.cpp b/clientgui/WorkView.cpp new file mode 100644 index 0000000000..0cb6ea7aa0 --- /dev/null +++ b/clientgui/WorkView.cpp @@ -0,0 +1,54 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#include "stdwx.h" +#include ".\workview.h" + + +IMPLEMENT_DYNAMIC_CLASS(CWorkView, CBaseListCtrlView) + + +CWorkView::CWorkView(void) +{ +} + + +CWorkView::CWorkView(wxNotebook* pNotebook) : + CBaseListCtrlView(pNotebook) +{ + InsertColumn(0, _("Project"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(1, _("Application"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(2, _("Name"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(3, _("CPU time"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Progress"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("To Completetion"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Report Deadline"), wxLIST_FORMAT_LEFT, -1); + InsertColumn(4, _("Status"), wxLIST_FORMAT_LEFT, -1); +} + + +CWorkView::~CWorkView(void) +{ +} + + +wxString CWorkView::GetViewName(void) +{ + return wxString(_("Work")); +} diff --git a/clientgui/WorkView.h b/clientgui/WorkView.h new file mode 100644 index 0000000000..603b6b7249 --- /dev/null +++ b/clientgui/WorkView.h @@ -0,0 +1,35 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +#pragma once +#include "mainframe.h" +#include "baselistctrlview.h" + +class CWorkView : public CBaseListCtrlView +{ + DECLARE_DYNAMIC_CLASS(CWorkView) + +public: + CWorkView(void); + CWorkView(wxNotebook* pNotebook); + + ~CWorkView(void); + + virtual wxString GetViewName(void); +}; diff --git a/clientgui/_wx_intellisense.h b/clientgui/_wx_intellisense.h new file mode 100644 index 0000000000..c621768ec4 --- /dev/null +++ b/clientgui/_wx_intellisense.h @@ -0,0 +1,12 @@ +/* + * This file enables intellisense for wxWindows. It is included in the project, + * but never actually included in any cpp source. + * + * It needs to be opened once to create the *.ncb file. + * You can close this file now. + * + * NOTE: To enable intellisense for your other projects, copy this file to the project + * and include it in your workspace. Then open the file and close it again to give + * Visual Studio the opportunity to parse the file and add its contents to intellisense. + */ +#include diff --git a/clientgui/boincsm-preview.png b/clientgui/boincsm-preview.png new file mode 100644 index 0000000000..2fad59f4fa Binary files /dev/null and b/clientgui/boincsm-preview.png differ diff --git a/clientgui/boincsm.xpm b/clientgui/boincsm.xpm new file mode 100644 index 0000000000..3c3c6faf31 --- /dev/null +++ b/clientgui/boincsm.xpm @@ -0,0 +1,137 @@ +/* XPM */ +static char *boincsm_xpm[] = { +"50 50 84 1", +" c #848484", +". c #94B5D6", +"X c #9CCEFF", +"o c #8C9CB5", +"O c #94C6F7", +"+ c #94BDE7", +"@ c #848C94", +"# c #8CADCE", +"$ c #7BA5CE", +"% c #84848C", +"& c #CEFFFF", +"* c #4A5A6B", +"= c #A5CECE", +"- c #7B9C9C", +"; c #6B6B6B", +": c #8CADAD", +"> c #848C9C", +", c #8CA5C6", +"< c #525252", +"1 c #293131", +"2 c #739CC6", +"3 c #8CBDEF", +"4 c #84949C", +"5 c #182931", +"6 c #000000", +"7 c #BDEFEF", +"8 c #5273A5", +"9 c #21319C", +"0 c #5A738C", +"q c #181884", +"w c #000084", +"e c #6B6B84", +"r c #525284", +"t c #84ADEF", +"y c #08108C", +"u c #5263B5", +"i c #10188C", +"p c #29319C", +"a c #00006B", +"s c #18299C", +"d c #080884", +"f c #182984", +"g c #ADD6EF", +"h c #A5CEE7", +"j c #000073", +"k c #00007B", +"l c #292984", +"z c #39429C", +"x c #739CE7", +"c c #8CBDF7", +"v c #18218C", +"b c #7B9CCE", +"n c #8CADD6", +"m c #31399C", +"M c #21316B", +"N c #7BA5E7", +"B c #4A4A84", +"V c #3952B5", +"C c #B5E7EF", +"Z c #8C9CAD", +"A c #848C8C", +"S c #84B5E7", +"D c #4A6373", +"F c #3142AD", +"G c #9CC6E7", +"H c #6B84C6", +"J c #424284", +"K c #526B73", +"L c #4A5AAD", +"P c #637BBD", +"I c #5A7BCE", +"U c #6B8CAD", +"Y c #21298C", +"T c #393984", +"R c #000042", +"E c #000031", +"W c #4A63BD", +"Q c #637B84", +"! c #8CA5BD", +"~ c #737373", +"^ c #526363", +"/ c #5A7B9C", +"( c #84ADD6", +") c #101010", +" ", +" ", +" ", +" . ", +" X ", +" XX ", +" oXX ", +" O . XXX ", +" X+ X@ XXXX ", +" XX+ XXX #XX$+ ", +" XXXo XXX+ %XX&$+ ", +" @XXXX@ XXXX* XX=&$+ ++ ", +" +XXXXX% #XXXX-; +X:&&$+ >,XXXXX ", +" +XXXXXX XXXXX&&&&&&&&&&&&&&&&&XXX11XXXXXXX ", +" ~=&&&&&&&&&&&^5&&XXXXX@XXXXXX ", +" ZX/=&&&(&&(X()XXXXX 4XXXXX# ", +" #XX=&&XX55X oXXXXXX XXXXX ", +" XXX=&;XXXXX XXXXXX OXXX ", +" XXX=; XXXXX XXXXZ XXX ", +" >X ) XXXXo +XXX> !X. ", +" + XXXX XXX> X ", +" XXXX #XX ", +" XXX! XX ", +" XX X ", +" XX + ", +" X> ", +" X ", +" X ", +" # ", +" ", +" ", +" "}; diff --git a/clientgui/res/BOINCGUIApp.ico b/clientgui/res/BOINCGUIApp.ico new file mode 100644 index 0000000000..207d5a4a6b Binary files /dev/null and b/clientgui/res/BOINCGUIApp.ico differ diff --git a/clientgui/resource.h b/clientgui/resource.h new file mode 100644 index 0000000000..bad9222412 --- /dev/null +++ b/clientgui/resource.h @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by wxWindowsTemplate.rc +// +#define IDI_MYFRAME 1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/clientgui/stdwx.cpp b/clientgui/stdwx.cpp new file mode 100644 index 0000000000..2bc44426bf --- /dev/null +++ b/clientgui/stdwx.cpp @@ -0,0 +1,31 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +// stdafx.cpp : source file that includes just the standard includes +// wxWindowsTemplate.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdwx.h" + +#ifndef __WIN95__ +#error An error in wxWindows version 2.4.0 and 2.4.1 require that you set WINVER=0x400 in the project settings! +#endif + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/clientgui/stdwx.h b/clientgui/stdwx.h new file mode 100644 index 0000000000..e13ebfeee4 --- /dev/null +++ b/clientgui/stdwx.h @@ -0,0 +1,50 @@ +// The contents of this file are subject to the BOINC Public License +// Version 1.0 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://boinc.berkeley.edu/license_1.0.txt +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// +// The Initial Developer of the Original Code is the SETI@home project. +// Portions created by the SETI@home project are Copyright (C) 2002 +// University of California at Berkeley. All Rights Reserved. +// +// Contributor(s): +// + +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#ifndef __STDWX_H__ +#define __STDWX_H__ + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/wx.h" +#endif + +#include // diagnostics support +#include // accelerator support +#include // command line support +#include // configuration support +#include // internationalization +#include // list control support +#include // notebook support +#include // toolbars support +#include // system settings +#include // static line + +#endif \ No newline at end of file