16DIALOG_TEXT_PROPERTIES_BASE::DIALOG_TEXT_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( wxSize( -1,-1 ), wxDefaultSize );
20 wxBoxSizer* bMainSizer;
21 bMainSizer =
new wxBoxSizer( wxVERTICAL );
23 m_MultiLineSizer =
new wxBoxSizer( wxVERTICAL );
25 wxStaticText* textLabel;
26 textLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Text:"), wxDefaultPosition, wxDefaultSize, 0 );
27 textLabel->Wrap( -1 );
28 m_MultiLineSizer->Add( textLabel, 0, wxRIGHT|wxLEFT, 5 );
30 m_MultiLineText =
new wxStyledTextCtrl(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, wxEmptyString );
31 m_MultiLineText->SetUseTabs(
true );
32 m_MultiLineText->SetTabWidth( 4 );
33 m_MultiLineText->SetIndent( 4 );
34 m_MultiLineText->SetTabIndents(
false );
35 m_MultiLineText->SetBackSpaceUnIndents(
false );
36 m_MultiLineText->SetViewEOL(
false );
37 m_MultiLineText->SetViewWhiteSpace(
false );
38 m_MultiLineText->SetMarginWidth( 2, 0 );
39 m_MultiLineText->SetIndentationGuides(
true );
40 m_MultiLineText->SetReadOnly(
false );
41 m_MultiLineText->SetMarginWidth( 1, 0 );
42 m_MultiLineText->SetMarginWidth( 0, 0 );
43 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
44 m_MultiLineText->MarkerSetBackground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"BLACK") ) );
45 m_MultiLineText->MarkerSetForeground( wxSTC_MARKNUM_FOLDER, wxColour( wxT(
"WHITE") ) );
46 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_BOXMINUS );
47 m_MultiLineText->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"BLACK") ) );
48 m_MultiLineText->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPEN, wxColour( wxT(
"WHITE") ) );
49 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_EMPTY );
50 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDEREND, wxSTC_MARK_BOXPLUS );
51 m_MultiLineText->MarkerSetBackground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"BLACK") ) );
52 m_MultiLineText->MarkerSetForeground( wxSTC_MARKNUM_FOLDEREND, wxColour( wxT(
"WHITE") ) );
53 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_BOXMINUS );
54 m_MultiLineText->MarkerSetBackground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"BLACK") ) );
55 m_MultiLineText->MarkerSetForeground( wxSTC_MARKNUM_FOLDEROPENMID, wxColour( wxT(
"WHITE") ) );
56 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_EMPTY );
57 m_MultiLineText->MarkerDefine( wxSTC_MARKNUM_FOLDERTAIL, wxSTC_MARK_EMPTY );
58 m_MultiLineText->SetSelBackground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
59 m_MultiLineText->SetSelForeground(
true, wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
60 m_MultiLineText->SetToolTip(
_(
"Enter the text placed on selected layer.") );
62 m_MultiLineSizer->Add( m_MultiLineText, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
65 bMainSizer->Add( m_MultiLineSizer, 20, wxEXPAND|wxALL, 10 );
67 m_SingleLineSizer =
new wxBoxSizer( wxHORIZONTAL );
69 m_TextLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Reference designator:"), wxDefaultPosition, wxDefaultSize, 0 );
70 m_TextLabel->Wrap( -1 );
71 m_SingleLineSizer->Add( m_TextLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
73 m_SingleLineText =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
74 m_SingleLineSizer->Add( m_SingleLineText, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
77 bMainSizer->Add( m_SingleLineSizer, 0, wxEXPAND|wxALL, 10 );
79 wxGridBagSizer* gbSizer1;
80 gbSizer1 =
new wxGridBagSizer( 2, 3 );
81 gbSizer1->SetFlexibleDirection( wxBOTH );
82 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
83 gbSizer1->SetEmptyCellSize( wxSize( 20,-1 ) );
85 m_cbLocked =
new wxCheckBox(
this, wxID_ANY,
_(
"Locked"), wxDefaultPosition, wxDefaultSize, 0 );
86 gbSizer1->Add( m_cbLocked, wxGBPosition( 0, 0 ), wxGBSpan( 1, 3 ), wxRIGHT|wxLEFT, 5 );
88 m_Visible =
new wxCheckBox(
this, wxID_ANY,
_(
"Visible"), wxDefaultPosition, wxDefaultSize, 0 );
89 gbSizer1->Add( m_Visible, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxRIGHT, 5 );
91 m_LayerLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
92 m_LayerLabel->Wrap( -1 );
93 gbSizer1->Add( m_LayerLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
95 m_LayerSelectionCtrl =
new PCB_LAYER_BOX_SELECTOR(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
96 gbSizer1->Add( m_LayerSelectionCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
99 bSizer7 =
new wxBoxSizer( wxHORIZONTAL );
101 m_cbKnockout =
new wxCheckBox(
this, wxID_ANY,
_(
"Knockout"), wxDefaultPosition, wxDefaultSize, 0 );
102 bSizer7->Add( m_cbKnockout, 1, wxTOP|wxBOTTOM|wxRIGHT, 15 );
104 m_KeepUpright =
new wxCheckBox(
this, wxID_ANY,
_(
"Keep upright"), wxDefaultPosition, wxDefaultSize, 0 );
105 m_KeepUpright->SetToolTip(
_(
"Keep text upright") );
107 bSizer7->Add( m_KeepUpright, 1, wxALIGN_CENTER_VERTICAL, 5 );
110 gbSizer1->Add( bSizer7, wxGBPosition( 1, 4 ), wxGBSpan( 1, 3 ), wxEXPAND, 5 );
112 m_fontLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Font:"), wxDefaultPosition, wxDefaultSize, 0 );
113 m_fontLabel->Wrap( -1 );
114 gbSizer1->Add( m_fontLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
116 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font") };
117 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
118 m_fontCtrl =
new FONT_CHOICE(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
119 m_fontCtrl->SetSelection( 0 );
120 gbSizer1->Add( m_fontCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 5 );
122 wxBoxSizer* bSizerButtonBar;
123 bSizerButtonBar =
new wxBoxSizer( wxHORIZONTAL );
125 m_bold =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
126 bSizerButtonBar->Add( m_bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
128 m_italic =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
129 bSizerButtonBar->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL, 5 );
131 m_separator1 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
132 m_separator1->Enable(
false );
134 bSizerButtonBar->Add( m_separator1, 0, wxALIGN_CENTER_VERTICAL, 5 );
136 m_alignLeft =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
137 bSizerButtonBar->Add( m_alignLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
139 m_alignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
140 bSizerButtonBar->Add( m_alignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
142 m_alignRight =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
143 bSizerButtonBar->Add( m_alignRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
145 m_separator2 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
146 m_separator2->Enable(
false );
148 bSizerButtonBar->Add( m_separator2, 0, wxALIGN_CENTER_VERTICAL, 5 );
150 m_valignTop =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
151 bSizerButtonBar->Add( m_valignTop, 0, wxALIGN_CENTER_VERTICAL, 5 );
153 m_valignCenter =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
154 bSizerButtonBar->Add( m_valignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
156 m_valignBottom =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
157 bSizerButtonBar->Add( m_valignBottom, 0, wxALIGN_CENTER_VERTICAL, 5 );
159 m_separator3 =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
160 m_separator3->Enable(
false );
162 bSizerButtonBar->Add( m_separator3, 0, wxALIGN_CENTER_VERTICAL, 5 );
164 m_mirrored =
new BITMAP_BUTTON(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
165 bSizerButtonBar->Add( m_mirrored, 0, wxALIGN_CENTER_VERTICAL, 5 );
168 gbSizer1->Add( bSizerButtonBar, wxGBPosition( 2, 4 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxEXPAND|wxTOP, 3 );
170 m_SizeXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Width:"), wxDefaultPosition, wxDefaultSize, 0 );
171 m_SizeXLabel->Wrap( -1 );
172 m_SizeXLabel->SetToolTip(
_(
"Text width") );
174 gbSizer1->Add( m_SizeXLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
176 m_SizeXCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
177 gbSizer1->Add( m_SizeXCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
179 m_SizeXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
180 m_SizeXUnits->Wrap( -1 );
181 gbSizer1->Add( m_SizeXUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
183 m_SizeYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Height:"), wxDefaultPosition, wxDefaultSize, 0 );
184 m_SizeYLabel->Wrap( -1 );
185 m_SizeYLabel->SetToolTip(
_(
"Text height") );
187 gbSizer1->Add( m_SizeYLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
189 m_SizeYCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
190 gbSizer1->Add( m_SizeYCtrl, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
192 m_SizeYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
193 m_SizeYUnits->Wrap( -1 );
194 gbSizer1->Add( m_SizeYUnits, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
196 m_ThicknessLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
197 m_ThicknessLabel->Wrap( -1 );
198 m_ThicknessLabel->SetToolTip(
_(
"Text thickness") );
200 gbSizer1->Add( m_ThicknessLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 4 );
202 m_ThicknessCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
203 gbSizer1->Add( m_ThicknessCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
205 m_ThicknessUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
206 m_ThicknessUnits->Wrap( -1 );
207 gbSizer1->Add( m_ThicknessUnits, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
209 m_PositionXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Position X:"), wxDefaultPosition, wxDefaultSize, 0 );
210 m_PositionXLabel->Wrap( -1 );
211 m_PositionXLabel->SetToolTip(
_(
"Text pos X") );
213 gbSizer1->Add( m_PositionXLabel, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
215 m_PositionXCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
216 gbSizer1->Add( m_PositionXCtrl, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
218 m_PositionXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
219 m_PositionXUnits->Wrap( -1 );
220 gbSizer1->Add( m_PositionXUnits, wxGBPosition( 3, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
222 m_PositionYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Position Y:"), wxDefaultPosition, wxDefaultSize, 0 );
223 m_PositionYLabel->Wrap( -1 );
224 m_PositionYLabel->SetToolTip(
_(
"Text pos Y") );
226 gbSizer1->Add( m_PositionYLabel, wxGBPosition( 4, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
228 m_PositionYCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
229 gbSizer1->Add( m_PositionYCtrl, wxGBPosition( 4, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
231 m_PositionYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
232 m_PositionYUnits->Wrap( -1 );
233 gbSizer1->Add( m_PositionYUnits, wxGBPosition( 4, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
235 m_OrientLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Orientation:"), wxDefaultPosition, wxDefaultSize, 0 );
236 m_OrientLabel->Wrap( -1 );
237 m_OrientLabel->SetToolTip(
_(
"Text orientation") );
239 gbSizer1->Add( m_OrientLabel, wxGBPosition( 5, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
241 m_OrientCtrl =
new wxComboBox(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
242 m_OrientCtrl->Append(
_(
"0.0") );
243 m_OrientCtrl->Append(
_(
"90.0") );
244 m_OrientCtrl->Append(
_(
"-90.0") );
245 m_OrientCtrl->Append(
_(
"180.0") );
246 gbSizer1->Add( m_OrientCtrl, wxGBPosition( 5, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
249 gbSizer1->AddGrowableCol( 1 );
250 gbSizer1->AddGrowableCol( 5 );
252 bMainSizer->Add( gbSizer1, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
255 bMainSizer->Add( 0, 0, 0, wxTOP, 5 );
257 wxBoxSizer* bMargins;
258 bMargins =
new wxBoxSizer( wxVERTICAL );
260 m_statusLine =
new wxStaticText(
this, wxID_ANY,
_(
"Parent footprint description"), wxDefaultPosition, wxDefaultSize, 0 );
261 m_statusLine->Wrap( -1 );
262 bMargins->Add( m_statusLine, 0, wxBOTTOM|wxRIGHT|wxLEFT, 3 );
265 bMainSizer->Add( bMargins, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 12 );
267 m_sdbSizer =
new wxStdDialogButtonSizer();
268 m_sdbSizerOK =
new wxButton(
this, wxID_OK );
269 m_sdbSizer->AddButton( m_sdbSizerOK );
270 m_sdbSizerCancel =
new wxButton(
this, wxID_CANCEL );
271 m_sdbSizer->AddButton( m_sdbSizerCancel );
272 m_sdbSizer->Realize();
274 bMainSizer->Add( m_sdbSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
277 this->SetSizer( bMainSizer );
279 bMainSizer->Fit(
this );
281 this->Centre( wxBOTH );
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxComboBox * m_OrientCtrl
wxTextCtrl * m_PositionXCtrl
~DIALOG_TEXT_PROPERTIES_BASE()
wxStyledTextCtrl * m_MultiLineText
DIALOG_TEXT_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Text Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxTextCtrl * m_PositionYCtrl
BITMAP_BUTTON * m_alignRight
virtual void OnInitDlg(wxInitDialogEvent &event)
virtual void onThickness(wxCommandEvent &event)
virtual void onBoldToggle(wxCommandEvent &event)
wxTextCtrl * m_SingleLineText
virtual void onMultiLineTCLostFocus(wxFocusEvent &event)
BITMAP_BUTTON * m_valignCenter
virtual void OnSetFocusText(wxFocusEvent &event)
wxTextCtrl * m_ThicknessCtrl
BITMAP_BUTTON * m_valignTop
BITMAP_BUTTON * m_alignLeft
virtual void onFontSelected(wxCommandEvent &event)
virtual void onValignButton(wxCommandEvent &event)
BITMAP_BUTTON * m_alignCenter
virtual void OnOkClick(wxCommandEvent &event)
virtual void onAlignButton(wxCommandEvent &event)
BITMAP_BUTTON * m_valignBottom
Class to display a pcb layer list in a wxBitmapComboBox.