15DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
17 this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
19 wxBoxSizer* bMainSizer;
20 bMainSizer =
new wxBoxSizer( wxVERTICAL );
22 m_splitterMainWindow =
new wxSplitterWindow(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME );
26 wxBoxSizer* bLeftSizer;
27 bLeftSizer =
new wxBoxSizer( wxVERTICAL );
30 bMargins =
new wxBoxSizer( wxVERTICAL );
68 wxBoxSizer* bFieldsButtons;
69 bFieldsButtons =
new wxBoxSizer( wxHORIZONTAL );
82 bFieldsButtons->Add( 15, 0, 0, wxEXPAND, 5 );
90 bMargins->Add( bFieldsButtons, 0, wxEXPAND|wxTOP, 5 );
93 bPresets =
new wxBoxSizer( wxVERTICAL );
103 bPresets->Add( 0, 2, 0, 0, 5 );
105 wxString m_cbBomPresetsChoices[] = {
_(
"Default"),
_(
"(unsaved)") };
106 int m_cbBomPresetsNChoices =
sizeof( m_cbBomPresetsChoices ) /
sizeof( wxString );
107 m_cbBomPresets =
new wxChoice(
m_leftPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cbBomPresetsNChoices, m_cbBomPresetsChoices, 0 );
112 bMargins->Add( bPresets, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
115 bLeftSizer->Add( bMargins, 1, wxEXPAND|wxALL, 5 );
122 wxBoxSizer* bRightSizer;
123 bRightSizer =
new wxBoxSizer( wxVERTICAL );
126 m_panelEdit =
new wxPanel(
m_nbPages, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
127 wxBoxSizer* bEditSizer;
128 bEditSizer =
new wxBoxSizer( wxVERTICAL );
130 wxBoxSizer* bControls;
131 bControls =
new wxBoxSizer( wxHORIZONTAL );
133 m_filter =
new wxSearchCtrl(
m_panelEdit, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
138 m_filter->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
139 m_filter->SetMinSize( wxSize( 240,-1 ) );
141 bControls->Add(
m_filter, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
146 wxString m_scopeChoices[] = {
_(
"Entire Project"),
_(
"Current Sheet Only"),
_(
"Current Sheet and Down") };
147 int m_scopeNChoices =
sizeof( m_scopeChoices ) /
sizeof( wxString );
148 m_scope =
new wxChoice(
m_panelEdit, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_scopeNChoices, m_scopeChoices, 0 );
150 bControls->Add(
m_scope, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
157 m_groupSymbolsBox->SetToolTip(
_(
"Group symbols together based on common properties") );
159 bControls->Add(
m_groupSymbolsBox, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 8 );
162 bControls->Add(
m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 3 );
167 bControls->Add(
m_bRefresh, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
170 m_bMenu->SetMinSize( wxSize( 30,30 ) );
172 bControls->Add(
m_bMenu, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
175 bEditSizer->Add( bControls, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
180 m_grid->CreateGrid( 5, 5 );
181 m_grid->EnableEditing(
true );
182 m_grid->EnableGridLines(
true );
183 m_grid->EnableDragGridSize(
false );
184 m_grid->SetMargins( 0, 0 );
187 m_grid->EnableDragColMove(
true );
188 m_grid->EnableDragColSize(
true );
189 m_grid->SetColLabelSize( 24 );
190 m_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
193 m_grid->EnableDragRowSize(
false );
194 m_grid->SetRowLabelSize( 0 );
195 m_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
200 m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
201 m_grid->SetMinSize( wxSize( 400,200 ) );
203 bEditSizer->Add(
m_grid, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
211 wxGridBagSizer* gbExport;
212 gbExport =
new wxGridBagSizer( 0, 5 );
213 gbExport->SetFlexibleDirection( wxBOTH );
214 gbExport->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
216 wxGridBagSizer* gbExportOptions;
217 gbExportOptions =
new wxGridBagSizer( 4, 5 );
218 gbExportOptions->SetFlexibleDirection( wxBOTH );
219 gbExportOptions->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
223 gbExportOptions->Add(
m_labelFieldDelimiter, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
228 gbExportOptions->Add(
m_textFieldDelimiter, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
232 gbExportOptions->Add(
m_labelStringDelimiter, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
237 gbExportOptions->Add(
m_textStringDelimiter, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
241 gbExportOptions->Add(
m_labelRefDelimiter, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
246 gbExportOptions->Add(
m_textRefDelimiter, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
250 gbExportOptions->Add(
m_labelRefRangeDelimiter, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
256 gbExportOptions->Add(
m_textRefRangeDelimiter, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
259 gbExportOptions->Add(
m_checkKeepTabs, wxGBPosition( 4, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
262 gbExportOptions->Add(
m_checkKeepLineBreaks, wxGBPosition( 5, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
265 gbExportOptions->Add(
m_staticline2, wxGBPosition( 7, 0 ), wxGBSpan( 1, 2 ), wxEXPAND|wxTOP|wxBOTTOM, 5 );
271 wxString m_cbBomFmtPresetsChoices[] = {
_(
"Default"),
_(
"(unsaved)") };
272 int m_cbBomFmtPresetsNChoices =
sizeof( m_cbBomFmtPresetsChoices ) /
sizeof( wxString );
273 m_cbBomFmtPresets =
new wxChoice(
m_panelExport, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cbBomFmtPresetsNChoices, m_cbBomFmtPresetsChoices, 0 );
275 gbExportOptions->Add(
m_cbBomFmtPresets, wxGBPosition( 9, 0 ), wxGBSpan( 1, 2 ), wxEXPAND, 5 );
278 gbExport->Add( gbExportOptions, wxGBPosition( 0, 0 ), wxGBSpan( 3, 1 ), wxEXPAND|wxALL, 5 );
280 wxBoxSizer* bOutputDirectory;
281 bOutputDirectory =
new wxBoxSizer( wxHORIZONTAL );
288 bOutputDirectory->Add(
m_outputFileName, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
293 bOutputDirectory->Add(
m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
296 gbExport->Add( bOutputDirectory, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM, 10 );
298 wxBoxSizer* bPreview;
299 bPreview =
new wxBoxSizer( wxHORIZONTAL );
303 bPreview->Add(
m_labelPreview, 0, wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
306 bPreview->Add( 0, 0, 1, wxEXPAND, 5 );
314 gbExport->Add( bPreview, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxTOP|wxBOTTOM, 3 );
316 m_textOutput =
new wxTextCtrl(
m_panelExport, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY );
317 m_textOutput->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
319 gbExport->Add(
m_textOutput, wxGBPosition( 2, 1 ), wxGBSpan( 2, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
322 gbExport->AddGrowableCol( 1 );
323 gbExport->AddGrowableRow( 3 );
330 bRightSizer->Add(
m_nbPages, 1, wxEXPAND|wxALL, 5 );
332 wxBoxSizer* bButtonsSizer;
333 bButtonsSizer =
new wxBoxSizer( wxHORIZONTAL );
338 bButtonsSizer->Add(
m_sidebarButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
341 bButtonsSizer->Add( 0, 0, 9, wxEXPAND, 5 );
344 bButtonsSizer->Add(
m_buttonExport, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 10 );
346 m_buttonApply =
new wxButton(
m_rightPanel, wxID_ANY,
_(
"Apply, Save Schematic && Continue"), wxDefaultPosition, wxDefaultSize, 0 );
347 bButtonsSizer->Add(
m_buttonApply, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 10 );
356 bButtonsSizer->Add(
m_sdbSizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
359 bRightSizer->Add( bButtonsSizer, 0, wxEXPAND, 5 );
369 this->SetSizer( bMainSizer );
371 bMainSizer->Fit(
this );
373 this->Centre( wxBOTH );