/* Copyright (C) 2019-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). 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: WximgszFrame.wxc */ /** @file WximgszFrame.h Header file for the WximgszFrame module. */ #ifndef WXIMGSZFRAME_H_INCLUDED /** Avoid multiple inclusions. */ #define WXIMGSZFRAME_H_INCLUDED 1 #line 171 "WximgszFrame.wxc" #line 175 "WximgszFrame.wxc" class WximgszFrame : public Dk4WxFrame { private: /** Event table for frame. */ DECLARE_EVENT_TABLE() protected: /** Auto start controller. */ Dk4WxAutostartController cas; /** Dark red text colour for group labels. */ wxColour cLabelRed; /** Light red background for table cells. */ wxColour cRed; /** Light green background for table cells. */ wxColour cGreen; /** Yellow background for table cells. */ wxColour cYellow; /** Text colour for table cells. */ wxColour cBlack; /** Image file name to process on autostart. */ wxString sImageFileName; /** Directory previous image file was read from. */ wxString sDirectory; /** Localized texts. */ wxChar const * const *sTexts; /** Non-localized texts. */ wxChar const * const *sNlWx; /** Non-localized texts. */ dkChar const * const *sNlDk; /* __CHANGE__ 011: Add further member variables. */ /** Maximum number of items in grid. */ int maxpass; /** Have image file name. */ bool bImageFileName; /** Flag: Application should still respond to onidle. */ bool bActive; /** Process the file name which was specified on command line. */ void ProcessSpecifiedFileName(void); /** Flag: GUI ok. */ bool dkctGUILayoutOK; /** Contents panel. */ wxPanel *dkctGUIContentsPanel; /** GUI element mainSizer. */ #line 50 "WximgszFrame.wxc" wxBoxSizer *mainSizer; /** GUI element mbMain. */ #line 16 "WximgszFrame.wxc" wxMenuBar *mbMain; /** GUI element menuFile. */ #line 20 "WximgszFrame.wxc" wxMenu *menuFile; /** GUI element menuHelp. */ #line 35 "WximgszFrame.wxc" wxMenu *menuHelp; /** GUI element miFileOpen. */ #line 25 "WximgszFrame.wxc" wxMenuItem *miFileOpen; /** GUI element miFileExit. */ #line 30 "WximgszFrame.wxc" wxMenuItem *miFileExit; /** GUI element miHelpAbout. */ #line 40 "WximgszFrame.wxc" wxMenuItem *miHelpAbout; /** GUI element miHelpContents. */ #line 45 "WximgszFrame.wxc" wxMenuItem *miHelpContents; /** GUI element verticalSizer. */ #line 56 "WximgszFrame.wxc" wxBoxSizer *verticalSizer; /** GUI element contentsSizer. */ #line 64 "WximgszFrame.wxc" wxBoxSizer *contentsSizer; /** GUI element inputSizer. */ #line 74 "WximgszFrame.wxc" wxGridBagSizer *inputSizer; /** GUI element runButtonSizer. */ #line 90 "WximgszFrame.wxc" wxBoxSizer *runButtonSizer; /** GUI element resultSizer. */ #line 97 "WximgszFrame.wxc" wxBoxSizer *resultSizer; /** GUI element lInput. */ #line 104 "WximgszFrame.wxc" wxStaticText *lInput; /** GUI element lInputWidth. */ #line 110 "WximgszFrame.wxc" wxStaticText *lInputWidth; /** GUI element spInputWidth. */ #line 116 "WximgszFrame.wxc" wxSpinCtrl *spInputWidth; /** GUI element lInputHeight. */ #line 113 "WximgszFrame.wxc" wxStaticText *lInputHeight; /** GUI element spInputHeight. */ #line 137 "WximgszFrame.wxc" wxSpinCtrl *spInputHeight; /** GUI element lChange. */ #line 142 "WximgszFrame.wxc" wxStaticText *lChange; /** GUI element lOperation. */ #line 145 "WximgszFrame.wxc" wxStaticText *lOperation; /** GUI element cbOperation. */ #line 148 "WximgszFrame.wxc" wxChoice *cbOperation; /** GUI element lOperationMin. */ #line 154 "WximgszFrame.wxc" wxStaticText *lOperationMin; /** GUI element spOperationMin. */ #line 157 "WximgszFrame.wxc" wxSpinCtrl *spOperationMin; /** GUI element lOperationMax. */ #line 162 "WximgszFrame.wxc" wxStaticText *lOperationMax; /** GUI element spOperationMax. */ #line 165 "WximgszFrame.wxc" wxSpinCtrl *spOperationMax; /** GUI element bRun. */ #line 121 "WximgszFrame.wxc" wxBitmapButton *bRun; /** GUI element lResults. */ #line 107 "WximgszFrame.wxc" wxStaticText *lResults; /** GUI element tResult. */ #line 126 "WximgszFrame.wxc" wxGrid *tResult; #line 250 "WximgszFrame.wxc" public: /** Window IDs used in main window (frame). */ enum { ID_FRAME = (wxID_HIGHEST + 1), /**< Frame. */ ID_HELP_ABOUT , /**< Open information dialog box. */ ID_HELP_TOC , /**< Open help table of contents. */ ID_BUTTON_RUN , /**< Button to run calculation. */ ID_CHOICE_OP , /**< Choice box for operation. */ }; /** Maximum number of passes. */ enum { MAXPASS = 2000 }; /** Maximum image dimension adjustable in spin control. */ enum { /** Maximum image dimension adjustable in spin control. */ MAXIMGDIM = 65535 }; /** Constructor. @param wxid Window ID. @param applicationHelper Application helper object. @param hc Help controller for online help. @param argc Number of command line arguments. @param argv Command line arguments array. @param localizedTexts Localized wxChar texts. @param nlWx Non-localized wxChar texts. @param nlDk Non-localized dkChar texts. */ WximgszFrame( int wxid, Dk4WxApplicationHelper *applicationHelper, Dk4WxHelpController *hc, int argc, wxChar **argv, wxChar const * const *localizedTexts, wxChar const * const *nlWx, dkChar const * const *nlDk ); /** Destructor. */ ~WximgszFrame(); /** Check whether we can close the window. @param isLast Flag: Last main window to close. */ bool CanClose(bool isFinal); /** Handler for File/Open. @param event Event to process. */ void OnFileOpen(wxCommandEvent & event); /** Handler for File/Exit. @param event Event to process. */ void OnQuit(wxCommandEvent & event); /** Handler for Help/About. @param event Event to process. */ void OnAbout(wxCommandEvent & event); /** Handler for Help/Contents. @param event Event to process. */ void OnHelpContents(wxCommandEvent & event); /** Do the calculations and update table. */ void Calculations(void); /** Handler for Run button. @param event Event to process. */ void OnButtonRun(wxCommandEvent & event); /** Handler for operations choice box. @param event Event to process. */ void OnChoiceOperation(wxCommandEvent & event); /* __CHANGE__ 008: Remove OnIdle if no idle processing required. */ /** Handler for idle events. */ void OnIdle(wxIdleEvent & event); /* __CHANGE__ 017: Event handlers for further events. */ /* __CHANGE__ 014: Add further methods. */ /** Activate or deactivate idle processing. @param fl Flag to activate/deactivate. */ void ActivateIdleProcessing(bool fl = true); }; #line 371 "WximgszFrame.wxc" /* vim: set ai sw=4 ts=4 : */ #endif