OpenCPN Partial API docs
Loading...
Searching...
No Matches
AboutFrame.cpp
1
2// C++ code generated with wxFormBuilder (version Oct 26 2018)
3// http://www.wxformbuilder.org/
4//
5// PLEASE DO *NOT* EDIT THIS FILE!
7#include <sstream>
8
9#include "AboutFrame.h"
10#include "ocpn_plugin.h"
11
13
14AboutFrame::AboutFrame(wxWindow* parent, wxWindowID id, const wxString& title,
15 const wxPoint& pos, const wxSize& size, long style)
16 : wxFrame(parent, id, title, pos, size, style) {
17 this->SetSizeHints(wxSize(500, 300), wxDefaultSize);
18
19 wxBoxSizer* bSizerMain;
20 bSizerMain = new wxBoxSizer(wxVERTICAL);
21
22 wxBoxSizer* bSizerContentMain;
23 bSizerContentMain = new wxBoxSizer(wxHORIZONTAL);
24
25 wxBoxSizer* bSizerLeftColumn;
26 bSizerLeftColumn = new wxBoxSizer(wxVERTICAL);
27
28 m_bitmapLogo = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap,
29 wxDefaultPosition, wxSize(100, 100), 0);
30 m_bitmapLogo->SetMaxSize(wxSize(100, 100));
31
32 bSizerLeftColumn->Add(m_bitmapLogo, 0, wxALL, 10);
33
34 bSizerLeftColumn->Add(0, 0, 1, wxEXPAND, 5);
35
36 m_btnBack = new wxButton(this, wxID_ANY, _("< Back"), wxDefaultPosition,
37 wxDefaultSize, wxBU_EXACTFIT);
38 bSizerLeftColumn->Add(m_btnBack, 0, wxALL, 5);
39
40 bSizerContentMain->Add(bSizerLeftColumn, 0, wxEXPAND, 5);
41
42 wxBoxSizer* bSizerContent;
43 bSizerContent = new wxBoxSizer(wxVERTICAL);
44
45 m_scrolledWindowAbout = new wxScrolledWindow(
46 this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
47 m_scrolledWindowAbout->SetScrollRate(5, 5);
48 wxBoxSizer* bSizerAbout;
49 bSizerAbout = new wxBoxSizer(wxVERTICAL);
50
51 m_staticTextOCPN =
52 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("OpenCPN"),
53 wxDefaultPosition, wxDefaultSize, 0);
54 m_staticTextOCPN->Wrap(-1);
55 m_staticTextOCPN->SetFont(wxFont(30, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
56 wxFONTWEIGHT_BOLD, false, wxEmptyString));
57
58 bSizerAbout->Add(m_staticTextOCPN, 0, wxALL, 5);
59
60 m_staticTextVersion =
61 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _T("5.6.0"),
62 wxDefaultPosition, wxDefaultSize, 0);
63 m_staticTextVersion->Wrap(-1);
64 m_staticTextVersion->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(),
65 wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
66 wxFONTWEIGHT_BOLD, false, wxEmptyString));
67
68 bSizerAbout->Add(m_staticTextVersion, 0, wxALL, 5);
69
70 wxBoxSizer* bSizerAuthors1;
71 bSizerAuthors1 = new wxBoxSizer(wxHORIZONTAL);
72
73 m_staticTextCopyYears =
74 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("(c) 2000-2021"),
75 wxDefaultPosition, wxDefaultSize, 0);
76 m_staticTextCopyYears->Wrap(-1);
77 bSizerAuthors1->Add(m_staticTextCopyYears, 0, wxALL, 5);
78
79 m_hyperlinkAuthors =
80 new wxHyperlinkCtrl(m_scrolledWindowAbout, wxID_ANY,
81 _("The OpenCPN Authors"), wxT("https://opencpn.org"),
82 wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
83 m_hyperlinkAuthors->SetFont(
84 wxFont(wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT,
85 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
86
87 bSizerAuthors1->Add(m_hyperlinkAuthors, 0, wxALIGN_CENTER_VERTICAL, 5);
88
89 bSizerAbout->Add(bSizerAuthors1, 0, wxEXPAND, 5);
90
91 m_staticTextDescription = new wxStaticText(
92 m_scrolledWindowAbout, wxID_ANY,
93 _("OpenCPN is a Free Software project, built by sailors.\nIt is freely "
94 "available to download and distribute without charge."),
95 wxDefaultPosition, wxDefaultSize, 0);
96 m_staticTextDescription->Wrap(380);
97 bSizerAbout->Add(m_staticTextDescription, 0, wxALL, 5);
98
99 wxBoxSizer* bSizerParticipate;
100 bSizerParticipate = new wxBoxSizer(wxHORIZONTAL);
101
102 m_staticTextHelp =
103 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("Want to help?"),
104 wxDefaultPosition, wxDefaultSize, 0);
105 m_staticTextHelp->Wrap(-1);
106 bSizerParticipate->Add(m_staticTextHelp, 0, wxALL | wxTOP, 5);
107
108 m_hyperlinkDonate = new wxHyperlinkCtrl(
109 m_scrolledWindowAbout, wxID_ANY, _("Donate"),
110 wxT("https://sourceforge.net/donate/index.php?group_id=180842"),
111 wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
112 m_hyperlinkDonate->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(),
113 wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
114 wxFONTWEIGHT_NORMAL, false, wxEmptyString));
115
116 bSizerParticipate->Add(m_hyperlinkDonate, 0, wxALIGN_CENTER_VERTICAL, 5);
117
118 m_staticTextOr = new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("or"),
119 wxDefaultPosition, wxDefaultSize, 0);
120 m_staticTextOr->Wrap(-1);
121 bSizerParticipate->Add(m_staticTextOr, 0, wxALL, 5);
122
123 m_hyperlinkGetInvolved =
124 new wxHyperlinkCtrl(m_scrolledWindowAbout, wxID_ANY, _("get involved!"),
125 wxT("https://github.com/OpenCPN/OpenCPN"),
126 wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
127 m_hyperlinkGetInvolved->SetFont(
128 wxFont(wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT,
129 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
130
131 bSizerParticipate->Add(m_hyperlinkGetInvolved, 0, wxALIGN_CENTER_VERTICAL, 5);
132
133 bSizerAbout->Add(bSizerParticipate, 0, wxEXPAND, 5);
134
135 wxBoxSizer* bSizerLogFile;
136 bSizerLogFile = new wxBoxSizer(wxHORIZONTAL);
137
138 m_staticTextLogfile =
139 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("Logfile:"),
140 wxDefaultPosition, wxDefaultSize, 0);
141 m_staticTextLogfile->Wrap(-1);
142 bSizerLogFile->Add(m_staticTextLogfile, 0, wxALL, 5);
143
144 m_hyperlinkLogFile = new wxHyperlinkCtrl(
145 m_scrolledWindowAbout, wxID_ANY,
146 _T("/Users/nohal/Library/Logs/opencpn.log"),
147 wxT("http://www.wxformbuilder.org"), wxDefaultPosition, wxDefaultSize,
148 wxHL_CONTEXTMENU | wxHL_ALIGN_LEFT);
149 m_hyperlinkLogFile->SetFont(
150 wxFont(wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT,
151 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
152
153 bSizerLogFile->Add(m_hyperlinkLogFile, 0, wxALL, 5);
154
155 bSizerAbout->Add(bSizerLogFile, 1, wxEXPAND | wxTOP, 15);
156
157 wxBoxSizer* bSizerIniFile;
158 bSizerIniFile = new wxBoxSizer(wxHORIZONTAL);
159
160 m_staticTextIniFile =
161 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, _("Config file:"),
162 wxDefaultPosition, wxDefaultSize, 0);
163 m_staticTextIniFile->Wrap(-1);
164 bSizerIniFile->Add(m_staticTextIniFile, 0, wxALL, 5);
165
166 m_hyperlinkIniFile = new wxHyperlinkCtrl(
167 m_scrolledWindowAbout, wxID_ANY,
168 _T("/Users/nohal/Library/Preferences/opencpn/opencpn.ini"),
169 wxT("http://www.wxformbuilder.org"), wxDefaultPosition, wxDefaultSize,
170 wxHL_CONTEXTMENU | wxHL_ALIGN_LEFT);
171 m_hyperlinkIniFile->SetFont(
172 wxFont(wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT,
173 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
174 m_hyperlinkIniFile->SetToolTip(_("Copy to clipboard"));
175
176 bSizerIniFile->Add(m_hyperlinkIniFile, 0, wxALL, 5);
177
178 bSizerAbout->Add(bSizerIniFile, 1, wxEXPAND, 5);
179
180 auto bApiInfo = new wxBoxSizer(wxHORIZONTAL);
181 std::ostringstream api_os;
182 api_os << _("Plugin API: ") << API_VERSION_MAJOR * 100 + API_VERSION_MINOR;
183 auto API_info =
184 new wxStaticText(m_scrolledWindowAbout, wxID_ANY, api_os.str());
185 bApiInfo->Add(API_info, 0, wxALL, 5);
186 bSizerAbout->Add(bApiInfo, 1, wxEXPAND, 5);
187
188 m_scrolledWindowAbout->SetSizer(bSizerAbout);
189 m_scrolledWindowAbout->Layout();
190 bSizerAbout->Fit(m_scrolledWindowAbout);
191 bSizerContent->Add(m_scrolledWindowAbout, 1, wxEXPAND | wxALL, 5);
192
193 m_htmlWinAuthors = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition,
194 wxDefaultSize, wxHW_SCROLLBAR_AUTO);
195 bSizerContent->Add(m_htmlWinAuthors, 1, wxALL | wxEXPAND, 5);
196
197 m_htmlWinLicense = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition,
198 wxDefaultSize, wxHW_SCROLLBAR_AUTO);
199 bSizerContent->Add(m_htmlWinLicense, 1, wxALL | wxEXPAND, 5);
200
201#if wxUSE_WEBVIEW && defined(HAVE_WEBVIEW)
202 m_htmlWinHelp = wxWebView::New(this, wxID_ANY);
203#else
204 m_htmlWinHelp = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition,
205 wxDefaultSize, wxHW_SCROLLBAR_AUTO);
206#endif
207 bSizerContent->Add(m_htmlWinHelp, 1, wxALL | wxEXPAND, 5);
208
209 bSizerContentMain->Add(bSizerContent, 1, wxEXPAND, 5);
210
211 bSizerMain->Add(bSizerContentMain, 1, wxEXPAND, 5);
212
213 wxBoxSizer* bSizerMainLnks;
214 bSizerMainLnks = new wxBoxSizer(wxHORIZONTAL);
215
216 m_panelMainLinks = new wxPanel(this, wxID_ANY, wxDefaultPosition,
217 wxDefaultSize, wxTAB_TRAVERSAL);
218 m_panelMainLinks->SetBackgroundColour(wxColour(153, 153, 153));
219
220 wxBoxSizer* bSizerLinksInner;
221 bSizerLinksInner = new wxBoxSizer(wxHORIZONTAL);
222
223 bSizerLinksInner->Add(0, 0, 1, wxEXPAND, 5);
224
225 m_hyperlinkWebsite =
226 new wxHyperlinkCtrl(m_panelMainLinks, wxID_ANY, _("OpenCPN Website"),
227 wxT("https://opencpn.org"), wxDefaultPosition,
228 wxDefaultSize, wxHL_DEFAULT_STYLE);
229
230 m_hyperlinkWebsite->SetNormalColour(wxColour(255, 255, 255));
231 m_hyperlinkWebsite->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(),
232 wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
233 wxFONTWEIGHT_BOLD, false, wxEmptyString));
234
235 bSizerLinksInner->Add(m_hyperlinkWebsite, 0, wxALL, 20);
236
237 m_hyperlinkHelp = new wxHyperlinkCtrl(
238 m_panelMainLinks, wxID_ANY, _("Help"), wxT("file://index.html"),
239 wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
240
241 m_hyperlinkHelp->SetNormalColour(wxColour(255, 255, 255));
242 m_hyperlinkHelp->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(),
243 wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
244 wxFONTWEIGHT_BOLD, false, wxEmptyString));
245
246 bSizerLinksInner->Add(m_hyperlinkHelp, 0, wxALL, 20);
247
248 m_hyperlinkLicense = new wxHyperlinkCtrl(
249 m_panelMainLinks, wxID_ANY, _("License"), wxT("file://license.html"),
250 wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
251
252 m_hyperlinkLicense->SetNormalColour(wxColour(255, 255, 255));
253 m_hyperlinkLicense->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(),
254 wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
255 wxFONTWEIGHT_BOLD, false, wxEmptyString));
256
257 bSizerLinksInner->Add(m_hyperlinkLicense, 0, wxALL, 20);
258
259 bSizerLinksInner->Add(0, 0, 1, wxEXPAND, 5);
260
261 m_panelMainLinks->SetSizer(bSizerLinksInner);
262 m_panelMainLinks->Layout();
263 bSizerLinksInner->Fit(m_panelMainLinks);
264 bSizerMainLnks->Add(m_panelMainLinks, 1, wxEXPAND, 0);
265
266 bSizerMain->Add(bSizerMainLnks, 0, wxEXPAND, 0);
267
268 this->SetSizer(bSizerMain);
269 this->Layout();
270
271 this->Centre(wxBOTH);
272
273 // Connect Events
274 this->Connect(wxEVT_ACTIVATE,
275 wxActivateEventHandler(AboutFrame::AboutFrameOnActivate));
276 this->Connect(wxEVT_CLOSE_WINDOW,
277 wxCloseEventHandler(AboutFrame::AboutFrameOnClose));
278 m_btnBack->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
279 wxCommandEventHandler(AboutFrame::m_btnBackOnButtonClick),
280 NULL, this);
281 m_hyperlinkAuthors->Connect(
282 wxEVT_COMMAND_HYPERLINK,
283 wxHyperlinkEventHandler(AboutFrame::OnLinkAuthors), NULL, this);
284 m_hyperlinkDonate->Connect(wxEVT_COMMAND_HYPERLINK,
285 wxHyperlinkEventHandler(AboutFrame::OnLinkDonate),
286 NULL, this);
287 m_hyperlinkGetInvolved->Connect(
288 wxEVT_COMMAND_HYPERLINK,
289 wxHyperlinkEventHandler(AboutFrame::OnLinkGetInvolved), NULL, this);
290 m_hyperlinkLogFile->Connect(
291 wxEVT_COMMAND_HYPERLINK,
292 wxHyperlinkEventHandler(AboutFrame::OnLinkLogfile), NULL, this);
293 m_hyperlinkIniFile->Connect(
294 wxEVT_COMMAND_HYPERLINK,
295 wxHyperlinkEventHandler(AboutFrame::OnLinkConfigfile), NULL, this);
296 m_htmlWinHelp->Connect(
297 wxEVT_COMMAND_HTML_LINK_CLICKED,
298 wxHtmlLinkEventHandler(AboutFrame::m_htmlWinHelpOnHtmlLinkClicked), NULL,
299 this);
300 m_hyperlinkHelp->Connect(wxEVT_COMMAND_HYPERLINK,
301 wxHyperlinkEventHandler(AboutFrame::OnLinkHelp),
302 NULL, this);
303 m_hyperlinkLicense->Connect(
304 wxEVT_COMMAND_HYPERLINK,
305 wxHyperlinkEventHandler(AboutFrame::OnLinkLicense), NULL, this);
306}
307
308AboutFrame::~AboutFrame() {
309 // Disconnect Events
310 this->Disconnect(wxEVT_ACTIVATE,
311 wxActivateEventHandler(AboutFrame::AboutFrameOnActivate));
312 this->Disconnect(wxEVT_CLOSE_WINDOW,
313 wxCloseEventHandler(AboutFrame::AboutFrameOnClose));
314 m_btnBack->Disconnect(
315 wxEVT_COMMAND_BUTTON_CLICKED,
316 wxCommandEventHandler(AboutFrame::m_btnBackOnButtonClick), NULL, this);
317 m_hyperlinkAuthors->Disconnect(
318 wxEVT_COMMAND_HYPERLINK,
319 wxHyperlinkEventHandler(AboutFrame::OnLinkAuthors), NULL, this);
320 m_hyperlinkDonate->Disconnect(
321 wxEVT_COMMAND_HYPERLINK,
322 wxHyperlinkEventHandler(AboutFrame::OnLinkDonate), NULL, this);
323 m_hyperlinkGetInvolved->Disconnect(
324 wxEVT_COMMAND_HYPERLINK,
325 wxHyperlinkEventHandler(AboutFrame::OnLinkGetInvolved), NULL, this);
326 m_hyperlinkLogFile->Disconnect(
327 wxEVT_COMMAND_HYPERLINK,
328 wxHyperlinkEventHandler(AboutFrame::OnLinkLogfile), NULL, this);
329 m_hyperlinkIniFile->Disconnect(
330 wxEVT_COMMAND_HYPERLINK,
331 wxHyperlinkEventHandler(AboutFrame::OnLinkConfigfile), NULL, this);
332 m_htmlWinHelp->Disconnect(
333 wxEVT_COMMAND_HTML_LINK_CLICKED,
334 wxHtmlLinkEventHandler(AboutFrame::m_htmlWinHelpOnHtmlLinkClicked), NULL,
335 this);
336 m_hyperlinkHelp->Disconnect(wxEVT_COMMAND_HYPERLINK,
337 wxHyperlinkEventHandler(AboutFrame::OnLinkHelp),
338 NULL, this);
339 m_hyperlinkLicense->Disconnect(
340 wxEVT_COMMAND_HYPERLINK,
341 wxHyperlinkEventHandler(AboutFrame::OnLinkLicense), NULL, this);
342}