diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
commit | 0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch) | |
tree | 416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/DkWxBmepsFrame.wxc | |
parent | fdb18507cd80dc17f5a5256153d34668b4f4e61c (diff) |
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/DkWxBmepsFrame.wxc')
-rw-r--r-- | support/dktools/DkWxBmepsFrame.wxc | 1192 |
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, ¤tPaperSize, 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]); - } -} - |