summaryrefslogtreecommitdiff
path: root/support/dktools/DkWxImgszApp.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/DkWxImgszApp.cpp
Initial commit
Diffstat (limited to 'support/dktools/DkWxImgszApp.cpp')
-rw-r--r--support/dktools/DkWxImgszApp.cpp404
1 files changed, 404 insertions, 0 deletions
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));
+}
+