/* 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: DkClockFrame.wxc */ /* Copyright (C) 2013-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 DkClockFrame.h Header file for the DkClockFrame module. */ #ifndef DKCLOCKFRAME_H_INCLUDED /** Avoid multiple inclusions. */ #define DKCLOCKFRAME_H_INCLUDED 1 #line 99 "DkClockFrame.wxc" #line 101 "DkClockFrame.wxc" class DkClockFrame : public DkWxFrame { private: /** Event table for frame. */ DECLARE_EVENT_TABLE() protected: /** Timer. */ wxTimer tiTenPerSecond; /** Controller for idle processing. */ DkWxProcessingIdleController pcIdle; /** Processing controller for timer events. */ DkWxProcessingController pcTimer; /* Clock data including timer settings and current time. */ DkClockData clockData; /** Keywords for configuration entries. */ static wxChar const * const kwConfInt[]; /** Colour preference keys. */ static dkChar const * const colPrefKeys[]; /** Localized texts. */ wxChar const * const *sTexts; /** Non-localized texts. */ wxChar const * const *sNlWx; /** Non-localized texts. */ dkChar const * const *sNlDk; /** Task bar icon. */ DkClockTaskbarIcon *iconTb; #if defined(__WXCOCOA__) /** Dock icon. */ DkClockTaskbarIcon *iconDock; #endif /** Last current time saved. */ dk3_time_t currentTime; /** Previous options dialog x position. */ int odx; /** Previous options dialog y position. */ int ody; /** Colour dialog x position. */ int cdx; /** Colour dialog y position. */ int cdy; /** Flag: Is first idle event. */ bool bIsFirstIdleEvent; /** Flag: First time iconized. */ bool bHaveBuffer; /** Flag: Application is hidden behind task bar icon. */ bool bIsHidden; /** Flag: Option -h specified to hide at startup. */ bool bShouldHide; /** Flag: GUI ok. */ bool dkctGUILayoutOK; /** Contents panel. */ wxPanel *dkctGUIContentsPanel; /** GUI element mainSizer. */ #line 77 "DkClockFrame.wxc" wxBoxSizer *mainSizer; /** GUI element mbMain. */ #line 16 "DkClockFrame.wxc" wxMenuBar *mbMain; /** GUI element menuFile. */ #line 21 "DkClockFrame.wxc" wxMenu *menuFile; /** GUI element menuOptions. */ #line 30 "DkClockFrame.wxc" wxMenu *menuOptions; /** GUI element menuHelp. */ #line 62 "DkClockFrame.wxc" wxMenu *menuHelp; /** GUI element miFileExit. */ #line 25 "DkClockFrame.wxc" wxMenuItem *miFileExit; /** GUI element miOptionsAlert. */ #line 36 "DkClockFrame.wxc" wxMenuItem *miOptionsAlert; /** GUI element miOptionsHide. */ #line 41 "DkClockFrame.wxc" wxMenuItem *miOptionsHide; /** GUI element mOptionsColour. */ #line 47 "DkClockFrame.wxc" wxMenu *mOptionsColour; /** GUI element miOptionsColourNormal. */ #line 52 "DkClockFrame.wxc" wxMenuItem *miOptionsColourNormal; /** GUI element miOptionsColourAlert. */ #line 57 "DkClockFrame.wxc" wxMenuItem *miOptionsColourAlert; /** GUI element miHelpAbout. */ #line 67 "DkClockFrame.wxc" wxMenuItem *miHelpAbout; /** GUI element miHelpContents. */ #line 72 "DkClockFrame.wxc" wxMenuItem *miHelpContents; /** GUI element verticalSizer. */ #line 83 "DkClockFrame.wxc" wxBoxSizer *verticalSizer; /** GUI element clv. */ #line 91 "DkClockFrame.wxc" DkClockView *clv; #line 194 "DkClockFrame.wxc" protected: /** Save all settings. */ void saveSettings(void); 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. */ DkClockFrame( int wxid, DkWxAppHelper *applicationHelper, DkWxHelpController *hc, int argc, wxChar **argv, wxChar const * const *localizedTexts, wxChar const * const *nlWx, dkChar const * const *nlDk ); /** Destructor. */ ~DkClockFrame(); /** Check whether we can close the window. @param isLast Flag: Last main window to close. */ bool canClose(bool isLast); /** 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); /** Handler for Edit/Options. @param event Event to process. */ void OnEditOptions(wxCommandEvent & event); /** Handler for idle events. @param event Event to process. */ void OnIdle(wxIdleEvent & event); /** Handler for timer events. @param event Event to process. */ void OnTimer(wxTimerEvent & event); /** Handler for hide menu item. @param event Event to process. */ void OnHide(wxCommandEvent & event); /** Handler for normal colour menu item. @param event Event to process. */ void OnColourNormal(wxCommandEvent & event); /** Handler for alert colour menu item. @param event Event to process. */ void OnColourAlert(wxCommandEvent & event); /** Handler for iconize. @param event Event to process. */ void OnIconize(wxIconizeEvent & event); /** Notify window whether or not it is hidden. */ void SetHidden(bool b); }; #line 303 "DkClockFrame.wxc" #endif