*** empty log message ***

svn path=/trunk/boinc/; revision=3240
This commit is contained in:
Rom Walton 2004-04-10 09:11:03 +00:00
parent cb3681a91e
commit 66be7ee775
42 changed files with 6266 additions and 0 deletions

View File

@ -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)

3
clientgui/.cvsignore Normal file
View File

@ -0,0 +1,3 @@
Release
Debug
BOINCGUI.suo

3257
clientgui/BOINCGUI.pjd Normal file

File diff suppressed because it is too large Load Diff

21
clientgui/BOINCGUI.sln Normal file
View File

@ -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

242
clientgui/BOINCGUI.vcproj Normal file
View File

@ -0,0 +1,242 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="boincgui"
ProjectGUID="{2221DD49-9379-447D-AC5E-E3EB7CE7A42D}">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(WXWIN)\include;$(WXWIN)\contrib\include;$(WXWIN)\lib\mswd"
PreprocessorDefinitions="WIN32;_DEBUG;__WXDEBUG__"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="3"
PrecompiledHeaderThrough="stdwx.h"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="rpcrt4.lib comctl32.lib wsock32.lib wxmswd.lib"
LinkIncremental="2"
AdditionalLibraryDirectories="$(WXWIN)\lib;$(WXWIN)\contrib\lib"
GenerateDebugInformation="TRUE"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
AdditionalIncludeDirectories="$(WXWIN)\include;$(WXWIN)\contrib\include;"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
GlobalOptimizations="TRUE"
AdditionalIncludeDirectories="$(WXWIN)\include;$(WXWIN)\contrib\include;$(WXWIN)\lib\msw"
PreprocessorDefinitions="WIN32;NDEBUG;__WXNDEBUG__"
StringPooling="TRUE"
RuntimeLibrary="2"
BufferSecurityCheck="TRUE"
EnableFunctionLevelLinking="FALSE"
UsePrecompiledHeader="3"
PrecompiledHeaderThrough="stdwx.h"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="rpcrt4.lib comctl32.lib wsock32.lib wxmsw.lib"
LinkIncremental="1"
AdditionalLibraryDirectories="$(WXWIN)\lib;$(WXWIN)\contrib\lib"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
AdditionalIncludeDirectories="$(WXWIN)\include;$(WXWIN)\contrib\include;"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\BaseListCtrlView.cpp">
</File>
<File
RelativePath=".\BaseWindowView.cpp">
</File>
<File
RelativePath=".\BOINCGUIApp.cpp">
</File>
<File
RelativePath=".\DlgHelpAbout.cpp">
</File>
<File
RelativePath=".\MainDocument.cpp">
</File>
<File
RelativePath=".\MainFrame.cpp">
</File>
<File
RelativePath=".\MessagesView.cpp">
</File>
<File
RelativePath=".\ProjectsView.cpp">
</File>
<File
RelativePath=".\ResourceUtilizationView.cpp">
</File>
<File
RelativePath=".\stdwx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
<File
RelativePath=".\TransfersView.cpp">
</File>
<File
RelativePath=".\WorkView.cpp">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath=".\_wx_intellisense.h">
</File>
<File
RelativePath=".\BaseListCtrlView.h">
</File>
<File
RelativePath=".\BaseWindowView.h">
</File>
<File
RelativePath=".\BOINCGUIApp.h">
</File>
<File
RelativePath=".\DlgHelpAbout.h">
</File>
<File
RelativePath=".\Events.h">
</File>
<File
RelativePath=".\MainDocument.h">
</File>
<File
RelativePath=".\MainFrame.h">
</File>
<File
RelativePath=".\MessagesView.h">
</File>
<File
RelativePath=".\ProjectsView.h">
</File>
<File
RelativePath=".\resource.h">
</File>
<File
RelativePath=".\ResourceUtilizationView.h">
</File>
<File
RelativePath=".\stdwx.h">
</File>
<File
RelativePath=".\TransfersView.h">
</File>
<File
RelativePath=".\WorkView.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;xrc"
UniqueIdentifier="{08DB1F42-8D4B-491a-870C-2A991D5ED0DB}">
<File
RelativePath=".\res\boincguiApp.ico">
</File>
<File
RelativePath=".\boincguiApp.rc">
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

95
clientgui/BOINCGUIApp.cpp Normal file
View File

@ -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;
}

53
clientgui/BOINCGUIApp.h Normal file
View File

@ -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)

109
clientgui/BOINCGUIApp.rc Normal file
View File

