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 wxBoxSizer* bSizerDir;
23 bSizerDir =
new wxBoxSizer( wxHORIZONTAL );
25 m_outputPathLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Output directory:"), wxDefaultPosition, wxDefaultSize, 0 );
29 m_outputPath =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
30 m_outputPath->SetToolTip(
_(
"Target directory for plot files. Can be absolute or relative to the schematic main file location.") );
32 bSizerDir->Add(
m_outputPath, 1, wxALIGN_CENTER_VERTICAL|wxLEFT, 4 );
35 bSizerDir->Add(
m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
38 bMainSizer->Add( bSizerDir, 0, wxALL|wxEXPAND, 7 );
44 wxString m_plotFormatOptChoices[] = {
_(
"Postscript"),
_(
"PDF"),
_(
"SVG"),
_(
"DXF") };
45 int m_plotFormatOptNChoices =
sizeof( m_plotFormatOptChoices ) /
sizeof( wxString );
46 m_plotFormatOpt =
new wxRadioBox(
this, wxID_ANY,
_(
"Output Format"), wxDefaultPosition, wxDefaultSize, m_plotFormatOptNChoices, m_plotFormatOptChoices, 1, wxRA_SPECIFY_COLS );
50 wxArrayString m_variantChoiceCtrlChoices;
51 m_variantChoiceCtrl =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_variantChoiceCtrlChoices, 0 );
58 wxStaticBoxSizer* sbOptions;
59 sbOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Options") ), wxVERTICAL );
61 wxGridBagSizer* gbSizer1;
62 gbSizer1 =
new wxGridBagSizer( 5, 3 );
63 gbSizer1->SetFlexibleDirection( wxBOTH );
64 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
65 gbSizer1->SetEmptyCellSize( wxSize( -1,10 ) );
67 m_staticText4 =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Page size:"), wxDefaultPosition, wxDefaultSize, 0 );
69 gbSizer1->Add(
m_staticText4, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
71 wxString m_paperSizeOptionChoices[] = {
_(
"Schematic size"),
_(
"A4"),
_(
"A") };
72 int m_paperSizeOptionNChoices =
sizeof( m_paperSizeOptionChoices ) /
sizeof( wxString );
73 m_paperSizeOption =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_paperSizeOptionNChoices, m_paperSizeOptionChoices, 0 );
75 gbSizer1->Add(
m_paperSizeOption, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
77 m_plotDrawingSheet =
new wxCheckBox( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Plot drawing sheet"), wxDefaultPosition, wxDefaultSize, 0 );
81 gbSizer1->Add(
m_plotDrawingSheet, wxGBPosition( 1, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
83 wxStaticText* bOutputModeLabel;
84 bOutputModeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Output mode:"), wxDefaultPosition, wxDefaultSize, 0 );
85 bOutputModeLabel->Wrap( -1 );
86 gbSizer1->Add( bOutputModeLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
88 wxString m_ModeColorOptionChoices[] = {
_(
"Color"),
_(
"Black and White") };
89 int m_ModeColorOptionNChoices =
sizeof( m_ModeColorOptionChoices ) /
sizeof( wxString );
90 m_ModeColorOption =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ModeColorOptionNChoices, m_ModeColorOptionChoices, 0 );
92 gbSizer1->Add(
m_ModeColorOption, wxGBPosition( 3, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
94 m_colorThemeLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Color theme:"), wxDefaultPosition, wxDefaultSize, 0 );
96 gbSizer1->Add(
m_colorThemeLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
98 wxArrayString m_colorThemeChoices;
99 m_colorTheme =
new wxChoice( sbOptions->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_colorThemeChoices, 0 );
101 m_colorTheme->SetToolTip(
_(
"Select the color theme to use for plotting") );
103 gbSizer1->Add(
m_colorTheme, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
105 m_plotBackgroundColor =
new wxCheckBox( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Plot background color"), wxDefaultPosition, wxDefaultSize, 0 );
108 gbSizer1->Add(
m_plotBackgroundColor, wxGBPosition( 5, 0 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
110 m_lineWidthLabel =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"Minimum line width:"), wxDefaultPosition, wxDefaultSize, 0 );
112 gbSizer1->Add(
m_lineWidthLabel, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
114 m_lineWidthCtrl =
new wxTextCtrl( sbOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
115 m_lineWidthCtrl->SetToolTip(
_(
"Selection of the default pen thickness used to draw items, when their thickness is set to 0.") );
117 gbSizer1->Add(
m_lineWidthCtrl, wxGBPosition( 7, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
119 m_lineWidthUnits =
new wxStaticText( sbOptions->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
121 gbSizer1->Add(
m_lineWidthUnits, wxGBPosition( 7, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
124 gbSizer1->AddGrowableCol( 1 );
126 sbOptions->Add( gbSizer1, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
129 m_optionsSizer->Add( sbOptions, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
131 wxBoxSizer* bOptionsRight;
132 bOptionsRight =
new wxBoxSizer( wxVERTICAL );
134 wxStaticBoxSizer* m_sizerPDFOptions;
135 m_sizerPDFOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"PDF Options") ), wxVERTICAL );
137 m_plotPDFPropertyPopups =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate property popups"), wxDefaultPosition, wxDefaultSize, 0 );
141 m_plotPDFHierarchicalLinks =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate clickable links for hierarchical elements"), wxDefaultPosition, wxDefaultSize, 0 );
145 m_plotPDFMetadata =
new wxCheckBox( m_sizerPDFOptions->GetStaticBox(), wxID_ANY,
_(
"Generate metadata from AUTHOR && SUBJECT variables"), wxDefaultPosition, wxDefaultSize, 0 );
147 m_plotPDFMetadata->SetToolTip(
_(
"Generate PDF document properties from AUTHOR and SUBJECT text variables") );
152 bOptionsRight->Add( m_sizerPDFOptions, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
154 m_SizerDxfOption =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"DXF Options") ), wxVERTICAL );
156 wxBoxSizer* bSizerDxf;
157 bSizerDxf =
new wxBoxSizer( wxHORIZONTAL );
161 bSizerDxf->Add(
m_staticTextDXF, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 8 );
163 wxString m_DXF_plotUnitsChoices[] = {
_(
"Inches"),
_(
"Millimeters") };
164 int m_DXF_plotUnitsNChoices =
sizeof( m_DXF_plotUnitsChoices ) /
sizeof( wxString );
165 m_DXF_plotUnits =
new wxChoice(
m_SizerDxfOption->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_DXF_plotUnitsNChoices, m_DXF_plotUnitsChoices, 0 );
167 bSizerDxf->Add(
m_DXF_plotUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
175 m_otherOptions =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Other Options") ), wxVERTICAL );
178 m_openFileAfterPlot->SetToolTip(
_(
"Open output file with associated application after successful plot") );
186 m_optionsSizer->Add( bOptionsRight, 1, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
191 wxBoxSizer* bSizerMsgPanel;
192 bSizerMsgPanel =
new wxBoxSizer( wxVERTICAL );
197 bSizerMsgPanel->Add(
m_MessagesBox, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
200 bMainSizer->Add( bSizerMsgPanel, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
211 bMainSizer->Add(
m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
214 this->SetSizer( bMainSizer );
216 bMainSizer->Fit(
this );