/* 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: WxdkdrawDlgArrowSize.wxc */ /** @file WxdkdrawDlgArrowSize.h Header file for the WxdkdrawDlgArrowSize module. */ #ifndef WXDKDRAWDLGARROWSIZE_H_INCLUDED /** Avoid multiple inclusions. */ #define WXDKDRAWDLGARROWSIZE_H_INCLUDED 1 #line 68 "WxdkdrawDlgArrowSize.wxc" #ifndef WXDKDRAW_H_INCLUDED #include "wxdkdraw.h" #endif #ifndef WXDKDRAWFRAME_H_INCLUDED #include "WxdkdrawFrame.h" #endif #line 79 "WxdkdrawDlgArrowSize.wxc" /** The arrow size dialog asks the user to set arrow length and width in multiples of the line width. */ class WxdkdrawDlgArrowSize : public wxDialog { private: /** Events to handle. */ #if wxCHECK_VERSION(3,0,0) wxDECLARE_EVENT_TABLE(); #else DECLARE_EVENT_TABLE() #endif protected: /** Parent frame (the programs main window). */ WxdkdrawFrame *m_pParent; /** Graphics object the arrowhead is attached to. */ Wxd_object_t *m_pObject; /** Arrow length. */ uint8_t m_uLengthOriginal; /** Arrow width. */ uint8_t m_uWidthOriginal; /** Arrow length. */ uint8_t m_uLengthCurrent; /** Arrow width. */ uint8_t m_uWidthCurrent; /** Flag: Changing a real drawing element. */ bool m_bDrwElem; /** Flag: Changing backward arrow (false for forward arrow). */ bool m_bBackward; public: /** Window IDs. */ enum { WXD_ID_AS_LENGTH = (wxID_HIGHEST + 1), /**< Length spin ctrl. */ WXD_ID_AS_WIDTH /**< Width spin ctrl. */ }; /** Constructor. @param pParent Applications main frame. @param pObject Object to modify. @param pTexts Localized text fragments. @param bDrwElem Flag: Changing real drawing element. @param bBackward Flag: Changing backward arrow. */ WxdkdrawDlgArrowSize( WxdkdrawFrame *pParent, Wxd_object_t *pObject, wxChar const * const *pTexts, bool bDrwElem, bool bBackward ); /** OK button handler. @param event Event to process. */ void OnOK(wxCommandEvent & event); /** Cancel button handler. @param event Event to process. */ void OnCancel(wxCommandEvent & event); /** Length spin control handler. @param event Event to process. */ void OnLength(wxSpinEvent & event); /** Width spin control handler. @param event Event to process. */ void OnWidth(wxSpinEvent & event); #if 0 /** Retrieve arrow length. @return Arrow length. */ uint8_t GetArrowLength(void) const; /** Retrieve arrow width. @return Arrow width. */ uint8_t GetArrowWidth(void) const; #endif protected: void TransferLength(void); void TransferWidth(void); /** Flag: GUI ok. */ bool dkctGUILayoutOK; /** GUI element sizerHorizontal. */ #line 12 "WxdkdrawDlgArrowSize.wxc" wxBoxSizer *sizerHorizontal; /** GUI element sizerVertical. */ #line 18 "WxdkdrawDlgArrowSize.wxc" wxBoxSizer *sizerVertical; /** GUI element sizerContents. */ #line 26 "WxdkdrawDlgArrowSize.wxc" wxGridBagSizer *sizerContents; /** GUI element sizerButtons. */ #line 51 "WxdkdrawDlgArrowSize.wxc" wxStdDialogButtonSizer *sizerButtons; /** GUI element labelLength. */ #line 33 "WxdkdrawDlgArrowSize.wxc" wxStaticText *labelLength; /** GUI element spinLength. */ #line 36 "WxdkdrawDlgArrowSize.wxc" wxSpinCtrl *spinLength; /** GUI element labelWidth. */ #line 42 "WxdkdrawDlgArrowSize.wxc" wxStaticText *labelWidth; /** GUI element spinWidth. */ #line 45 "WxdkdrawDlgArrowSize.wxc" wxSpinCtrl *spinWidth; /** GUI element buttonOK. */ #line 55 "WxdkdrawDlgArrowSize.wxc" wxButton *buttonOK; /** GUI element buttonCancel. */ #line 60 "WxdkdrawDlgArrowSize.wxc" wxButton *buttonCancel; #line 202 "WxdkdrawDlgArrowSize.wxc" }; #line 206 "WxdkdrawDlgArrowSize.wxc" #endif