/* 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: WxdkdrawDlgLayerManager.cpt */ #ifndef WXDKDRAWDLGLAYERMANAGER_H_INCLUDED /** Avoid multiple inclusions. */ #define WXDKDRAWDLGLAYERMANAGER_H_INCLUDED 1 #line 7 "WxdkdrawDlgLayerManager.cpt" /** @file WxdkdrawDlgLayerManager.h Header file for the WxdkdrawDlgLayerManager module. */ #ifndef WXDKDRAW_H_INCLUDED #include "wxdkdraw.h" #endif #ifndef WXDKDRAWFRAME_H_INCLUDED #include "WxdkdrawFrame.h" #endif /** Dialog to change layer visibility. */ class WxdkdrawDlgLayerManager : public wxDialog { private: /** Events to handle */ #if wxCHECK_VERSION(3,0,0) wxDECLARE_EVENT_TABLE(); #else DECLARE_EVENT_TABLE() #endif protected: /** Applications main frame. */ WxdkdrawFrame *m_pParent; /** Drawing to modify. */ Wxd_drawing_t *m_pDrw; /** Localized text fragments. */ wxChar const * const *m_pTexts; /** Layer structures containing checkbox pointers and previous value. */ Wxd_layer_cb_t *m_pLayerCb; /** Number of layers in drawing. */ size_t m_sLayerCb; /** Flag: GUI ok. */ bool dkctGUILayoutOK; /** GUI element sizerHorizontal. */ wxBoxSizer *sizerHorizontal; /** GUI element sizerVertical. */ wxBoxSizer *sizerVertical; /** GUI element scwContents. */ wxScrolledWindow *scwContents; /** GUI element sizerButtons. */ wxStdDialogButtonSizer *sizerButtons; /** GUI element sizerScwContents. */ wxBoxSizer *sizerScwContents; /** GUI element panelContents. */ wxPanel *panelContents; /** GUI element sizerContents. */ wxBoxSizer *sizerContents; #if 0 /** GUI element b00. */ wxCheckBox *b00; #endif /** GUI element buttonOK. */ wxButton *buttonOK; /** GUI element buttonCancel. */ wxButton *buttonCancel; public: /** Window IDs for events. */ enum { /** Start ID for layer checkboxes. */ WXD_ID_LAYER_START = (wxID_HIGHEST + 1) }; /** Constructor. @param pParent Applications main frame. @param pDrw Drawing to modify. @param pTexts Localized text fragments. @param pLayerCb Layer information structures. @param sLayerCb Number of layers in drawing and in pLayerCb. */ WxdkdrawDlgLayerManager( WxdkdrawFrame *pParent, Wxd_drawing_t *pDrw, wxChar const * const *pTexts, Wxd_layer_cb_t *pLayerCb, size_t sLayerCb ); /** Handler for OK button. @param event Event to process. */ void OnOK(wxCommandEvent & event); /** Handler for Cancel button. @param event Event to process. */ void OnCancel(wxCommandEvent & event); /** Handler for checkbox state change. @param event Event to process. */ void OnCheckBox(wxCommandEvent & event); protected: /** Unconnect event handler from all checkboxes. */ void UnconnectCheckBoxEvents(void); }; /* vim: set ai sw=4 ts=4 : */ #endif