@ -0,0 +1,109 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <wx/msw/wx.rc>
/////////////////////////////////////////////////////////////////////////////
#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 <wx/msw/wx.rc>\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
/////////////////////////////////////////////////////////////////////////////

View File

@ -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"));
}

View File

@ -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);
};

View File

@ -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"));
}

View File

@ -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);
};

183
clientgui/DlgAbout.cpp Normal file
View File

@ -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;
}

99
clientgui/DlgAbout.h Normal file
View File

@ -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_

View File

@ -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;
}

View File

@ -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_

140
clientgui/DlgConnection.cpp Normal file
View File

@ -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;
}

98
clientgui/DlgConnection.h Normal file
View File

@ -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_

318
clientgui/DlgOptions.cpp Normal file
View File

@ -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;
}

141
clientgui/DlgOptions.h Normal file
View File

@ -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_

26
clientgui/Events.h Normal file
View File

@ -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;

View File

@ -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)
{
}

29
clientgui/MainDocument.h Normal file
View File

@ -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);
};

237
clientgui/MainFrame.cpp Normal file
View File

@ -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);
}

64
clientgui/MainFrame.h Normal file
View File

@ -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()
};

View File

@ -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"));
}

34
clientgui/MessagesView.h Normal file
View File

@ -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);
};

View File

@ -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"));
}

34
clientgui/ProjectsView.h Normal file
View File

@ -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);
};

View File

@ -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"));
}

View File

@ -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);
};

View File

@ -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"));
}

35
clientgui/TransfersView.h Normal file
View File

@ -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);
};

54
clientgui/WorkView.cpp Normal file
View File

@ -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"));
}

35
clientgui/WorkView.h Normal file
View File

@ -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);
};

View File

@ -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 <wx/msw/__wx_intellisense_inc.h>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

137
clientgui/boincsm.xpm Normal file
View File

@ -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&&<X1&&&XXXX23XXX4 ",
" XXXXXXX1 XXXX$&&&5&&&&XXX6-XXXX ",
" XXXXXX7&8X9X1&&&&&&&&X0&&XXXX ",
" qweewr %Xtywy=&u&iww&&&p&pwwa&&1Xswwwq d ",
" q ee d qXXXXfg&wi&hwhi&w&&&&w&$j$$$$;kq wqwe ",
" el www@zwxcXwwvXw&w&uhwb&&n&uu&hmu&&wwwMXXvwqqw ",
" wwXwwNXwwwXwwww6hwwwhwwww&&wwwhhww&pwwwwwwwwwwwB",
" BBdXwVXwwwXqwwwm&hw&whwwww&hwwwChw&&wwwXxwwwwZqwB",
" eeeAXXwwwwXwww&b&hw&w&wwwwg&www&ww&SwwXXXXww qwB",
" ewq eXXtwwXww&&w&ww&b&ww&&h&w&i&ww&DwsXXXwe qw ",
" wwq wwFXwwXws2u&&wwww&ww&&w&wwGHwww&wsXX9 ee www ",
" wwq wweXwwXXww6&pww&&&&w&ww&ww&w&ww-XwXXV ww wqw ",
" r J w rwww9K&&&LwwmwwwPwwu&&ww&&&wX9XXVXXiww edw ",
" J qwwwwwbwppwwww&wwwwwwiwwwwwwwwwIwXXswwww www ",
" wwwwwwwwvXUYwwwww&&&ppwwpwwwwwwwwww-wwwwwwwXXAww ",
" ewwwwwT#XXXXRwwb&&&&&&&&&wwv&&&$IEb&DWwwwWXXXX. ",
" XXXXXXXX&&&&&&&&&&&&&&&&&$XXXX6Xo #XXXX ",
" XXXXXXX3&&&&&&&&&&&&&&5Q&&1XXXXXXX ",
" !XXXXXXX>&&&&&&&&&&&&&&&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 ",
" # ",
" ",
" ",
" "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

17
clientgui/resource.h Normal file
View File

@ -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

31
clientgui/stdwx.cpp Normal file
View File

@ -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

50
clientgui/stdwx.h Normal file
View File

@ -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 <wx/debug.h> // diagnostics support
#include <wx/accel.h> // accelerator support
#include <wx/cmdline.h> // command line support
#include <wx/config.h> // configuration support
#include <wx/intl.h> // internationalization
#include <wx/listctrl.h> // list control support
#include <wx/notebook.h> // notebook support
#include <wx/toolbar.h> // toolbars support
#include <wx/settings.h> // system settings
#include <wx/statline.h> // static line
#endif