diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/WxpqdicApp.cpp |
Initial commit
Diffstat (limited to 'support/dktools/WxpqdicApp.cpp')
-rw-r--r-- | support/dktools/WxpqdicApp.cpp | 549 |
1 files changed, 549 insertions, 0 deletions
diff --git a/support/dktools/WxpqdicApp.cpp b/support/dktools/WxpqdicApp.cpp new file mode 100644 index 0000000000..33ed4e0895 --- /dev/null +++ b/support/dktools/WxpqdicApp.cpp @@ -0,0 +1,549 @@ +/* + WARNING: This file was generated by dkct. + Changes you make here will be lost if dkct is run again! + You should modify the original source and run dkct on it. + Original source: WxpqdicApp.cpt +*/ + +/* +Copyright (C) 2016-2017, Dirk Krause + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above opyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the author nor the names of contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** @file WxpqdicApp.cpp The WxpqdicApp module. +*/ + + +#line 76 "WxpqdicApp.cpt" + +#include "wxpqdic.h" + + + + + +#line 82 "WxpqdicApp.cpt" + + + +/** Localized wxChar texts. +*/ +static wxChar const * wxpqdic_texts[] = { +/* 0 */ +wxT("File"), + +/* 1 */ +wxT("Quit"), + +/* 2 */ +wxT("Exit the application"), + +/* 3 */ +wxT("Help"), + +/* 4 */ +wxT("About"), + +/* 5 */ +wxT("Show version information"), + +/* 6 */ +wxT("Contents"), + +/* 7 */ +wxT("Open table of contents"), + +/* 8 */ +wxT("Ready"), + +/* 9 */ +wxT("Copyright (c) "), + +/* 10 */ +wxT("About "), + +/* 11 */ +wxT("This program uses the following libraries:"), + +/* 12 */ +wxT("See:"), + +/* 13 */ +wxT("Limit: "), + +/* 14 */ +wxT("unlimited"), + +/* 15 */ +wxT("Used: "), + +/* 16 */ +wxT("00000000"), + +/* 17 */ +wxT("Personal print account: "), + +/* 18 */ +wxT("Printing allowed: "), + +/* 19 */ +wxT("YES"), + +/* 20 */ +wxT("NO"), + +/* 21 */ +wxT("Waiting for response from server."), + +/* 22 */ +wxT("View"), + +/* 23 */ +wxT("Update"), + +/* 24 */ +wxT("Update information in Window"), + +/* 25 */ +wxT("Update"), + +/* 26 */ +wxT("Exit"), + +/* 27 */ +wxT("unknown"), + +/* 28 */ +wxT("Failed to send request!"), + +/* 29 */ +wxT("No response from server!"), + +/* 30 */ +wxT("Command line"), + +/* 31 */ +wxT("Failed to parse command line, illegal options used!"), + +/* 32 */ +wxT("Insufficient memory"), + +/* 33 */ +wxT("A memory allocation failed due to insufficient memory!"), + +/* 34 */ +wxT("Illegal host name"), + +/* 35 */ +wxT("Failed to convert host name to portable string!"), + +/* 36 */ +wxT("Missing host name"), + +/* 37 */ +wxT("No host name specified! Please use\n-h host\nto specify the remote host."), + +/* 38 */ +wxT("Illegal queue name"), + +/* 39 */ +wxT("Failed to convert queue name to 8 bit character string!"), + +/* 40 */ +wxT("Missing queue name"), + +/* 41 */ +wxT("No queue name specified! Please use\n-q queue\n to specify the queue name."), + +/* 42 */ +wxT("Illegal remote port"), + +/* 43 */ +wxT("Remote port number out of 16 bit range!"), + +/* 44 */ +wxT("Remote port number 0 can not be used!"), + +/* 45 */ +wxT("Illegal user name"), + +/* 46 */ +wxT("Failed to convert user name to 8 bit character string!"), + +/* 47 */ +wxT("No user name"), + +/* 48 */ +wxT("User name not found!"), + +/* 49 */ +wxT("Illegal local port"), + +/* 50 */ +wxT("Local port number out of 16 bit range!"), + +/* 51 */ +wxT("Local port number 0 can not be used!"), + +/* 52 */ +wxT("Bug"), + +/* 53 */ +wxT("Failed to construct request string!"), + +/* 54 */ +wxT("Numeric overflow"), + +/* 55 */ +wxT("A numeric overflow occured in size calculation!"), + +/* 56 */ +wxT("Network error"), + +/* 57 */ +wxT("Failed to create communication socket!"), + +/* 58 */ +wxT("Error"), + +/* 59 */ +wxT("An unknown error occured during setup!"), + +NULL + + +#line 279 "WxpqdicApp.cpt" +}; + + + +/** Non-localized wxChar texts. +*/ +static wxChar const * wxpqdic_nl_wx[] = { +/* 0 */ +wxT("wxpqdic"), + +/* 1 */ +wxT("4.3.0"), + +/* 2 */ +wxT("Dirk Krause"), + +/* 3 */ +wxT("DKrause"), + +/* 4 */ +wxT("aaaaa"), + +/* 5 */ +wxT(""), + +/* 6 */ +wxT(""), + +/* 7 */ +wxT(" "), + +/* 8 */ +wxT("\n"), + +/* 9 */ +wxT("DK tools, wxWidgets, libpng, libjpeg, libtiff, zlib."), + +/* 10 */ +wxT("http://dktools.sourceforge.net"), + +/* 11 */ +wxT("http://www.wxwidgets.org"), + +/* 12 */ +wxT("http://www.libpng.org/pub/png/libpng.html"), + +/* 13 */ +wxT("http://www.ijg.org"), + +/* 14 */ +wxT("http://www.remotesensing.org/libtiff"), + +/* 15 */ +wxT("http://www.zlib.net"), + +/* 16 */ +wxT("UTF-8"), + +/* 17 */ +wxT("utf8"), + +/* 18 */ +wxT("Error"), + +/* 19 */ +wxT("Not enough memory (RAM)!"), + +NULL + + +#line 346 "WxpqdicApp.cpt" +}; + + + +/** Non-localized dkChar texts. +*/ +static dkChar const * wxpqdic_nl_dk[] = { +/* 0 */ +dkT("dktools"), + +/* 1 */ +dkT("wxpqdc.str"), + +/* 2 */ +dkT("wxpqdic.chm"), + +/* 3 */ +dkT("wxpqdic.htb"), + +NULL + + +#line 371 "WxpqdicApp.cpt" +}; + + + +/** Implementation of the wxApp functionality. +*/ +IMPLEMENT_APP(WxpqdicApp) + + +bool +WxpqdicApp::OnInit() +{ + WxpqdicFrame *frame = NULL; + wxChar const * const *localizedTexts = NULL; + wxPNGHandler *phPng = NULL; + wxXPMHandler *phXpm = NULL; + wxICOHandler *phIco = NULL; + wxArchiveFSHandler *phArchiveFS = NULL; + bool back = false; + + + +#line 392 "WxpqdicApp.cpt" + + +#line 393 "WxpqdicApp.cpt" + + /* Initialize members. + */ + pAh = NULL; + pHc = NULL; + + /* __CHANGE__ 009: Initialize further members here. + */ + bSocketsInitialized = false; + + /* Set up application helper object. + */ + pAh = new Dk4WxApplicationHelper(); + if (NULL == pAh) { + ShowMemoryErrorMessage(); + goto finished; + } + if (!(pAh->Initialize(argv[0], wxpqdic_nl_wx[3], wxpqdic_nl_dk[0]))) + { + +#line 412 "WxpqdicApp.cpt" + goto finished; + } + + /* Add image and file system handlers for online help. + */ + phPng = new wxPNGHandler(); + if (NULL != phPng) { + wxImage::AddHandler(phPng); + } else { + ShowMemoryErrorMessage(); + goto finished; + } + phXpm = new wxXPMHandler(); + if (NULL != phXpm) { + wxImage::AddHandler(phXpm); + } else { + ShowMemoryErrorMessage(); + goto finished; + } + phIco = new wxICOHandler(); + if (NULL != phIco) { + wxImage::AddHandler(phIco); + } else { + ShowMemoryErrorMessage(); + goto finished; + } + phArchiveFS = new wxArchiveFSHandler(); + if (NULL != phArchiveFS) { + wxFileSystem::AddHandler(phArchiveFS); + } else { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Set up help controller. + */ + pHc = new Dk4WxHelpController(); + if (NULL == pHc) { + ShowMemoryErrorMessage(); + goto finished; + } + if (!(pHc->Initialize(pAh, wxpqdic_nl_dk[2], wxpqdic_nl_dk[3]))) + { + +#line 455 "WxpqdicApp.cpt" + goto finished; + } + + /* Attempt to get localized texts in the users preferred language. + */ + localizedTexts = pAh->GetStringTable(wxpqdic_nl_dk[1], wxpqdic_texts); + if(!(localizedTexts)) { localizedTexts = wxpqdic_texts; } + + /* Initialize socket sub system. + */ + dk4error_init(&sockerr); + if (DK4_SOCKET_RESULT_SUCCESS == dk4socket_up(&sockerr)) { + bSocketsInitialized = true; + } + + /* Create and show frame. + */ + frame = new WxpqdicFrame( + WxpqdicFrame_MainWindow, + pAh, + pHc, + argc, + argv, + localizedTexts, + wxpqdic_nl_wx, + wxpqdic_nl_dk, + bSocketsInitialized, + &sockerr + ); + if(!(frame)) { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Show frame and indicate success. + */ + frame->Show(); + frame->RestorePosition(); + back = true; + + /* Release resources if initialization failed. + */ + finished: + if(!(back)) { + if (NULL != pHc) { + pHc->Cleanup(); + delete(pHc); + pHc = NULL; + } + if (NULL != pAh) { + pAh->Cleanup(); + delete(pAh); + pAh = NULL; + } + } + + +#line 511 "WxpqdicApp.cpt" +#if 0 + if(!(back)) { + + +#line 514 "WxpqdicApp.cpt" + } +#endif + return back; +} + + + +int +WxpqdicApp::OnExit() +{ + int back = 0; + + +#line 526 "WxpqdicApp.cpt" + /* __CHANGE__ 009: Release resources allocated by further members. + */ + if (bSocketsInitialized) { + dk4socket_down(NULL); + } + + /* Release resources. */ + if (NULL != pHc) { + pHc->Cleanup(); + delete(pHc); + pHc = NULL; + } + if (NULL != pAh) { + pAh->Cleanup(); + delete(pAh); + pAh = NULL; + } + + +#line 544 "WxpqdicApp.cpt" + + +#line 545 "WxpqdicApp.cpt" + return back; +} + + + +void +WxpqdicApp::ShowMemoryErrorMessage(void) +{ + const wxChar *s_title = NULL; + const wxChar *s_text = NULL; + + if (NULL != pAh) { + s_title = pAh->GetBasicString(6); + s_text = pAh->GetBasicString(7); + } + if (NULL == s_title) { + s_title = wxpqdic_nl_wx[18]; + } + if (NULL == s_text) { + s_text = wxpqdic_nl_wx[19]; + } + wxMessageBox(s_text, s_title, (wxOK | wxCENTRE | wxICON_ERROR)); +} + + |