/* Copyright (C) 2017-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: ScreenSizeFrame.wxc */ /** @file ScreenSizeFrame.h Header file for the ScreenSizeFrame module. */ #ifndef SCREENSIZEFRAME_H_INCLUDED /** Avoid multiple inclusions. */ #define SCREENSIZEFRAME_H_INCLUDED 1 #line 131 "ScreenSizeFrame.wxc" #ifndef DK4CONF_H_INCLUDED #include "dk4conf.h" #endif #ifndef DK4WXAUTOSTARTCONTROLLER_H_INCLUDED #include #endif #line 143 "ScreenSizeFrame.wxc" class ScreenSizeFrame : public Dk4WxFrame { private: /** Event table for frame. */ #if wxCHECK_VERSION(3,0,0) wxDECLARE_EVENT_TABLE(); #else DECLARE_EVENT_TABLE() #endif protected: /** Controller to start activity at first idle event. */ Dk4WxAutostartController oAsc; /** Color to indicate success. */ wxColour cGreen; /** Color to indicate failure. */ wxColour cRed; /** Localized texts. */ wxChar const * const *sTexts; /** Non-localized texts. */ wxChar const * const *sNlWx; /** Non-localized texts. */ dkChar const * const *sNlDk; /** Private copy of the argv arguments. */ wxChar **ppArgv; /* __CHANGE__ 011: Add further member variables. */ /** Private copy of the argc arguments. */ int iArgc; /** Flag: Process idle events. */ bool bActive; /** Flag: GUI ok. */ bool dkctGUILayoutOK; /** Contents panel. */ wxPanel *dkctGUIContentsPanel; /** GUI element mainSizer. */ #line 45 "ScreenSizeFrame.wxc" wxBoxSizer *mainSizer; /** GUI element mbMain. */ #line 17 "ScreenSizeFrame.wxc" wxMenuBar *mbMain; /** GUI element menuFile. */ #line 21 "ScreenSizeFrame.wxc" wxMenu *menuFile; /** GUI element menuHelp. */ #line 30 "ScreenSizeFrame.wxc" wxMenu *menuHelp; /** GUI element miFileExit. */ #line 25 "ScreenSizeFrame.wxc" wxMenuItem *miFileExit; /** GUI element miHelpAbout. */ #line 35 "ScreenSizeFrame.wxc" wxMenuItem *miHelpAbout; /** GUI element miHelpContents. */ #line 40 "ScreenSizeFrame.wxc" wxMenuItem *miHelpContents; /** GUI element verticalSizer. */ #line 51 "ScreenSizeFrame.wxc" wxBoxSizer *verticalSizer; /** GUI element contentsSizer. */ #line 59 "ScreenSizeFrame.wxc" wxGridBagSizer *contentsSizer; /** GUI element lOldSize. */ #line 77 "ScreenSizeFrame.wxc" wxStaticText *lOldSize; /** GUI element lOldWidth. */ #line 81 "ScreenSizeFrame.wxc" wxStaticText *lOldWidth; /** GUI element vOldWidth. */ #line 85 "ScreenSizeFrame.wxc" wxStaticText *vOldWidth; /** GUI element lOldHeight. */ #line 89 "ScreenSizeFrame.wxc" wxStaticText *lOldHeight; /** GUI element vOldHeight. */ #line 93 "ScreenSizeFrame.wxc" wxStaticText *vOldHeight; /** GUI element lNewSize. */ #line 97 "ScreenSizeFrame.wxc" wxStaticText *lNewSize; /** GUI element lNewWidth. */ #line 101 "ScreenSizeFrame.wxc" wxStaticText *lNewWidth; /** GUI element vNewWidth. */ #line 105 "ScreenSizeFrame.wxc" wxStaticText *vNewWidth; /** GUI element lNewHeight. */ #line 109 "ScreenSizeFrame.wxc" wxStaticText *lNewHeight; /** GUI element vNewHeight. */ #line 113 "ScreenSizeFrame.wxc" wxStaticText *vNewHeight; /** GUI element lResult. */ #line 117 "ScreenSizeFrame.wxc" wxStaticText *lResult; /** GUI element lSsc. */ #line 121 "ScreenSizeFrame.wxc" wxStaticText *lSsc; /** GUI element lSsr. */ #line 125 "ScreenSizeFrame.wxc" wxStaticText *lSsr; #line 198 "ScreenSizeFrame.wxc" private: void ShowUnusableText(const wxChar *str); protected: /** Do the real work in the screen size change. @param ulp Address of array containing screen sizes. @param action Action to perform (set or toggle). @return True on success, false on error. */ bool ModifyScreenSize(const unsigned long *ulp, int action); public: /** Action to perform. */ enum { /** Set new screen size. */ ACTION_SET_SCREEN_SIZE = 0 , /** Toggle between normal and alternative size. */ ACTION_TOGGLE_SCREEN_SIZE , /** No arguments, do nothing. */ ACTION_REPORT_NO_ARGS_NO_SETTINGS }; /** 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. */ ScreenSizeFrame( int wxid, Dk4WxApplicationHelper *applicationHelper, Dk4WxHelpController *hc, int argc, wxChar **argv, wxChar const * const *localizedTexts, wxChar const * const *nlWx, dkChar const * const *nlDk ); /** Destructor. */ ~ScreenSizeFrame(); /** Check whether we can close the window. @param isLast Flag: Last main window to close. */ bool CanClose(bool isFinal); /** 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); /* __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. */ /** Change the screen size. @return True on success, false on error. */ bool ChangeScreenSize(void); }; #line 305 "ScreenSizeFrame.wxc" /* vim: set ai sw=4 ts=4 : */ #endif