summaryrefslogtreecommitdiff
path: root/support/dktools/DkWxBmepsFrame.wxc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
committerNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
commit0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch)
tree416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/DkWxBmepsFrame.wxc
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/DkWxBmepsFrame.wxc')
-rw-r--r--support/dktools/DkWxBmepsFrame.wxc1192
1 files changed, 0 insertions, 1192 deletions
diff --git a/support/dktools/DkWxBmepsFrame.wxc b/support/dktools/DkWxBmepsFrame.wxc
deleted file mode 100644
index 3d964e1781..0000000000
--- a/support/dktools/DkWxBmepsFrame.wxc
+++ /dev/null
@@ -1,1192 +0,0 @@
-%% options
-
-copyright owner = Dirk Krause
-copyright year = 2011-xxxx
-SPDX-License-Identifier: BSD-3-Clause
-
-%% wx-gui
-
-type = frame
-menu bar = mbMain
-contents = mainSizer
-tool bar = tbMain
-icon = dkicon_bitmap
-status bar = 1 sTexts[3]
-
-[wxToolBar tbMain]
-contents = bDir
-contents = bOptions
-contents = bRun
-contents = bExit
-
-[wxToolBarToolBase bDir]
-text = sTexts[4]
-bitmap = xpm_choose_dir
-id = DkWxBmeps_ChooseDirectory
-tip = sTexts[5]
-
-[wxToolBarToolBase bOptions]
-text = sTexts[6]
-bitmap = xpm_set_options
-id = DkWxBmeps_SetOptions
-tip = sTexts[7]
-
-[wxToolBarToolBase bRun]
-text = sTexts[8]
-bitmap = xpm_run_conversion
-id = DkWxBmeps_Run
-tip = sTexts[9]
-
-[wxToolBarToolBase bExit]
-text = sTexts[10]
-bitmap = xpm_exit_program
-id = DkWxBmeps_Quit
-tip = sTexts[11]
-
-[wxMenuBar mbMain]
-contents = menuFile
-contents = menuHelp
-
-[wxMenu menuFile]
-contents = miFileDir
-contents = miFileOptions
-contents = miFileRun
-contents = miFileExit
-text = sTexts[12]
-
-[wxMenu menuHelp]
-contents = miHelpContents
-contents = miHelpAbout
-text = sTexts[13]
-
-[wxMenuItem miFileDir]
-id = DkWxBmeps_ChooseDirectory
-text = sTexts[14]
-tip = sTexts[15]
-
-[wxMenu miFileOptions]
-text = sTexts[16]
-tip = sTexts[17]
-contents = miFileOptionsSetup
-contents = miFileOptionsReset
-
-[wxMenuItem miFileOptionsSetup]
-id = DkWxBmeps_SetOptions
-text = sTexts[99]
-tip = sTexts[100]
-
-[wxMenuItem miFileOptionsReset]
-id = DkWxBmeps_ResetOptions
-text = sTexts[101]
-tip = sTexts[102]
-
-
-[wxMenuItem miFileRun]
-id = DkWxBmeps_Run
-text = sTexts[18]
-tip = sTexts[19]
-
-[wxMenuItem miFileExit]
-id = DkWxBmeps_Quit
-text = sTexts[20]
-tip = sTexts[21]
-
-[wxMenuItem miHelpContents]
-id = DkWxBmeps_Help_Contents
-text = sTexts[22]
-tip = sTexts[23]
-
-[wxMenuItem miHelpAbout]
-id = DkWxBmeps_About
-text = sTexts[24]
-tip = sTexts[25]
-
-[wxBoxSizer mainSizer]
-direction = horizontal
-contents = $space(10)
-contents = verticalSizer
-contents = $space(10)
-
-[wxBoxSizer verticalSizer]
-direction = vertical
-grow = yes
-proportion = 1
-contents = $space(10)
-contents = contentsSizer left
-contents = $space(10)
-contents = tLogmessages left top
-contents = $space(10)
-contents = tStatus left
-contents = $space(10)
-
-[wxGridBagSizer contentsSizer]
-grid = 5 5
-contents = lDirectory 0 0 1 1 right
-contents = tDirectory . 1 1 1
-
-[wxStaticText lDirectory]
-text = sTexts[26]
-
-[wxStaticText tDirectory]
-text = ((sDirectory) ? sDirectory : sTexts[27])
-
-[wxTextCtrl tLogmessages]
-grow = yes
-proportion = 1
-size = 400 60
-text style = readonly multiline left no-wrap selection
-text = sTexts[28]
-
-[wxStaticText tStatus]
-text = sTexts[28]
-
-
-
-%% header start
-
-%% class start
-
-/** Top-level frame for the wxbmeps application.
-*/
-class DkWxBmepsFrame : public DkWxFrame
-{
- private:
-
- /** Event table.
- */
-#if wxCHECK_VERSION(3,0,0)
- wxDECLARE_EVENT_TABLE();
-#else
- DECLARE_EVENT_TABLE()
-#endif
-
- void
- findPaperSizes();
-
- protected:
-
- /** Conversion options.
- */
- dk3_bm_eps_options_t bmeo;
-
- /** Timestamp to close the application.
- */
- dk3_time_t timeClose;
-
- /** Localized texts.
- */
- wxChar const * const *sTexts;
-
- /** Localized dkChar texts.
- */
- dkChar const * const *msg;
-
- /** Directory or file nameto process.
- */
- wxChar const *sDirectory;
-
- /** Communication object for main thread and worker thread.
- */
- DkWxCommunicator *pComm;
-
- /** Color: Black.
- */
- wxColour *cBlack;
-
- /** Color: Green.
- */
- wxColour *cGreen;
-
- /** Color: Red.
- */
- wxColour *cRed;
-
- /** Paper sizes list.
- */
- wxArrayString *asPaperSizes;
-
- /** Paper sizes array.
- */
- dk3_paper_size_t *paperSizes;
-
- /** Number of paper sizes in the array.
- */
- size_t nPaperSizes;
-
- /** Index of current paper size in asPaperSizes and paperSizes.
- */
- size_t currentPaperSize;
-
- /** Directory dialog x position.
- */
- int ddx;
-
- /** Directory dialog y position.
- */
- int ddy;
-
- /** Options dialog x position.
- */
- int odx;
-
- /** Options dialog y position.
- */
- int ody;
-
- /** Flag: Save settings when the program exits.
- */
- bool bSaveSettings;
-
- /** Flag: Command line options require automatic start.
- */
- bool bAutostartWanted;
-
- /** Flag: Automatic start initialized.
- */
- bool bAutostartDone;
-
- /** Flag: GUI active.
- */
- bool bGuiActive;
-
- /** Flag: Close operation scheduled.
- */
- bool bCloseScheduled;
-
- /** Flag: Setup was checked.
- */
- bool bSetupChecked;
-
-%% class end
- public:
-
- /** Constructor.
- @param applicationName Application name.
- @param messageTexts Localized texts.
- @param ms Localized texts as dkChar strings.
- @param applicationHelper Application helper.
- @param wxid Window ID.
- @param hc Help controller.
- @param argc Number of command line arguments.
- @param argv Command line arguments array.
- */
- DkWxBmepsFrame(
- wxChar const *applicationName,
- wxChar const * const *messageTexts,
- dkChar const * const *ms,
- DkWxAppHelper *applicationHelper,
- int wxid,
- DkWxHelpController *hc,
- int argc,
- wxChar **argv
- );
-
- /** Destructor.
- */
- ~DkWxBmepsFrame();
-
- /** Check whether we can close the window.
- @param isLast Flag: Last top level window.
- */
- bool
- canClose(bool isLast);
-
- /** Retrieve data from wxConfig.
- */
- void
- retrieveData();
-
- /** Save data to wxConfig.
- */
- void
- saveData();
-
- /** Menu event handler for File / Quit.
- @param event Event to process.
- */
- void
- OnQuit(wxCommandEvent& event);
-
- /** Menu event handler for File / Directory.
- */
- void
- OnChooseDirectory(wxCommandEvent& event);
-
- /** Menu event handler for File / Options / Set.
- */
- void
- OnSetOptions(wxCommandEvent& event);
-
- /** Menu event handler for File / Options / Reset.
- */
- void
- OnResetOptions(wxCommandEvent& event);
-
-
- /** Menu event handler to run a conversion.
- */
- void
- OnRunConversion(wxCommandEvent& event);
-
- /** Menu event handler to show helpt contents.
- */
- void
- OnHelpContents(wxCommandEvent& event);
-
- /** Menu event handler to show version number.
- */
- void
- OnAbout(wxCommandEvent& event);
-
- /** Idle event handler
- */
- void
- OnIdle(wxIdleEvent & event);
-
- /** Run a conversion.
- */
- void
- runConversion(void);
-
- /** Check whether GUI is active.
- @return Flag, GUI is active.
- */
- bool
- isGuiActive();
-
- /** Check setup.
- @return Flag to indicate setup ok or not.
- */
- bool
- checkSetup();
-};
-
-
-%% header end
-
-%% module start
-
-
-
-#include "dk3conf.h"
-#include "wxbmeps.h"
-
-/*
- Icons and bitmaps
-*/
-#include "gui-img/icons/dkicon.xpm"
-#include "gui-img/shared/toolbar/choose-dir.xpm"
-#include "gui-img/shared/toolbar/exit-program.xpm"
-#include "gui-img/shared/toolbar/run-conversion.xpm"
-#include "gui-img/shared/toolbar/set-options.xpm"
-#include "dk4verswx.h"
-
-
-
-$!trace-include
-
-
-
-/** Start of version information.
-*/
-static wxChar const wxbmpp_version[] = {
- wxT("wxbmpp (part of dktools-")
-};
-
-
-
-/** Version number for version information.
-*/
-static wxChar const wxbmpp_versnumber[] = {
- DKT_VERSION_WX
-};
-
-
-
-/** End of version information.
-*/
-static wxChar const wxbmpp_versend[] = {
- wxT(")")
-};
-
-
-
-/** Setting names for string settings.
-*/
-wxChar const * const dkwxbmeps_string_setting_names[] = {
-$!string-table macro=wxT
-#
-# 0: Current directory
-#
-wxbmeps.directory
-#
-#
-#
-wxbmeps.paper-size
-$!end
-};
-
-
-
-/** Setting names for double settings.
-*/
-wxChar const * const dkwxbmeps_double_setting_names[] = {
-$!string-table macro=wxT
-wxbmeps.area.w
-wxbmeps.area.h
-wxbmeps.area.border.left
-wxbmeps.area.border.right
-wxbmeps.area.border.top
-wxbmeps.area.border.bottom
-wxbmeps.resolution
-$!end
-};
-
-
-
-/** Setting names for int settings.
-*/
-wxChar const * const dkwxbmeps_int_setting_names[] = {
-$!string-table macro=wxT
-wxbmeps.driver
-wxbmeps.mode
-wxbmeps.size-mode
-wxbmeps.color
-wxbmeps.predictor
-wxbmeps.image-origin-point
-wxbmeps.draft
-wxbmeps.duplex
-wxbmeps.tumble
-wxbmeps.ps-level
-wxbmeps.dsc
-wxbmeps.dct
-wxbmeps.keep-aspect-ratio
-wxbmeps.bg.red
-wxbmeps.bg.green
-wxbmeps.bg.blue
-wxbmeps.bg.force
-wxbmeps.interpolation
-wxbmeps.interpolation-for-jpeg
-wxbmeps.make
-wxbmeps.reduce-bits-per-component
-$!end
-};
-
-
-
-#if __GNUC__
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-static const wxCmdLineEntryDesc wxbmepsframe_cmd_line_desc[] = {
- {
- wxCMD_LINE_OPTION,
- wxT_2("l"),
- wxT_2("language"),
- wxT_2("Choose output language"),
- wxCMD_LINE_VAL_STRING
- },
- {
- wxCMD_LINE_SWITCH,
- wxT_2("m"),
- wxT_2("make"),
- wxT_2("Run in make mode")
- },
- {
- wxCMD_LINE_SWITCH,
- wxT_2("r"),
- wxT_2("run"),
- wxT_2("Run immediately")
- },
- {
- wxCMD_LINE_PARAM,
- NULL,
- NULL,
- wxT_2("input file"),
- wxCMD_LINE_VAL_STRING,
- wxCMD_LINE_PARAM_OPTIONAL
- },
- { wxCMD_LINE_NONE }
-};
-
-#if __GNUC__
-#pragma GCC diagnostic pop
-#endif
-
-/** Event table for the DkWxBmepsFrame class.
-*/
-#if wxCHECK_VERSION(3,0,0)
-wxBEGIN_EVENT_TABLE(DkWxBmepsFrame,wxFrame)
-#else
-BEGIN_EVENT_TABLE(DkWxBmepsFrame,wxFrame)
-#endif
- EVT_MENU(DkWxBmeps_Quit, DkWxBmepsFrame::OnQuit)
- EVT_MENU(DkWxBmeps_Help_Contents, DkWxBmepsFrame::OnHelpContents)
- EVT_MENU(DkWxBmeps_About, DkWxBmepsFrame::OnAbout)
- EVT_MENU(DkWxBmeps_ChooseDirectory, DkWxBmepsFrame::OnChooseDirectory)
- EVT_MENU(DkWxBmeps_SetOptions, DkWxBmepsFrame::OnSetOptions)
- EVT_MENU(DkWxBmeps_ResetOptions, DkWxBmepsFrame::OnResetOptions)
- EVT_MENU(DkWxBmeps_Run, DkWxBmepsFrame::OnRunConversion)
- EVT_IDLE(DkWxBmepsFrame::OnIdle)
-#if wxCHECK_VERSION(3,0,0)
-wxEND_EVENT_TABLE()
-#else
-END_EVENT_TABLE()
-#endif
-
-
-
-%% constructor start
-DkWxBmepsFrame::DkWxBmepsFrame(
- wxChar const *applicationName,
- wxChar const * const *messageTexts,
- dkChar const * const *m,
- DkWxAppHelper *applicationHelper,
- int wxid,
- DkWxHelpController *hc,
- int argc,
- wxChar **argv
-) : DkWxFrame(applicationName, applicationHelper, hc, wxid)
-{
-#if defined(__WXMSW__)
- wxIcon dkicon_bitmap(wxT("aaaaa")); /* from resource file */
-#else
- wxIcon dkicon_bitmap(xpm_dkicon); /* from included xpm */
-#endif
- $? "+ DkWxBmepsFrame::DkWxBmepsFrame %d", argc
- ddx = -1;
- ddy = -1;
- odx = -1;
- ody = -1;
- pComm = NULL;
- timeClose = (dk3_time_t)0UL;
- bSetupChecked = false;
- sTexts = messageTexts;
- msg = m;
- bSaveSettings = true;
- bGuiActive = true;
- bCloseScheduled = false;
- bAutostartWanted = false;
- bAutostartDone = false;
- sDirectory = NULL;
- cBlack = NULL;
- cGreen = NULL;
- cRed = NULL;
- dk3bmeo_init(&bmeo);
- bmeo.app = applicationHelper->getApp();
- dk3bmeo_apply_preferences(&bmeo);
- asPaperSizes = new wxArrayString();
- paperSizes = NULL;
- nPaperSizes = 0;
- currentPaperSize = 0;
- findPaperSizes();
- retrieveData();
-%% constructor end
- pComm = new DkWxCommunicator(
- applicationHelper->getWxEncoding(),
- applicationHelper->getDkEncoding()
- );
- cBlack = new wxColour(0x00, 0x00, 0x00);
- cGreen = new wxColour(0x00, 0x7F, 0x00);
- cRed = new wxColour(0x7F, 0x00, 0x00);
- if(argc > 1) { /* Any option or argument, no persistent settings. */
- bSaveSettings = false;
- dk3bmeo_init(&bmeo);
-#if VERSION_BEFORE_20131020
- bAutostartWanted = true;
- if(pComm) { $? ". enable autostart"
- pComm->autostartEnable(true);
- }
-#endif
- /* ##### Process command line arguments. */
- {
- int res = -1;
- wxCmdLineParser parser(wxbmepsframe_cmd_line_desc, argc, argv);
- {
- wxLogNull log;
- res = parser.Parse(false);
- }
- if(res == 0) {
- wxString sLanguage(wxT(""));
- dkChar bu[1024];
- wxChar const *ptr;
- if(parser.Found(wxT("r"))) {
- bAutostartWanted = true;
- if(pComm) { $? ". enable autostart"
- pComm->autostartEnable(true);
- }
- }
- if(parser.Found(wxT("m"))) {
- bmeo.make = 1;
- }
- if(parser.Found(wxT("l"), &sLanguage)) {
- wxCStrData slstrdata = sLanguage.c_str();
- ptr = (wxChar const *)slstrdata;
- if(ptr) {
- if(applicationHelper->wxToDk(bu, DK3_SIZEOF(bu,dkChar), ptr)) {
- (void)dk3bmeo_set_language(
- &bmeo, bu, applicationHelper->getApp()
- );
- }
- }
- }
- if(parser.GetParamCount() > 0) { $? ". parameters available"
- wxString cmdfn;
- wxChar const *newfn;
- cmdfn = parser.GetParam(0);
- wxFileName fn(cmdfn);
- fn.Normalize(
- wxPATH_NORM_LONG | wxPATH_NORM_DOTS
- | wxPATH_NORM_TILDE | wxPATH_NORM_ABSOLUTE
- );
- if(fn.FileExists()) {
- bAutostartWanted = true;
- if(pComm) { $? ". enable autostart"
- pComm->autostartEnable(true);
- }
- }
- cmdfn = fn.GetFullPath();
- wxCStrData cmdfnstrdata = cmdfn.c_str();
- newfn = (wxChar const *)cmdfnstrdata;
- if(newfn) { $? ". newfn (1)"
- newfn = dk3wxs_dup_app(newfn, applicationHelper->getApp());
- if(newfn) { $? ". newfn (2)"
- dk3_release(sDirectory);
- sDirectory = newfn;
- } else { $? "! newfn (2)"
- }
- } else { $? "! newfn (1)"
- }
- } else { $? ". no parameters"
- }
- }
- }
- /* (void)dk3bmeo_check(&bmeo, 0, applicationHelper->getApp(), NULL); */
- }
- $? ". sDirectory = \"%ls\"", sDirectory
- $? ". make = %d", bmeo.make
- $? ". driver = %d", bmeo.dr
- $? ". mode = %d", bmeo.mode
- $? ". ps level = %d", bmeo.psl
- $? ". dsc = %d", bmeo.dsc
- $? ". draft = %d", bmeo.draft
- $? ". szmode = %d", bmeo.szmode
- $? ". resolution = %lg", bmeo.resolution
- $? ". area = %lg %lg", bmeo.ima.ps.w, bmeo.ima.ps.h
- $? ". keep aspect = %d", bmeo.kar
- $? ". duplex = %d", bmeo.duplex
- $? ". tumble = %d", bmeo.tumble
- $? ". origin = %d", bmeo.io
- $? ". dct = %d", bmeo.dct
- $? ". predicotr = %d", bmeo.pred
- $? ". background = %d %d %d %d", bmeo.bgr, bmeo.bgg, bmeo.bgb, bmeo.fbg
- $? ". interpolate = %d %d", bmeo.ip, bmeo.jip
- $? "- DkWxBmepsFrame::DkWxBmepsFrame"
-}
-
-%% module end
-
-
-DkWxBmepsFrame::~DkWxBmepsFrame()
-{
- $? "+ DkWxBmepsFrame::~DkWxBmepsFrame"
- dk3_release(paperSizes);
- dk3_release(sDirectory);
- dk3_cpp_release(pComm);
- dk3_cpp_release(cBlack);
- dk3_cpp_release(cGreen);
- dk3_cpp_release(cRed);
- dk3_cpp_release(asPaperSizes);
- $? "- DkWxBmepsFrame::~DkWxBmepsFrame"
-}
-
-
-
-void
-DkWxBmepsFrame::saveData()
-{
- double d[7];
- int i[21];
- $? "+ DkWxBmepsFrame::saveData"
- d[0] = bmeo.ima.ps.w;
- d[1] = bmeo.ima.ps.h;
- d[2] = bmeo.ima.ps.i;
- d[3] = bmeo.ima.ps.o;
- d[4] = bmeo.ima.ps.t;
- d[5] = bmeo.ima.ps.b;
- d[6] = bmeo.resolution;
- i[0] = bmeo.dr;
- i[1] = bmeo.mode;
- i[2] = bmeo.szmode;
- /* i[3] = bmeo.color; */
- i[3] = 0;
- i[4] = bmeo.pred;
- i[5] = bmeo.io;
- i[6] = bmeo.draft;
- i[7] = bmeo.duplex;
- i[8] = bmeo.tumble;
- i[9] = bmeo.psl;
- i[10] = bmeo.dsc;
- i[11] = bmeo.dct;
- i[12] = bmeo.kar;
- i[13] = bmeo.bgr;
- i[14] = bmeo.bgg;
- i[15] = bmeo.bgb;
- i[16] = bmeo.fbg;
- i[17] = bmeo.ip;
- i[18] = bmeo.jip;
- i[19] = bmeo.make;
- i[20] = bmeo.rbpc;
- pHelper->saveMultipleDoubles(dkwxbmeps_double_setting_names, d);
- pHelper->saveMultipleInts(dkwxbmeps_int_setting_names, i);
- if(sDirectory) {
- pHelper->saveString(dkwxbmeps_string_setting_names[0], sDirectory);
- }
- pHelper->saveString(
- dkwxbmeps_string_setting_names[1],
- asPaperSizes->Item(currentPaperSize)
- );
- /* ##### */
- $? "- DkWxBmepsFrame::saveData"
-}
-
-
-
-void
-DkWxBmepsFrame::retrieveData()
-{
- double d[7];
- int i[21];
- $? "+ DkWxBmepsFrame::retrieveData"
- d[0] = bmeo.ima.ps.w;
- d[1] = bmeo.ima.ps.h;
- d[2] = bmeo.ima.ps.i;
- d[3] = bmeo.ima.ps.o;
- d[4] = bmeo.ima.ps.t;
- d[5] = bmeo.ima.ps.b;
- d[6] = bmeo.resolution;
- i[0] = bmeo.dr;
- i[1] = bmeo.mode;
- i[2] = bmeo.szmode;
- /* i[3] = bmeo.color; */
- i[3] = 0;
- i[4] = bmeo.pred;
- i[5] = bmeo.io;
- i[6] = bmeo.draft;
- i[7] = bmeo.duplex;
- i[8] = bmeo.tumble;
- i[9] = bmeo.psl;
- i[10] = bmeo.dsc;
- i[11] = bmeo.dct;
- i[12] = bmeo.kar;
- i[13] = bmeo.bgr;
- i[14] = bmeo.bgg;
- i[15] = bmeo.bgb;
- i[16] = bmeo.fbg;
- i[17] = bmeo.ip;
- i[18] = bmeo.jip;
- i[19] = bmeo.make;
- i[20] = bmeo.rbpc;
- pHelper->retrieveMultipleDoubles(dkwxbmeps_double_setting_names, d);
- bmeo.ima.ps.w = d[0];
- bmeo.ima.ps.h = d[1];
- bmeo.ima.ps.i = d[2];
- bmeo.ima.ps.o = d[3];
- bmeo.ima.ps.t = d[4];
- bmeo.ima.ps.b = d[5];
- bmeo.resolution = d[6];
- pHelper->retrieveMultipleInts(dkwxbmeps_int_setting_names, i);
- bmeo.dr = i[0];
- bmeo.mode = i[1];
- bmeo.szmode = i[2]; $? ". szmode = %d", bmeo.szmode
- /* bmeo.color = i[3]; */
- bmeo.pred = i[4];
- bmeo.io = i[5];
- bmeo.draft = i[6];
- bmeo.duplex = i[7];
- bmeo.tumble = i[8];
- bmeo.psl = i[9];
- bmeo.dsc = i[10];
- bmeo.dct = i[11];
- bmeo.kar = i[12];
- bmeo.bgr = i[13];
- bmeo.bgg = i[14];
- bmeo.bgb = i[15];
- bmeo.fbg = i[16];
- bmeo.ip = i[17];
- bmeo.jip = i[18];
- bmeo.make = i[19];
- bmeo.rbpc = i[20];
- currentPaperSize = 0;
- sDirectory = pHelper->retrieveString(dkwxbmeps_string_setting_names[0]);
- {
- wxChar const *psn;
- int j;
- psn = pHelper->retrieveString(dkwxbmeps_string_setting_names[1]);
- if(psn) {
- j = asPaperSizes->Index(psn);
- if(j != wxNOT_FOUND) {
- currentPaperSize = (size_t)j;
- }
- dk3_release(psn);
- }
- }
- $? "- DkWxBmepsFrame::retrieveData"
- /* ##### */
-}
-
-
-
-void
-DkWxBmepsFrame::runConversion(void)
-{
- DkWxProgressDialog *pd = NULL;
- DkWxBmepsThread *pt = NULL;
- $? "+ runConversion"
- if(tStatus) {
- tStatus->SetLabel(sTexts[28]);
- if(cBlack) {
- tStatus->SetForegroundColour(*cBlack);
- }
- }
- if(pComm) {
- pComm->prepareRun();
- pd = new DkWxProgressDialog(
- (DkWxFrame *)this,
- pComm,
- tLogmessages,
- sTexts[32], /* title */
- sTexts[28], /* file name */
- sTexts[33], /* button text */
- sTexts[34], /* button tool tip */
- sTexts[35] /* wait text */
- );
- if(pd) {
- pt = new DkWxBmepsThread(
- pComm,
- sTexts,
- msg,
- sDirectory,
- pHelper,
- pHelper->getWxEncoding(),
- pHelper->getDkEncoding(),
- &bmeo
- );
- if(pt) {
- if(pt->checkSetup()) {
- if(pt->Create() == wxTHREAD_NO_ERROR) {
- pt->SetPriority(WXTHREAD_DEFAULT_PRIORITY);
- pt->Run();
- pd->chooseModalPosition();
- pd->ShowModal();
- if(pComm->getLogLevel() <= DK3_LL_WARNING) {
- bGuiActive = true;
- }
- } else { $? "! pt->Create()"
- delete(pt);
- /* ##### ERROR: Failed to create new thread! */
- }
- } else {
- /* ##### ERROR: Memory! */
- delete(pt);
- }
- } else { $? "! pt"
- /* ##### ERROR: Failed to construct new thread! */
- }
- pd->Destroy();
- } else { $? "! pd"
- /* ##### ERROR: Failed to create progress dialog! */
- }
- } else { $? "! pComm"
- /* ##### ERROR: Setup incomplete! */
- }
- $? "- runConversion"
-}
-
-
-
-void
-DkWxBmepsFrame::OnIdle(wxIdleEvent & event)
-{
- dk3_time_t ct; /* Current time. */
- $? "+ DkWxBmepsFrame::OnIdle"
- if(!bCloseScheduled) {
- if(!bSetupChecked) {
- bSetupChecked = true;
- if(!checkSetup()) {
- bCloseScheduled = true;
- /* ##### Show message: Failed to initialize! */
- Show(false);
- Close();
- }
- }
- if(!bCloseScheduled) { $? ". no close scheduled"
- if(pComm->autostartCanRun()) { $? ". can autostart"
- runConversion();
- } else { $? ". can not autostart"
- if(pComm->autostartIsFinished()) { $? ". autostart finished"
- if(!(timeClose)) {
- if(pComm->getLogLevel() > DK3_LL_WARNING) {
- dk3sf_time(&timeClose);
- event.RequestMore();
- tStatus->SetLabel(sTexts[30]);
- if((cGreen) && (cBlack)) {
- tStatus->SetForegroundColour(*cGreen);
- }
- Refresh();
- Update();
- }
- }
- }
- }
- if(timeClose) {
- dk3sf_time(&ct);
- if(ct > (timeClose + (dk3_time_t)1UL)) {
- timeClose = (dk3_time_t)0UL;
- bCloseScheduled = true;
- Show(false);
- Close();
- } else {
- event.RequestMore();
- }
- }
- }
- }
- $? "- DkWxBmepsFrame::OnIdle"
-}
-
-
-
-void
-DkWxBmepsFrame::OnChooseDirectory(wxCommandEvent& WXUNUSED(event))
-{
- wxChar const *ptr;
- wxChar const *np;
- $? "+ DkWxBmepsFrame::OnChooseDirectory"
- if(isGuiActive()) {
- wxDirDialog dd(
- this, sTexts[29],
- ((sDirectory) ? sDirectory : wxEmptyString),
- (wxDD_DIR_MUST_EXIST | wxDD_CHANGE_DIR)
- );
- pHelper->setRelatedPosition(this, &dd, &ddx, &ddy);
- if(dd.ShowModal() == wxID_OK) {
- wxString path = dd.GetPath();
- wxCStrData pathstrdata = path.c_str();
- ptr = (wxChar const *)pathstrdata;
- if(ptr) {
- np = dk3wxs_dup_app(ptr, pHelper->getApp());
- if(np) {
- dk3_release(sDirectory);
- sDirectory = np;
- if(tDirectory) {
- tDirectory->SetLabel(sDirectory);
- Refresh();
- Update();
- }
- }
- }
- }
- dd.GetPosition(&ddx, &ddy);
- } $? "- DkWxBmepsFrame::OnChooseDirectory"
-}
-
-
-
-void
-DkWxBmepsFrame::OnRunConversion(wxCommandEvent& WXUNUSED(event))
-{
- $? "+ DkWxBmepsFrame::OnRunConversion"
- if(isGuiActive()) {
- runConversion();
- }
- $? "- DkWxBmepsFrame::OnRunConversion"
-}
-
-
-
-bool
-DkWxBmepsFrame::isGuiActive()
-{
- bool back;
- back = bGuiActive;
- $? "+ DkWxBmepsFrame::isGuiActive"
- if(bCloseScheduled) { back = false; }
- $? "- DkWxBmepsFrame::isGuiActive"
- return back;
-}
-
-
-
-bool
-DkWxBmepsFrame::canClose(bool isLast)
-{
- $? "+ DkWxBmepsFrame::canClose %d", (isLast ? 1 : 0)
- if(isLast) {
- if(bSaveSettings) {
- saveData();
- }
- } $? "- DkWxBmepsFrame::canClose 1"
- return true;
-}
-
-
-
-void
-DkWxBmepsFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
-{
- $? "+ DkWxBmepsFrame::OnQuit"
- if(isGuiActive()) {
- bCloseScheduled = true;
- Show(false);
- Close();
- }
- $? "- DkWxBmepsFrame::OnQuit"
-}
-
-
-
-bool
-DkWxBmepsFrame::checkSetup()
-{
- bool back = false;
- if(pComm) {
- if((cBlack) && (cGreen) && (cRed)) {
- if((asPaperSizes) && (paperSizes)) {
- back = true;
- }
- }
- }
- return back;
-}
-
-
-
-void
-DkWxBmepsFrame::OnSetOptions(wxCommandEvent& WXUNUSED(event))
-{
- int dke;
- int wxe;
- $? "+ OnSetOptions"
- dke = pHelper->getDkEncoding();
- wxe = pHelper->getWxEncoding();
- if(isGuiActive()) {
- DkWxBmepsOptionsDialog dlg(
- (DkWxBmepsFrame *)this, sTexts[36], sTexts, asPaperSizes,
- &bmeo, paperSizes, &currentPaperSize, pHelper, dke, wxe
- );
- pHelper->setRelatedPosition(this, &dlg, &odx, &ody);
- dlg.dataIn();
- if(dlg.ShowModal() == wxID_OK) {
- dk3mem_cpy(
- (void *)(&(bmeo.ima.ps)),
- (void *)(&(paperSizes[currentPaperSize])),
- sizeof(dk3_paper_size_t)
- );
- $? "%lg %lg %lg %lg %lg %lg", bmeo.ima.ps.w, bmeo.ima.ps.h, bmeo.ima.ps.i, bmeo.ima.ps.o, bmeo.ima.ps.t, bmeo.ima.ps.b
- }
- dlg.GetPosition(&odx, &ody);
- }
- $? "- OnSetOptions"
-}
-
-
-
-void
-DkWxBmepsFrame::OnResetOptions(wxCommandEvent& WXUNUSED(event))
-{
- int res;
- res = wxMessageBox(
- sTexts[103],
- sTexts[104],
- wxNO_DEFAULT|wxYES_NO
- );
- if(res == wxYES) {
- dk3bmeo_init(&bmeo);
- }
-}
-
-
-
-void
-DkWxBmepsFrame::findPaperSizes()
-{
- wxChar bu[64];
- dk3_paper_size_collection_t *psc;
- dk3_named_paper_size_t const *nsz;
- dk3_paper_size_t *pps;
- dk3_app_t *app;
- $? "+ DkWxBmepsFrame::findPaperSizes"
- if(asPaperSizes) { $? ". asPaperSizes ok"
- app = pHelper->getApp();
- psc = dk3paper_open_app(app);
- if(psc) { $? ". psc ok"
- dk3paper_reset(psc);
- while((nsz = dk3paper_next(psc)) != NULL) {
- if(nsz->name) {
- if(pHelper->dkToWx(bu, DK3_SIZEOF(bu,wxChar), nsz->name)) {
- $? ". register \"%!ds\"", nsz->name
- asPaperSizes->Add(bu);
- nPaperSizes++;
- }
- }
- }
- if(nPaperSizes) { $? ". nPaperSizes %u", (unsigned)nPaperSizes
- paperSizes = dk3_new_app(dk3_paper_size_t,nPaperSizes,app);
- if(paperSizes) { $? ". paperSizes ok"
- pps = paperSizes;
- dk3paper_reset(psc);
- while((nsz = dk3paper_next(psc)) != NULL) {
- if(nsz->name) {
- if(pHelper->dkToWx(bu, DK3_SIZEOF(bu,wxChar), nsz->name))
- { $? ". register \"%!ds\"", nsz->name
- dk3mem_cpy(
- (void *)pps,
- (void *)(&(nsz->size)),
- sizeof(dk3_paper_size_t)
- );
- pps++;
- }
- }
- }
- }
- }
- dk3paper_close(psc);
- }
- }
- $? "- DkWxBmepsFrame::findPaperSizes"
-}
-
-
-
-void
-DkWxBmepsFrame::OnHelpContents(wxCommandEvent& WXUNUSED(event))
-{
- openHelp();
-}
-
-
-
-void
-DkWxBmepsFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
-{
- if(isGuiActive()) {
- wxString sVersion(wxbmpp_version);
- sVersion.Append(wxbmpp_versnumber);
- sVersion.Append(wxbmpp_versend);
- sVersion.Append(wxT("\nCopyright (c) 2013-2016 - Dirk Krause\n\n"));
- sVersion.Append(sTexts[123]);
- sVersion.Append(wxT("DK tools, wxWidgets, libpng, libjpeg, libtiff, zlib."));
- sVersion.Append(wxT("\n\n"));
- sVersion.Append(sTexts[124]);
- sVersion.Append(wxT("http://sourceforge.net/p/dktools/wiki/Home/\n"));
- sVersion.Append(wxT("http://www.wxwidgets.org\n"));
- sVersion.Append(wxT("http://www.libpng.org/pub/png/libpng.html\n"));
- sVersion.Append(wxT("http://www.ijg.org\n"));
- sVersion.Append(wxT("http://www.remotesensing.org/libtiff\n"));
- sVersion.Append(wxT("http://www.zlib.org"));
- wxMessageBox(sVersion, sTexts[122]);
- }
-}
-