23#include <wx/aui/auibook.h>
26#include <wx/checkbox.h>
34#include <wx/filedlg.h>
55 SetTitle( wxString::Format(
_(
"%s Destination" ),
74 bool isFolder =
false;
75 wxString fileWildcard =
"";
84 wxString currPath = fn.GetFullPath();
86 wxDirDialog dirDialog(
this,
_(
"Select output directory" ), currPath,
89 if( dirDialog.ShowModal() != wxID_OK )
92 wxFileName dirName = wxFileName::DirName( dirDialog.GetPath() );
100 wxFileDialog dlg(
this,
_(
"Select output path" ), fname.GetPath(), fname.GetFullName(),
102 wxFD_OVERWRITE_PROMPT | wxFD_SAVE );
104 if( dlg.ShowModal() != wxID_OK )
107 wxString
path = dlg.GetPath();
111 wxFileName fn(
path );
113 if( fn.GetExt().IsEmpty() )
116 path = fn.GetFullPath();
128 if( outputPath.IsEmpty() )
134 wxArrayInt selectedItems;
142 for(
int i : selectedItems )
167 wxArrayString arrayStr;
168 std::vector<int> selectedList;
172 arrayStr.Add( wxString::Format( wxT(
"%d. %s" ),
173 (
int) arrayStr.size() + 1,
174 job.GetDescription() ) );
177 [&](
const wxString& only )
179 if( only == job.m_id )
186 selectedList.emplace_back( arrayStr.size() - 1 );
188 m_onlyMap.emplace( arrayStr.size() - 1, job.m_id );
191 if( arrayStr.size() != 0 )
195 if( selectedList.size() )
197 for(
int idx : selectedList )
202 for(
size_t idx = 0; idx <
m_includeJobs->GetCount(); ++idx )
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap, int aMinHeight)
wxStaticText * m_textArchiveFormat
wxCheckListBox * m_includeJobs
wxChoice * m_choiceArchiveformat
STD_BITMAP_BUTTON * m_buttonOutputPath
wxTextCtrl * m_textCtrlOutputPath
wxTextCtrl * m_textCtrlDescription
DIALOG_DESTINATION_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("%s Destination"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
DIALOG_DESTINATION(wxWindow *aParent, JOBSET *aJobsFile, JOBSET_DESTINATION *aDestination)
std::map< int, wxString > m_onlyMap
bool TransferDataToWindow() override
bool TransferDataFromWindow() override
virtual void onOutputPathBrowseClicked(wxCommandEvent &event) override
JOBSET_DESTINATION * m_destination
void SetupStandardButtons(std::map< int, wxString > aLabels={})
void SetFormat(FORMAT format)
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
This file is part of the common library.
static const std::string ArchiveFileExtension
KICOMMON_API std::map< JOBSET_DESTINATION_T, JOBSET_DESTINATION_T_INFO > JobsetDestinationTypeInfos
Definition of file extensions used in Kicad.
#define FN_NORMALIZE_FLAGS
Default flags to pass to wxFileName::Normalize().