From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- support/dktools/DkWxImgszApp.cpp | 404 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 404 insertions(+) create mode 100644 support/dktools/DkWxImgszApp.cpp (limited to 'support/dktools/DkWxImgszApp.cpp') diff --git a/support/dktools/DkWxImgszApp.cpp b/support/dktools/DkWxImgszApp.cpp new file mode 100644 index 0000000000..4b42f9c4b1 --- /dev/null +++ b/support/dktools/DkWxImgszApp.cpp @@ -0,0 +1,404 @@ +/* + 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: DkWxImgszApp.cpt +*/ + +/* +Copyright (C) 2012-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 DkWxImgszApp.cpp The DkWxImgszApp module. +*/ + + +#line 47 "DkWxImgszApp.cpt" + + +#include "wximgsz.h" + + + + + +#line 54 "DkWxImgszApp.cpt" + + + +IMPLEMENT_APP(DkWxImgszApp) + + + +/** Application group name. +*/ +static dkChar const wximgsz_group_name[] = { dkT("dktools") }; + + + +/** File name for string table. +*/ +static dkChar const wximgsz_string_table_name[] = { dkT("wximgsz.str") }; + + + +/** Help file name on Windows. +*/ +static wxChar const wximgsz_chm_helpfile[] = { + wxT("wximgsz.chm") +}; + + + +/** Help file name for other platforms. +*/ +static wxChar const wximgsz_htb_helpfile[] = { + wxT("wximgsz.htb") +}; + + + +/** Default texts to use if no localized texts are found. +*/ +static wxChar const * const wximgsz_default_texts[] = { +/* 0 */ +wxT("wximgsz"), + +/* 1 */ +wxT("File"), + +/* 2 */ +wxT("Exit"), + +/* 3 */ +wxT("Width"), + +/* 4 */ +wxT("Height"), + +/* 5 */ +wxT("Factor"), + +/* 6 */ +wxT("Original image"), + +/* 7 */ +wxT("Results"), + +/* 8 */ +wxT("Width:"), + +/* 9 */ +wxT("Height:"), + +/* 10 */ +wxT("Intended change"), + +/* 11 */ +wxT("Action:"), + +/* 12 */ +wxT("Decrease image"), + +/* 13 */ +wxT("Width range"), + +/* 14 */ +wxT("Height range"), + +/* 15 */ +wxT("Minimum:"), + +/* 16 */ +wxT("Maximum:"), + +/* 17 */ +wxT(">>>"), + +/* 18 */ +wxT(""), + +/* 19 */ +wxT("Exit the application"), + +/* 20 */ +wxT("Enter original image width (positive integer number)."), + +/* 21 */ +wxT("Enter original image height (positive integer number)."), + +/* 22 */ +wxT("Choose modification action."), + +/* 23 */ +wxT("Inter intended minimum for image width or height (positive integer number)."), + +/* 24 */ +wxT("Enter intended maximum for image width or height (positive integer number)."), + +/* 25 */ +wxT("Calculate new image sizes."), + +/* 26 */ +wxT(" "), + +/* 27 */ +wxT("Help"), + +/* 28 */ +wxT("Contents"), + +/* 29 */ +wxT("About..."), + +/* 30 */ +wxT("Open table of contents"), + +/* 31 */ +wxT("Show version number dialog box"), + +/* 32 */ +wxT("Incorrect input"), + +/* 33 */ +wxT("Please enter a positive integer number."), + +/* 34 */ +wxT("No results found!"), + +/* 35 */ +wxT("About wximgsz"), + +/* 36 */ +wxT("++"), + +/* 37 */ +wxT("+"), + +/* 38 */ +wxT("Extras"), + +/* 39 */ +wxT("Options"), + +/* 40 */ +wxT("Set options"), + +/* 41 */ +wxT("Options"), + +/* 42 */ +wxT("Background colour for scale factor"), + +/* 43 */ +wxT("Indicate scale factor quality by background colour (otherwise in extra column)."), + +/* 44 */ +wxT("OK"), + +/* 45 */ +wxT("Cancel"), + +/* 46 */ +wxT("Apply settings and exit dialog."), + +/* 47 */ +wxT("Skip settings and exit dialog."), + +/* 48 */ +wxT("Choose input bitmap image to open"), + +/* 49 */ +wxT("Open\tAlt-O"), + +/* 50 */ +wxT("Retrieve dimensions from bitmap image file."), + +/* 51 */ +wxT("Failed to load image file!\nFile probably damaged or not a supported image type."), + +/* 52 */ +wxT("Failed to load image!"), + +/* 53 */ +wxT("\n"), + +/* 54 */ +wxT("This program uses libraries from the following projects:\n"), + +/* 55 */ +wxT("See:\n"), + +NULL + + +#line 318 "DkWxImgszApp.cpt" +}; + + + +/** Constant texts, not localized. +*/ +static wxChar const * const wximgsz_nl_wx[] = { +/* 0 */ +wxT("Error"), + +/* 1 */ +wxT("Not enough memory (RAM)!"), + +NULL + + +#line 329 "DkWxImgszApp.cpt" +}; + + + +bool +DkWxImgszApp::OnInit() +{ + wxChar const * const *lt = NULL; /* Localized texts. */ + DkWxImgszFrame *frame = NULL; + wxZipFSHandler *phZipFs = NULL; + bool back = false; + + +#line 341 "DkWxImgszApp.cpt" + + /* Initialize elements. + */ + pHelper = NULL; + pHelpController = NULL; + + /* Get elements. + */ + pHelper = + new DkWxAppHelper(argv[0], wximgsz_default_texts[0], wximgsz_group_name); + if (NULL == pHelper) { + ShowMemoryErrorMessage(); + goto finished; + } + if (!(pHelper->checkSetup())) { + goto finished; + } + lt = + pHelper->getStringTable(wximgsz_default_texts, wximgsz_string_table_name); + if (NULL == lt) { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Add image and zip fs handler. + */ + wxInitAllImageHandlers(); + phZipFs = new wxZipFSHandler(); + if (NULL != phZipFs) { + wxFileSystem::AddHandler(phZipFs); + } else { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Get help controller + */ + pHelpController = + new DkWxHelpController(pHelper, wximgsz_chm_helpfile, wximgsz_htb_helpfile); + if (NULL == pHelpController) { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Create frame. + */ + frame = new DkWxImgszFrame( + wximgsz_default_texts[0], lt, pHelper, pHelpController, + DkWxImgsz_MainWindow, argc, argv + ); + if (NULL == frame) { + ShowMemoryErrorMessage(); + goto finished; + } + + /* Show frame and indicate success. + */ + frame->Show(); + frame->restorePosition(); + back = true; + + finished: + if (!(back)) { + if (NULL != pHelpController) { + delete(pHelpController); + pHelpController = NULL; + } + if (NULL != pHelper) { + delete(pHelper); + pHelper = NULL; + } + } + return back; +} + + + +int +DkWxImgszApp::OnExit() +{ + int back = 0; + if(pHelpController) { + delete(pHelpController); pHelpController = NULL; + } + if(pHelper) { + delete(pHelper); pHelper = NULL; + } + + +#line 429 "DkWxImgszApp.cpt" + return back; +} + + + +void +DkWxImgszApp::ShowMemoryErrorMessage(void) +{ + const wxChar *s_title = NULL; + const wxChar *s_text = NULL; + + if (NULL != pHelper) { + s_title = pHelper->getBasicString(3); + s_text = pHelper->getBasicString(9); + } + if (NULL == s_title) { + s_title = wximgsz_nl_wx[0]; + } + if (NULL == s_text) { + s_text = wximgsz_nl_wx[1]; + } + wxMessageBox(s_text, s_title, (wxOK | wxCENTRE | wxICON_ERROR)); +} + -- cgit v1.2.3