1
// This file is part of BOINC.
2
// http://boinc.berkeley.edu
3
// Copyright (C) 2008 University of California
5
// BOINC is free software; you can redistribute it and/or modify it
6
// under the terms of the GNU Lesser General Public License
7
// as published by the Free Software Foundation,
8
// either version 3 of the License, or (at your option) any later version.
10
// BOINC is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
// See the GNU Lesser General Public License for more details.
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
18
#if defined(__GNUG__) && !defined(__APPLE__)
19
#pragma implementation "DlgAbout.h"
23
#include "diagnostics.h"
29
#include "BOINCGUIApp.h"
30
#include "SkinManager.h"
38
#include "../version.h"
45
* CDlgAbout type definition
48
IMPLEMENT_DYNAMIC_CLASS(CDlgAbout, wxDialog)
51
* CDlgAbout event table definition
54
BEGIN_EVENT_TABLE(CDlgAbout, wxDialog)
56
////@begin CDlgAbout event table entries
57
////@end CDlgAbout event table entries
62
* CDlgAbout constructors
65
CDlgAbout::CDlgAbout() {}
67
CDlgAbout::CDlgAbout(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) {
68
Create(parent, id, caption, pos, size, style);
72
* CDlgHelpAbout creator
75
bool CDlgAbout::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) {
76
////@begin CDlgAbout member initialisation
77
m_AboutBOINCTitleCtrl = NULL;
78
m_AboutBOINCLogoCtrl = NULL;
79
m_AboutBOINCSloganCtrl = NULL;
80
m_AboutBOINCURLCtrl = NULL;
81
m_strVersion = wxT(BOINC_VERSION_STRING);
82
m_strWidgetsVersion.Printf(wxT("%d.%d.%d"), wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER);
83
////@end CDlgAbout member initialisation
85
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
86
wxASSERT(pSkinAdvanced);
87
wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced));
89
SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
90
wxDialog::Create( parent, id, caption, pos, size, style );
94
// Change the various dialog items for the branded manager
96
wxString buf = wxEmptyString;
99
pSkinAdvanced->GetApplicationName().c_str()
105
pSkinAdvanced->GetApplicationName().c_str()
107
m_AboutBOINCTitleCtrl->SetLabel(buf);
109
m_AboutBOINCLogoCtrl->SetBitmap(wxBitmap(*(pSkinAdvanced->GetApplicationLogo())));
111
m_AboutBOINCSloganCtrl->SetLabel(wxEmptyString);
113
m_AboutBOINCURLCtrl->SetLabel(
114
pSkinAdvanced->GetOrganizationWebsite().c_str()
117
GetSizer()->Fit(this);
118
GetSizer()->SetSizeHints(this);
125
* Control creation for CDlgHelpAbout
128
void CDlgAbout::CreateControls() {
129
////@begin CDlgAbout content construction
130
CDlgAbout* itemDialog1 = this;
132
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
133
itemDialog1->SetSizer(itemBoxSizer2);
135
m_AboutBOINCTitleCtrl = new wxStaticText;
136
m_AboutBOINCTitleCtrl->Create( itemDialog1, wxID_STATIC, _("BOINC Manager"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
137
m_AboutBOINCTitleCtrl->SetFont(wxFont(16, wxDEFAULT, wxNORMAL, wxBOLD, false, _T("")));
138
itemBoxSizer2->Add(m_AboutBOINCTitleCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
140
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
141
itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
143
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
144
itemBoxSizer4->Add(itemBoxSizer5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
146
wxBitmap m_AboutBOINCLogoCtrlBitmap(wxNullBitmap);
147
m_AboutBOINCLogoCtrl = new wxStaticBitmap;
148
m_AboutBOINCLogoCtrl->Create( itemDialog1, wxID_STATIC, m_AboutBOINCLogoCtrlBitmap, wxDefaultPosition, wxDefaultSize, 0 );
149
itemBoxSizer5->Add(m_AboutBOINCLogoCtrl, 0, wxALIGN_LEFT|wxALL, 5);
151
wxFlexGridSizer* itemFlexGridSizer7 = new wxFlexGridSizer(3, 2, 0, 0);
152
itemBoxSizer4->Add(itemFlexGridSizer7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
154
wxStaticText* itemStaticText8 = new wxStaticText;
155
itemStaticText8->Create( itemDialog1, wxID_STATIC, _("Version:"), wxDefaultPosition, wxDefaultSize, 0 );
156
itemFlexGridSizer7->Add(itemStaticText8, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
158
wxStaticText* itemStaticText9 = new wxStaticText;
159
itemStaticText9->Create( itemDialog1, wxID_STATIC, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
160
itemFlexGridSizer7->Add(itemStaticText9, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
162
wxStaticText* itemStaticText10 = new wxStaticText;
163
itemStaticText10->Create( itemDialog1, wxID_STATIC, _("wxWidgets Version:"), wxDefaultPosition, wxDefaultSize, 0 );
164
itemFlexGridSizer7->Add(itemStaticText10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
166
wxStaticText* itemStaticText11 = new wxStaticText;
167
itemStaticText11->Create( itemDialog1, wxID_STATIC, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
168
itemFlexGridSizer7->Add(itemStaticText11, 11, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
170
wxStaticText* itemStaticText12 = new wxStaticText;
171
itemStaticText12->Create( itemDialog1, wxID_STATIC, _("Copyright:"), wxDefaultPosition, wxDefaultSize, 0 );
172
itemFlexGridSizer7->Add(itemStaticText12, 0, wxALIGN_RIGHT|wxALIGN_TOP|wxLEFT|wxRIGHT, 5);
174
wxStaticText* itemStaticText13 = new wxStaticText;
175
itemStaticText13->Create( itemDialog1, wxID_STATIC, _("(C) 2003-2008 University of California, Berkeley.\nAll Rights Reserved."), wxDefaultPosition, wxDefaultSize, 0 );
176
itemFlexGridSizer7->Add(itemStaticText13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
178
m_AboutBOINCSloganCtrl = new wxStaticText;
179
m_AboutBOINCSloganCtrl->Create( itemDialog1, wxID_STATIC, _("Berkeley Open Infrastructure for Network Computing"), wxDefaultPosition, wxDefaultSize, 0 );
180
itemBoxSizer2->Add(m_AboutBOINCSloganCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
182
wxStaticText* itemStaticText14 = new wxStaticText;
183
itemStaticText14->Create( itemDialog1, wxID_STATIC, _("Berkeley Open Infrastructure for Network Computing"), wxDefaultPosition, wxDefaultSize, 0 );
184
itemBoxSizer2->Add(itemStaticText14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
186
m_AboutBOINCURLCtrl = new wxHyperLink;
187
m_AboutBOINCURLCtrl->Create( itemDialog1, ID_ABOUTBOINCLINK, wxT("http://boinc.berkeley.edu/"), wxDefaultPosition, wxDefaultSize, wxNO_BORDER );
188
itemBoxSizer2->Add(m_AboutBOINCURLCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
190
wxStaticLine* itemStaticLine15 = new wxStaticLine;
191
itemStaticLine15->Create( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
192
itemBoxSizer2->Add(itemStaticLine15, 0, wxGROW|wxALL, 5);
194
wxButton* itemButton16 = new wxButton;
195
itemButton16->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
196
itemButton16->SetDefault();
197
itemBoxSizer2->Add(itemButton16, 0, wxALIGN_RIGHT|wxALL, 5);
200
itemStaticText9->SetValidator( wxGenericValidator(& m_strVersion) );
201
itemStaticText11->SetValidator( wxGenericValidator(& m_strWidgetsVersion) );
202
////@end CDlgAbout content construction
206
* Should we show tooltips?
209
bool CDlgAbout::ShowToolTips() {
214
* Get bitmap resources
217
wxBitmap CDlgAbout::GetBitmapResource(const wxString& WXUNUSED(name)) {
219
////@begin CDlgAbout bitmap retrieval
221
////@end CDlgAbout bitmap retrieval
228
wxIcon CDlgAbout::GetIconResource(const wxString& WXUNUSED(name)) {
230
////@begin CDlgAbout icon retrieval
232
////@end CDlgAbout icon retrieval
235
const char *BOINC_RCSID_b40c2996e6="$Id: DlgAbout.cpp 16381 2008-10-31 22:11:38Z romw $";
1
// This file is part of BOINC.
2
// http://boinc.berkeley.edu
3
// Copyright (C) 2008 University of California
5
// BOINC is free software; you can redistribute it and/or modify it
6
// under the terms of the GNU Lesser General Public License
7
// as published by the Free Software Foundation,
8
// either version 3 of the License, or (at your option) any later version.
10
// BOINC is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
// See the GNU Lesser General Public License for more details.
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
18
#if defined(__GNUG__) && !defined(__APPLE__)
19
#pragma implementation "DlgAbout.h"
23
#include "diagnostics.h"
29
#include "BOINCGUIApp.h"
30
#include "SkinManager.h"
38
#include "../version.h"
45
* CDlgAbout type definition
48
IMPLEMENT_DYNAMIC_CLASS(CDlgAbout, wxDialog)
51
* CDlgAbout event table definition
54
BEGIN_EVENT_TABLE(CDlgAbout, wxDialog)
56
////@begin CDlgAbout event table entries
57
////@end CDlgAbout event table entries
62
* CDlgAbout constructors
65
CDlgAbout::CDlgAbout() {}
67
CDlgAbout::CDlgAbout(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) {
68
Create(parent, id, caption, pos, size, style);
72
* CDlgHelpAbout creator
75
bool CDlgAbout::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) {
76
////@begin CDlgAbout member initialisation
77
m_AboutBOINCTitleCtrl = NULL;
78
m_AboutBOINCLogoCtrl = NULL;
79
m_AboutBOINCSloganCtrl = NULL;
80
m_AboutBOINCURLCtrl = NULL;
81
#if defined(_WIN64) && defined(_M_X64)
82
m_strVersion.Printf(wxT("%s (x64)"), wxT(BOINC_VERSION_STRING));
84
m_strVersion.Printf(wxT("%s (x86)"), wxT(BOINC_VERSION_STRING));
86
m_strWidgetsVersion.Printf(wxT("%d.%d.%d"), wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER);
87
////@end CDlgAbout member initialisation
89
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
90
wxASSERT(pSkinAdvanced);
91
wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced));
93
SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
94
wxDialog::Create( parent, id, caption, pos, size, style );
98
// Change the various dialog items for the branded manager
100
wxString buf = wxEmptyString;
103
pSkinAdvanced->GetApplicationName().c_str()
109
pSkinAdvanced->GetApplicationName().c_str()
111
m_AboutBOINCTitleCtrl->SetLabel(buf);
113
m_AboutBOINCLogoCtrl->SetBitmap(wxBitmap(*(pSkinAdvanced->GetApplicationLogo())));
115
m_AboutBOINCSloganCtrl->SetLabel(wxEmptyString);
117
m_AboutBOINCURLCtrl->SetLabel(
118
pSkinAdvanced->GetOrganizationWebsite().c_str()
121
GetSizer()->Fit(this);
122
GetSizer()->SetSizeHints(this);
129
* Control creation for CDlgHelpAbout
132
void CDlgAbout::CreateControls() {
133
////@begin CDlgAbout content construction
134
CDlgAbout* itemDialog1 = this;
136
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
137
itemDialog1->SetSizer(itemBoxSizer2);
139
m_AboutBOINCTitleCtrl = new wxStaticText;
140
m_AboutBOINCTitleCtrl->Create( itemDialog1, wxID_STATIC, _("BOINC Manager"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
141
m_AboutBOINCTitleCtrl->SetFont(wxFont(16, wxDEFAULT, wxNORMAL, wxBOLD, false, _T("")));
142
itemBoxSizer2->Add(m_AboutBOINCTitleCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
144
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
145
itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
147
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
148
itemBoxSizer4->Add(itemBoxSizer5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
150
wxBitmap m_AboutBOINCLogoCtrlBitmap(wxNullBitmap);
151
m_AboutBOINCLogoCtrl = new wxStaticBitmap;
152
m_AboutBOINCLogoCtrl->Create( itemDialog1, wxID_STATIC, m_AboutBOINCLogoCtrlBitmap, wxDefaultPosition, wxDefaultSize, 0 );
153
itemBoxSizer5->Add(m_AboutBOINCLogoCtrl, 0, wxALIGN_LEFT|wxALL, 5);
155
wxFlexGridSizer* itemFlexGridSizer7 = new wxFlexGridSizer(3, 2, 0, 0);
156
itemBoxSizer4->Add(itemFlexGridSizer7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
158
wxStaticText* itemStaticText8 = new wxStaticText;
159
itemStaticText8->Create( itemDialog1, wxID_STATIC, _("Version:"), wxDefaultPosition, wxDefaultSize, 0 );
160
itemFlexGridSizer7->Add(itemStaticText8, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
162
wxStaticText* itemStaticText9 = new wxStaticText;
163
itemStaticText9->Create( itemDialog1, wxID_STATIC, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
164
itemFlexGridSizer7->Add(itemStaticText9, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
166
wxStaticText* itemStaticText10 = new wxStaticText;
167
itemStaticText10->Create( itemDialog1, wxID_STATIC, _("wxWidgets Version:"), wxDefaultPosition, wxDefaultSize, 0 );
168
itemFlexGridSizer7->Add(itemStaticText10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
170
wxStaticText* itemStaticText11 = new wxStaticText;
171
itemStaticText11->Create( itemDialog1, wxID_STATIC, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
172
itemFlexGridSizer7->Add(itemStaticText11, 11, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
174
wxStaticText* itemStaticText12 = new wxStaticText;
175
itemStaticText12->Create( itemDialog1, wxID_STATIC, _("Copyright:"), wxDefaultPosition, wxDefaultSize, 0 );
176
itemFlexGridSizer7->Add(itemStaticText12, 0, wxALIGN_RIGHT|wxALIGN_TOP|wxLEFT|wxRIGHT, 5);
178
wxStaticText* itemStaticText13 = new wxStaticText;
179
itemStaticText13->Create( itemDialog1, wxID_STATIC, _("(C) 2003-2010 University of California, Berkeley.\nAll Rights Reserved."), wxDefaultPosition, wxDefaultSize, 0 );
180
itemFlexGridSizer7->Add(itemStaticText13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5);
182
m_AboutBOINCSloganCtrl = new wxStaticText;
183
m_AboutBOINCSloganCtrl->Create( itemDialog1, wxID_STATIC, _("Berkeley Open Infrastructure for Network Computing"), wxDefaultPosition, wxDefaultSize, 0 );
184
itemBoxSizer2->Add(m_AboutBOINCSloganCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
186
wxStaticText* itemStaticText14 = new wxStaticText;
187
itemStaticText14->Create( itemDialog1, wxID_STATIC, _("Berkeley Open Infrastructure for Network Computing"), wxDefaultPosition, wxDefaultSize, 0 );
188
itemBoxSizer2->Add(itemStaticText14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
190
m_AboutBOINCURLCtrl = new wxHyperlinkCtrl;
191
m_AboutBOINCURLCtrl->Create( itemDialog1, ID_ABOUTBOINCLINK, wxT("http://boinc.berkeley.edu/"), wxT("http://boinc.berkeley.edu/"), wxDefaultPosition, wxDefaultSize, wxNO_BORDER | wxHL_ALIGN_CENTRE | wxHL_CONTEXTMENU );
192
itemBoxSizer2->Add(m_AboutBOINCURLCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
194
wxStaticLine* itemStaticLine15 = new wxStaticLine;
195
itemStaticLine15->Create( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
196
itemBoxSizer2->Add(itemStaticLine15, 0, wxGROW|wxALL, 5);
198
wxButton* itemButton16 = new wxButton;
199
itemButton16->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
200
itemButton16->SetDefault();
201
itemBoxSizer2->Add(itemButton16, 0, wxALIGN_RIGHT|wxALL, 5);
204
itemStaticText9->SetValidator( wxGenericValidator(& m_strVersion) );
205
itemStaticText11->SetValidator( wxGenericValidator(& m_strWidgetsVersion) );
206
////@end CDlgAbout content construction
210
* Should we show tooltips?
213
bool CDlgAbout::ShowToolTips() {
218
* Get bitmap resources
221
wxBitmap CDlgAbout::GetBitmapResource(const wxString& WXUNUSED(name)) {
223
////@begin CDlgAbout bitmap retrieval
225
////@end CDlgAbout bitmap retrieval
232
wxIcon CDlgAbout::GetIconResource(const wxString& WXUNUSED(name)) {
234
////@begin CDlgAbout icon retrieval
236
////@end CDlgAbout icon retrieval