18 const wxString& title,
const wxPoint& pos,
19 const wxSize& size,
long style ) :
22 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
24 wxBoxSizer* bMainSizer;
25 bMainSizer =
new wxBoxSizer( wxVERTICAL );
28 m_infoBar->SetShowHideEffects( wxSHOW_EFFECT_NONE, wxSHOW_EFFECT_NONE );
32 bMainSizer->Add(
m_infoBar, 0, wxEXPAND | wxBOTTOM, 5 );
34 wxBoxSizer* bSizer151;
35 bSizer151 =
new wxBoxSizer( wxVERTICAL );
38 bSizer16 =
new wxBoxSizer( wxHORIZONTAL );
41 bSizer18 =
new wxBoxSizer( wxVERTICAL );
43 m_cellTextLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell contents:" ), wxDefaultPosition, wxDefaultSize, 0 );
48 new wxStyledTextCtrl(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN, wxEmptyString );
62 wxFont font = wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
63 wxFONTWEIGHT_NORMAL,
false, wxEmptyString );
66 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
67 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"BLACK" ) ) );
68 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"WHITE" ) ) );
69 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_BOXMINUS );
70 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"BLACK" ) ) );
71 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"WHITE" ) ) );
72 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_EMPTY );
73 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEREND, wxSTC_MARK_BOXPLUS );
74 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"BLACK" ) ) );
75 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"WHITE" ) ) );
76 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_BOXMINUS );
77 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"BLACK" ) ) );
78 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"WHITE" ) ) );
79 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_EMPTY );
80 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERTAIL, wxSTC_MARK_EMPTY );
81 m_cellTextCtrl->SetSelBackground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
82 m_cellTextCtrl->SetSelForeground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
83 m_cellTextCtrl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
84 wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
85 m_cellTextCtrl->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
91 bSizer16->Add( bSizer18, 1, wxEXPAND | wxRIGHT, 10 );
94 bSizer17 =
new wxBoxSizer( wxVERTICAL );
97 bSizer13 =
new wxBoxSizer( wxVERTICAL );
100 bSizer13->Add( 0, 20, 0, 0, 5 );
102 wxFlexGridSizer* fgTextStyleSizer;
103 fgTextStyleSizer =
new wxFlexGridSizer( 0, 2, 5, 5 );
104 fgTextStyleSizer->SetFlexibleDirection( wxBOTH );
105 fgTextStyleSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
107 wxStaticText* hAlignLabel;
108 hAlignLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Horizontal alignment:" ), wxDefaultPosition, wxDefaultSize, 0 );
109 hAlignLabel->Wrap( -1 );
110 hAlignLabel->SetToolTip(
_(
"Horizontal alignment" ) );
112 fgTextStyleSizer->Add( hAlignLabel, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5 );
114 wxBoxSizer* hAlignButtons;
115 hAlignButtons =
new wxBoxSizer( wxHORIZONTAL );
118 wxBU_AUTODRAW | wxBORDER_NONE );
121 hAlignButtons->Add(
m_hAlignLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
124 wxBU_AUTODRAW | wxBORDER_NONE );
127 hAlignButtons->Add(
m_hAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
130 wxBU_AUTODRAW | wxBORDER_NONE );
133 hAlignButtons->Add(
m_hAlignRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
136 fgTextStyleSizer->Add( hAlignButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
138 vAlignLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Vertical alignment:" ), wxDefaultPosition, wxDefaultSize, 0 );
142 fgTextStyleSizer->Add(
vAlignLabel, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5 );
144 wxBoxSizer* vAlignButtons;
145 vAlignButtons =
new wxBoxSizer( wxHORIZONTAL );
148 wxBU_AUTODRAW | wxBORDER_NONE );
151 vAlignButtons->Add(
m_vAlignTop, 0, wxALIGN_CENTER_VERTICAL, 5 );
154 wxBU_AUTODRAW | wxBORDER_NONE );
157 vAlignButtons->Add(
m_vAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
160 wxBU_AUTODRAW | wxBORDER_NONE );
163 vAlignButtons->Add(
m_vAlignBottom, 0, wxALIGN_CENTER_VERTICAL, 5 );
166 fgTextStyleSizer->Add( vAlignButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
169 bSizer13->Add( fgTextStyleSizer, 0, wxEXPAND, 5 );
171 wxBoxSizer* bMargins;
172 bMargins =
new wxBoxSizer( wxVERTICAL );
175 bMargins->Add( 0, 10, 0, wxEXPAND, 5 );
177 wxGridBagSizer* gbFontSizer;
178 gbFontSizer =
new wxGridBagSizer( 6, 5 );
179 gbFontSizer->SetFlexibleDirection( wxBOTH );
180 gbFontSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
181 gbFontSizer->SetEmptyCellSize( wxSize( -1, 5 ) );
183 m_styleLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Style:" ), wxDefaultPosition, wxDefaultSize, 0 );
185 gbFontSizer->Add(
m_styleLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxTOP, 1 );
187 wxBoxSizer* bSizer14;
188 bSizer14 =
new wxBoxSizer( wxHORIZONTAL );
190 m_bold =
new wxCheckBox(
this, wxID_ANY,
_(
"Bold" ), wxDefaultPosition, wxDefaultSize,
191 wxCHK_3STATE | wxCHK_ALLOW_3RD_STATE_FOR_USER );
192 bSizer14->Add(
m_bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
194 m_italic =
new wxCheckBox(
this, wxID_ANY,
_(
"Italic" ), wxDefaultPosition, wxDefaultSize,
195 wxCHK_3STATE | wxCHK_ALLOW_3RD_STATE_FOR_USER );
196 bSizer14->Add(
m_italic, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 45 );
199 gbFontSizer->Add( bSizer14, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND | wxTOP, 1 );
201 m_fontLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Font:" ), wxDefaultPosition, wxDefaultSize, 0 );
203 gbFontSizer->Add(
m_fontLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxLEFT, 1 );
205 wxString m_fontCtrlChoices[] = {
_(
"Default Font" ),
_(
"KiCad Font" ) };
206 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
208 m_fontCtrlChoices, 0 );
210 gbFontSizer->Add(
m_fontCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
212 m_textSizeLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Size:" ), wxDefaultPosition, wxDefaultSize, 0 );
214 gbFontSizer->Add(
m_textSizeLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
216 wxBoxSizer* bSizer15;
217 bSizer15 =
new wxBoxSizer( wxHORIZONTAL );
219 m_textSizeCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1, -1 ), 0 );
222 m_textSizeUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm" ), wxDefaultPosition, wxDefaultSize, 0 );
224 bSizer15->Add(
m_textSizeUnits, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, 3 );
227 gbFontSizer->Add( bSizer15, wxGBPosition( 2, 1 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL, 5 );
230 gbFontSizer->AddGrowableCol( 1 );
232 bMargins->Add( gbFontSizer, 0, wxEXPAND | wxBOTTOM, 5 );
234 wxFlexGridSizer* fgColorSizer;
235 fgColorSizer =
new wxFlexGridSizer( 0, 2, 4, 5 );
236 fgColorSizer->SetFlexibleDirection( wxBOTH );
237 fgColorSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
239 m_textColorLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text color:" ), wxDefaultPosition, wxDefaultSize, 0 );
243 m_textColorBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
244 wxPanel* textColorPopupPanel;
245 textColorPopupPanel =
new wxPanel(
m_textColorBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
246 wxBoxSizer* bSizer20;
247 bSizer20 =
new wxBoxSizer( wxVERTICAL );
249 wxString m_textColorPopupChoices[] = {
_(
"-- mixed values --" ),
_(
"Set Color..." ) };
250 int m_textColorPopupNChoices =
sizeof( m_textColorPopupChoices ) /
sizeof( wxString );
251 m_textColorPopup =
new wxChoice( textColorPopupPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
252 m_textColorPopupNChoices, m_textColorPopupChoices, 0 );
257 textColorPopupPanel->SetSizer( bSizer20 );
258 textColorPopupPanel->Layout();
259 bSizer20->Fit( textColorPopupPanel );
262 wxBoxSizer* bSizer222;
263 bSizer222 =
new wxBoxSizer( wxHORIZONTAL );
266 wxBORDER_SIMPLE | wxTAB_TRAVERSAL );
267 wxBoxSizer* bSizer221;
268 bSizer221 =
new wxBoxSizer( wxVERTICAL );
271 bSizer221->Add(
m_textColorSwatch, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL, 5 );
287 m_fillColorLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Background fill:" ), wxDefaultPosition, wxDefaultSize, 0 );
291 m_fillColorBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
292 wxPanel* fillColorPopupPanel;
293 fillColorPopupPanel =
new wxPanel(
m_fillColorBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
294 wxBoxSizer* bSizer211;
295 bSizer211 =
new wxBoxSizer( wxVERTICAL );
297 wxString m_fillColorPopupChoices[] = {
_(
"-- mixed values --" ),
_(
"Set Color..." ) };
298 int m_fillColorPopupNChoices =
sizeof( m_fillColorPopupChoices ) /
sizeof( wxString );
299 m_fillColorPopup =
new wxChoice( fillColorPopupPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
300 m_fillColorPopupNChoices, m_fillColorPopupChoices, 0 );
305 fillColorPopupPanel->SetSizer( bSizer211 );
306 fillColorPopupPanel->Layout();
307 bSizer211->Fit( fillColorPopupPanel );
310 wxBoxSizer* bSizer23;
311 bSizer23 =
new wxBoxSizer( wxHORIZONTAL );
314 wxBORDER_SIMPLE | wxTAB_TRAVERSAL );
315 wxBoxSizer* bSizer22;
316 bSizer22 =
new wxBoxSizer( wxVERTICAL );
319 bSizer22->Add(
m_fillColorSwatch, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL, 5 );
336 bMargins->Add( fgColorSizer, 0, wxEXPAND | wxTOP | wxBOTTOM, 20 );
339 bMargins->Add( 0, 5, 0, wxEXPAND, 5 );
341 wxGridSizer* gMarginsSizer;
342 gMarginsSizer =
new wxGridSizer( 0, 3, 4, 2 );
344 wxStaticText* marginsLabel;
345 marginsLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell margins:" ), wxDefaultPosition, wxDefaultSize, 0 );
346 marginsLabel->Wrap( -1 );
347 gMarginsSizer->Add( marginsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
349 m_marginTopCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
352 m_marginTopUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm" ), wxDefaultPosition, wxDefaultSize, 0 );
354 gMarginsSizer->Add(
m_marginTopUnits, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 2 );
356 m_marginLeftCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
360 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
362 m_marginRightCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
366 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
368 m_marginBottomCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
372 bMargins->Add( gMarginsSizer, 0, wxEXPAND, 5 );
375 bSizer13->Add( bMargins, 1, wxEXPAND | wxALL, 5 );
378 bSizer17->Add( bSizer13, 1, wxEXPAND | wxTOP | wxRIGHT | wxLEFT, 5 );
381 bSizer16->Add( bSizer17, 1, wxEXPAND | wxLEFT, 5 );
384 bSizer151->Add( bSizer16, 1, wxEXPAND, 5 );
387 bMainSizer->Add( bSizer151, 1, wxEXPAND | wxLEFT, 5 );
389 wxBoxSizer* bButtons;
390 bButtons =
new wxBoxSizer( wxHORIZONTAL );
392 m_editTable =
new wxButton(
this, wxID_ANY,
_(
"Edit Table..." ), wxDefaultPosition, wxDefaultSize, 0 );
393 m_editTable->SetToolTip(
_(
"Edit table properties and cell contents" ) );
395 bButtons->Add(
m_editTable, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10 );
397 m_syntaxHelp =
new wxHyperlinkCtrl(
this, wxID_ANY,
_(
"Syntax help" ), wxEmptyString, wxDefaultPosition,
398 wxDefaultSize, wxHL_DEFAULT_STYLE );
401 bButtons->Add(
m_syntaxHelp, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10 );
404 bButtons->Add( 0, 0, 1, wxEXPAND, 5 );
413 bButtons->Add(
m_sdbSizer1, 0, wxEXPAND | wxALL, 5 );
416 bMainSizer->Add( bButtons, 0, wxEXPAND, 5 );
419 this->SetSizer( bMainSizer );
421 bMainSizer->Fit(
this );
433 m_editTable->Connect( wxEVT_COMMAND_BUTTON_CLICKED,