]> git.saurik.com Git - wxWidgets.git/blame - contrib/samples/ogl/studio/dialogs.h
stub for wxOS2 region ctor from points.
[wxWidgets.git] / contrib / samples / ogl / studio / dialogs.h
CommitLineData
1fc25a89 1/////////////////////////////////////////////////////////////////////////////
f4ec6bd2 2// Name: contrib/samples/ogl/studio/dialogs.h
1fc25a89
JS
3// Purpose: Miscellaneous dialogs
4// Author: Julian Smart
5// Modified by:
6// Created: 12/07/98
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
f4ec6bd2 9// Licence: wxWindows licence
1fc25a89
JS
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _STUDIO_DIALOGS_H_
13#define _STUDIO_DIALOGS_H_
14
f4ec6bd2
WS
15#include "wx/wx.h"
16#include "wx/notebook.h"
1fc25a89 17
f4ec6bd2 18#include "wx/ogl/ogl.h" // base header of OGL, includes and adjusts wx/deprecated/setup.h
cecdcad1
WS
19
20#if wxUSE_WX_RESOURCES
21
1fc25a89
JS
22/*
23 * Label editing dialog (about to become obsolete)
24 */
25
26class csLabelEditingDialog: public wxDialog
27{
28DECLARE_CLASS(csLabelEditingDialog)
29public:
30 csLabelEditingDialog(wxWindow* parent);
31
32 void SetShapeLabel(const wxString& label);
33 inline wxString GetShapeLabel() const { return m_label; }
34
35 void OnOK(wxCommandEvent& event);
36
37protected:
38 wxString m_label;
39
40DECLARE_EVENT_TABLE()
41};
42
43/*
44 * Settings dialog (tabbed)
45 */
46
47class csSettingsDialog: public wxDialog
48{
49DECLARE_CLASS(csSettingsDialog)
50public:
51 csSettingsDialog(wxWindow* parent);
52
53 void OnOK(wxCommandEvent& event);
54
55 virtual bool TransferDataToWindow();
56 virtual bool TransferDataFromWindow();
57
58protected:
59
60 wxPanel* m_generalSettings;
61 wxPanel* m_diagramSettings;
62 wxNotebook* m_notebook;
63
64DECLARE_EVENT_TABLE()
65};
66
67#define ID_PROPERTY_NOTEBOOK 1000
68#define ID_GENERAL_SETTINGS 1002
69#define ID_DIAGRAM_SETTINGS 1003
70
71/*
72 * csGeneralShapePropertiesDialog
73 * Name, description etc.
74 */
75
76class csGeneralShapePropertiesDialog: public wxPanel
77{
78DECLARE_CLASS(csGeneralShapePropertiesDialog)
79public:
80 csGeneralShapePropertiesDialog();
81
82 void SetShapeLabel(const wxString& label);
83 inline wxString GetShapeLabel() const { return m_label; }
84
85protected:
86 wxString m_label;
87
88DECLARE_EVENT_TABLE()
89};
90
91/*
92 * Shape properties dialog (tabbed)
93 */
94
95class csShapePropertiesDialog: public wxDialog
96{
97DECLARE_CLASS(csShapePropertiesDialog)
98public:
99 csShapePropertiesDialog(wxWindow* parent, const wxString& title, wxPanel* attributeDialog, const wxString& attributeDialogName);
100
101 void OnOK(wxCommandEvent& event);
102
103 // Set some suitable defaults in the attribute dialogs (in the first instance,
104 // just set all wxChoices to the first element)
105 void SetDefaults();
cecdcad1 106
1fc25a89
JS
107// Accessors
108 csGeneralShapePropertiesDialog* GetGeneralPropertiesDialog() const { return m_generalPropertiesDialog; }
109
110
111protected:
112
113 // Attributes, specific to each shape
114 wxPanel* m_attributeDialog;
115 wxPanel* m_alternativeAttributeDialog;
116
117 // General properties, same for each shape, e.g. name/description
118 csGeneralShapePropertiesDialog* m_generalPropertiesDialog;
119
120 wxNotebook* m_notebook;
121
122DECLARE_EVENT_TABLE()
123};
124
cecdcad1
WS
125#endif // wxUSE_WX_RESOURCES
126
1fc25a89
JS
127#define ID_SHAPE_PROPERTY_NOTEBOOK 1000
128
129//// Specific attribute-editing panel classes below here
130
131/*
132 * csThinRectangleDialog
133 */
134
135class csThinRectangleDialog: public wxPanel
136{
137DECLARE_CLASS(csThinRectangleDialog)
138public:
139 csThinRectangleDialog();
140
141DECLARE_EVENT_TABLE()
142};
143
144/*
145 * csWideRectangleDialog
146 */
147
148class csWideRectangleDialog: public wxPanel
149{
150DECLARE_CLASS(csWideRectangleDialog)
151public:
152 csWideRectangleDialog();
153
154DECLARE_EVENT_TABLE()
155};
156
157/*
158 * csTriangleDialog
159 */
160
161class csTriangleDialog: public wxPanel
162{
163DECLARE_CLASS(csTriangleDialog)
164public:
165 csTriangleDialog();
166
167DECLARE_EVENT_TABLE()
168};
169
170/*
171 * csSemiCircleDialog
172 */
173
174class csSemiCircleDialog: public wxPanel
175{
176DECLARE_CLASS(csSemiCircleDialog)
177public:
178 csSemiCircleDialog();
179
180DECLARE_EVENT_TABLE()
181};
182
183/*
184 * csCircleDialog
185 */
186
187class csCircleDialog: public wxPanel
188{
189DECLARE_CLASS(csCircleDialog)
190public:
191 csCircleDialog();
192
193DECLARE_EVENT_TABLE()
194};
195
196/*
197 * csCircleShadowDialog
198 */
199
200class csCircleShadowDialog: public wxPanel
201{
202DECLARE_CLASS(csCircleShadowDialog)
203public:
204 csCircleShadowDialog();
205
206DECLARE_EVENT_TABLE()
207};
208
209/*
210 * csOctagonDialog
211 */
212
213class csOctagonDialog: public wxPanel
214{
215DECLARE_CLASS(csOctagonDialog)
216public:
217 csOctagonDialog();
218
219DECLARE_EVENT_TABLE()
220};
221
222/*
223 * csGroupDialog
224 */
225
226class csGroupDialog: public wxPanel
227{
228DECLARE_CLASS(csGroupDialog)
229public:
230 csGroupDialog();
231
232DECLARE_EVENT_TABLE()
233};
234
235/*
236 * csTextBoxDialog
237 */
238
239class csTextBoxDialog: public wxPanel
240{
241DECLARE_CLASS(csTextBoxDialog)
242public:
243 csTextBoxDialog();
244
245DECLARE_EVENT_TABLE()
246};
247
1fc25a89
JS
248#endif
249 // _STUDIO_DIALOGS_H_