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: WxdkdrawDlgLineJoin.wxc 12 */ 13 14 /** @file WxdkdrawDlgLineJoin.h Header file for the WxdkdrawDlgLineJoin module. 15 */ 16 17 #ifndef WXDKDRAWDLGLINEJOIN_H_INCLUDED 18 /** Avoid multiple inclusions. */ 19 #define WXDKDRAWDLGLINEJOIN_H_INCLUDED 1 20 21 22 #ifndef WXDKDRAW_H_INCLUDED 23 #include <wxdkdraw/wxdkdraw.h> 24 #endif 25 26 #ifndef WXDKDRAWFRAME_H_INCLUDED 27 #include <wxdkdraw/WxdkdrawFrame.h> 28 #endif 29 30 31 32 /** Dialog to modify line join. 33 */ 34 class WxdkdrawDlgLineJoin : public wxDialog 35 { 36 private: 37 38 /** Events to handle. 39 */ 40 #if wxCHECK_VERSION(3,0,0) 41 wxDECLARE_EVENT_TABLE(); 42 #else 43 DECLARE_EVENT_TABLE() 44 #endif 45 46 protected: 47 48 /** Application main window. 49 */ 50 WxdkdrawFrame *m_pParent; 51 52 /** Object to modify. 53 */ 54 Wxd_object_t *m_pObject; 55 56 /** Localized text fragments. 57 */ 58 wxChar const * const *m_pTexts; 59 60 /** Line join button images. 61 */ 62 const char ** const *m_pImages; 63 64 /** Line join from object. 65 */ 66 uint8_t m_uLineJoinOriginal; 67 68 /** Line join selected in dialog. 69 */ 70 uint8_t m_uLineJoinCurrent; 71 72 /** Drawing element (true) or default style object (false). 73 */ 74 bool m_bDrwElem; 75 76 public: 77 78 /** Window IDs for line join buttons. 79 */ 80 enum { 81 WXD_ID_LJ_MITERED = (wxID_HIGHEST + 1), /**< Mitered line join. */ 82 WXD_ID_LJ_ROUNDED , /**< Rounded line join. */ 83 WXD_ID_LJ_BEVELED /**< Beveled line join. */ 84 }; 85 86 /** Constructor. 87 @param pParent Applications main frame. 88 @param pObject Object to modify. 89 @param pTexts Localized text fragments. 90 @param pImages Images for line style buttons. 91 @param bDrwElem Drawing element (true) or default obj (false). 92 */ 93 WxdkdrawDlgLineJoin( 94 WxdkdrawFrame *pParent, 95 Wxd_object_t *pObject, 96 wxChar const * const *pTexts, 97 const char ** const *pImages, 98 bool bDrwElem 99 ); 100 101 /** Handler for line join buttons. 102 @param event Event to process. 103 */ 104 void 105 OnJoinButton(wxCommandEvent & event); 106 107 /** Handler for Cancel button. 108 @param event Event to process. 109 */ 110 void 111 OnCancel(wxCommandEvent & event); 112 113 /** Flag: GUI ok. 114 */ 115 bool dkctGUILayoutOK; 116 117 /** GUI element sizerHorizontal. 118 */ 119 wxBoxSizer *sizerHorizontal; 120 121 /** GUI element sizerVertical. 122 */ 123 wxBoxSizer *sizerVertical; 124 125 /** GUI element sizerButtons. 126 */ 127 wxBoxSizer *sizerButtons; 128 129 /** GUI element buttonCancel. 130 */ 131 wxButton *buttonCancel; 132 133 /** GUI element buttonMitered. 134 */ 135 wxBitmapButton *buttonMitered; 136 137 /** GUI element buttonRounded. 138 */ 139 wxBitmapButton *buttonRounded; 140 141 /** GUI element buttonBeveled. 142 */ 143 wxBitmapButton *buttonBeveled; 144 145 }; 146 147 148 /* vim: set ai sw=4 ts=4 : */ 149 150 151 #endif 152