wxArt2D
strucdlg.h
Go to the documentation of this file.
1 /*! \file wx/canvas/strucdlg.h
2  \brief for choosing a a2dCanvasObject from a list.
3  \author Klaas Holwerda
4 
5  Copyright: 2000-2004 (c) Klaas Holwerda
6 
7  Licence: wxWidgets Licence
8 
9  RCS-ID: $Id: strucdlg.h,v 1.8 2009/10/05 20:03:11 titato Exp $
10 */
11 
12 
13 #ifndef __STRUCDLG_H__
14 #define __STRUCDLG_H__
15 
16 #ifndef WX_PRECOMP
17 #include "wx/wx.h"
18 #endif
19 
20 #include "wx/canvas/algos.h"
21 #include "wx/canvas/sttool.h"
22 class A2DCANVASDLLEXP FillPatterns;
23 #include "wx/general/genmod.h"
24 
25 #define ID_DIALOG 10000
26 #define SYMBOL_A2DCANVASOBJECTSDIALOG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
27 #define SYMBOL_A2DCANVASOBJECTSDIALOG_TITLE _("Choose Canvas Object")
28 #define SYMBOL_A2DCANVASOBJECTSDIALOG_IDNAME ID_DIALOG
29 #define SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE wxSize(400, 300)
30 #define SYMBOL_A2DCANVASOBJECTSDIALOG_POSITION wxDefaultPosition
31 #define STRUCT_ID_STATIC 10001
32 #define STRUCT_ID_LISTBOX 10002
33 #define STRUCT_ID_HIDE 10003
34 #define STRUCT_ID_APPLY 10004
35 
36 
37 //!Class a2dCanvasObjectsDialog.
38 //!This class is used to show a dialog containing objects.
39 class A2DCANVASDLLEXP a2dCanvasObjectsDialog: public wxDialog
40 {
41  DECLARE_EVENT_TABLE()
42 
43 public:
44 
45  a2dCanvasObjectsDialog( wxWindow* parent,
46  a2dDrawing* drawing, bool structOnly = true, bool modal = false, long style = SYMBOL_A2DCANVASOBJECTSDIALOG_STYLE,
47  wxWindowID id = SYMBOL_A2DCANVASOBJECTSDIALOG_IDNAME, const wxString& caption = SYMBOL_A2DCANVASOBJECTSDIALOG_TITLE, const wxPoint& pos = SYMBOL_A2DCANVASOBJECTSDIALOG_POSITION, const wxSize& size = SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE );
48 
49  //! constructor with a specific list of objects
50  a2dCanvasObjectsDialog( wxWindow* parent, a2dCanvasObjectList* total, bool modal = false, long style = SYMBOL_A2DCANVASOBJECTSDIALOG_STYLE,
51  wxWindowID id = SYMBOL_A2DCANVASOBJECTSDIALOG_IDNAME, const wxString& caption = SYMBOL_A2DCANVASOBJECTSDIALOG_TITLE, const wxPoint& pos = SYMBOL_A2DCANVASOBJECTSDIALOG_POSITION, const wxSize& size = SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE );
52 
54 
55  /// Creation
56  bool Create( wxWindow* parent, wxWindowID id = SYMBOL_A2DCANVASOBJECTSDIALOG_IDNAME, const wxString& caption = SYMBOL_A2DCANVASOBJECTSDIALOG_TITLE, const wxPoint& pos = SYMBOL_A2DCANVASOBJECTSDIALOG_POSITION, const wxSize& size = SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE, long style = SYMBOL_A2DCANVASOBJECTSDIALOG_STYLE );
57 
58  //! Pointer to object selected.
59  a2dCanvasObject* GetCanvasObject();
60 
61  //! take over object to show from objects
62  void Init( a2dCanvasObjectList* objects );
63 
64  void Init( a2dDrawing* drawing );
65 
66  void InitCameleons( a2dDrawing* drawing, const wxString& appearanceClassName );
67 
68 protected:
69 
70  /// Creates the controls and sizers
71  void CreateControls();
72 
73  /// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
74  void OnCloseWindow( wxCloseEvent& event );
75 
76  /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for STRUCT_ID_LISTBOX
77  void OnStructIdListboxSelected( wxCommandEvent& event );
78 
79  /// wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event handler for STRUCT_ID_LISTBOX
80  void OnStructIdListboxDoubleClicked( wxCommandEvent& event );
81 
82  /// wxEVT_COMMAND_BUTTON_CLICKED event handler for STRUCT_ID_HIDE
83  void OnStructIdHideClick( wxCommandEvent& event );
84 
85  /// wxEVT_COMMAND_BUTTON_CLICKED event handler for STRUCT_ID_APPLY
86  void OnStructIdApplyClick( wxCommandEvent& event );
87 
88  /// Should we show tooltips?
89  static bool ShowToolTips() { return true; }
90 
91  //! document changed
92  //void OnChangedDocument( a2dCommandEvent& event );
93 
94  void OnComEvent( a2dComEvent& event );
95 
96  void OnDoEvent( a2dCommandProcessorEvent& event );
97 
98  void CmApply();
99 
100  bool m_modal;
101 
102  wxListBox* m_listbox;
103  wxButton* m_hide;
104  wxButton* m_Apply;
105 
106  wxStaticText* m_numberObjects;
107 
108  //! Pointer to object list
109  a2dCanvasObjectsSet m_structureSet;
110 
111  //! Pointer to the choosen object.
113 
114  a2dDrawing* m_drawing;
115 
116 };
117 
118 #define ID_DIALOGCHOOSE 10090
119 #define SYMBOL_A2DCHOOSE_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
120 #define SYMBOL_A2DCHOOSE_TITLE _("Choose Canvas Object")
121 #define SYMBOL_A2DCHOOSE_IDNAME ID_DIALOGCHOOSE
122 #define SYMBOL_A2DCHOOSE_SIZE wxSize(400, 800)
123 #define SYMBOL_A2DCHOOSE_POSITION wxDefaultPosition
124 #define CHOOSE_ID_STATIC ID_DIALOGCHOOSE + 1
125 #define CHOOSE_ID_LISTBOX ID_DIALOGCHOOSE + 2
126 #define CHOOSE_ID_HIDE ID_DIALOGCHOOSE + 3
127 #define CHOOSE_ID_APPLY ID_DIALOGCHOOSE + 4
128 
129 //!Class a2dCanvasObjectsDialog.
130 //!This class is used to show a dialog containing objects.
131 class A2DCANVASDLLEXP a2dCanvasObjectsChooseDialog: public wxDialog
132 {
133  DECLARE_EVENT_TABLE()
134 
135 public:
136 
137  a2dCanvasObjectsChooseDialog( wxWindow* parent,
138  a2dDrawing* drawing, bool structOnly = true, long style = SYMBOL_A2DCHOOSE_STYLE,
139  wxWindowID id = SYMBOL_A2DCHOOSE_IDNAME, const wxString& caption = SYMBOL_A2DCHOOSE_TITLE, const wxPoint& pos = SYMBOL_A2DCHOOSE_POSITION, const wxSize& size = SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE );
140 
141  a2dCanvasObjectsChooseDialog( wxWindow* parent, a2dCanvasObjectList* total, const wxString& appearancename, long style = SYMBOL_A2DCHOOSE_STYLE,
142  wxWindowID id = SYMBOL_A2DCHOOSE_IDNAME, const wxString& caption = SYMBOL_A2DCHOOSE_TITLE, const wxPoint& pos = SYMBOL_A2DCHOOSE_POSITION, const wxSize& size = SYMBOL_A2DCANVASOBJECTSDIALOG_SIZE );
143 
144  //! constructor with a specific list of objects
145  a2dCanvasObjectsChooseDialog( wxWindow* parent, a2dCanvasObjectList* total, long style = SYMBOL_A2DCHOOSE_STYLE,
146  wxWindowID id = SYMBOL_A2DCHOOSE_IDNAME, const wxString& caption = SYMBOL_A2DCHOOSE_TITLE, const wxPoint& pos = SYMBOL_A2DCHOOSE_POSITION, const wxSize& size = SYMBOL_A2DCHOOSE_SIZE );
147 
149 
150  /// Creation
151  bool Create( wxWindow* parent, wxWindowID id = SYMBOL_A2DCHOOSE_IDNAME, const wxString& caption = SYMBOL_A2DCHOOSE_TITLE, const wxPoint& pos = SYMBOL_A2DCHOOSE_POSITION, const wxSize& size = SYMBOL_A2DCHOOSE_SIZE, long style = SYMBOL_A2DCHOOSE_STYLE );
152 
153  //! Pointer to object selected.
154  a2dCanvasObject* GetCanvasObject();
155 
156  //! take over object to show from objects
157  void Init( a2dCanvasObjectList* objects );
158 
159  void Init( a2dDrawing* drawing );
160 
161  void InitCameleons( a2dCanvasObjectList* total, const wxString& appearanceClassName );
162 
163 protected:
164 
165  /// Creates the controls and sizers
166  void CreateControls();
167 
168  /// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
169  void OnCloseWindow( wxCloseEvent& event );
170 
171  /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for CHOOSE_ID_LISTBOX
172  void OnStructIdListboxSelected( wxCommandEvent& event );
173 
174  /// wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event handler for CHOOSE_ID_LISTBOX
175  void OnStructIdListboxDoubleClicked( wxCommandEvent& event );
176 
177  /// wxEVT_COMMAND_BUTTON_CLICKED event handler for CHOOSE_ID_HIDE
178  void OnStructIdHideClick( wxCommandEvent& event );
179 
180  /// wxEVT_COMMAND_BUTTON_CLICKED event handler for CHOOSE_ID_APPLY
181  void OnStructIdApplyClick( wxCommandEvent& event );
182 
183  /// Should we show tooltips?
184  static bool ShowToolTips() { return true; }
185 
186  //! document changed
187  //void OnChangedDocument( a2dCommandEvent& event );
188 
189  void OnComEvent( a2dComEvent& event );
190 
191  void OnDoEvent( a2dCommandProcessorEvent& event );
192 
193  void CmApply();
194 
195  bool m_modal;
196 
197  wxListBox* m_listbox;
198  wxButton* m_hide;
199  wxButton* m_Apply;
200 
201  wxStaticText* m_numberObjects;
202 
203  //! Pointer to object list
204  a2dCanvasObjectsSet m_structureSet;
205 
206  //! Pointer to the choosen object.
208 
209  a2dDrawing* m_drawing;
210 };
211 
212 //! to choose fill
213 class A2DCANVASDLLEXP CanvasFillDialog: public wxDialog
214 {
215 public:
216 
217  // constructor.
218  CanvasFillDialog( wxFrame* parent );
219  a2dFillStyle GetStyle() {return m_style;};
220  void CmOk( wxCommandEvent& );
221  void CmCancel( wxCommandEvent& );
222  void OnCloseWindow( wxCloseEvent& event );
223 
224  DECLARE_EVENT_TABLE()
225 
226 protected:
227 
228  wxChoice* m_choice;
229  wxButton* m_button1;
230  wxButton* m_button2;
231 
232  a2dFillStyle m_style;
233 };
234 
235 //! pen dialog fro choosing a stroke.
236 class A2DCANVASDLLEXP PenDialog: public wxDialog
237 {
238 public:
239 
240  // constructor.
241  PenDialog( wxFrame* parent );
242  a2dStrokeStyle GetStyle() {return m_style;};
243  void CmOk( wxCommandEvent& );
244  void CmCancel( wxCommandEvent& );
245  void OnCloseWindow( wxCloseEvent& event );
246 
247  DECLARE_EVENT_TABLE()
248 
249 protected:
250 
251  wxChoice* m_choice;
252  wxButton* m_button1;
253  wxButton* m_button2;
254 
255  a2dStrokeStyle m_style;
256 };
257 
258 //! to choose the way drawing is done ( not yet implemented ).
259 class A2DCANVASDLLEXP LogicalFunction: public wxDialog
260 {
261 public:
262 
263  // constructor.
264  LogicalFunction( wxFrame* parent );
265  int GetLogicalFunction() {return m_function;};
266  void CmOk( wxCommandEvent& );
267  void CmCancel( wxCommandEvent& );
268  void OnCloseWindow( wxCloseEvent& event );
269 
270  DECLARE_EVENT_TABLE()
271 
272 protected:
273 
274  wxChoice* m_choice;
275  wxButton* m_button1;
276  wxButton* m_button2;
277 
278  int m_function;
279 };
280 
281 #define NR_PATTERNS 72
282 
283 //! read a predefined set of fill patterns from files
284 //! and stores them in an array.
285 class A2DCANVASDLLEXP FillPatterns
286 {
287 public:
288  FillPatterns();
289  ~FillPatterns();
290 
291  wxBitmap* GetPattern( short patternnr );
292 private:
293 
294  //! array for the different fill pitmaps.
295  wxBitmap* m_fillbitmaps[NR_PATTERNS];
296 };
297 
298 //! choose a fill pattern
299 class A2DCANVASDLLEXP PatternDialog: public wxDialog
300 {
301 
302 public:
303 
304  PatternDialog( wxWindow* parent, FillPatterns* fills, const wxString& title, long style = 0 , const wxString& name = wxT( "main_pattern_dlg" ) );
305 
306  ~PatternDialog();
307 
308  void OnActivate( wxActivateEvent& event );
309 
310 protected:
311 
312  //! Close window if EXIT-button is pressed.
313  void OnCloseWindow( wxCloseEvent& event );
314 
315  //! Get chosen pattern.
316  void Cm_P_BitB( wxEvent& event );
317 
318  wxColour* ltowxc( long colour );
319 
320  wxPanel* m_panel1;
321 
322  wxScrolledWindow* m_scroll;
323 
324  //! Pointer to parent, holds the parent window.
325  wxWindow* m_parent;
326 
327  //layer PATTERN buttons.
328  wxBitmapButton* m_patternbut[NR_PATTERNS];
329 
330  //!the choosen pattern.
332 
333  //! Declare used events.
334  DECLARE_EVENT_TABLE()
335 
336 };
337 
338 #endif
339 
choose a fill pattern
Definition: strucdlg.h:299
to choose fill
Definition: strucdlg.h:213
a2dCanvasObject is the base class for Canvas Objects.
Definition: canobj.h:371
static bool ShowToolTips()
Should we show tooltips?
Definition: strucdlg.h:184
a2dFillStyle
Filling styles for a2dFill.
Definition: stylebase.h:91
a2dCanvasObject * m_object
Pointer to the choosen object.
Definition: strucdlg.h:112
a2dCanvasObject * m_object
Pointer to the choosen object.
Definition: strucdlg.h:207
int m_choosen
the choosen pattern.
Definition: strucdlg.h:331
static bool ShowToolTips()
Should we show tooltips?
Definition: strucdlg.h:89
to choose the way drawing is done ( not yet implemented ).
Definition: strucdlg.h:259
a2dCanvasObjectsSet m_structureSet
Pointer to object list.
Definition: strucdlg.h:109
a2dWalker based algorithms
general modules header files all together.
Event sent to a2dCommandProcessor.
Definition: comevt.h:701
see a2dComEvent
Definition: gen.h:371
wxWindow * m_parent
Pointer to parent, holds the parent window.
Definition: strucdlg.h:325
pen dialog fro choosing a stroke.
Definition: strucdlg.h:236
a2dStrokeStyle
stroke styles for a2dStroke
Definition: stylebase.h:298
stack based tools controller and tools for drawing and editing.
Contain one drawing as hierarchical tree of a2dCanvasObject's.
Definition: drawing.h:434
a2dCanvasObjectsSet m_structureSet
Pointer to object list.
Definition: strucdlg.h:204
strucdlg.h Source File -- Sun Oct 12 2014 17:04:24 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation