17 const wxString& title,
const wxPoint& pos,
18 const wxSize& size,
long style ) :
21 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
23 wxBoxSizer* bMainSizer;
24 bMainSizer =
new wxBoxSizer( wxVERTICAL );
27 m_infoBar->SetShowHideEffects( wxSHOW_EFFECT_NONE, wxSHOW_EFFECT_NONE );
28 m_infoBar->SetEffectDuration( 500 );
31 bMainSizer->Add( m_infoBar, 0, wxEXPAND | wxBOTTOM, 5 );
34 bSizer7 =
new wxBoxSizer( wxHORIZONTAL );
37 bSizer8 =
new wxBoxSizer( wxVERTICAL );
39 m_cellTextLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell contents:" ), wxDefaultPosition, wxDefaultSize, 0 );
40 m_cellTextLabel->Wrap( -1 );
41 bSizer8->Add( m_cellTextLabel, 0, wxTOP | wxRIGHT | wxLEFT, 5 );
44 new wxStyledTextCtrl(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN, wxEmptyString );
45 m_cellTextCtrl->SetUseTabs(
false );
46 m_cellTextCtrl->SetTabWidth( 4 );
47 m_cellTextCtrl->SetIndent( 4 );
48 m_cellTextCtrl->SetTabIndents(
false );
49 m_cellTextCtrl->SetBackSpaceUnIndents(
false );
50 m_cellTextCtrl->SetViewEOL(
false );
51 m_cellTextCtrl->SetViewWhiteSpace(
false );
52 m_cellTextCtrl->SetMarginWidth( 2, 0 );
53 m_cellTextCtrl->SetIndentationGuides(
false );
54 m_cellTextCtrl->SetReadOnly(
false );
55 m_cellTextCtrl->SetMarginWidth( 1, 0 );
56 m_cellTextCtrl->SetMarginWidth( 0, 0 );
57 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
58 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"BLACK" ) ) );
59 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"WHITE" ) ) );
60 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_BOXMINUS );
61 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"BLACK" ) ) );
62 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"WHITE" ) ) );
63 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_EMPTY );
64 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEREND, wxSTC_MARK_BOXPLUS );
65 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"BLACK" ) ) );
66 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"WHITE" ) ) );
67 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_BOXMINUS );
68 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"BLACK" ) ) );
69 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"WHITE" ) ) );
70 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_EMPTY );
71 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERTAIL, wxSTC_MARK_EMPTY );
72 m_cellTextCtrl->SetSelBackground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
73 m_cellTextCtrl->SetSelForeground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
74 bSizer8->Add( m_cellTextCtrl, 1, wxEXPAND | wxALL, 2 );
77 bSizer7->Add( bSizer8, 1, wxEXPAND | wxTOP | wxRIGHT, 5 );
80 bSizer9 =
new wxBoxSizer( wxVERTICAL );
83 bMargins =
new wxBoxSizer( wxVERTICAL );
85 wxGridBagSizer* gbFontSizer;
86 gbFontSizer =
new wxGridBagSizer( 3, 5 );
87 gbFontSizer->SetFlexibleDirection( wxBOTH );
88 gbFontSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
89 gbFontSizer->SetEmptyCellSize( wxSize( -1, 5 ) );
91 m_fontLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Font:" ), wxDefaultPosition, wxDefaultSize, 0 );
92 m_fontLabel->Wrap( -1 );
93 gbFontSizer->Add( m_fontLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxLEFT, 1 );
95 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font" ) };
96 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
97 m_fontCtrl =
new FONT_CHOICE(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices,
98 m_fontCtrlChoices, 0 );
99 m_fontCtrl->SetSelection( 0 );
100 gbFontSizer->Add( m_fontCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
103 gbFontSizer->AddGrowableCol( 1 );
105 bMargins->Add( gbFontSizer, 0, wxEXPAND | wxBOTTOM, 5 );
107 wxFlexGridSizer* fgTextStyleSizer;
108 fgTextStyleSizer =
new wxFlexGridSizer( 0, 2, 5, 5 );
109 fgTextStyleSizer->SetFlexibleDirection( wxBOTH );
110 fgTextStyleSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
112 wxBoxSizer* hAlignButtons;
113 hAlignButtons =
new wxBoxSizer( wxHORIZONTAL );
115 m_bold =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
116 wxBU_AUTODRAW | wxBORDER_NONE );
117 hAlignButtons->Add( m_bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
119 m_italic =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
120 wxBU_AUTODRAW | wxBORDER_NONE );
121 hAlignButtons->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL, 5 );
123 m_separator0 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
124 wxBU_AUTODRAW | wxBORDER_NONE );
125 m_separator0->Enable(
false );
127 hAlignButtons->Add( m_separator0, 0, wxALIGN_CENTER_VERTICAL, 5 );
129 m_hAlignLeft =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
130 wxBU_AUTODRAW | wxBORDER_NONE );
131 m_hAlignLeft->SetToolTip(
_(
"Align left" ) );
133 hAlignButtons->Add( m_hAlignLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
135 m_hAlignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
136 wxBU_AUTODRAW | wxBORDER_NONE );
137 m_hAlignCenter->SetToolTip(
_(
"Align horizontal center" ) );
139 hAlignButtons->Add( m_hAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
141 m_hAlignRight =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
142 wxBU_AUTODRAW | wxBORDER_NONE );
143 m_hAlignRight->SetToolTip(
_(
"Align right" ) );
145 hAlignButtons->Add( m_hAlignRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
147 m_separator1 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
148 wxBU_AUTODRAW | wxBORDER_NONE );
149 m_separator1->Enable(
false );
151 hAlignButtons->Add( m_separator1, 0, wxALL, 5 );
153 m_vAlignTop =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
154 wxBU_AUTODRAW | wxBORDER_NONE );
155 m_vAlignTop->SetToolTip(
_(
"Align top" ) );
157 hAlignButtons->Add( m_vAlignTop, 0, wxALIGN_CENTER_VERTICAL, 5 );
159 m_vAlignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
160 wxBU_AUTODRAW | wxBORDER_NONE );
161 m_vAlignCenter->SetToolTip(
_(
"Align vertical center" ) );
163 hAlignButtons->Add( m_vAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
165 m_vAlignBottom =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
166 wxBU_AUTODRAW | wxBORDER_NONE );
167 m_vAlignBottom->SetToolTip(
_(
"Align bottom" ) );
169 hAlignButtons->Add( m_vAlignBottom, 0, wxALIGN_CENTER_VERTICAL, 5 );
172 fgTextStyleSizer->Add( hAlignButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
175 bMargins->Add( fgTextStyleSizer, 1, wxEXPAND, 5 );
177 wxGridBagSizer* gbSizer1;
178 gbSizer1 =
new wxGridBagSizer( 3, 5 );
179 gbSizer1->SetFlexibleDirection( wxBOTH );
180 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
181 gbSizer1->SetEmptyCellSize( wxSize( -1, 8 ) );
183 m_SizeXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text width:" ), wxDefaultPosition, wxDefaultSize, 0 );
184 m_SizeXLabel->Wrap( -1 );
185 m_SizeXLabel->SetToolTip(
_(
"Text width" ) );
187 gbSizer1->Add( m_SizeXLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
189 m_SizeXCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
190 gbSizer1->Add( m_SizeXCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
192 m_SizeXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit" ), wxDefaultPosition, wxDefaultSize, 0 );
193 m_SizeXUnits->Wrap( -1 );
194 gbSizer1->Add( m_SizeXUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
196 m_SizeYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text height:" ), wxDefaultPosition, wxDefaultSize, 0 );
197 m_SizeYLabel->Wrap( -1 );
198 m_SizeYLabel->SetToolTip(
_(
"Text height" ) );
200 gbSizer1->Add( m_SizeYLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
202 m_SizeYCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
203 gbSizer1->Add( m_SizeYCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
205 m_SizeYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit" ), wxDefaultPosition, wxDefaultSize, 0 );
206 m_SizeYUnits->Wrap( -1 );
207 gbSizer1->Add( m_SizeYUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
209 m_ThicknessLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Thickness:" ), wxDefaultPosition, wxDefaultSize, 0 );
210 m_ThicknessLabel->Wrap( -1 );
211 m_ThicknessLabel->SetToolTip(
_(
"Text thickness" ) );
213 gbSizer1->Add( m_ThicknessLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
216 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
217 gbSizer1->Add( m_ThicknessCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
219 m_ThicknessUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit" ), wxDefaultPosition, wxDefaultSize, 0 );
220 m_ThicknessUnits->Wrap( -1 );
221 gbSizer1->Add( m_ThicknessUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
223 m_autoTextThickness =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize,
224 wxBU_AUTODRAW | wxBORDER_NONE );
225 m_autoTextThickness->SetToolTip(
_(
"Adjust the text thickness" ) );
227 gbSizer1->Add( m_autoTextThickness, wxGBPosition( 2, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
230 bMargins->Add( gbSizer1, 0, wxEXPAND | wxTOP, 5 );
233 bMargins->Add( 0, 20, 0, wxEXPAND, 5 );
235 wxGridSizer* gMarginsSizer;
236 gMarginsSizer =
new wxGridSizer( 0, 3, 4, 2 );
238 wxStaticText* marginsLabel;
239 marginsLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell margins:" ), wxDefaultPosition, wxDefaultSize, 0 );
240 marginsLabel->Wrap( -1 );
241 gMarginsSizer->Add( marginsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
243 m_marginTopCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
244 gMarginsSizer->Add( m_marginTopCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
246 m_marginTopUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm" ), wxDefaultPosition, wxDefaultSize, 0 );
247 m_marginTopUnits->Wrap( -1 );
248 gMarginsSizer->Add( m_marginTopUnits, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 2 );
250 m_marginLeftCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
251 gMarginsSizer->Add( m_marginLeftCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
254 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
256 m_marginRightCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
257 gMarginsSizer->Add( m_marginRightCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
260 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
262 m_marginBottomCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
263 gMarginsSizer->Add( m_marginBottomCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
266 bMargins->Add( gMarginsSizer, 0, wxEXPAND, 5 );
269 bSizer9->Add( bMargins, 1, wxEXPAND | wxALL, 10 );
272 bSizer7->Add( bSizer9, 1, wxEXPAND, 5 );
275 bMainSizer->Add( bSizer7, 1, wxEXPAND | wxLEFT, 5 );
277 wxBoxSizer* bButtons;
278 bButtons =
new wxBoxSizer( wxHORIZONTAL );
280 m_editTable =
new wxButton(
this, wxID_ANY,
_(
"Edit Table..." ), wxDefaultPosition, wxDefaultSize, 0 );
281 m_editTable->SetToolTip(
_(
"Edit table properties and cell contents" ) );
283 bButtons->Add( m_editTable, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10 );
285 m_syntaxHelp =
new wxHyperlinkCtrl(
this, wxID_ANY,
_(
"Syntax help" ), wxEmptyString, wxDefaultPosition,
286 wxDefaultSize, wxHL_DEFAULT_STYLE );
287 m_syntaxHelp->SetToolTip(
_(
"Show syntax help window" ) );
289 bButtons->Add( m_syntaxHelp, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10 );
292 bButtons->Add( 0, 0, 1, wxEXPAND, 5 );
294 m_sdbSizer1 =
new wxStdDialogButtonSizer();
295 m_sdbSizer1OK =
new wxButton(
this, wxID_OK );
296 m_sdbSizer1->AddButton( m_sdbSizer1OK );
297 m_sdbSizer1Cancel =
new wxButton(
this, wxID_CANCEL );
298 m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
299 m_sdbSizer1->Realize();
301 bButtons->Add( m_sdbSizer1, 0, wxEXPAND | wxALL, 5 );
304 bMainSizer->Add( bButtons, 0, wxEXPAND, 5 );
307 this->SetSizer( bMainSizer );
309 bMainSizer->Fit(
this );
312 m_bold->Connect( wxEVT_COMMAND_BUTTON_CLICKED,
314 m_SizeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED,
316 m_SizeXCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER,
318 m_SizeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED,
320 m_SizeYCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER,
322 m_ThicknessCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED,
324 m_autoTextThickness->Connect( wxEVT_COMMAND_BUTTON_CLICKED,
327 m_editTable->Connect( wxEVT_COMMAND_BUTTON_CLICKED,
329 m_syntaxHelp->Connect( wxEVT_COMMAND_HYPERLINK,
336 m_bold->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED,
338 m_SizeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED,
342 m_SizeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED,
351 m_editTable->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED,
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
DIALOG_TABLECELL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Table Cell Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1, -1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void onBoldToggle(wxCommandEvent &event)
wxHyperlinkCtrl * m_syntaxHelp
virtual void onTextSize(wxCommandEvent &event)
~DIALOG_TABLECELL_PROPERTIES_BASE()
virtual void OnOkClick(wxCommandEvent &event)
BITMAP_BUTTON * m_autoTextThickness
virtual void onEditTable(wxCommandEvent &event)
wxTextCtrl * m_ThicknessCtrl
virtual void onSyntaxHelp(wxHyperlinkEvent &event)
virtual void onThickness(wxCommandEvent &event)
virtual void onAutoTextThickness(wxCommandEvent &event)
A modified version of the wxInfoBar class that allows us to: