15DIALOG_PLOT_SCHEMATIC_BASE::DIALOG_PLOT_SCHEMATIC_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
17 this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
19 wxBoxSizer* bMainSizer;
20 bMainSizer =
new wxBoxSizer( wxVERTICAL );
22 wxFlexGridSizer* fgSizerTop;
23 fgSizerTop =
new wxFlexGridSizer( 0, 2, 5, 0 );
24 fgSizerTop->AddGrowableCol( 1 );
25 fgSizerTop->SetFlexibleDirection( wxBOTH );
26 fgSizerTop->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
28 m_variantLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Design variant:"), wxDefaultPosition, wxDefaultSize, 0 );
30 fgSizerTop->Add(
m_variantLabel, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
32 wxArrayString m_variantChoiceCtrlChoices;
33 m_variantChoiceCtrl =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_variantChoiceCtrlChoices, 0 );
37 m_outputPathLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Output directory:"), wxDefaultPosition, wxDefaultSize, 0 );
41 wxBoxSizer* bSizerDir;
42 bSizerDir =
new wxBoxSizer( wxHORIZONTAL );
44 m_outputPath =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
45 m_outputPath->SetToolTip(
_(
"Target directory for plot files. Can be absolute or relative to the schematic main file location.") );
50 bSizerDir->Add(
m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
53 fgSizerTop->Add( bSizerDir, 0, wxEXPAND, 5 );
56 bMainSizer->Add( fgSizerTop, 0, wxALL|wxEXPAND, 5 );
60 wxString m_plotFormatOptChoices[] = {
_(
"Postscript"),
_(
"PDF"),
_(
"SVG"),
_(
"DXF") };
61 int m_plotFormatOptNChoices =
sizeof( m_plotFormatOptChoices ) /
sizeof( wxString );
62 m_plotFormatOpt =
new wxRadioBox(
this, wxID_ANY,
_(
"Output Format"), wxDefaultPosition, wxDefaultSize, m_plotFormatOptNChoices, m_plotFormatOptChoices, 1, wxRA_SPECIFY_COLS );
66 wxStaticBoxSizer* sbOptions;
67 sbOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Options") ), wxVERTICAL );
69 wxGridBagSizer* gbSizer1;
70 gbSizer1 =
new wxGridBagSizer( 5, 3 );
71 gbSizer1->SetFlexibleDirection( wxBOTH );
72 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
73 gbSizer1->SetEmptyCellSize( wxSize( -1,10 ) );
75 m_staticText4 =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Page size:"), wxDefaultPosition, wxDefaultSize, 0 );
77 gbSizer1->Add(
m_staticText4, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
79 wxString m_paperSizeOptionChoices[] = {
_(
"Schematic size"),
_(
"A4"),
_(
"A") };
80 int m_paperSizeOptionNChoices =
sizeof( m_paperSizeOptionChoices ) /
sizeof( wxString );
81 m_paperSizeOption =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_paperSizeOptionNChoices, m_paperSizeOptionChoices, 0 );
83 gbSizer1->Add(
m_paperSizeOption, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
85 m_plotDrawingSheet =
new wxCheckBox( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Plot drawing sheet"), wxDefaultPosition, wxDefaultSize, 0 );
89 gbSizer1->Add(
m_plotDrawingSheet, wxGBPosition( 1, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
91 wxStaticText* bOutputModeLabel;
92 bOutputModeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Output mode:"), wxDefaultPosition, wxDefaultSize, 0 );
93 bOutputModeLabel->Wrap( -1 );
94 gbSizer1->Add( bOutputModeLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
96 wxString m_ModeColorOptionChoices[] = {
_(
"Color"),
_(
"Black and White") };
97 int m_ModeColorOptionNChoices =
sizeof( m_ModeColorOptionChoices ) /
sizeof( wxString );
98 m_ModeColorOption =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ModeColorOptionNChoices, m_ModeColorOptionChoices, 0 );
100 gbSizer1->Add(
m_ModeColorOption, wxGBPosition( 3, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
102 m_colorThemeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Color theme:"), wxDefaultPosition, wxDefaultSize, 0 );
104 gbSizer1->Add(
m_colorThemeLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
106 wxArrayString m_colorThemeChoices;
107 m_colorTheme =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_colorThemeChoices, 0 );
109 m_colorTheme->SetToolTip(
_(
"Select the color theme to use for plotting") );
111 gbSizer1->Add(
m_colorTheme, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
113 m_plotBackgroundColor =
new wxCheckBox( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Plot background color"), wxDefaultPosition, wxDefaultSize, 0 );
116 gbSizer1->Add(
m_plotBackgroundColor, wxGBPosition( 5, 0 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
118 m_lineWidthLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Minimum line width:"), wxDefaultPosition, wxDefaultSize, 0 );
120 gbSizer1->Add(
m_lineWidthLabel, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
122 m_lineWidthCtrl =
new wxTextCtrl( sbOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
123 m_lineWidthCtrl->SetToolTip(
_(
"Selection of the default pen thickness used to draw items, when their thickness is set to 0.") );
125 gbSizer1->Add(
m_lineWidthCtrl, wxGBPosition( 7, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
127 m_lineWidthUnits =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
129 gbSizer1->Add(
m_lineWidthUnits, wxGBPosition( 7, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
132 gbSizer1->AddGrowableCol( 1 );
134 sbOptions->Add( gbSizer1, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
137 m_optionsSizer->Add( sbOptions, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
139 wxBoxSizer* bOptionsRight;
140 bOptionsRight =
new wxBoxSizer( wxVERTICAL );
142 wxStaticBoxSizer* m_sizerPDFOptions;
143 m_sizerPDFOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"PDF Options") ), wxVERTICAL );
145 m_plotPDFPropertyPopups =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate property popups"), wxDefaultPosition, wxDefaultSize, 0 );
149 m_plotPDFHierarchicalLinks =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate clickable links for hierarchical elements"), wxDefaultPosition, wxDefaultSize, 0 );
153 m_plotPDFMetadata =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate metadata from AUTHOR && SUBJECT variables"), wxDefaultPosition, wxDefaultSize, 0 );
155 m_plotPDFMetadata->SetToolTip(
_(
"Generate PDF document properties from AUTHOR and SUBJECT text variables") );
160 bOptionsRight->Add( m_sizerPDFOptions, 0, wxEXPAND|wxBOTTOM, 5 );
162 m_SizerDxfOption =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"DXF Options") ), wxVERTICAL );
164 wxBoxSizer* bSizerDxf;
165 bSizerDxf =
new wxBoxSizer( wxHORIZONTAL );
169 bSizerDxf->Add(
m_staticTextDXF, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 8 );
171 wxString m_DXF_plotUnitsChoices[] = {
_(
"Inches"),
_(
"Millimeters") };
172 int m_DXF_plotUnitsNChoices =
sizeof( m_DXF_plotUnitsChoices ) /
sizeof( wxString );
173 m_DXF_plotUnits =
new wxChoice(
m_SizerDxfOption->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_DXF_plotUnitsNChoices, m_DXF_plotUnitsChoices, 0 );
175 bSizerDxf->Add(
m_DXF_plotUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
183 m_otherOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Other Options") ), wxVERTICAL );
186 m_openFileAfterPlot->SetToolTip(
_(
"Open output file with associated application after successful plot") );
194 m_optionsSizer->Add( bOptionsRight, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
197 bMainSizer->Add(
m_optionsSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
199 wxBoxSizer* bSizerMsgPanel;
200 bSizerMsgPanel =
new wxBoxSizer( wxVERTICAL );
205 bSizerMsgPanel->Add(
m_MessagesBox, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
208 bMainSizer->Add( bSizerMsgPanel, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
219 bMainSizer->Add(
m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
222 this->SetSizer( bMainSizer );
224 bMainSizer->Fit(
this );