70 { wxID_APPLY,
_(
"Plot Current Page" ) },
71 { wxID_CANCEL,
_(
"Close" ) } } );
75 SetTitle(
m_job->GetSettingsDialogTitle() );
90 for(
COLOR_SETTINGS* settings :
Pgm().GetSettingsManager().GetColorSettingsList() )
91 m_colorTheme->Append( settings->GetName(),
static_cast<void*
>( settings ) );
128 int paperSizeIndex = (int)
m_job->m_pageSizeSelect;
130 if( paperSizeIndex >= 0 && paperSizeIndex < (
int)
m_paperSizeOption->GetCount() )
137 switch(
m_job->m_plotFormat )
150 m_pngDPI->SetValue( pngJob->m_dpi );
161 wxString selectedVariant =
m_job->m_variant;
163 if( selectedVariant.IsEmpty() && !
m_job->m_variantNames.empty() )
164 selectedVariant =
m_job->m_variantNames.front();
166 if( !selectedVariant.IsEmpty() )
170 if( idx != wxNOT_FOUND )
176 GetSizer()->SetSizeHints(
this );
179 wxCommandEvent
dummy;
197 if(
Prj().IsNullProject() )
208 wxDirDialog dirDialog(
this,
_(
"Select Output Directory" ),
path );
210 if( dirDialog.ShowModal() == wxID_CANCEL )
213 wxFileName dirName = wxFileName::DirName( dirDialog.GetPath() );
215 wxFileName fn(
Prj().AbsolutePath(
m_editFrame->Schematic().Root().GetFileName() ) );
216 wxString defaultPath = fn.GetPathWithSep();
217 wxFileName relPathTest;
219 relPathTest.Assign( dirDialog.GetPath() );
222 if( relPathTest.MakeRelativeTo( defaultPath ) )
224 if(
IsOK(
this, wxString::Format(
_(
"Do you want to use a path relative to\n'%s'?" ), defaultPath ) ) )
225 dirName.MakeRelativeTo( defaultPath );
312 wxCommandEvent
dummy;
341 m_job->m_plotAll =
true;
347 m_job->m_variantNames.clear();
349 if( !
m_job->m_variant.IsEmpty() )
350 m_job->m_variantNames.push_back(
m_job->m_variant );
354 pngJob->m_dpi =
m_pngDPI->GetValue();
373 std::unique_ptr<SCH_PLOTTER> schPlotter = std::make_unique<SCH_PLOTTER>(
m_editFrame );
396 OpenPDF( schPlotter->GetLastOutputFilePath() );
402 wxString extMsg = wxString::Format(
_(
"Falling back to user path '%s'." ),
408 std::function<bool( wxString* )> textResolver =
409 [&]( wxString* token ) ->
bool
412 return schematic.ResolveTextVar( &schematic.CurrentSheet(), token, 0 );
422 if( fn.IsAbsolute() )
427 if(
Prj().IsNullProject() )
439 fn.SetName( wxEmptyString );
440 fn.SetExt( wxEmptyString );
454 DisplayErrorMessage(
this,
_(
"No project or path defined for the current schematic." ), extMsg );
485 if( ( selection != 0 ) && ( selection != wxNOT_FOUND ) )
constexpr EDA_IU_SCALE schIUScale
KIFACE_BASE & Kiface()
Global KIFACE_BASE "get" accessor.
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap, int aMinHeight)
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
Color settings are a bit different than most of the settings objects in that there can be more than o...
static const wxString COLOR_BUILTIN_DEFAULT
COLOR4D GetColor(int aLayer) const
const wxString & GetName() const
wxRadioBox * m_plotFormatOpt
wxChoice * m_DXF_plotUnits
wxStaticText * m_lineWidthUnits
wxCheckBox * m_plotPDFMetadata
wxChoice * m_ModeColorOption
wxStaticText * m_colorThemeLabel
DIALOG_PLOT_SCHEMATIC_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Plot Schematic"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
STD_BITMAP_BUTTON * m_browseButton
wxCheckBox * m_pngAntialias
wxStaticText * m_staticTextDXF
wxCheckBox * m_plotDrawingSheet
wxCheckBox * m_plotPDFPropertyPopups
WX_HTML_REPORT_PANEL * m_MessagesBox
wxStaticText * m_lineWidthLabel
wxCheckBox * m_plotPDFHierarchicalLinks
wxChoice * m_paperSizeOption
wxChoice * m_variantChoiceCtrl
wxCheckBox * m_openFileAfterPlot
wxButton * m_sdbSizer1Apply
wxCheckBox * m_plotBackgroundColor
wxStaticBoxSizer * m_sizerPNGOptions
wxTextCtrl * m_outputPath
wxTextCtrl * m_lineWidthCtrl
UNIT_BINDER m_defaultLineWidth
void OnPlotAll(wxCommandEvent &event) override
PLOT_FORMAT getPlotFileFormat()
void onColorMode(wxCommandEvent &aEvent) override
wxString getSelectedVariant() const
void OnPlotCurrent(wxCommandEvent &event) override
void onPlotFormatSelection(wxCommandEvent &event) override
JOB_EXPORT_SCH_PLOT * m_job
SCH_EDIT_FRAME * m_editFrame
void getPlotOptions(RENDER_SETTINGS *aSettings)
COLOR_SETTINGS * getColorSettings()
bool TransferDataToWindow() override
void plotSchematic(bool aPlotAll)
void onOutputDirectoryBrowseClicked(wxCommandEvent &event) override
DIALOG_PLOT_SCHEMATIC(SCH_EDIT_FRAME *aEditFrame)
wxString getOutputPath()
Determine the best absolute path to plot files given the contents of the path edit control.
void SetupStandardButtons(std::map< int, wxString > aLabels={})
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
wxString GetFilename() const
APP_SETTINGS_BASE * KifaceSettings() const
Container for all the knowledge about how graphical objects are drawn on any output surface/device.
virtual void LoadColors(const COLOR_SETTINGS *aSettings)
void SetDefaultFont(const wxString &aFont)
virtual void SetBackgroundColor(const COLOR4D &aColor)=0
Set the background color.
void SetMinPenWidth(int aWidth)
PROJECT & Prj() const
Return a reference to the PROJECT associated with this KIWAY.
virtual const wxString GetProjectPath() const
Return the full path of the project.
virtual const wxString AbsolutePath(const wxString &aFileName) const
Fix up aFileName if it is relative to the project's directory to be an absolute path and filename.
Holds all the data relating to one schematic.
Schematic editor (Eeschema) main window.
const wxString & GetFileName() const
const wxString ExpandEnvVarSubstitutions(const wxString &aString, const PROJECT *aProject)
Replace any environment variable & text variable references with their values.
wxString ExpandTextVars(const wxString &aSource, const PROJECT *aProject, int aFlags)
bool IsOK(wxWindow *aParent, const wxString &aMessage)
Display a yes/no dialog with aMessage and returns the user response.
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
This file is part of the common library.
bool OpenPDF(const wxString &file)
Run the PDF viewer and display a PDF file.
@ LAYER_SCHEMATIC_BACKGROUND
PGM_BASE & Pgm()
The global program "get" accessor.
PLOT_FORMAT
The set of supported output plot formats.
Plotting engines similar to ps (PostScript, Gerber, svg)
std::vector< FAB_LAYER_COLOR > dummy
#define TO_UTF8(wxstring)
Convert a wxString to a UTF8 encoded C string for all wxWidgets build modes.
int default_line_thickness
DXF_UNITS m_DXF_File_Unit
wxString m_outputDirectory
bool m_PDFHierarchicalLinks
bool m_useBackgroundColor
wxLogTrace helper definitions.
#define FN_NORMALIZE_FLAGS
Default flags to pass to wxFileName::Normalize().