16DIALOG_DATABASE_LIB_SETTINGS_BASE::DIALOG_DATABASE_LIB_SETTINGS_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
18 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
20 wxBoxSizer* bMainSizer;
21 bMainSizer =
new wxBoxSizer( wxVERTICAL );
24 m_infoBar->SetShowHideEffects( wxSHOW_EFFECT_NONE, wxSHOW_EFFECT_NONE );
26 bMainSizer->Add(
m_infoBar, 0, wxEXPAND|wxBOTTOM, 5 );
28 m_splitter =
new wxSplitterWindow(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_LIVE_UPDATE );
35 bEdit =
new wxBoxSizer( wxVERTICAL );
40 wxBoxSizer* bConnection;
41 bConnection =
new wxBoxSizer( wxVERTICAL );
43 wxStaticBoxSizer* sbMetadata;
44 sbMetadata =
new wxStaticBoxSizer(
new wxStaticBox(
m_connectionPage, wxID_ANY,
_(
"Library") ), wxVERTICAL );
46 wxFlexGridSizer* fgMetadata;
47 fgMetadata =
new wxFlexGridSizer( 0, 2, 5, 5 );
48 fgMetadata->AddGrowableCol( 1 );
49 fgMetadata->SetFlexibleDirection( wxBOTH );
50 fgMetadata->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
52 wxStaticText* m_nameLabel;
53 m_nameLabel =
new wxStaticText( sbMetadata->GetStaticBox(), wxID_ANY,
_(
"Name:"), wxDefaultPosition, wxDefaultSize, 0 );
54 m_nameLabel->Wrap( -1 );
55 m_nameLabel->SetToolTip(
_(
"Names the contents of this file. The nickname shown in the symbol library table is set in the library table, not here.") );
57 fgMetadata->Add( m_nameLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
59 m_txtName =
new wxTextCtrl( sbMetadata->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
60 m_txtName->SetToolTip(
_(
"Names the contents of this file. The nickname shown in the symbol library table is set in the library table, not here.") );
62 fgMetadata->Add(
m_txtName, 1, wxEXPAND, 5 );
64 wxStaticText* m_descriptionLabel;
65 m_descriptionLabel =
new wxStaticText( sbMetadata->GetStaticBox(), wxID_ANY,
_(
"Description:"), wxDefaultPosition, wxDefaultSize, 0 );
66 m_descriptionLabel->Wrap( -1 );
67 m_descriptionLabel->SetToolTip(
_(
"Describes the contents of this file. The nickname shown in the symbol library table is set in the library table, not here.") );
69 fgMetadata->Add( m_descriptionLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
71 m_txtDescription =
new wxTextCtrl( sbMetadata->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
72 m_txtDescription->SetToolTip(
_(
"Describes the contents of this file. The nickname shown in the symbol library table is set in the library table, not here.") );
77 sbMetadata->Add( fgMetadata, 0, wxEXPAND|wxALL, 5 );
80 bConnection->Add( sbMetadata, 0, wxEXPAND|wxALL, 5 );
82 wxStaticBoxSizer* sbSource;
83 sbSource =
new wxStaticBoxSizer(
new wxStaticBox(
m_connectionPage, wxID_ANY,
_(
"Data Source") ), wxVERTICAL );
85 m_rbDSN =
new wxRadioButton( sbSource->GetStaticBox(), wxID_ANY,
_(
"ODBC data source name (DSN)"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
86 sbSource->Add(
m_rbDSN, 0, wxALL, 5 );
88 wxFlexGridSizer* fgDSN;
89 fgDSN =
new wxFlexGridSizer( 0, 2, 5, 5 );
90 fgDSN->AddGrowableCol( 1 );
91 fgDSN->SetFlexibleDirection( wxBOTH );
92 fgDSN->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
94 wxStaticText* m_dsnLabel;
95 m_dsnLabel =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"Data source:"), wxDefaultPosition, wxDefaultSize, 0 );
96 m_dsnLabel->Wrap( -1 );
97 fgDSN->Add( m_dsnLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
99 m_cbDSN =
new wxComboBox( sbSource->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
100 fgDSN->Add(
m_cbDSN, 1, wxEXPAND, 5 );
103 fgDSN->Add( 0, 0, 0, wxEXPAND, 5 );
105 wxBoxSizer* bDsnInfo;
106 bDsnInfo =
new wxBoxSizer( wxHORIZONTAL );
108 m_stDsnDriver =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END );
110 bDsnInfo->Add(
m_stDsnDriver, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
112 m_btnManageDsn =
new wxButton( sbSource->GetStaticBox(), wxID_ANY,
_(
"Manage Data Sources..."), wxDefaultPosition, wxDefaultSize, 0 );
116 fgDSN->Add( bDsnInfo, 0, wxEXPAND, 0 );
118 wxStaticText* m_userLabel;
119 m_userLabel =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"Username:"), wxDefaultPosition, wxDefaultSize, 0 );
120 m_userLabel->Wrap( -1 );
121 fgDSN->Add( m_userLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
123 m_txtUser =
new wxTextCtrl( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
126 wxStaticText* m_passwordLabel;
127 m_passwordLabel =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"Password:"), wxDefaultPosition, wxDefaultSize, 0 );
128 m_passwordLabel->Wrap( -1 );
129 fgDSN->Add( m_passwordLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
131 m_txtPassword =
new wxTextCtrl( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
135 sbSource->Add( fgDSN, 0, wxEXPAND|wxLEFT|wxRIGHT, 25 );
137 m_cbPasswordInFile =
new wxCheckBox( sbSource->GetStaticBox(), wxID_ANY,
_(
"Save password in the library file"), wxDefaultPosition, wxDefaultSize, 0 );
138 m_cbPasswordInFile->SetToolTip(
_(
"The library file is stored in plain text and is often shared. When unchecked, the password is kept in this computer's system keyring.") );
142 m_rbConnectionString =
new wxRadioButton( sbSource->GetStaticBox(), wxID_ANY,
_(
"Connection string"), wxDefaultPosition, wxDefaultSize, 0 );
145 m_txtConnectionString =
new wxTextCtrl( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
151 bDriver =
new wxBoxSizer( wxHORIZONTAL );
153 wxStaticText* m_driverLabel;
154 m_driverLabel =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"Insert driver:"), wxDefaultPosition, wxDefaultSize, 0 );
155 m_driverLabel->Wrap( -1 );
156 bDriver->Add( m_driverLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
158 wxArrayString m_choiceDriverChoices;
159 m_choiceDriver =
new wxChoice( sbSource->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceDriverChoices, 0 );
164 sbSource->Add( bDriver, 0, wxEXPAND|wxLEFT|wxTOP, 25 );
166 m_stCwdHelp =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"${CWD}"), wxDefaultPosition, wxDefaultSize, 0 );
170 wxBoxSizer* bTimeout;
171 bTimeout =
new wxBoxSizer( wxHORIZONTAL );
173 wxStaticText* m_timeoutLabel;
174 m_timeoutLabel =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"Connection timeout:"), wxDefaultPosition, wxDefaultSize, 0 );
175 m_timeoutLabel->Wrap( -1 );
176 m_timeoutLabel->SetToolTip(
_(
"How long to wait for the database to answer before a connection attempt is given up.") );
178 bTimeout->Add( m_timeoutLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
180 m_spinTimeout =
new wxSpinCtrl( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 999, 2 );
181 m_spinTimeout->SetToolTip(
_(
"How long to wait for the database to answer before a connection attempt is given up.") );
183 bTimeout->Add(
m_spinTimeout, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
185 wxStaticText* m_timeoutUnits;
186 m_timeoutUnits =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY,
_(
"seconds"), wxDefaultPosition, wxDefaultSize, 0 );
187 m_timeoutUnits->Wrap( -1 );
188 bTimeout->Add( m_timeoutUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
191 sbSource->Add( bTimeout, 0, wxTOP|wxLEFT, 10 );
194 bTest =
new wxBoxSizer( wxHORIZONTAL );
196 m_btnTest =
new wxButton( sbSource->GetStaticBox(), wxID_ANY,
_(
"Test Connection"), wxDefaultPosition, wxDefaultSize, 0 );
197 bTest->Add(
m_btnTest, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
199 m_stConnectionStatus =
new wxStaticText( sbSource->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END );
204 sbSource->Add( bTest, 0, wxEXPAND|wxALL, 5 );
207 bConnection->Add( sbSource, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5 );
209 wxStaticBoxSizer* sbOptions;
210 sbOptions =
new wxStaticBoxSizer(
new wxStaticBox(
m_connectionPage, wxID_ANY,
_(
"Advanced") ), wxVERTICAL );
212 wxFlexGridSizer* fgCache;
213 fgCache =
new wxFlexGridSizer( 0, 3, 5, 5 );
214 fgCache->SetFlexibleDirection( wxBOTH );
215 fgCache->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
217 wxStaticText* m_cacheSizeLabel;
218 m_cacheSizeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Cache size:"), wxDefaultPosition, wxDefaultSize, 0 );
219 m_cacheSizeLabel->Wrap( -1 );
220 m_cacheSizeLabel->SetToolTip(
_(
"Number of tables kept in memory; each holds the rows read from it.") );
222 fgCache->Add( m_cacheSizeLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
224 m_spinCacheSize =
new wxSpinCtrl( sbOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 99999, 256 );
225 m_spinCacheSize->SetToolTip(
_(
"Number of tables kept in memory; each holds the rows read from it.") );
229 wxStaticText* m_cacheSizeUnits;
230 m_cacheSizeUnits =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"tables"), wxDefaultPosition, wxDefaultSize, 0 );
231 m_cacheSizeUnits->Wrap( -1 );
232 fgCache->Add( m_cacheSizeUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
234 wxStaticText* m_cacheAgeLabel;
235 m_cacheAgeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Cache lifetime:"), wxDefaultPosition, wxDefaultSize, 0 );
236 m_cacheAgeLabel->Wrap( -1 );
237 m_cacheAgeLabel->SetToolTip(
_(
"How long a cached row is trusted before it is read from the database again.") );
239 fgCache->Add( m_cacheAgeLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
241 m_spinCacheAge =
new wxSpinCtrl( sbOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 99999, 60 );
242 m_spinCacheAge->SetToolTip(
_(
"How long a cached row is trusted before it is read from the database again.") );
246 wxStaticText* m_cacheAgeUnits;
247 m_cacheAgeUnits =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"seconds"), wxDefaultPosition, wxDefaultSize, 0 );
248 m_cacheAgeUnits->Wrap( -1 );
249 fgCache->Add( m_cacheAgeUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
252 sbOptions->Add( fgCache, 0, wxALL, 5 );
254 m_cbGloballyUniqueKeys =
new wxCheckBox( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Name symbols by key only, without the library nickname"), wxDefaultPosition, wxDefaultSize, 0 );
255 m_cbGloballyUniqueKeys->SetToolTip(
_(
"Use only when every key is unique across all libraries in this file. Symbols are then named by key alone, for example C14996, instead of Diodes/C14996.") );
260 bConnection->Add( sbOptions, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5 );
267 m_librariesPage =
new wxScrolledWindow(
m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL|wxVSCROLL );
269 wxBoxSizer* bLibrariesPage;
270 bLibrariesPage =
new wxBoxSizer( wxVERTICAL );
272 wxBoxSizer* bLibraries;
273 bLibraries =
new wxBoxSizer( wxHORIZONTAL );
275 wxBoxSizer* bLibList;
276 bLibList =
new wxBoxSizer( wxVERTICAL );
278 m_stNoLibraries =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"No libraries yet. Add one to map a database table to symbols."), wxDefaultPosition, wxDefaultSize, 0 );
286 m_libList->SetMinSize( wxSize( 160,-1 ) );
288 bLibList->Add(
m_libList, 1, wxEXPAND|wxBOTTOM, 5 );
290 wxBoxSizer* bLibButtons;
291 bLibButtons =
new wxBoxSizer( wxHORIZONTAL );
314 bLibButtons->Add( 0, 0, 1, wxEXPAND, 5 );
322 bLibList->Add( bLibButtons, 0, wxEXPAND, 0 );
325 bLibraries->Add( bLibList, 0, wxEXPAND|wxALL, 5 );
327 wxBoxSizer* bLibDetails;
328 bLibDetails =
new wxBoxSizer( wxVERTICAL );
330 wxFlexGridSizer* fgLibrary;
331 fgLibrary =
new wxFlexGridSizer( 0, 2, 5, 5 );
332 fgLibrary->AddGrowableCol( 1 );
333 fgLibrary->SetFlexibleDirection( wxBOTH );
334 fgLibrary->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
336 wxStaticText* m_libNameLabel;
337 m_libNameLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Nickname:"), wxDefaultPosition, wxDefaultSize, 0 );
338 m_libNameLabel->Wrap( -1 );
339 fgLibrary->Add( m_libNameLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
345 fgLibrary->Add( 0, 0, 0, wxEXPAND, 5 );
351 wxStaticText* m_tableLabel;
352 m_tableLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Table: *"), wxDefaultPosition, wxDefaultSize, 0 );
353 m_tableLabel->Wrap( -1 );
354 fgLibrary->Add( m_tableLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
357 fgLibrary->Add(
m_cbTable, 1, wxEXPAND, 5 );
359 wxStaticText* m_keyLabel;
360 m_keyLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Key column: *"), wxDefaultPosition, wxDefaultSize, 0 );
361 m_keyLabel->Wrap( -1 );
362 fgLibrary->Add( m_keyLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
367 wxStaticText* m_symbolsLabel;
368 m_symbolsLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Symbols column:"), wxDefaultPosition, wxDefaultSize, 0 );
369 m_symbolsLabel->Wrap( -1 );
370 fgLibrary->Add( m_symbolsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
375 wxStaticText* m_footprintsLabel;
376 m_footprintsLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Footprints column:"), wxDefaultPosition, wxDefaultSize, 0 );
377 m_footprintsLabel->Wrap( -1 );
378 fgLibrary->Add( m_footprintsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
383 wxStaticText* m_pinsLabel;
384 m_pinsLabel =
new wxStaticText(
m_librariesPage, wxID_ANY,
_(
"Pin map column:"), wxDefaultPosition, wxDefaultSize, 0 );
385 m_pinsLabel->Wrap( -1 );
386 m_pinsLabel->SetToolTip(
_(
"Optional column holding JSON that maps symbol pin numbers to footprint pads, for example [{\"sym\":\"1\",\"fp\":\"A\"},{\"sym\":\"2\",\"fp\":\"K\"}]") );
388 fgLibrary->Add( m_pinsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
391 m_cbPinsCol->SetToolTip(
_(
"Optional column holding JSON that maps symbol pin numbers to footprint pads, for example [{\"sym\":\"1\",\"fp\":\"A\"},{\"sym\":\"2\",\"fp\":\"K\"}]") );
396 bLibDetails->Add( fgLibrary, 0, wxEXPAND|wxBOTTOM, 5 );
402 wxStaticBoxSizer* sbProperties;
403 sbProperties =
new wxStaticBoxSizer(
new wxStaticBox(
m_librariesPage, wxID_ANY,
_(
"Symbol Properties (optional)") ), wxVERTICAL );
405 wxFlexGridSizer* fgProperties;
406 fgProperties =
new wxFlexGridSizer( 0, 2, 5, 5 );
407 fgProperties->AddGrowableCol( 1 );
408 fgProperties->SetFlexibleDirection( wxBOTH );
409 fgProperties->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
411 wxStaticText* m_propDescLabel;
412 m_propDescLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Description:"), wxDefaultPosition, wxDefaultSize, 0 );
413 m_propDescLabel->Wrap( -1 );
414 fgProperties->Add( m_propDescLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
416 m_cbDescriptionCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
419 wxStaticText* m_propKeywordsLabel;
420 m_propKeywordsLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Keywords:"), wxDefaultPosition, wxDefaultSize, 0 );
421 m_propKeywordsLabel->Wrap( -1 );
422 fgProperties->Add( m_propKeywordsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
424 m_cbKeywordsCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
427 wxStaticText* m_propFpFiltersLabel;
428 m_propFpFiltersLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Footprint filters:"), wxDefaultPosition, wxDefaultSize, 0 );
429 m_propFpFiltersLabel->Wrap( -1 );
430 fgProperties->Add( m_propFpFiltersLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
432 m_cbFpFiltersCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
435 wxStaticText* m_propExclSimLabel;
436 m_propExclSimLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Exclude from simulation:"), wxDefaultPosition, wxDefaultSize, 0 );
437 m_propExclSimLabel->Wrap( -1 );
438 fgProperties->Add( m_propExclSimLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
440 m_cbExclSimCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
443 wxStaticText* m_propExclBomLabel;
444 m_propExclBomLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Exclude from BOM:"), wxDefaultPosition, wxDefaultSize, 0 );
445 m_propExclBomLabel->Wrap( -1 );
446 fgProperties->Add( m_propExclBomLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
448 m_cbExclBomCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
451 wxStaticText* m_propExclBoardLabel;
452 m_propExclBoardLabel =
new wxStaticText( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Exclude from board:"), wxDefaultPosition, wxDefaultSize, 0 );
453 m_propExclBoardLabel->Wrap( -1 );
454 fgProperties->Add( m_propExclBoardLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
456 m_cbExclBoardCol =
new wxComboBox( sbProperties->GetStaticBox(), wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
460 sbProperties->Add( fgProperties, 0, wxEXPAND|wxALL, 5 );
463 bLibDetails->Add( sbProperties, 0, wxEXPAND|wxBOTTOM, 5 );
466 bLibraries->Add( bLibDetails, 1, wxEXPAND|wxTOP|wxRIGHT|wxBOTTOM, 5 );
469 bLibrariesPage->Add( bLibraries, 0, wxEXPAND, 5 );
471 wxStaticBoxSizer* sbFields;
472 sbFields =
new wxStaticBoxSizer(
new wxStaticBox(
m_librariesPage, wxID_ANY,
_(
"Fields") ), wxVERTICAL );
475 bFields =
new wxBoxSizer( wxVERTICAL );
477 m_fieldsGrid =
new WX_GRID( sbFields->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
496 m_fieldsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
501 m_fieldsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
506 m_fieldsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
511 wxBoxSizer* bFieldButtons;
512 bFieldButtons =
new wxBoxSizer( wxHORIZONTAL );
535 bFieldButtons->Add( 0, 0, 1, wxEXPAND, 5 );
537 m_btnAddUnmapped =
new wxButton( sbFields->GetStaticBox(), wxID_ANY,
_(
"Add Unmapped Columns"), wxDefaultPosition, wxDefaultSize, 0 );
541 bFields->Add( bFieldButtons, 0, wxEXPAND|wxLEFT|wxBOTTOM, 5 );
544 sbFields->Add( bFields, 1, wxEXPAND, 5 );
547 bLibrariesPage->Add( sbFields, 1, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5 );
554 m_dataPage =
new wxPanel(
m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
556 bData =
new wxBoxSizer( wxVERTICAL );
570 m_dataGrid->SetColLabelSize( wxGRID_AUTOSIZE );
571 m_dataGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
576 m_dataGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
581 m_dataGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
584 bData->Add(
m_dataGrid, 1, wxEXPAND|wxALL, 5 );
588 bData->Add(
m_stDataStatus, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5 );
596 bEdit->Add(
m_notebook, 1, wxEXPAND|wxALL, 5 );
610 bMainSizer->Add(
m_splitter, 1, wxEXPAND|wxALL, 5 );
619 bMainSizer->Add(
m_sdbSizer, 0, wxEXPAND|wxALL, 5 );
622 this->SetSizer( bMainSizer );
625 this->Centre( wxBOTH );