summaryrefslogtreecommitdiff
path: root/support/dktools/WxpqdicApp.cpp
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/WxpqdicApp.cpp
Initial commit
Diffstat (limited to 'support/dktools/WxpqdicApp.cpp')
-rw-r--r--support/dktools/WxpqdicApp.cpp549
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));
+}
+
+