16DIALOG_TABLECELL_PROPERTIES_BASE::DIALOG_TABLECELL_PROPERTIES_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 );
25 m_infoBar->SetEffectDuration( 500 );
28 bMainSizer->Add( m_infoBar, 0, wxEXPAND|wxBOTTOM, 5 );
30 wxBoxSizer* bTopSizer;
31 bTopSizer =
new wxBoxSizer( wxHORIZONTAL );
34 bLeftCol =
new wxBoxSizer( wxVERTICAL );
37 bHeader =
new wxBoxSizer( wxHORIZONTAL );
39 m_cellTextLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell contents:"), wxDefaultPosition, wxDefaultSize, 0 );
40 m_cellTextLabel->Wrap( -1 );
41 bHeader->Add( m_cellTextLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
44 bHeader->Add( 0, 0, 1, wxEXPAND, 5 );
46 m_syntaxHelp =
new wxHyperlinkCtrl(
this, wxID_ANY,
_(
"Syntax help"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
47 m_syntaxHelp->SetToolTip(
_(
"Show syntax help window") );
49 bHeader->Add( m_syntaxHelp, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
52 bLeftCol->Add( bHeader, 0, wxEXPAND|wxTOP, 5 );
55 bLeftCol->Add( 0, 2, 0, wxEXPAND, 5 );
57 m_cellTextCtrl =
new wxStyledTextCtrl(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN, wxEmptyString );
58 m_cellTextCtrl->SetUseTabs(
false );
59 m_cellTextCtrl->SetTabWidth( 4 );
60 m_cellTextCtrl->SetIndent( 4 );
61 m_cellTextCtrl->SetTabIndents(
false );
62 m_cellTextCtrl->SetBackSpaceUnIndents(
false );
63 m_cellTextCtrl->SetViewEOL(
false );
64 m_cellTextCtrl->SetViewWhiteSpace(
false );
65 m_cellTextCtrl->SetMarginWidth( 2, 0 );
66 m_cellTextCtrl->SetIndentationGuides(
false );
67 m_cellTextCtrl->SetReadOnly(
false );
68 m_cellTextCtrl->SetMarginWidth( 1, 0 );
69 m_cellTextCtrl->SetMarginWidth( 0, 0 );
70 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
71 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"BLACK") ) );
72 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"WHITE") ) );
73 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_BOXMINUS );
74 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"BLACK") ) );
75 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"WHITE") ) );
76 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_EMPTY );
77 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEREND, wxSTC_MARK_BOXPLUS );
78 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"BLACK") ) );
79 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"WHITE") ) );
80 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_BOXMINUS );
81 m_cellTextCtrl->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"BLACK") ) );
82 m_cellTextCtrl->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"WHITE") ) );
83 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_EMPTY );
84 m_cellTextCtrl->MarkerDefine( wxSTC_MARKNUM_FOLDERTAIL, wxSTC_MARK_EMPTY );
85 m_cellTextCtrl->SetSelBackground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
86 m_cellTextCtrl->SetSelForeground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
87 bLeftCol->Add( m_cellTextCtrl, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
90 bTopSizer->Add( bLeftCol, 1, wxEXPAND|wxTOP|wxRIGHT, 5 );
93 bRightCl =
new wxBoxSizer( wxVERTICAL );
96 bMargins =
new wxBoxSizer( wxVERTICAL );
98 wxGridBagSizer* gbFontSizer;
99 gbFontSizer =
new wxGridBagSizer( 3, 5 );
100 gbFontSizer->SetFlexibleDirection( wxBOTH );
101 gbFontSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
102 gbFontSizer->SetEmptyCellSize( wxSize( -1,5 ) );
104 m_fontLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Font:"), wxDefaultPosition, wxDefaultSize, 0 );
105 m_fontLabel->Wrap( -1 );
106 gbFontSizer->Add( m_fontLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 1 );
108 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font") };
109 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
110 m_fontCtrl =
new FONT_CHOICE(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
111 m_fontCtrl->SetSelection( 0 );
112 gbFontSizer->Add( m_fontCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
115 gbFontSizer->AddGrowableCol( 1 );
117 bMargins->Add( gbFontSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
119 wxFlexGridSizer* fgTextStyleSizer;
120 fgTextStyleSizer =
new wxFlexGridSizer( 0, 2, 5, 5 );
121 fgTextStyleSizer->SetFlexibleDirection( wxBOTH );
122 fgTextStyleSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
124 wxBoxSizer* hAlignButtons;
125 hAlignButtons =
new wxBoxSizer( wxHORIZONTAL );
127 m_bold =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
128 hAlignButtons->Add( m_bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
130 m_italic =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
131 hAlignButtons->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL, 5 );
133 m_separator0 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
134 m_separator0->Enable(
false );
136 hAlignButtons->Add( m_separator0, 0, wxALIGN_CENTER_VERTICAL, 5 );
138 m_hAlignLeft =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
139 m_hAlignLeft->SetToolTip(
_(
"Align left") );
141 hAlignButtons->Add( m_hAlignLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
143 m_hAlignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
144 m_hAlignCenter->SetToolTip(
_(
"Align horizontal center") );
146 hAlignButtons->Add( m_hAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
148 m_hAlignRight =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
149 m_hAlignRight->SetToolTip(
_(
"Align right") );
151 hAlignButtons->Add( m_hAlignRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
153 m_separator1 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
154 m_separator1->Enable(
false );
156 hAlignButtons->Add( m_separator1, 0, wxALL, 5 );
158 m_vAlignTop =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
159 m_vAlignTop->SetToolTip(
_(
"Align top") );
161 hAlignButtons->Add( m_vAlignTop, 0, wxALIGN_CENTER_VERTICAL, 5 );
163 m_vAlignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
164 m_vAlignCenter->SetToolTip(
_(
"Align vertical center") );
166 hAlignButtons->Add( m_vAlignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
168 m_vAlignBottom =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
169 m_vAlignBottom->SetToolTip(
_(
"Align bottom") );
171 hAlignButtons->Add( m_vAlignBottom, 0, wxALIGN_CENTER_VERTICAL, 5 );
174 fgTextStyleSizer->Add( hAlignButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
177 bMargins->Add( fgTextStyleSizer, 1, 0, 5 );
179 m_cbKnockout =
new wxCheckBox(
this, wxID_ANY,
_(
"Knockout"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
180 bMargins->Add( m_cbKnockout, 0, wxTOP|wxBOTTOM, 5 );
182 wxGridBagSizer* gbSizer1;
183 gbSizer1 =
new wxGridBagSizer( 3, 5 );
184 gbSizer1->SetFlexibleDirection( wxBOTH );
185 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
186 gbSizer1->SetEmptyCellSize( wxSize( -1,8 ) );
188 m_SizeXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
189 m_SizeXLabel->Wrap( -1 );
190 m_SizeXLabel->SetToolTip(
_(
"Text width") );
192 gbSizer1->Add( m_SizeXLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
194 m_SizeXCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
195 gbSizer1->Add( m_SizeXCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
197 m_SizeXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
198 m_SizeXUnits->Wrap( -1 );
199 gbSizer1->Add( m_SizeXUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
201 m_SizeYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
202 m_SizeYLabel->Wrap( -1 );
203 m_SizeYLabel->SetToolTip(
_(
"Text height") );
205 gbSizer1->Add( m_SizeYLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
207 m_SizeYCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
208 gbSizer1->Add( m_SizeYCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
210 m_SizeYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
211 m_SizeYUnits->Wrap( -1 );
212 gbSizer1->Add( m_SizeYUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
214 m_ThicknessLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
215 m_ThicknessLabel->Wrap( -1 );
216 m_ThicknessLabel->SetToolTip(
_(
"Text thickness") );
218 gbSizer1->Add( m_ThicknessLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 4 );
220 m_ThicknessCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
221 gbSizer1->Add( m_ThicknessCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
223 m_ThicknessUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
224 m_ThicknessUnits->Wrap( -1 );
225 gbSizer1->Add( m_ThicknessUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
227 m_autoTextThickness =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
228 m_autoTextThickness->SetToolTip(
_(
"Adjust the text thickness") );
230 gbSizer1->Add( m_autoTextThickness, wxGBPosition( 2, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
233 bMargins->Add( gbSizer1, 0, wxEXPAND|wxTOP, 5 );
236 bMargins->Add( 0, 20, 0, wxEXPAND, 5 );
238 wxGridSizer* gMarginsSizer;
239 gMarginsSizer =
new wxGridSizer( 0, 3, 4, 2 );
241 wxStaticText* marginsLabel;
242 marginsLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Cell margins:"), wxDefaultPosition, wxDefaultSize, 0 );
243 marginsLabel->Wrap( -1 );
244 gMarginsSizer->Add( marginsLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
246 m_marginTopCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
247 gMarginsSizer->Add( m_marginTopCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
249 m_marginTopUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
250 m_marginTopUnits->Wrap( -1 );
251 gMarginsSizer->Add( m_marginTopUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 2 );
253 m_marginLeftCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
254 gMarginsSizer->Add( m_marginLeftCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
257 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
259 m_marginRightCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
260 gMarginsSizer->Add( m_marginRightCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
263 gMarginsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
265 m_marginBottomCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
266 gMarginsSizer->Add( m_marginBottomCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
269 bMargins->Add( gMarginsSizer, 0, wxEXPAND|wxBOTTOM, 5 );
272 bRightCl->Add( bMargins, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );
275 bTopSizer->Add( bRightCl, 1, wxEXPAND, 5 );
278 bMainSizer->Add( bTopSizer, 1, wxEXPAND|wxLEFT, 5 );
280 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
281 bMainSizer->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
283 wxBoxSizer* bButtons;
284 bButtons =
new wxBoxSizer( wxHORIZONTAL );
286 m_editTable =
new wxButton(
this, wxID_ANY,
_(
"Edit Table..."), wxDefaultPosition, wxDefaultSize, 0 );
287 m_editTable->SetToolTip(
_(
"Edit table properties and cell contents") );
289 bButtons->Add( m_editTable, 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 );
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxHyperlinkCtrl * m_syntaxHelp
virtual void onItalic(wxCommandEvent &event)
virtual void onTextSize(wxCommandEvent &event)
~DIALOG_TABLECELL_PROPERTIES_BASE()
virtual void OnOkClick(wxCommandEvent &event)
BITMAP_BUTTON * m_autoTextThickness
virtual void onEditTable(wxCommandEvent &event)
virtual void onSyntaxHelp(wxHyperlinkEvent &event)
virtual void onBold(wxCommandEvent &event)
virtual void onAutoTextThickness(wxCommandEvent &event)
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)
A modified version of the wxInfoBar class that allows us to: