]> git.saurik.com Git - wxWidgets.git/blame - samples/ogl/studio/dialogs.h
moved Destroy() to the beginning
[wxWidgets.git] / samples / ogl / studio / dialogs.h
CommitLineData
2d08140f
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: dialogs.h
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
9// Licence:
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _STUDIO_DIALOGS_H_
13#define _STUDIO_DIALOGS_H_
14
15#ifdef __GNUG__
16// #pragma interface
17#endif
18
19#include <wx/wx.h>
20#include <wx/notebook.h>
21
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();
106
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
125#define ID_SHAPE_PROPERTY_NOTEBOOK 1000
126
127//// Specific attribute-editing panel classes below here
128
129/*
130 * csThinRectangleDialog
131 */
132
133class csThinRectangleDialog: public wxPanel
134{
135DECLARE_CLASS(csThinRectangleDialog)
136public:
137 csThinRectangleDialog();
138
139DECLARE_EVENT_TABLE()
140};
141
142/*
143 * csWideRectangleDialog
144 */
145
146class csWideRectangleDialog: public wxPanel
147{
148DECLARE_CLASS(csWideRectangleDialog)
149public:
150 csWideRectangleDialog();
151
152DECLARE_EVENT_TABLE()
153};
154
155/*
156 * csTriangleDialog
157 */
158
159class csTriangleDialog: public wxPanel
160{
161DECLARE_CLASS(csTriangleDialog)
162public:
163 csTriangleDialog();
164
165DECLARE_EVENT_TABLE()
166};
167
168/*
169 * csSemiCircleDialog
170 */
171
172class csSemiCircleDialog: public wxPanel
173{
174DECLARE_CLASS(csSemiCircleDialog)
175public:
176 csSemiCircleDialog();
177
178DECLARE_EVENT_TABLE()
179};
180
181/*
182 * csCircleDialog
183 */
184
185class csCircleDialog: public wxPanel
186{
187DECLARE_CLASS(csCircleDialog)
188public:
189 csCircleDialog();
190
191DECLARE_EVENT_TABLE()
192};
193
194/*
195 * csCircleShadowDialog
196 */
197
198class csCircleShadowDialog: public wxPanel
199{
200DECLARE_CLASS(csCircleShadowDialog)
201public:
202 csCircleShadowDialog();
203
204DECLARE_EVENT_TABLE()
205};
206
207/*
208 * csOctagonDialog
209 */
210
211class csOctagonDialog: public wxPanel
212{
213DECLARE_CLASS(csOctagonDialog)
214public:
215 csOctagonDialog();
216
217DECLARE_EVENT_TABLE()
218};
219
220/*
221 * csGroupDialog
222 */
223
224class csGroupDialog: public wxPanel
225{
226DECLARE_CLASS(csGroupDialog)
227public:
228 csGroupDialog();
229
230DECLARE_EVENT_TABLE()
231};
232
233/*
234 * csTextBoxDialog
235 */
236
237class csTextBoxDialog: public wxPanel
238{
239DECLARE_CLASS(csTextBoxDialog)
240public:
241 csTextBoxDialog();
242
243DECLARE_EVENT_TABLE()
244};
245
246
247#endif
248 // _STUDIO_DIALOGS_H_