/* 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: ScreenSizeFrame.wxc */ /* Copyright (C) 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 ScreenSizeFrame.h Header file for the ScreenSizeFrame module. */ #ifndef SCREENSIZEFRAME_H_INCLUDED /** Avoid multiple inclusions. */ #define SCREENSIZEFRAME_H_INCLUDED 1 #line 131 "ScreenSizeFrame.wxc" #include enum { /** Set new screen size. */ ACTION_SET_SCREEN_SIZE = 0 , /** Toggle between normal and alternative size. */ ACTION_TOGGLE_SCREEN_SIZE , ACTION_REPORT_NO_ARGS_NO_SETTINGS }; #line 149 "ScreenSizeFrame.wxc" class ScreenSizeFrame : public Dk4WxFrame { private: /** Event table for frame. */ DECLARE_EVENT_TABLE() 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 200 "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: /** 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 290 "ScreenSizeFrame.wxc" /* vim: set ai sw=4 ts=4 : */ #endif