]> git.saurik.com Git - wxWidgets.git/blame - utils/configtool/src/configtoolview.h
Old API depreciated. Use of new API. Source cleaning.
[wxWidgets.git] / utils / configtool / src / configtoolview.h
CommitLineData
d7463f75
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: configtoolview.h
3// Purpose: View class
4// Author: Julian Smart
5// Modified by:
6// Created: 2003-06-04
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence:
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _CT_CONFIGTOOLVIEW_H_
13#define _CT_CONFIGTOOLVIEW_H_
14
71ada1a5 15#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
d7463f75
JS
16#pragma interface "configtoolview.cpp"
17#endif
18
19#include "wx/docview.h"
20#include "wx/treectrl.h"
e7767867 21#include "wx/fdrepdlg.h"
d7463f75
JS
22#include "configitem.h"
23
24class ctConfigTreeCtrl;
25class WXDLLEXPORT wxNotebookEvent;
26
27/*
28 * ctConfigToolView
29 */
30
31class ctConfigItem;
32class ctConfigToolView: public wxView
33{
34 DECLARE_DYNAMIC_CLASS(ctConfigToolView)
35public:
254a2129
WS
36 ctConfigToolView(){};
37 ~ctConfigToolView(){};
38
d7463f75
JS
39//// Overrides
40
41 bool OnCreate(wxDocument *doc, long flags);
42 void OnDraw(wxDC *dc);
43 void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
4fe30bce 44 bool OnClose(bool deleteWindow = true);
d7463f75
JS
45 void OnChangeFilename();
46
47//// Operations
48
49 /// Gets the tree item in sync with the item.
50 void SyncItem(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
51
52 /// Add item and its children to the tree
53 void AddItems(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
54
55 /// Clicked an icon
56 void OnIconLeftDown(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
57
58 /// Add an item
59 void AddItem(ctConfigType type, const wxString& msg);
60
61 /// Regenerate setup.h and configure command
62 void RegenerateSetup();
63
64//// Accessors
65
66 /// Returns the selected config item, if any.
67 ctConfigItem* GetSelection();
68
69//// Event handlers
70
71 /// General disabler
72 void OnUpdateDisable(wxUpdateUIEvent& event);
73
74 /// Enable add item menu items
75 void OnUpdateAddItem(wxUpdateUIEvent& event);
76
77 /// Add a checkbox item
78 void OnAddCheckBoxItem(wxCommandEvent& event);
79
80 /// Add a radiobutton item
81 void OnAddRadioButtonItem(wxCommandEvent& event);
82
83 /// Add a group item
84 void OnAddGroupItem(wxCommandEvent& event);
85
86 /// Add a check group item
87 void OnAddCheckGroupItem(wxCommandEvent& event);
88
89 /// Add a radio group item
90 void OnAddRadioGroupItem(wxCommandEvent& event);
91
92 /// Add a string item
93 void OnAddStringItem(wxCommandEvent& event);
94
95 /// Delete an item
96 void OnDeleteItem(wxCommandEvent& event);
97
98 /// Rename an item
99 void OnRenameItem(wxCommandEvent& event);
100
101 /// Copy an item to the clipboard
102 void OnCopy(wxCommandEvent& event);
103
104 /// Copy an item to the clipboard and cut the item
105 void OnCut(wxCommandEvent& event);
106
107 /// Paste an item from the clipboard to the tree
108 void OnPaste(wxCommandEvent& event);
109
110 /// Item help
111 void OnItemHelp(wxCommandEvent& event);
112
113 /// Update for copy command
114 void OnUpdateCopy(wxUpdateUIEvent& event);
115
116 /// Update for cut
117 void OnUpdateCut(wxUpdateUIEvent& event);
118
119 /// Update for paste
120 void OnUpdatePaste(wxUpdateUIEvent& event);
121
122 /// Update for item help
123 void OnUpdateItemHelp(wxUpdateUIEvent& event);
124
125 // Context menu events
126
127 /// Copy an item to the clipboard
128 void OnContextCopy(wxCommandEvent& event);
129
130 /// Copy an item to the clipboard and cut the item
131 void OnContextCut(wxCommandEvent& event);
132
133 /// Paste an item from the clipboard to the tree
134 void OnContextPasteBefore(wxCommandEvent& event);
135
136 /// Paste an item from the clipboard to the tree
137 void OnContextPasteAfter(wxCommandEvent& event);
138
139 /// Paste an item from the clipboard to the tree
140 void OnContextPasteAsChild(wxCommandEvent& event);
141
142 /// Copy an item to the clipboard
143 void OnUpdateContextCopy(wxUpdateUIEvent& event);
144
145 /// Copy an item to the clipboard and cut the item
146 void OnUpdateContextCut(wxUpdateUIEvent& event);
147
148 /// Paste an item from the clipboard to the tree
149 void OnUpdateContextPasteBefore(wxUpdateUIEvent& event);
150
151 /// Paste an item from the clipboard to the tree
152 void OnUpdateContextPasteAfter(wxUpdateUIEvent& event);
153
154 /// Paste an item from the clipboard to the tree
155 void OnUpdateContextPasteAsChild(wxUpdateUIEvent& event);
156
157 // Custom property events
158
159 /// Add a custom property
160 void OnAddCustomProperty(wxCommandEvent& event);
161
162 /// Edit a custom property
163 void OnEditCustomProperty(wxCommandEvent& event);
164
165 /// Delete a custom property
166 void OnDeleteCustomProperty(wxCommandEvent& event);
167
168 /// Add a custom property: update event
169 void OnUpdateAddCustomProperty(wxUpdateUIEvent& event);
170
171 /// Edit a custom property: update event
172 void OnUpdateEditCustomProperty(wxUpdateUIEvent& event);
173
174 /// Delete a custom property: update event
175 void OnUpdateDeleteCustomProperty(wxUpdateUIEvent& event);
176
177 // Notebook events
178
179 /// Regenerate if selected a tab
180 void OnTabSelect(wxNotebookEvent& event);
181
182 /// Saving setup file
183 void OnSaveSetupFile(wxCommandEvent& event);
184
185 /// Save configure command file
186 void OnSaveConfigureCommand(wxCommandEvent& event);
187
188 /// Saving setup file update handler
189 void OnUpdateSaveSetupFile(wxUpdateUIEvent& event);
190
191 /// Save configure command file update handler
192 void OnUpdateSaveConfigureCommand(wxUpdateUIEvent& event);
193
e7767867
JS
194 // Find
195
196 /// Find text
197 void OnFind(wxCommandEvent& event);
198
199 /// Update find text
200 void OnUpdateFind(wxUpdateUIEvent& event);
201
afc51590
JS
202 // Go (now: save setup.h or configurewx.sh. later: invoke configure/make)
203
204 /// Save default file type
205 void OnGo(wxCommandEvent& event);
206
207 /// Update
208 void OnUpdateGo(wxUpdateUIEvent& event);
209
d7463f75
JS
210DECLARE_EVENT_TABLE()
211
212protected:
213};
214
215/*
216 * ctConfigToolHint
217 *
218 * Hint to pass to UpdateAllViews
219 *
220 */
221
222// Update hint symbols
223#define ctNoHint 0
224#define ctAllSaved 1
225#define ctClear 2
226#define ctValueChanged 3
227#define ctSelChanged 4
228#define ctFilenameChanged 5
229#define ctInitialUpdate 6
230
231class ctConfigItem;
232class ctConfigToolHint: public wxObject
233{
234public:
235 ctConfigToolHint(ctConfigItem* item, int op) { m_item = item; m_op = op; }
236
237 ctConfigItem* m_item;
238 int m_op;
239};
240
e7767867
JS
241/*
242 * ctFindReplaceDialog
243 */
244
245class ctFindReplaceDialog: public wxFindReplaceDialog
246{
247public:
248 // constructors and destructors
249 ctFindReplaceDialog( wxWindow* parent, const wxString& title,
250 long style = 0 );
254a2129 251
e7767867
JS
252 void OnFind(wxFindDialogEvent& event);
253 void OnClose(wxFindDialogEvent& event);
254
4fe30bce 255 // If wrap is true, go back to the beginning if at the end of the
e7767867 256 // document.
4fe30bce 257 bool DoFind(const wxString& textToFind, bool matchCase, bool wholeWord, bool wrap = true);
e7767867
JS
258
259 ctConfigItem* FindNextItem(ctConfigToolDoc* doc,
260 ctConfigItem* item,
261 const wxString& text,
262 bool matchCase,
263 bool matchWordOnly,
264 bool wrap,
265 bool skipFirst);
266 static wxFindReplaceData sm_findData;
267 static wxString sm_currentItem; // card name
268
269private:
270 DECLARE_EVENT_TABLE()
271};
272
d7463f75
JS
273#endif
274 // _CT_CONFIGTOOLVIEW_H_