1 /* 2 Copyright (C) 2019-2021, Dirk Krause 3 SPDX-License-Identifier: BSD-3-Clause 4 */ 5 6 /* 7 WARNING: This file was generated by the dkct program (see 8 http://dktools.sourceforge.net/ for details). 9 Changes you make here will be lost if dkct is run again! 10 You should modify the original source and run dkct on it. 11 Original source: WxdkdrawDlgLayerManager.cpt 12 */ 13 14 #ifndef WXDKDRAWDLGLAYERMANAGER_H_INCLUDED 15 /** Avoid multiple inclusions. */ 16 #define WXDKDRAWDLGLAYERMANAGER_H_INCLUDED 1 17 18 19 20 /** @file WxdkdrawDlgLayerManager.h Header file for the WxdkdrawDlgLayerManager 21 module. 22 */ 23 24 25 #ifndef WXDKDRAW_H_INCLUDED 26 #include <wxdkdraw/wxdkdraw.h> 27 #endif 28 29 #ifndef WXDKDRAWFRAME_H_INCLUDED 30 #include <wxdkdraw/WxdkdrawFrame.h> 31 #endif 32 33 34 /** Dialog to change layer visibility. 35 */ 36 class WxdkdrawDlgLayerManager : public wxDialog 37 { 38 39 private: 40 41 /** Events to handle 42 */ 43 #if wxCHECK_VERSION(3,0,0) 44 wxDECLARE_EVENT_TABLE(); 45 #else 46 DECLARE_EVENT_TABLE() 47 #endif 48 49 protected: 50 51 /** Applications main frame. 52 */ 53 WxdkdrawFrame *m_pParent; 54 55 /** Drawing to modify. 56 */ 57 Wxd_drawing_t *m_pDrw; 58 59 /** Localized text fragments. 60 */ 61 wxChar const * const *m_pTexts; 62 63 /** Layer structures containing checkbox pointers and previous value. 64 */ 65 Wxd_layer_cb_t *m_pLayerCb; 66 67 /** Number of layers in drawing. 68 */ 69 size_t m_sLayerCb; 70 71 /** Flag: GUI ok. 72 */ 73 bool dkctGUILayoutOK; 74 75 /** GUI element sizerHorizontal. 76 */ 77 wxBoxSizer *sizerHorizontal; 78 79 /** GUI element sizerVertical. 80 */ 81 wxBoxSizer *sizerVertical; 82 83 /** GUI element scwContents. 84 */ 85 wxScrolledWindow *scwContents; 86 87 /** GUI element sizerButtons. 88 */ 89 wxStdDialogButtonSizer *sizerButtons; 90 91 /** GUI element sizerScwContents. 92 */ 93 wxBoxSizer *sizerScwContents; 94 95 /** GUI element panelContents. 96 */ 97 wxPanel *panelContents; 98 99 /** GUI element sizerContents. 100 */ 101 wxBoxSizer *sizerContents; 102 103 #if 0 104 /** GUI element b00. 105 */ 106 wxCheckBox *b00; 107 #endif 108 109 /** GUI element buttonOK. 110 */ 111 wxButton *buttonOK; 112 113 /** GUI element buttonCancel. 114 */ 115 wxButton *buttonCancel; 116 117 118 public: 119 120 /** Window IDs for events. 121 */ 122 enum { 123 /** Start ID for layer checkboxes. 124 */ 125 WXD_ID_LAYER_START = (wxID_HIGHEST + 1) 126 }; 127 128 /** Constructor. 129 @param pParent Applications main frame. 130 @param pDrw Drawing to modify. 131 @param pTexts Localized text fragments. 132 @param pLayerCb Layer information structures. 133 @param sLayerCb Number of layers in drawing and in pLayerCb. 134 */ 135 WxdkdrawDlgLayerManager( 136 WxdkdrawFrame *pParent, 137 Wxd_drawing_t *pDrw, 138 wxChar const * const *pTexts, 139 Wxd_layer_cb_t *pLayerCb, 140 size_t sLayerCb 141 ); 142 143 /** Handler for OK button. 144 @param event Event to process. 145 */ 146 void 147 OnOK(wxCommandEvent & event); 148 149 /** Handler for Cancel button. 150 @param event Event to process. 151 */ 152 void 153 OnCancel(wxCommandEvent & event); 154 155 /** Handler for checkbox state change. 156 @param event Event to process. 157 */ 158 void 159 OnCheckBox(wxCommandEvent & event); 160 161 protected: 162 163 /** Unconnect event handler from all checkboxes. 164 */ 165 void 166 UnconnectCheckBoxEvents(void); 167 168 }; 169 170 171 172 /* vim: set ai sw=4 ts=4 : */ 173 174 175 #endif 176