12DIALOG_NONCOPPER_ZONES_PROPERTIES_BASE::DIALOG_NONCOPPER_ZONES_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 )
14 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
16 wxBoxSizer* m_MainSizer;
17 m_MainSizer =
new wxBoxSizer( wxVERTICAL );
19 wxBoxSizer* m_UpperSizer;
20 m_UpperSizer =
new wxBoxSizer( wxHORIZONTAL );
22 wxBoxSizer* bSizerLeft;
23 bSizerLeft =
new wxBoxSizer( wxVERTICAL );
30 bSizerLeft->Add( 0, 2, 0, wxEXPAND, 5 );
32 m_layers =
new wxDataViewListCtrl(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_NO_HEADER|wxBORDER_SIMPLE );
33 m_layers->SetMinSize( wxSize( 100,-1 ) );
35 bSizerLeft->Add(
m_layers, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
38 bSizerLeft->Add( 0, 5, 0, wxEXPAND, 5 );
41 m_UpperSizer->Add( bSizerLeft, 1, wxEXPAND, 5 );
43 wxBoxSizer* bSizerMiddle;
44 bSizerMiddle =
new wxBoxSizer( wxVERTICAL );
46 wxStaticBoxSizer* sbShape;
47 sbShape =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Shape") ), wxVERTICAL );
49 wxGridBagSizer* gbSizer1;
50 gbSizer1 =
new wxGridBagSizer( 0, 0 );
51 gbSizer1->SetFlexibleDirection( wxBOTH );
52 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
53 gbSizer1->SetEmptyCellSize( wxSize( -1,6 ) );
55 m_cbLocked =
new wxCheckBox( sbShape->GetStaticBox(), wxID_ANY,
_(
"Locked"), wxDefaultPosition, wxDefaultSize, 0 );
56 gbSizer1->Add(
m_cbLocked, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
58 m_staticTextStyle =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"Outline style:"), wxDefaultPosition, wxDefaultSize, 0 );
60 gbSizer1->Add(
m_staticTextStyle, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
62 wxString m_OutlineDisplayCtrlChoices[] = {
_(
"Line"),
_(
"Hatched"),
_(
"Fully hatched") };
63 int m_OutlineDisplayCtrlNChoices =
sizeof( m_OutlineDisplayCtrlChoices ) /
sizeof( wxString );
64 m_OutlineDisplayCtrl =
new wxChoice( sbShape->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_OutlineDisplayCtrlNChoices, m_OutlineDisplayCtrlChoices, 0 );
66 gbSizer1->Add(
m_OutlineDisplayCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
68 m_stBorderHatchPitchText =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"Outline hatch pitch:"), wxDefaultPosition, wxDefaultSize, 0 );
72 m_outlineHatchPitchCtrl =
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
73 gbSizer1->Add(
m_outlineHatchPitchCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
75 m_outlineHatchUnits =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
77 gbSizer1->Add(
m_outlineHatchUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
79 m_MinWidthLabel =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"Minimum width:"), wxDefaultPosition, wxDefaultSize, 0 );
81 gbSizer1->Add(
m_MinWidthLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
83 m_MinWidthCtrl =
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
84 gbSizer1->Add(
m_MinWidthCtrl, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
86 m_MinWidthUnits =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
88 gbSizer1->Add(
m_MinWidthUnits, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
90 m_staticTextSmoothing =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"Corner smoothing:"), wxDefaultPosition, wxDefaultSize, 0 );
92 gbSizer1->Add(
m_staticTextSmoothing, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
94 wxString m_cornerSmoothingChoiceChoices[] = {
_(
"None"),
_(
"Chamfer"),
_(
"Fillet") };
95 int m_cornerSmoothingChoiceNChoices =
sizeof( m_cornerSmoothingChoiceChoices ) /
sizeof( wxString );
96 m_cornerSmoothingChoice =
new wxChoice( sbShape->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cornerSmoothingChoiceNChoices, m_cornerSmoothingChoiceChoices, 0 );
98 gbSizer1->Add(
m_cornerSmoothingChoice, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
100 m_cornerRadiusLabel =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"Chamfer distance:"), wxDefaultPosition, wxDefaultSize, 0 );
102 gbSizer1->Add(
m_cornerRadiusLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
104 m_cornerRadiusCtrl =
new wxTextCtrl( sbShape->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
105 gbSizer1->Add(
m_cornerRadiusCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
107 m_cornerRadiusUnits =
new wxStaticText( sbShape->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
109 gbSizer1->Add(
m_cornerRadiusUnits, wxGBPosition( 6, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
112 gbSizer1->AddGrowableCol( 1 );
114 sbShape->Add( gbSizer1, 0, wxEXPAND, 5 );
117 bSizerMiddle->Add( sbShape, 0, wxEXPAND|wxBOTTOM, 5 );
119 wxStaticBoxSizer* sbFill;
120 sbFill =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Fill") ), wxVERTICAL );
122 wxFlexGridSizer* fgSizer1;
123 fgSizer1 =
new wxFlexGridSizer( 0, 3, 0, 0 );
124 fgSizer1->AddGrowableCol( 1 );
125 fgSizer1->SetFlexibleDirection( wxBOTH );
126 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
128 m_staticTextGridFillType =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Fill type:"), wxDefaultPosition, wxDefaultSize, 0 );
132 wxString m_GridStyleCtrlChoices[] = {
_(
"Solid fill"),
_(
"Hatch pattern") };
133 int m_GridStyleCtrlNChoices =
sizeof( m_GridStyleCtrlChoices ) /
sizeof( wxString );
134 m_GridStyleCtrl =
new wxChoice( sbFill->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_GridStyleCtrlNChoices, m_GridStyleCtrlChoices, 0 );
136 fgSizer1->Add(
m_GridStyleCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
139 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
141 m_hatchOrientLabel =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Orientation:"), wxDefaultPosition, wxDefaultSize, 0 );
143 fgSizer1->Add(
m_hatchOrientLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
145 m_hatchOrientCtrl =
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
146 fgSizer1->Add(
m_hatchOrientCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
148 m_hatchOrientUnits =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"degree"), wxDefaultPosition, wxDefaultSize, 0 );
152 m_hatchWidthLabel =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Hatch width:"), wxDefaultPosition, wxDefaultSize, 0 );
154 fgSizer1->Add(
m_hatchWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
156 m_hatchWidthCtrl =
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
157 fgSizer1->Add(
m_hatchWidthCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
159 m_hatchWidthUnits =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
161 fgSizer1->Add(
m_hatchWidthUnits, 0, wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
163 m_hatchGapLabel =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Hatch gap:"), wxDefaultPosition, wxDefaultSize, 0 );
165 fgSizer1->Add(
m_hatchGapLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
167 m_hatchGapCtrl =
new wxTextCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
168 fgSizer1->Add(
m_hatchGapCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
170 m_hatchGapUnits =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"units"), wxDefaultPosition, wxDefaultSize, 0 );
172 fgSizer1->Add(
m_hatchGapUnits, 0, wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
174 m_smoothLevelLabel =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Smoothing effort:"), wxDefaultPosition, wxDefaultSize, 0 );
176 m_smoothLevelLabel->SetToolTip(
_(
"Value of smoothing effort\n0 = no smoothing\n1 = chamfer\n2 = round corners\n3 = round corners (finer shape)") );
178 fgSizer1->Add(
m_smoothLevelLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
180 m_spinCtrlSmoothLevel =
new wxSpinCtrl( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 3, 0 );
181 fgSizer1->Add(
m_spinCtrlSmoothLevel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
184 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
186 m_smoothValueLabel =
new wxStaticText( sbFill->GetStaticBox(), wxID_ANY,
_(
"Smoothing amount:"), wxDefaultPosition, wxDefaultSize, 0 );
188 m_smoothValueLabel->SetToolTip(
_(
"Ratio between smoothed corners size and the gap between lines\n0 = no smoothing\n1.0 = max radius/chamfer size (half gap value)") );
192 m_spinCtrlSmoothValue =
new wxSpinCtrlDouble( sbFill->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1, 0.1, 0.1 );
194 fgSizer1->Add(
m_spinCtrlSmoothValue, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
197 sbFill->Add( fgSizer1, 0, wxEXPAND, 5 );
200 bSizerMiddle->Add( sbFill, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
203 m_UpperSizer->Add( bSizerMiddle, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
206 m_MainSizer->Add( m_UpperSizer, 1, wxEXPAND|wxALL, 5 );
218 this->SetSizer( m_MainSizer );
220 m_MainSizer->Fit(
this );
222 this->Centre( wxBOTH );
wxStaticText * m_smoothValueLabel
wxTextCtrl * m_hatchGapCtrl
wxStdDialogButtonSizer * m_sdbSizerButtons
wxStaticText * m_cornerRadiusUnits
wxStaticText * m_staticTextSmoothing
virtual void OnLayerSelection(wxDataViewEvent &event)
wxButton * m_sdbSizerButtonsCancel
wxStaticText * m_MinWidthUnits
wxStaticText * m_hatchWidthUnits
wxStaticText * m_staticTextStyle
wxStaticText * m_MinWidthLabel
wxStaticText * m_cornerRadiusLabel
wxStaticText * m_smoothLevelLabel
wxTextCtrl * m_hatchWidthCtrl
wxTextCtrl * m_MinWidthCtrl
wxStaticText * m_staticTextLayerSelection
wxSpinCtrl * m_spinCtrlSmoothLevel
wxSpinCtrlDouble * m_spinCtrlSmoothValue
wxStaticText * m_hatchGapUnits
wxChoice * m_cornerSmoothingChoice
wxTextCtrl * m_cornerRadiusCtrl
wxButton * m_sdbSizerButtonsOK
wxChoice * m_OutlineDisplayCtrl
wxDataViewListCtrl * m_layers
wxChoice * m_GridStyleCtrl
virtual void OnStyleSelection(wxCommandEvent &event)
wxTextCtrl * m_hatchOrientCtrl
wxStaticText * m_hatchOrientLabel
wxStaticText * m_staticTextGridFillType
wxStaticText * m_hatchGapLabel
virtual void OnUpdateUI(wxUpdateUIEvent &event)
wxStaticText * m_outlineHatchUnits
~DIALOG_NONCOPPER_ZONES_PROPERTIES_BASE()
wxStaticText * m_stBorderHatchPitchText
wxStaticText * m_hatchOrientUnits
DIALOG_NONCOPPER_ZONES_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Non Copper Zone Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxFULL_REPAINT_ON_RESIZE|wxBORDER_SUNKEN)
wxStaticText * m_hatchWidthLabel
wxTextCtrl * m_outlineHatchPitchCtrl
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...