2
* This file is part of wxSmith plugin for Code::Blocks Studio
3
* Copyright (C) 2006-2007 Bartlomiej Swiecki
5
* wxSmith is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 3 of the License, or
8
* (at your option) any later version.
10
* wxSmith is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with wxSmith. If not, see <http://www.gnu.org/licenses/>.
19
* $Id: wxsnewwindowdlg.cpp 4850 2008-01-29 21:45:49Z byo $
20
* $HeadURL: svn://svn.berlios.de/codeblocks/tags/8.02/src/plugins/contrib/wxSmith/wxwidgets/wxsnewwindowdlg.cpp $
23
#include "wxsnewwindowdlg.h"
24
#include "wxwidgetsres.h"
25
#include "wxsdialogres.h"
26
#include "wxsframeres.h"
27
#include "wxspanelres.h"
28
#include "wxwidgetsgui.h"
29
#include "wxsitemresdata.h"
30
#include "../wxsmith.h"
31
#include "../wxsproject.h"
33
#include <logmanager.h>
34
#include <projectmanager.h>
35
#include <cbproject.h>
36
#include <projectfile.h>
38
//(*InternalHeaders(wxsNewWindowDlg)
40
#include <wx/string.h>
45
// Don't want to use wxFileName since it breaks slashes/backslashes stuff
47
wxString GetPathPart(const wxString& FileName)
49
for ( size_t i=FileName.Length(); i-->0; )
51
switch ( FileName[i] )
55
return FileName.Mid(0,i+1);
62
wxString GetNoExt(const wxString& FileName)
64
for ( size_t i=FileName.Length(); i-->0; )
66
switch ( FileName[i] )
73
return FileName.Mid(0,i);
80
//(*IdInit(wxsNewWindowDlg)
81
const long wxsNewWindowDlg::ID_STATICTEXT1 = wxNewId();
82
const long wxsNewWindowDlg::ID_TEXTCTRL1 = wxNewId();
83
const long wxsNewWindowDlg::ID_STATICTEXT2 = wxNewId();
84
const long wxsNewWindowDlg::ID_TEXTCTRL2 = wxNewId();
85
const long wxsNewWindowDlg::ID_STATICTEXT3 = wxNewId();
86
const long wxsNewWindowDlg::ID_TEXTCTRL3 = wxNewId();
87
const long wxsNewWindowDlg::ID_CHECKBOX1 = wxNewId();
88
const long wxsNewWindowDlg::ID_TEXTCTRL4 = wxNewId();
89
const long wxsNewWindowDlg::ID_CHECKBOX3 = wxNewId();
90
const long wxsNewWindowDlg::ID_BUTTON1 = wxNewId();
91
const long wxsNewWindowDlg::ID_CHECKBOX2 = wxNewId();
92
const long wxsNewWindowDlg::ID_COMBOBOX1 = wxNewId();
93
const long wxsNewWindowDlg::ID_STATICTEXT11 = wxNewId();
94
const long wxsNewWindowDlg::ID_TEXTCTRL8 = wxNewId();
95
const long wxsNewWindowDlg::ID_CHECKBOX4 = wxNewId();
96
const long wxsNewWindowDlg::ID_TEXTCTRL5 = wxNewId();
97
const long wxsNewWindowDlg::ID_STATICTEXT4 = wxNewId();
98
const long wxsNewWindowDlg::ID_TEXTCTRL6 = wxNewId();
99
const long wxsNewWindowDlg::ID_STATICTEXT7 = wxNewId();
100
const long wxsNewWindowDlg::ID_STATICTEXT8 = wxNewId();
101
const long wxsNewWindowDlg::ID_STATICTEXT9 = wxNewId();
102
const long wxsNewWindowDlg::ID_STATICTEXT10 = wxNewId();
103
const long wxsNewWindowDlg::ID_BUTTON2 = wxNewId();
104
const long wxsNewWindowDlg::ID_BUTTON3 = wxNewId();
105
const long wxsNewWindowDlg::ID_BUTTON4 = wxNewId();
106
const long wxsNewWindowDlg::ID_STATICTEXT5 = wxNewId();
107
const long wxsNewWindowDlg::ID_CHECKBOX5 = wxNewId();
108
const long wxsNewWindowDlg::ID_CHECKBOX9 = wxNewId();
109
const long wxsNewWindowDlg::ID_CHECKBOX6 = wxNewId();
110
const long wxsNewWindowDlg::ID_CHECKBOX10 = wxNewId();
111
const long wxsNewWindowDlg::ID_CHECKBOX7 = wxNewId();
112
const long wxsNewWindowDlg::ID_CHECKBOX11 = wxNewId();
113
const long wxsNewWindowDlg::ID_CHECKBOX8 = wxNewId();
114
const long wxsNewWindowDlg::ID_CHECKBOX12 = wxNewId();
115
const long wxsNewWindowDlg::ID_STATICTEXT6 = wxNewId();
116
const long wxsNewWindowDlg::ID_TEXTCTRL7 = wxNewId();
117
const long wxsNewWindowDlg::ID_CHECKBOX14 = wxNewId();
118
const long wxsNewWindowDlg::ID_CHECKBOX13 = wxNewId();
121
BEGIN_EVENT_TABLE(wxsNewWindowDlg,wxDialog)
122
//(*EventTable(wxsNewWindowDlg)
124
EVT_BUTTON(wxID_OK,wxsNewWindowDlg::OnCreate)
125
EVT_BUTTON(wxID_CANCEL,wxsNewWindowDlg::OnCancel)
128
wxsNewWindowDlg::wxsNewWindowDlg(wxWindow* parent,const wxString& ResType,wxsProject* Project):
129
m_SourceNotTouched(true),
130
m_HeaderNotTouched(true),
131
m_XrcNotTouched(true),
137
//(*Initialize(wxsNewWindowDlg)
138
wxStaticText* StaticText2;
139
wxStaticText* StaticText1;
140
wxStaticText* StaticText3;
142
Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY"));
143
m_RootSizer = new wxBoxSizer(wxVERTICAL);
144
StaticBoxSizer3 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Options"));
145
FlexGridSizer1 = new wxFlexGridSizer(0, 2, 5, 5);
146
FlexGridSizer1->AddGrowableCol(1);
147
StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Class Name:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
148
FlexGridSizer1->Add(StaticText1, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
149
m_Class = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxSize(80,-1), 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
150
FlexGridSizer1->Add(m_Class, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
151
StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Header file:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
152
FlexGridSizer1->Add(StaticText2, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
153
m_Header = new wxTextCtrl(this, ID_TEXTCTRL2, wxEmptyString, wxDefaultPosition, wxSize(80,-1), 0, wxDefaultValidator, _T("ID_TEXTCTRL2"));
154
FlexGridSizer1->Add(m_Header, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
155
StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Source file:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
156
FlexGridSizer1->Add(StaticText3, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
157
m_Source = new wxTextCtrl(this, ID_TEXTCTRL3, wxEmptyString, wxDefaultPosition, wxSize(80,-1), 0, wxDefaultValidator, _T("ID_TEXTCTRL3"));
158
FlexGridSizer1->Add(m_Source, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
159
m_UseXrc = new wxCheckBox(this, ID_CHECKBOX1, _("Xrc File:"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1"));
160
m_UseXrc->SetValue(false);
161
FlexGridSizer1->Add(m_UseXrc, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
162
m_Xrc = new wxTextCtrl(this, ID_TEXTCTRL4, wxEmptyString, wxDefaultPosition, wxSize(80,-1), 0, wxDefaultValidator, _T("ID_TEXTCTRL4"));
163
FlexGridSizer1->Add(m_Xrc, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
164
FlexGridSizer1->Add(10,6,1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
165
m_XRCAutoload = new wxCheckBox(this, ID_CHECKBOX3, _("Add XRC file to autoload list"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX3"));
166
m_XRCAutoload->SetValue(false);
167
m_XRCAutoload->Disable();
168
FlexGridSizer1->Add(m_XRCAutoload, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
169
StaticBoxSizer3->Add(FlexGridSizer1, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
170
m_RootSizer->Add(StaticBoxSizer3, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
171
m_AdvOps = new wxButton(this, ID_BUTTON1, _("+ Advanced options"), wxDefaultPosition, wxDefaultSize, wxBU_LEFT|wxNO_BORDER, wxDefaultValidator, _T("ID_BUTTON1"));
172
m_RootSizer->Add(m_AdvOps, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
173
m_AdvancedOptionsSizer = new wxStaticBoxSizer(wxVERTICAL, this, wxEmptyString);
174
FlexGridSizer2 = new wxFlexGridSizer(0, 2, 5, 5);
175
FlexGridSizer2->AddGrowableCol(1);
176
m_UsePCH = new wxCheckBox(this, ID_CHECKBOX2, _("Use PCH:"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX2"));
177
m_UsePCH->SetValue(false);
178
FlexGridSizer2->Add(m_UsePCH, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
179
m_Pch = new wxComboBox(this, ID_COMBOBOX1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_COMBOBOX1"));
180
FlexGridSizer2->Add(m_Pch, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
181
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
182
BoxSizer1->Add(21,16,0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
183
StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("PCH guard define:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11"));
184
BoxSizer1->Add(StaticText11, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
185
FlexGridSizer2->Add(BoxSizer1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
186
m_PchGuard = new wxTextCtrl(this, ID_TEXTCTRL8, _("WX_PRECOMP"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL8"));
187
FlexGridSizer2->Add(m_PchGuard, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
188
m_UseInitFunc = new wxCheckBox(this, ID_CHECKBOX4, _("Init code in function:"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX4"));
189
m_UseInitFunc->SetValue(false);
190
FlexGridSizer2->Add(m_UseInitFunc, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
191
m_InitFunc = new wxTextCtrl(this, ID_TEXTCTRL5, _("BuildContent"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL5"));
192
m_InitFunc->Disable();
193
FlexGridSizer2->Add(m_InitFunc, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
194
StaticText4 = new wxStaticText(this, ID_STATICTEXT4, _("Base class name:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
195
FlexGridSizer2->Add(StaticText4, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
196
m_BaseClass = new wxTextCtrl(this, ID_TEXTCTRL6, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL6"));
197
FlexGridSizer2->Add(m_BaseClass, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
198
StaticText7 = new wxStaticText(this, ID_STATICTEXT7, _("Scopes:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
199
FlexGridSizer2->Add(StaticText7, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
200
FlexGridSizer4 = new wxFlexGridSizer(0, 3, 0, 5);
201
FlexGridSizer4->AddGrowableCol(0);
202
FlexGridSizer4->AddGrowableCol(1);
203
FlexGridSizer4->AddGrowableCol(2);
204
StaticText8 = new wxStaticText(this, ID_STATICTEXT8, _("IDs:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
205
FlexGridSizer4->Add(StaticText8, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
206
StaticText9 = new wxStaticText(this, ID_STATICTEXT9, _("Members:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9"));
207
FlexGridSizer4->Add(StaticText9, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
208
StaticText10 = new wxStaticText(this, ID_STATICTEXT10, _("Handlers:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10"));
209
FlexGridSizer4->Add(StaticText10, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
210
m_ScopeIds = new wxButton(this, ID_BUTTON2, _("Public"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
211
FlexGridSizer4->Add(m_ScopeIds, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
212
m_ScopeMembers = new wxButton(this, ID_BUTTON3, _("Public"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3"));
213
FlexGridSizer4->Add(m_ScopeMembers, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
214
m_ScopeHandlers = new wxButton(this, ID_BUTTON4, _("Public"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON4"));
215
FlexGridSizer4->Add(m_ScopeHandlers, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
216
FlexGridSizer2->Add(FlexGridSizer4, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
217
StaticText5 = new wxStaticText(this, ID_STATICTEXT5, _("Constructor arguments:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
218
FlexGridSizer2->Add(StaticText5, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
219
FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 10);
220
FlexGridSizer3->AddGrowableCol(0);
221
m_CtorParent = new wxCheckBox(this, ID_CHECKBOX5, _("Parent"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX5"));
222
m_CtorParent->SetValue(true);
223
FlexGridSizer3->Add(m_CtorParent, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
224
m_CtorParentDef = new wxCheckBox(this, ID_CHECKBOX9, _("Def. value"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX9"));
225
m_CtorParentDef->SetValue(false);
226
FlexGridSizer3->Add(m_CtorParentDef, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
227
m_CtorId = new wxCheckBox(this, ID_CHECKBOX6, _("Id"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX6"));
228
m_CtorId->SetValue(true);
229
FlexGridSizer3->Add(m_CtorId, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
230
m_CtorIdDef = new wxCheckBox(this, ID_CHECKBOX10, _("Def. value"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX10"));
231
m_CtorIdDef->SetValue(true);
232
FlexGridSizer3->Add(m_CtorIdDef, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
233
m_CtorPos = new wxCheckBox(this, ID_CHECKBOX7, _("Position"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX7"));
234
m_CtorPos->SetValue(false);
235
FlexGridSizer3->Add(m_CtorPos, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
236
m_CtorPosDef = new wxCheckBox(this, ID_CHECKBOX11, _("Def. value"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX11"));
237
m_CtorPosDef->SetValue(true);
238
m_CtorPosDef->Disable();
239
FlexGridSizer3->Add(m_CtorPosDef, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
240
m_CtorSize = new wxCheckBox(this, ID_CHECKBOX8, _("Size"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX8"));
241
m_CtorSize->SetValue(false);
242
FlexGridSizer3->Add(m_CtorSize, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
243
m_CtorSizeDef = new wxCheckBox(this, ID_CHECKBOX12, _("Def. value"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX12"));
244
m_CtorSizeDef->SetValue(true);
245
m_CtorSizeDef->Disable();
246
FlexGridSizer3->Add(m_CtorSizeDef, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
247
FlexGridSizer2->Add(FlexGridSizer3, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
248
StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Custom arguments:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
249
FlexGridSizer2->Add(StaticText6, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
250
m_CtorCustom = new wxTextCtrl(this, ID_TEXTCTRL7, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7"));
251
FlexGridSizer2->Add(m_CtorCustom, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
252
m_AdvancedOptionsSizer->Add(FlexGridSizer2, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
253
m_UseFwdDecl = new wxCheckBox(this, ID_CHECKBOX14, _("Use forward declarations"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX14"));
254
m_UseFwdDecl->SetValue(false);
255
m_AdvancedOptionsSizer->Add(m_UseFwdDecl, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
256
m_AddWxs = new wxCheckBox(this, ID_CHECKBOX13, _("Add wxs file to project"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX13"));
257
m_AddWxs->SetValue(false);
258
m_AdvancedOptionsSizer->Add(m_AddWxs, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
259
m_RootSizer->Add(m_AdvancedOptionsSizer, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
260
m_RootSizer->Add(300,5,0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
261
StdDialogButtonSizer1 = new wxStdDialogButtonSizer();
262
StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_OK, wxEmptyString));
263
StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_CANCEL, wxEmptyString));
264
StdDialogButtonSizer1->Realize();
265
m_RootSizer->Add(StdDialogButtonSizer1, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
266
SetSizer(m_RootSizer);
267
m_RootSizer->Fit(this);
268
m_RootSizer->SetSizeHints(this);
270
Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&wxsNewWindowDlg::OnClassChanged);
271
Connect(ID_TEXTCTRL2,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&wxsNewWindowDlg::OnHeaderChanged);
272
Connect(ID_TEXTCTRL3,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&wxsNewWindowDlg::OnSourceChanged);
273
Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnUseXrcChange);
274
Connect(ID_TEXTCTRL4,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&wxsNewWindowDlg::OnXrcChanged);
275
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnAdvOpsClick);
276
Connect(ID_CHECKBOX2,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnUsePCHClick);
277
Connect(ID_CHECKBOX4,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnUseInitFuncClick);
278
Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnScopeIdsClick);
279
Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnScopeMembersClick);
280
Connect(ID_BUTTON4,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnScopeHandlersClick);
281
Connect(ID_CHECKBOX5,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorParentClick);
282
Connect(ID_CHECKBOX9,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorParentDefClick);
283
Connect(ID_CHECKBOX6,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorIdClick);
284
Connect(ID_CHECKBOX10,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorIdDefClick);
285
Connect(ID_CHECKBOX7,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorPosClick);
286
Connect(ID_CHECKBOX11,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorPosDefClick);
287
Connect(ID_CHECKBOX8,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorSizeClick);
288
Connect(ID_CHECKBOX12,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&wxsNewWindowDlg::OnCtorSizeDefClick);
291
ConfigManager* Cfg = Manager::Get()->GetConfigManager(_T("wxsmith"));
294
m_SourceDirectory = Cfg->Read(_T("/newresource/sourcedirectory"),_T(""));
296
wxString StrippedName = ResType.Mid(2);
297
wxString ResName = wxString::Format(_("New%s"),StrippedName.c_str());
298
m_Class->SetValue(ResName);
299
m_Source->SetValue(m_SourceDirectory + ResName+_T(".cpp"));
300
m_Header->SetValue(m_SourceDirectory + ResName+_T(".h"));
301
m_Xrc ->SetValue(m_SourceDirectory + ResName+_T(".xrc"));
303
SetTitle(wxString::Format(_("New %s resource"),ResType.c_str()));
305
m_BaseClass->SetValue(ResType);
306
wxCommandEvent event;
307
OnAdvOpsClick(event);
310
m_Project->GetGUI() &&
311
m_Project->GetGUI()->GetName()==_T("wxWidgets") &&
312
m_Project->GetGUI()->CheckIfApplicationManaged();
313
m_XRCAutoload->SetValue(m_AppManaged);
315
m_UseInitFunc->SetValue(Cfg->ReadBool(_T("/newresource/useinitfunc"),m_UseInitFunc->GetValue()));
316
m_InitFunc->Enable(m_UseInitFunc->GetValue());
317
m_InitFunc->SetValue(Cfg->Read(_T("/newresource/initfunc"),m_InitFunc->GetValue()));
318
m_CtorParent->SetValue(Cfg->ReadBool(_T("/newresource/ctorparent"),m_CtorParent->GetValue()));
319
m_CtorParentDef->Enable(m_CtorParent->GetValue());
320
m_CtorParentDef->SetValue(Cfg->ReadBool(_T("/newresource/ctorparentdef"),m_CtorParentDef->GetValue()));
321
m_CtorId->SetValue(Cfg->ReadBool(_T("/newresource/ctorid"),m_CtorId->GetValue()));
322
m_CtorIdDef->Enable(m_CtorId->GetValue());
323
m_CtorIdDef->SetValue(Cfg->ReadBool(_T("/newresource/ctorid"),m_CtorIdDef->GetValue()));
324
m_CtorPos->SetValue(Cfg->ReadBool(_T("/newresource/ctorpos"),m_CtorPos->GetValue()));
325
m_CtorPosDef->Enable(m_CtorPos->GetValue());
326
m_CtorPosDef->SetValue(Cfg->ReadBool(_T("/newresource/ctorpos"),m_CtorPosDef->GetValue()));
327
m_CtorSize->SetValue(Cfg->ReadBool(_T("/newresource/ctorsize"),m_CtorSize->GetValue()));
328
m_CtorSizeDef->Enable(m_CtorSize->GetValue());
329
m_CtorSizeDef->SetValue(Cfg->ReadBool(_T("/newresource/ctorsize"),m_CtorSizeDef->GetValue()));
330
m_UseXrc->SetValue(Cfg->ReadBool(_T("/newresource/usexrc"),m_UseXrc->GetValue()));
331
m_Xrc->Enable(m_UseXrc->GetValue());
332
m_XRCAutoload->SetValue(Cfg->ReadBool(_T("/newresource/xrcautoloag"),m_XRCAutoload->GetValue()));
333
m_AddWxs->SetValue(Cfg->ReadBool(_T("/newresource/addwxs"),m_AddWxs->GetValue()));
334
m_ScopeIdsVal = (wxsItemRes::NewResourceParams::Scope)Cfg->ReadInt(_T("/newresource/scopeids"),(int)wxsItemRes::NewResourceParams::Protected);
335
m_ScopeMembersVal = (wxsItemRes::NewResourceParams::Scope)Cfg->ReadInt(_T("/newresource/scopemembers"),(int)wxsItemRes::NewResourceParams::Public);
336
m_ScopeHandlersVal = (wxsItemRes::NewResourceParams::Scope)Cfg->ReadInt(_T("/newresource/scopehandlers"),(int)wxsItemRes::NewResourceParams::Private);
337
m_UseFwdDecl->SetValue(Cfg->ReadBool(_T("/newresource/usefwddecl"),m_UseFwdDecl->GetValue()));
338
m_PchGuard->SetValue(Cfg->Read(_T("/newresource/pchguard"),m_PchGuard->GetValue()));
339
UpdateScopeButtons();
340
OnUseXrcChange(event);
346
wxsNewWindowDlg::~wxsNewWindowDlg()
348
//(*Destroy(wxsNewWindowDlg)
352
void wxsNewWindowDlg::OnCancel(wxCommandEvent& event)
354
EndModal(wxID_CANCEL);
357
void wxsNewWindowDlg::OnCreate(wxCommandEvent& event)
359
bool CreateXrc = m_UseXrc->GetValue();
360
cbProject* cbProj = m_Project->GetCBProject();
362
wxsItemRes::NewResourceParams Params;
363
Params.Class = m_Class->GetValue();
364
Params.Src = m_Source->GetValue();
365
Params.Hdr = m_Header->GetValue();
366
Params.Xrc = CreateXrc ? m_Xrc->GetValue() : _T("");
367
Params.Pch = m_Pch->GetValue();
369
Params.InitFunc = m_InitFunc->GetValue();
370
Params.BaseClass = m_BaseClass->GetValue();
371
Params.CustomCtorArgs = m_CtorCustom->GetValue();
372
Params.UsePch = m_UsePCH->GetValue();
373
Params.UseInitFunc = m_UseInitFunc->GetValue();
374
Params.CtorParent = m_CtorParent->GetValue();
375
Params.CtorParentDef = m_CtorParentDef->GetValue();
376
Params.CtorId = m_CtorId->GetValue();
377
Params.CtorIdDef = m_CtorIdDef->GetValue();
378
Params.CtorPos = m_CtorPos->GetValue();
379
Params.CtorPosDef = m_CtorPosDef->GetValue();
380
Params.CtorSize = m_CtorSize->GetValue();
381
Params.CtorSizeDef = m_CtorSizeDef->GetValue();
382
Params.ScopeIds = m_ScopeIdsVal;
383
Params.ScopeMembers = m_ScopeMembersVal;
384
Params.ScopeHandlers = m_ScopeHandlersVal;
385
Params.UseFwdDecl = m_UseFwdDecl->GetValue();
386
Params.PchGuard = m_PchGuard->GetValue();
388
// Need to do some checks
390
// TODO: Do not use fixed language
391
if ( !wxsCodeMarks::ValidateIdentifier(wxsCPP,Params.Class) )
393
wxMessageBox(_("Invalid class name"));
397
// Validating base class
398
if ( !wxsCodeMarks::ValidateIdentifier(wxsCPP,Params.BaseClass) )
400
wxMessageBox(_("Invalid name of base class"));
404
// Validating init function name
405
if ( Params.UseInitFunc && !wxsCodeMarks::ValidateIdentifier(wxsCPP,Params.InitFunc) )
407
wxMessageBox(_("Invalid name of init function"));
411
// Checking if there's given resoure in current project
412
if ( m_Project->FindResource(Params.Class) )
414
wxMessageBox(wxString::Format(_("Resource '%s' already exists"),Params.Class.c_str()));
418
// Validating PCH guard if needed
419
if ( Params.UsePch && (Params.PchGuard.IsEmpty() || !wxsCodeMarks::ValidateIdentifier(wxsCPP,Params.PchGuard)) )
421
wxMessageBox(_("Invalid name of pch guard"));
425
// Checking if files already exist
426
wxString ProjectPrefix = m_Project->GetProjectPath();
427
Params.GenHdr = true;
428
if ( wxFileName::FileExists(ProjectPrefix+Params.Hdr) )
430
switch ( wxMessageBox(wxString::Format(
431
_("File '%s' already exists. Overwrite it ?"),Params.Hdr.c_str()),
433
wxYES_NO|wxCANCEL|wxICON_ERROR) )
435
case wxCANCEL: return;
436
case wxNO: Params.GenHdr = false; break;
440
Params.GenSrc = true;
441
if ( wxFileName::FileExists(ProjectPrefix+Params.Src) )
443
switch ( wxMessageBox(wxString::Format(
444
_("File '%s' already exists. Overwrite it ?"),Params.Src.c_str()),
445
_("File exists"),wxYES_NO|wxCANCEL|wxICON_ERROR) )
447
case wxCANCEL: return;
448
case wxNO: Params.GenSrc = false; break;
452
Params.GenXrc = CreateXrc;
453
if ( wxFileName::FileExists(ProjectPrefix+Params.Xrc) )
455
// We will add new resource to existing one creating multi-resource xrc
456
Params.GenXrc = false;
459
// Disable button to prevent more clicks while resource is created
460
wxWindow* OkBtn = FindWindowById(wxID_OK);
466
// Creating new resource
467
wxsItemRes* NewResource = 0;
469
if ( m_Type == _T("wxDialog") )
471
NewResource = new wxsDialogRes(m_Project);
473
else if ( m_Type == _T("wxFrame") )
475
NewResource = new wxsFrameRes(m_Project);
477
else if ( m_Type == _T("wxPanel") )
479
NewResource = new wxsPanelRes(m_Project);
483
Manager::Get()->GetLogManager()->DebugLog(_T("wxSmith: Internal error: unknown type when creating resource"));
484
EndModal(wxID_CANCEL);
489
if ( !NewResource->CreateNewResource(Params) )
492
Manager::Get()->GetLogManager()->DebugLog(_T("wxSmith: Couldn't generate new resource"));
493
EndModal(wxID_CANCEL);
497
wxsItemResData* Data = NewResource->BuildResData(0);
500
// Updating content of resource
501
// This is done to allow XRC loader load proper data
502
if ( !PrepareResource(NewResource,Data) )
504
wxMessageBox(_("Error while initializing resource"));
508
EndModal(wxID_CANCEL);
512
if ( !m_Project->AddResource(NewResource) )
514
wxMessageBox(_("Error while adding new resource into project"));
518
EndModal(wxID_CANCEL);
526
// Register xrc file in autoload list if needed
527
if ( m_AppManaged && CreateXrc && m_XRCAutoload->GetValue() && !Params.Xrc.IsEmpty() )
529
wxWidgetsGUI* GUI = wxDynamicCast(m_Project->GetGUI(),wxWidgetsGUI);
532
wxArrayString& AutoList = GUI->GetLoadedResources();
533
if ( AutoList.Index(Params.Xrc) == wxNOT_FOUND )
535
AutoList.Add(Params.Xrc);
536
GUI->RebuildApplicationCode();
541
// Adding new files to project
543
Manager::Get()->GetProjectManager()->AddFileToProject(Params.Hdr,cbProj,Targets);
544
if (Targets.GetCount() != 0)
546
Manager::Get()->GetProjectManager()->AddFileToProject(Params.Src,cbProj,Targets);
547
if ( !Params.Wxs.IsEmpty() && m_AddWxs->GetValue() )
549
Manager::Get()->GetProjectManager()->AddFileToProject(Params.Wxs,cbProj,Targets);
552
Manager::Get()->GetProjectManager()->RebuildTree();
554
// Opening editor for this resource
555
NewResource->EditOpen();
557
// Saving configuration
559
ConfigManager* Cfg = Manager::Get()->GetConfigManager(_T("wxsmith"));
560
Cfg->Write(_T("/newresource/useinitfunc"),m_UseInitFunc->GetValue());
561
Cfg->Write(_T("/newresource/initfunc"),m_InitFunc->GetValue());
562
Cfg->Write(_T("/newresource/ctorparent"),m_CtorParent->GetValue());
563
Cfg->Write(_T("/newresource/ctorparentdef"),m_CtorParentDef->GetValue());
564
Cfg->Write(_T("/newresource/ctorid"),m_CtorId->GetValue());
565
Cfg->Write(_T("/newresource/ctorid"),m_CtorIdDef->GetValue());
566
Cfg->Write(_T("/newresource/ctorpos"),m_CtorPos->GetValue());
567
Cfg->Write(_T("/newresource/ctorpos"),m_CtorPosDef->GetValue());
568
Cfg->Write(_T("/newresource/ctorsize"),m_CtorSize->GetValue());
569
Cfg->Write(_T("/newresource/ctorsize"),m_CtorSizeDef->GetValue());
570
Cfg->Write(_T("/newresource/usexrc"),m_UseXrc->GetValue());
571
Cfg->Write(_T("/newresource/xrcautoloag"),m_XRCAutoload->GetValue());
572
Cfg->Write(_T("/newresource/addwxs"),m_AddWxs->GetValue());
573
Cfg->Write(_T("/newresource/scopeids"),(int)m_ScopeIdsVal);
574
Cfg->Write(_T("/newresource/scopemembers"),(int)m_ScopeMembersVal);
575
Cfg->Write(_T("/newresource/scopehandlers"),(int)m_ScopeHandlersVal);
576
Cfg->Write(_T("/newresource/sourcedirectory"),m_SourceDirectory);
577
Cfg->Write(_T("/newresource/usefwddecl"),m_UseFwdDecl->GetValue());
578
Cfg->Write(_T("/newresource/pchguard"),m_PchGuard->GetValue());
583
void wxsNewWindowDlg::OnClassChanged(wxCommandEvent& event)
585
if ( m_BlockText ) return;
587
if ( m_HeaderNotTouched ) m_Header->SetValue(m_SourceDirectory + m_Class->GetValue() + _T(".h"));
588
if ( m_SourceNotTouched ) m_Source->SetValue(m_SourceDirectory + m_Class->GetValue() + _T(".cpp"));
589
if ( m_XrcNotTouched ) m_Xrc-> SetValue(m_SourceDirectory + m_Class->GetValue() + _T(".xrc"));
593
void wxsNewWindowDlg::OnSourceChanged(wxCommandEvent& event)
595
if ( m_BlockText ) return;
597
m_SourceNotTouched = false;
601
void wxsNewWindowDlg::OnHeaderChanged(wxCommandEvent& event)
603
if ( m_BlockText ) return;
605
m_SourceDirectory = GetPathPart(m_Header->GetValue());
606
wxString Base = GetNoExt(m_Header->GetValue());
607
if ( m_SourceNotTouched )
609
m_Source->SetValue(Base+_T(".cpp"));
611
if ( m_XrcNotTouched )
613
m_Xrc->SetValue(Base+_T(".h"));
615
m_HeaderNotTouched = false;
619
void wxsNewWindowDlg::OnUseXrcChange(wxCommandEvent& event)
621
m_Xrc->Enable(m_UseXrc->GetValue());
622
m_XRCAutoload->Enable(m_UseXrc->GetValue() && m_AppManaged);
624
if ( m_UseXrc->GetValue() )
626
m_CtorParent->SetValue(true);
627
m_CtorId->SetValue(false);
628
m_CtorPos->SetValue(false);
629
m_CtorSize->SetValue(false);
630
m_CtorParent->Disable();
632
m_CtorPos->Disable();
633
m_CtorSize->Disable();
634
m_CtorParentDef->Enable();
635
m_CtorIdDef->Disable();
636
m_CtorPosDef->Disable();
637
m_CtorSizeDef->Disable();
641
m_CtorParent->Enable();
644
m_CtorSize->Enable();
648
void wxsNewWindowDlg::OnXrcChanged(wxCommandEvent& event)
650
if ( m_BlockText ) return;
652
m_XrcNotTouched = false;
656
wxString wxsNewWindowDlg::DetectPchFile()
658
// Searching for files that are good candidates for pch files
659
cbProject* Proj = m_Project->GetCBProject();
660
for ( int i=0; i<Proj->GetFilesCount(); i++ )
662
ProjectFile* File = Proj->GetFile(i);
663
if ( File && File->file.GetExt()==_T("h") && File->compile )
665
int Index = m_Pch->Append(File->relativeFilename);
666
if ( File->file.GetFullName() == _T("wx_pch.h") )
668
// Since wx_pch.h is default pch file generated
669
// by wizard, it's preffered as pch choice
670
m_Pch->SetSelection(Index);
675
// Updating the rest of stuff
676
if ( m_Pch->GetCount() == 0 )
678
m_UsePCH->SetValue(false);
683
m_UsePCH->SetValue(true);
684
if ( m_Pch->GetSelection() == wxNOT_FOUND )
686
m_Pch->SetSelection(0);
690
return m_Pch->GetStringSelection();
693
void wxsNewWindowDlg::OnUsePCHClick(wxCommandEvent& event)
695
m_Pch->Enable(m_UsePCH->GetValue());
696
m_PchGuard->Enable(m_UsePCH->GetValue());
699
void wxsNewWindowDlg::OnCtorParentClick(wxCommandEvent& event)
701
m_CtorParentDef->Enable(m_CtorParent->GetValue());
704
void wxsNewWindowDlg::OnCtorIdClick(wxCommandEvent& event)
706
m_CtorIdDef->Enable(m_CtorId->GetValue());
709
void wxsNewWindowDlg::OnCtorPosClick(wxCommandEvent& event)
711
m_CtorPosDef->Enable(m_CtorPos->GetValue());
714
void wxsNewWindowDlg::OnCtorSizeClick(wxCommandEvent& event)
716
m_CtorSizeDef->Enable(m_CtorSize->GetValue());
719
void wxsNewWindowDlg::OnCtorParentDefClick(wxCommandEvent& event)
721
if ( m_CtorParentDef->GetValue() )
723
m_CtorIdDef->SetValue(true);
724
m_CtorPosDef->SetValue(true);
725
m_CtorSizeDef->SetValue(true);
732
void wxsNewWindowDlg::OnCtorIdDefClick(wxCommandEvent& event)
734
if ( m_CtorIdDef->GetValue() )
736
m_CtorPosDef->SetValue(true);
737
m_CtorSizeDef->SetValue(true);
741
m_CtorParentDef->SetValue(false);
745
void wxsNewWindowDlg::OnCtorPosDefClick(wxCommandEvent& event)
747
if ( m_CtorPosDef->GetValue() )
749
m_CtorSizeDef->SetValue(true);
753
m_CtorIdDef->SetValue(false);
754
m_CtorParentDef->SetValue(false);
758
void wxsNewWindowDlg::OnCtorSizeDefClick(wxCommandEvent& event)
760
if ( m_CtorSizeDef->GetValue() )
765
m_CtorIdDef->SetValue(false);
766
m_CtorParentDef->SetValue(false);
767
m_CtorPosDef->SetValue(false);
771
void wxsNewWindowDlg::OnUseInitFuncClick(wxCommandEvent& event)
773
m_InitFunc->Enable(m_UseInitFunc->GetValue());
776
void wxsNewWindowDlg::OnAdvOpsClick(wxCommandEvent& event)
779
m_AdvOpsShown = !m_AdvOpsShown;
780
wxString BaseLabel = _("Advanced options");
783
m_RootSizer->Show(m_AdvancedOptionsSizer);
784
m_AdvOps->SetLabel(_T("- ") + BaseLabel);
788
m_RootSizer->Hide(m_AdvancedOptionsSizer);
789
m_AdvOps->SetLabel(_T("+ ") + BaseLabel);
791
SetMinSize(wxSize(10,10));
792
SetSize(wxSize(10,10));
794
m_RootSizer->Fit(this);
795
m_RootSizer->SetSizeHints(this);
799
bool wxsNewWindowDlg::PrepareResource(wxsItemRes* Res,wxsItemResData* Data)
801
wxsBaseProperties* Props = Data->GetRootItem()->GetBaseProps();
803
Props->m_ParentFromArg = m_CtorParent->GetValue();
804
Props->m_IdFromArg = m_CtorId->GetValue();
805
Props->m_PositionFromArg = m_CtorPos->GetValue();
806
Props->m_SizeFromArg = m_CtorSize->GetValue();
811
void wxsNewWindowDlg::OnScopeIdsClick(wxCommandEvent& event)
813
switch ( m_ScopeIdsVal )
815
case wxsItemRes::NewResourceParams::Public: m_ScopeIdsVal = wxsItemRes::NewResourceParams::Protected; break;
816
case wxsItemRes::NewResourceParams::Protected: m_ScopeIdsVal = wxsItemRes::NewResourceParams::Private; break;
817
default: m_ScopeIdsVal = wxsItemRes::NewResourceParams::Public; break;
819
UpdateScopeButtons();
822
void wxsNewWindowDlg::OnScopeMembersClick(wxCommandEvent& event)
824
switch ( m_ScopeMembersVal )
826
case wxsItemRes::NewResourceParams::Public: m_ScopeMembersVal = wxsItemRes::NewResourceParams::Protected; break;
827
case wxsItemRes::NewResourceParams::Protected: m_ScopeMembersVal = wxsItemRes::NewResourceParams::Private; break;
828
default: m_ScopeMembersVal = wxsItemRes::NewResourceParams::Public; break;
830
UpdateScopeButtons();
833
void wxsNewWindowDlg::OnScopeHandlersClick(wxCommandEvent& event)
835
switch ( m_ScopeHandlersVal )
837
case wxsItemRes::NewResourceParams::Public: m_ScopeHandlersVal = wxsItemRes::NewResourceParams::Protected; break;
838
case wxsItemRes::NewResourceParams::Protected: m_ScopeHandlersVal = wxsItemRes::NewResourceParams::Private; break;
839
default: m_ScopeHandlersVal = wxsItemRes::NewResourceParams::Public; break;
841
UpdateScopeButtons();
844
void wxsNewWindowDlg::UpdateScopeButtons()
846
switch ( m_ScopeIdsVal )
848
case wxsItemRes::NewResourceParams::Public: m_ScopeIds->SetLabel(_T("Public")); break;
849
case wxsItemRes::NewResourceParams::Protected: m_ScopeIds->SetLabel(_T("Protected")); break;
850
default: m_ScopeIds->SetLabel(_T("Private")); break;
852
switch ( m_ScopeMembersVal )
854
case wxsItemRes::NewResourceParams::Public: m_ScopeMembers->SetLabel(_T("Public")); break;
855
case wxsItemRes::NewResourceParams::Protected: m_ScopeMembers->SetLabel(_T("Protected")); break;
856
default: m_ScopeMembers->SetLabel(_T("Private")); break;
858
switch ( m_ScopeHandlersVal )
860
case wxsItemRes::NewResourceParams::Public: m_ScopeHandlers->SetLabel(_T("Public")); break;
861
case wxsItemRes::NewResourceParams::Protected: m_ScopeHandlers->SetLabel(_T("Protected")); break;
862
default: m_ScopeHandlers->SetLabel(_T("Private")); break;