mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-20 00:11:41 +00:00
More consistent file/class naming.
This commit is contained in:
parent
b7cdbbba9f
commit
e3e7a4c97a
@ -18,6 +18,7 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <i18n_utility.h>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include <settings/parameters.h>
|
||||
@ -34,6 +35,15 @@
|
||||
|
||||
const int jobsFileSchemaVersion = 1;
|
||||
|
||||
|
||||
KICOMMON_API std::map<JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO> JobsetOutputTypeInfos = {
|
||||
{ JOBSET_OUTPUT_TYPE::FOLDER,
|
||||
{ _HKI( "Folder" ), BITMAPS::small_folder, true, "" } },
|
||||
{ JOBSET_OUTPUT_TYPE::ARCHIVE,
|
||||
{ _HKI( "Archive" ), BITMAPS::zip, false, FILEEXT::ZipFileWildcard() } },
|
||||
};
|
||||
|
||||
|
||||
NLOHMANN_JSON_SERIALIZE_ENUM( JOBSET_OUTPUT_TYPE,
|
||||
{
|
||||
{ JOBSET_OUTPUT_TYPE::FOLDER, "folder" },
|
||||
|
@ -21,6 +21,7 @@
|
||||
#ifndef JOBS_FILE_H
|
||||
#define JOBS_FILE_H
|
||||
|
||||
#include <bitmaps/bitmaps_list.h>
|
||||
#include <jobs/job.h>
|
||||
#include <jobs/jobs_output.h>
|
||||
#include <settings/json_settings.h>
|
||||
@ -32,9 +33,15 @@ class REPORTER;
|
||||
|
||||
struct KICOMMON_API JOBSET_JOB
|
||||
{
|
||||
JOBSET_JOB() : m_job( nullptr ) {}
|
||||
JOBSET_JOB() :
|
||||
m_job( nullptr )
|
||||
{}
|
||||
|
||||
JOBSET_JOB( wxString id, wxString type, JOB* job ) : m_id( id ), m_type( type ), m_job( job ) {}
|
||||
JOBSET_JOB( const wxString& id, const wxString& type, JOB* job ) :
|
||||
m_id( id ),
|
||||
m_type( type ),
|
||||
m_job( job )
|
||||
{}
|
||||
|
||||
wxString m_id;
|
||||
wxString m_type;
|
||||
@ -47,12 +54,24 @@ struct KICOMMON_API JOBSET_JOB
|
||||
bool operator==( const JOBSET_JOB& rhs ) const;
|
||||
};
|
||||
|
||||
|
||||
enum class JOBSET_OUTPUT_TYPE
|
||||
{
|
||||
FOLDER,
|
||||
ARCHIVE
|
||||
};
|
||||
|
||||
struct JOBSET_OUTPUT_TYPE_INFO
|
||||
{
|
||||
wxString name;
|
||||
BITMAPS bitmap;
|
||||
bool outputPathIsFolder;
|
||||
wxString fileWildcard;
|
||||
};
|
||||
|
||||
extern KICOMMON_API std::map<JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO> JobsetOutputTypeInfos;
|
||||
|
||||
|
||||
struct KICOMMON_API JOBSET_OUTPUT
|
||||
{
|
||||
JOBSET_OUTPUT();
|
||||
@ -81,6 +100,7 @@ struct KICOMMON_API JOBSET_OUTPUT
|
||||
|
||||
};
|
||||
|
||||
|
||||
class KICOMMON_API JOBSET : public JSON_SETTINGS
|
||||
{
|
||||
public:
|
||||
|
@ -18,6 +18,8 @@ include_directories(
|
||||
|
||||
set( KICAD_SRCS
|
||||
dialogs/dialog_job_config_base.cpp
|
||||
dialogs/dialog_job_output_options.cpp
|
||||
dialogs/dialog_job_output_options_base.cpp
|
||||
dialogs/dialog_copyfiles_job_settings.cpp
|
||||
dialogs/dialog_copyfiles_job_settings_base.cpp
|
||||
dialogs/dialog_executecommand_job_settings.cpp
|
||||
|
198
kicad/dialogs/dialog_job_output_options.cpp
Normal file
198
kicad/dialogs/dialog_job_output_options.cpp
Normal file
@ -0,0 +1,198 @@
|
||||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2024 Mark Roszko <mark.roszko@gmail.com>
|
||||
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "dialog_job_output_options.h"
|
||||
#include "dialog_copyfiles_job_settings.h"
|
||||
#include <wx/aui/auibook.h>
|
||||
#include <jobs/jobset.h>
|
||||
#include <jobs/job_registry.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/menu.h>
|
||||
#include <bitmaps.h>
|
||||
#include <jobs/jobs_output_archive.h>
|
||||
#include <kicad_manager_frame.h>
|
||||
#include <vector>
|
||||
|
||||
#include <wx/dirdlg.h>
|
||||
#include <wx/filedlg.h>
|
||||
#include <wildcards_and_files_ext.h>
|
||||
#include <widgets/std_bitmap_button.h>
|
||||
#include <widgets/wx_grid.h>
|
||||
#include <widgets/grid_text_button_helpers.h>
|
||||
#include <confirm.h>
|
||||
|
||||
|
||||
extern KICOMMON_API std::map<JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO> JobsetOutputTypeInfos;
|
||||
|
||||
|
||||
DIALOG_JOB_OUTPUT_OPTIONS::DIALOG_JOB_OUTPUT_OPTIONS( wxWindow* aParent, JOBSET* aJobsFile,
|
||||
JOBSET_OUTPUT* aOutput ) :
|
||||
DIALOG_JOB_OUTPUT_OPTIONS_BASE( aParent ),
|
||||
m_jobsFile( aJobsFile ),
|
||||
m_output( aOutput )
|
||||
{
|
||||
// prevent someone from failing to add the type info in the future
|
||||
wxASSERT( JobsetOutputTypeInfos.contains( m_output->m_type ) );
|
||||
|
||||
SetTitle( wxString::Format( _( "%s Output Options" ),
|
||||
m_output->m_outputHandler->GetDefaultDescription() ) );
|
||||
|
||||
if( m_output->m_type != JOBSET_OUTPUT_TYPE::ARCHIVE )
|
||||
{
|
||||
m_textArchiveFormat->Hide();
|
||||
m_choiceArchiveformat->Hide();
|
||||
}
|
||||
|
||||
m_textCtrlOutputPath->SetValue( m_output->m_outputHandler->GetOutputPath() );
|
||||
m_buttonOutputPath->SetBitmap( KiBitmapBundle( BITMAPS::small_folder ) );
|
||||
m_textCtrlDescription->SetValue( m_output->GetDescription() );
|
||||
|
||||
SetupStandardButtons();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_JOB_OUTPUT_OPTIONS::onOutputPathBrowseClicked(wxCommandEvent& event)
|
||||
{
|
||||
bool isFolder = false;
|
||||
wxString fileWildcard = "";
|
||||
isFolder = JobsetOutputTypeInfos[m_output->m_type].outputPathIsFolder;
|
||||
fileWildcard = JobsetOutputTypeInfos[m_output->m_type].fileWildcard;
|
||||
|
||||
if( isFolder )
|
||||
{
|
||||
wxFileName fn;
|
||||
fn.AssignDir( m_textCtrlOutputPath->GetValue() );
|
||||
fn.Normalize( FN_NORMALIZE_FLAGS | wxPATH_NORM_ENV_VARS );
|
||||
wxString currPath = fn.GetFullPath();
|
||||
|
||||
wxDirDialog dirDialog( this, _( "Select output directory" ), currPath,
|
||||
wxDD_DEFAULT_STYLE );
|
||||
|
||||
if( dirDialog.ShowModal() != wxID_OK )
|
||||
return;
|
||||
|
||||
wxFileName dirName = wxFileName::DirName( dirDialog.GetPath() );
|
||||
|
||||
m_textCtrlOutputPath->SetValue( dirName.GetFullPath() );
|
||||
}
|
||||
else
|
||||
{
|
||||
wxFileName fname( m_textCtrlOutputPath->GetValue() );
|
||||
|
||||
wxFileDialog dlg( this, _( "Select output path" ), fname.GetPath(), fname.GetFullName(),
|
||||
fileWildcard,
|
||||
wxFD_OVERWRITE_PROMPT | wxFD_SAVE );
|
||||
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return;
|
||||
|
||||
m_textCtrlOutputPath->SetValue( dlg.GetPath() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool DIALOG_JOB_OUTPUT_OPTIONS::TransferDataFromWindow()
|
||||
{
|
||||
wxString outputPath = m_textCtrlOutputPath->GetValue().Trim().Trim( false );
|
||||
|
||||
if( outputPath.IsEmpty() )
|
||||
{
|
||||
DisplayErrorMessage( this, _( "Output path cannot be empty" ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
wxArrayInt selectedItems;
|
||||
m_includeJobs->GetCheckedItems( selectedItems );
|
||||
|
||||
// Update the only job map
|
||||
m_output->m_only.clear();
|
||||
|
||||
if( selectedItems.size() < m_includeJobs->GetCount() )
|
||||
{
|
||||
for( int i : selectedItems )
|
||||
{
|
||||
if( m_onlyMap.contains( i ) )
|
||||
m_output->m_only.emplace_back( m_onlyMap[i] );
|
||||
}
|
||||
}
|
||||
|
||||
m_output->m_outputHandler->SetOutputPath( outputPath );
|
||||
|
||||
if( m_output->m_type == JOBSET_OUTPUT_TYPE::ARCHIVE )
|
||||
{
|
||||
JOBS_OUTPUT_ARCHIVE* archive =
|
||||
static_cast<JOBS_OUTPUT_ARCHIVE*>( m_output->m_outputHandler );
|
||||
|
||||
archive->SetFormat( JOBS_OUTPUT_ARCHIVE::FORMAT::ZIP );
|
||||
}
|
||||
|
||||
m_output->SetDescription( m_textCtrlDescription->GetValue() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_JOB_OUTPUT_OPTIONS::TransferDataToWindow()
|
||||
{
|
||||
wxArrayString arrayStr;
|
||||
std::vector<int> selectedList;
|
||||
|
||||
for( JOBSET_JOB& job : m_jobsFile->GetJobs() )
|
||||
{
|
||||
arrayStr.Add( wxString::Format( wxT( "%d. %s" ),
|
||||
(int) arrayStr.size() + 1,
|
||||
job.GetDescription() ) );
|
||||
|
||||
auto it = std::find_if( m_output->m_only.begin(), m_output->m_only.end(),
|
||||
[&]( const wxString& only )
|
||||
{
|
||||
if( only == job.m_id )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
} );
|
||||
|
||||
if( it != m_output->m_only.end() )
|
||||
selectedList.emplace_back( arrayStr.size() - 1 );
|
||||
|
||||
m_onlyMap.emplace( arrayStr.size() - 1, job.m_id );
|
||||
}
|
||||
|
||||
if( arrayStr.size() != 0 )
|
||||
{
|
||||
m_includeJobs->InsertItems( arrayStr, 0 );
|
||||
|
||||
if( selectedList.size() )
|
||||
{
|
||||
for( int idx : selectedList )
|
||||
m_includeJobs->Check( idx );
|
||||
}
|
||||
else
|
||||
{
|
||||
for( size_t idx = 0; idx < m_includeJobs->GetCount(); ++idx )
|
||||
m_includeJobs->Check( idx );
|
||||
}
|
||||
}
|
||||
|
||||
m_choiceArchiveformat->AppendString( _( "Zip" ) );
|
||||
m_choiceArchiveformat->SetSelection( 0 );
|
||||
|
||||
return true;
|
||||
}
|
45
kicad/dialogs/dialog_job_output_options.h
Normal file
45
kicad/dialogs/dialog_job_output_options.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2024 Mark Roszko <mark.roszko@gmail.com>
|
||||
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "dialog_job_output_options_base.h"
|
||||
|
||||
class JOBSET;
|
||||
struct JOBSET_OUTPUT;
|
||||
|
||||
class DIALOG_JOB_OUTPUT_OPTIONS : public DIALOG_JOB_OUTPUT_OPTIONS_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_JOB_OUTPUT_OPTIONS( wxWindow* aParent, JOBSET* aJobsFile, JOBSET_OUTPUT* aOutput );
|
||||
|
||||
private:
|
||||
virtual void onOutputPathBrowseClicked(wxCommandEvent& event) override;
|
||||
|
||||
bool TransferDataFromWindow() override;
|
||||
bool TransferDataToWindow() override;
|
||||
|
||||
private:
|
||||
JOBSET* m_jobsFile;
|
||||
JOBSET_OUTPUT* m_output;
|
||||
std::map<int, wxString> m_onlyMap;
|
||||
};
|
||||
|
||||
|
102
kicad/dialogs/dialog_job_output_options_base.cpp
Normal file
102
kicad/dialogs/dialog_job_output_options_base.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "widgets/std_bitmap_button.h"
|
||||
|
||||
#include "dialog_job_output_options_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DIALOG_JOB_OUTPUT_OPTIONS_BASE::DIALOG_JOB_OUTPUT_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bSizerMain;
|
||||
bSizerMain = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxFlexGridSizer* fgSizer1;
|
||||
fgSizer1 = new wxFlexGridSizer( 4, 2, 5, 5 );
|
||||
fgSizer1->AddGrowableCol( 1 );
|
||||
fgSizer1->AddGrowableRow( 3 );
|
||||
fgSizer1->SetFlexibleDirection( wxBOTH );
|
||||
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_textArchiveDesc = new wxStaticText( this, wxID_ANY, _("Description:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textArchiveDesc->Wrap( -1 );
|
||||
fgSizer1->Add( m_textArchiveDesc, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_textCtrlDescription = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer1->Add( m_textCtrlDescription, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_textArchiveFormat = new wxStaticText( this, wxID_ANY, _("Format:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textArchiveFormat->Wrap( -1 );
|
||||
fgSizer1->Add( m_textArchiveFormat, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxArrayString m_choiceArchiveformatChoices;
|
||||
m_choiceArchiveformat = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceArchiveformatChoices, 0 );
|
||||
m_choiceArchiveformat->SetSelection( 0 );
|
||||
m_choiceArchiveformat->SetMinSize( wxSize( 100,-1 ) );
|
||||
|
||||
fgSizer1->Add( m_choiceArchiveformat, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_textOutputPath = new wxStaticText( this, wxID_ANY, _("Output path:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textOutputPath->Wrap( -1 );
|
||||
fgSizer1->Add( m_textOutputPath, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxBoxSizer* bSizer16;
|
||||
bSizer16 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_textCtrlOutputPath = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_textCtrlOutputPath->SetMinSize( wxSize( 350,-1 ) );
|
||||
|
||||
bSizer16->Add( m_textCtrlOutputPath, 1, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_buttonOutputPath = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
bSizer16->Add( m_buttonOutputPath, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
fgSizer1->Add( bSizer16, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_staticText10 = new wxStaticText( this, wxID_ANY, _("Include jobs:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText10->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticText10, 0, wxTOP, 5 );
|
||||
|
||||
wxArrayString m_includeJobsChoices;
|
||||
m_includeJobs = new wxCheckListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_includeJobsChoices, 0 );
|
||||
m_includeJobs->SetMinSize( wxSize( 300,200 ) );
|
||||
|
||||
fgSizer1->Add( m_includeJobs, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerMain->Add( fgSizer1, 1, wxEXPAND|wxALL, 10 );
|
||||
|
||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1OK );
|
||||
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
|
||||
m_sdbSizer1->Realize();
|
||||
|
||||
bSizerMain->Add( m_sdbSizer1, 0, wxBOTTOM|wxEXPAND, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bSizerMain );
|
||||
this->Layout();
|
||||
bSizerMain->Fit( this );
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
m_buttonOutputPath->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_JOB_OUTPUT_OPTIONS_BASE::onOutputPathBrowseClicked ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_JOB_OUTPUT_OPTIONS_BASE::~DIALOG_JOB_OUTPUT_OPTIONS_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
m_buttonOutputPath->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_JOB_OUTPUT_OPTIONS_BASE::onOutputPathBrowseClicked ), NULL, this );
|
||||
|
||||
}
|
699
kicad/dialogs/dialog_job_output_options_base.fbp
Normal file
699
kicad/dialogs/dialog_job_output_options_base.fbp
Normal file
@ -0,0 +1,699 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="18"/>
|
||||
<object class="Project" expanded="true">
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="cpp_class_decoration">; </property>
|
||||
<property name="cpp_disconnect_events">1</property>
|
||||
<property name="cpp_event_generation">connect</property>
|
||||
<property name="cpp_help_provider">none</property>
|
||||
<property name="cpp_namespace"></property>
|
||||
<property name="cpp_precompiled_header"></property>
|
||||
<property name="cpp_use_array_enum">0</property>
|
||||
<property name="cpp_use_enum">0</property>
|
||||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="file">dialog_job_output_options_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="lua_skip_events">1</property>
|
||||
<property name="lua_ui_table">UI</property>
|
||||
<property name="name">DIALOG_JOB_OUTPUT_OPTIONS</property>
|
||||
<property name="path">.</property>
|
||||
<property name="php_disconnect_events">0</property>
|
||||
<property name="php_disconnect_mode">source_name</property>
|
||||
<property name="php_skip_events">1</property>
|
||||
<property name="python_disconnect_events">0</property>
|
||||
<property name="python_disconnect_mode">source_name</property>
|
||||
<property name="python_image_path_wrapper_function_name"></property>
|
||||
<property name="python_indent_with_spaces"></property>
|
||||
<property name="python_skip_events">1</property>
|
||||
<property name="relative_path">1</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<property name="use_native_eol">0</property>
|
||||
<object class="Dialog" expanded="true">
|
||||
<property name="aui_managed">0</property>
|
||||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
||||
<property name="bg"></property>
|
||||
<property name="center">wxBOTH</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="event_handler">impl_virtual</property>
|
||||
<property name="extra_style"></property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">DIALOG_JOB_OUTPUT_OPTIONS_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">-1,-1</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h; forward_declare</property>
|
||||
<property name="title">%s Output Options</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="two_step_creation">0</property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizerMain</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">10</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxFlexGridSizer" expanded="true">
|
||||
<property name="cols">2</property>
|
||||
<property name="flexible_direction">wxBOTH</property>
|
||||
<property name="growablecols">1</property>
|
||||
<property name="growablerows">3</property>
|
||||
<property name="hgap">5</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">fgSizer1</property>
|
||||
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="rows">4</property>
|
||||
<property name="vgap">5</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Description:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textArchiveDesc</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textCtrlDescription</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Format:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textArchiveFormat</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxChoice" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices"></property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">100,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_choiceArchiveformat</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Output path:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textOutputPath</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="false">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer16</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxTextCtrl" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">350,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_textCtrlOutputPath</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBitmapButton" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="auth_needed">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="bitmap"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="current"></property>
|
||||
<property name="default">0</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="disabled"></property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="focus"></property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">MyButton</property>
|
||||
<property name="margins"></property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_buttonOutputPath</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="position"></property>
|
||||
<property name="pressed"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnButtonClick">onOutputPathBrowseClicked</event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Include jobs:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticText10</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxCheckListBox" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices"></property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">300,200</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_includeJobs</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStdDialogButtonSizer" expanded="false">
|
||||
<property name="Apply">0</property>
|
||||
<property name="Cancel">1</property>
|
||||
<property name="ContextHelp">0</property>
|
||||
<property name="Help">0</property>
|
||||
<property name="No">0</property>
|
||||
<property name="OK">1</property>
|
||||
<property name="Save">0</property>
|
||||
<property name="Yes">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_sdbSizer1</property>
|
||||
<property name="permission">protected</property>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
67
kicad/dialogs/dialog_job_output_options_base.h
Normal file
67
kicad/dialogs/dialog_job_output_options_base.h
Normal file
@ -0,0 +1,67 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <wx/artprov.h>
|
||||
#include <wx/xrc/xmlres.h>
|
||||
#include <wx/intl.h>
|
||||
class STD_BITMAP_BUTTON;
|
||||
|
||||
#include "dialog_shim.h"
|
||||
#include <wx/string.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/bmpbuttn.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/checklst.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DIALOG_JOB_OUTPUT_OPTIONS_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DIALOG_JOB_OUTPUT_OPTIONS_BASE : public DIALOG_SHIM
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* m_textArchiveDesc;
|
||||
wxTextCtrl* m_textCtrlDescription;
|
||||
wxStaticText* m_textArchiveFormat;
|
||||
wxChoice* m_choiceArchiveformat;
|
||||
wxStaticText* m_textOutputPath;
|
||||
wxTextCtrl* m_textCtrlOutputPath;
|
||||
STD_BITMAP_BUTTON* m_buttonOutputPath;
|
||||
wxStaticText* m_staticText10;
|
||||
wxCheckListBox* m_includeJobs;
|
||||
wxStdDialogButtonSizer* m_sdbSizer1;
|
||||
wxButton* m_sdbSizer1OK;
|
||||
wxButton* m_sdbSizer1Cancel;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void onOutputPathBrowseClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
DIALOG_JOB_OUTPUT_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("%s Output Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
|
||||
~DIALOG_JOB_OUTPUT_OPTIONS_BASE();
|
||||
|
||||
};
|
||||
|
@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include "panel_jobs.h"
|
||||
#include "dialog_job_output_options.h"
|
||||
#include "dialog_copyfiles_job_settings.h"
|
||||
#include <wx/aui/auibook.h>
|
||||
#include <jobs/jobset.h>
|
||||
@ -30,12 +31,9 @@
|
||||
#include <i18n_utility.h>
|
||||
#include <jobs_runner.h>
|
||||
#include <widgets/wx_progress_reporters.h>
|
||||
#include <jobs/jobs_output_archive.h>
|
||||
#include <kicad_manager_frame.h>
|
||||
#include <vector>
|
||||
|
||||
#include <wx/dirdlg.h>
|
||||
#include <wx/filedlg.h>
|
||||
#include <wildcards_and_files_ext.h>
|
||||
#include <widgets/std_bitmap_button.h>
|
||||
#include <widgets/wx_grid.h>
|
||||
@ -48,184 +46,7 @@
|
||||
#include <dialogs/dialog_executecommand_job_settings.h>
|
||||
|
||||
|
||||
struct JOB_TYPE_INFO
|
||||
{
|
||||
wxString name;
|
||||
BITMAPS bitmap;
|
||||
bool outputPathIsFolder;
|
||||
wxString fileWildcard;
|
||||
};
|
||||
|
||||
|
||||
static std::map<JOBSET_OUTPUT_TYPE, JOB_TYPE_INFO> jobTypeInfos = {
|
||||
{ JOBSET_OUTPUT_TYPE::FOLDER,
|
||||
{ _HKI( "Folder" ), BITMAPS::small_folder, true, "" } },
|
||||
{ JOBSET_OUTPUT_TYPE::ARCHIVE,
|
||||
{ _HKI( "Archive" ), BITMAPS::zip, false, FILEEXT::ZipFileWildcard() } },
|
||||
};
|
||||
|
||||
|
||||
class DIALOG_JOB_OUTPUT : public DIALOG_JOB_OUTPUT_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_JOB_OUTPUT( wxWindow* aParent, JOBSET* aJobsFile, JOBSET_OUTPUT* aOutput ) :
|
||||
DIALOG_JOB_OUTPUT_BASE( aParent ), m_jobsFile( aJobsFile ), m_output( aOutput )
|
||||
{
|
||||
// prevent someone from failing to add the type info in the future
|
||||
wxASSERT( jobTypeInfos.contains( m_output->m_type ) );
|
||||
|
||||
SetTitle( wxString::Format( _( "%s Output Options" ),
|
||||
m_output->m_outputHandler->GetDefaultDescription() ) );
|
||||
|
||||
if( m_output->m_type != JOBSET_OUTPUT_TYPE::ARCHIVE )
|
||||
{
|
||||
m_textArchiveFormat->Hide();
|
||||
m_choiceArchiveformat->Hide();
|
||||
}
|
||||
|
||||
m_textCtrlOutputPath->SetValue( m_output->m_outputHandler->GetOutputPath() );
|
||||
m_buttonOutputPath->SetBitmap( KiBitmapBundle( BITMAPS::small_folder ) );
|
||||
m_textCtrlDescription->SetValue( m_output->GetDescription() );
|
||||
|
||||
SetupStandardButtons();
|
||||
}
|
||||
|
||||
|
||||
virtual void onOutputPathBrowseClicked(wxCommandEvent& event) override
|
||||
{
|
||||
bool isFolder = false;
|
||||
wxString fileWildcard = "";
|
||||
isFolder = jobTypeInfos[m_output->m_type].outputPathIsFolder;
|
||||
fileWildcard = jobTypeInfos[m_output->m_type].fileWildcard;
|
||||
|
||||
if( isFolder )
|
||||
{
|
||||
wxFileName fn;
|
||||
fn.AssignDir( m_textCtrlOutputPath->GetValue() );
|
||||
fn.Normalize( FN_NORMALIZE_FLAGS | wxPATH_NORM_ENV_VARS );
|
||||
wxString currPath = fn.GetFullPath();
|
||||
|
||||
wxDirDialog dirDialog( this, _( "Select output directory" ), currPath,
|
||||
wxDD_DEFAULT_STYLE );
|
||||
|
||||
if( dirDialog.ShowModal() != wxID_OK )
|
||||
return;
|
||||
|
||||
wxFileName dirName = wxFileName::DirName( dirDialog.GetPath() );
|
||||
|
||||
m_textCtrlOutputPath->SetValue( dirName.GetFullPath() );
|
||||
}
|
||||
else
|
||||
{
|
||||
wxFileName fname( m_textCtrlOutputPath->GetValue() );
|
||||
|
||||
wxFileDialog dlg( this, _( "Select output path" ), fname.GetPath(), fname.GetFullName(),
|
||||
fileWildcard,
|
||||
wxFD_OVERWRITE_PROMPT | wxFD_SAVE );
|
||||
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return;
|
||||
|
||||
m_textCtrlOutputPath->SetValue( dlg.GetPath() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool TransferDataFromWindow() override
|
||||
{
|
||||
wxString outputPath = m_textCtrlOutputPath->GetValue().Trim().Trim( false );
|
||||
|
||||
if( outputPath.IsEmpty() )
|
||||
{
|
||||
DisplayErrorMessage( this, _( "Output path cannot be empty" ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
wxArrayInt selectedItems;
|
||||
m_includeJobs->GetCheckedItems( selectedItems );
|
||||
|
||||
// Update the only job map
|
||||
m_output->m_only.clear();
|
||||
|
||||
if( selectedItems.size() < m_includeJobs->GetCount() )
|
||||
{
|
||||
for( int i : selectedItems )
|
||||
{
|
||||
if( m_onlyMap.contains( i ) )
|
||||
m_output->m_only.emplace_back( m_onlyMap[i] );
|
||||
}
|
||||
}
|
||||
|
||||
m_output->m_outputHandler->SetOutputPath( outputPath );
|
||||
|
||||
if( m_output->m_type == JOBSET_OUTPUT_TYPE::ARCHIVE )
|
||||
{
|
||||
JOBS_OUTPUT_ARCHIVE* archive =
|
||||
static_cast<JOBS_OUTPUT_ARCHIVE*>( m_output->m_outputHandler );
|
||||
|
||||
archive->SetFormat( JOBS_OUTPUT_ARCHIVE::FORMAT::ZIP );
|
||||
}
|
||||
|
||||
m_output->SetDescription( m_textCtrlDescription->GetValue() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool TransferDataToWindow() override
|
||||
{
|
||||
wxArrayString arrayStr;
|
||||
std::vector<int> selectedList;
|
||||
|
||||
for( JOBSET_JOB& job : m_jobsFile->GetJobs() )
|
||||
{
|
||||
arrayStr.Add( wxString::Format( wxT( "%d. %s" ),
|
||||
(int) arrayStr.size() + 1,
|
||||
job.GetDescription() ) );
|
||||
|
||||
auto it = std::find_if( m_output->m_only.begin(), m_output->m_only.end(),
|
||||
[&]( const wxString& only )
|
||||
{
|
||||
if( only == job.m_id )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
} );
|
||||
|
||||
if( it != m_output->m_only.end() )
|
||||
selectedList.emplace_back( arrayStr.size() - 1 );
|
||||
|
||||
m_onlyMap.emplace( arrayStr.size() - 1, job.m_id );
|
||||
}
|
||||
|
||||
if( arrayStr.size() != 0 )
|
||||
{
|
||||
m_includeJobs->InsertItems( arrayStr, 0 );
|
||||
|
||||
if( selectedList.size() )
|
||||
{
|
||||
for( int idx : selectedList )
|
||||
m_includeJobs->Check( idx );
|
||||
}
|
||||
else
|
||||
{
|
||||
for( size_t idx = 0; idx < m_includeJobs->GetCount(); ++idx )
|
||||
m_includeJobs->Check( idx );
|
||||
}
|
||||
}
|
||||
|
||||
m_choiceArchiveformat->AppendString( _( "Zip" ) );
|
||||
m_choiceArchiveformat->SetSelection( 0 );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
JOBSET* m_jobsFile;
|
||||
JOBSET_OUTPUT* m_output;
|
||||
std::map<int, wxString> m_onlyMap;
|
||||
};
|
||||
extern std::map<JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO> JobsetOutputTypeInfos;
|
||||
|
||||
|
||||
class DIALOG_OUTPUT_RUN_RESULTS : public DIALOG_OUTPUT_RUN_RESULTS_BASE
|
||||
@ -332,9 +153,9 @@ public:
|
||||
|
||||
Connect( wxEVT_MENU, wxCommandEventHandler( PANEL_JOB_OUTPUT::onMenu ), nullptr, this );
|
||||
|
||||
if( jobTypeInfos.contains( aOutput->m_type ) )
|
||||
if( JobsetOutputTypeInfos.contains( aOutput->m_type ) )
|
||||
{
|
||||
JOB_TYPE_INFO& jobTypeInfo = jobTypeInfos[aOutput->m_type];
|
||||
JOBSET_OUTPUT_TYPE_INFO& jobTypeInfo = JobsetOutputTypeInfos[aOutput->m_type];
|
||||
m_textOutputType->SetLabel( aOutput->GetDescription() );
|
||||
m_bitmapOutputType->SetBitmap( KiBitmapBundle( jobTypeInfo.bitmap ) );
|
||||
}
|
||||
@ -902,7 +723,7 @@ void PANEL_JOBS::OnAddOutputClick( wxCommandEvent& aEvent )
|
||||
|
||||
headers.Add( _( "Output Types" ) );
|
||||
|
||||
for( const std::pair<const JOBSET_OUTPUT_TYPE, JOB_TYPE_INFO>& outputType : jobTypeInfos )
|
||||
for( const std::pair<const JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO>& outputType : JobsetOutputTypeInfos )
|
||||
{
|
||||
wxArrayString item;
|
||||
item.Add( wxGetTranslation( outputType.second.name ) );
|
||||
@ -917,13 +738,13 @@ void PANEL_JOBS::OnAddOutputClick( wxCommandEvent& aEvent )
|
||||
{
|
||||
wxString selectedString = dlg.GetTextSelection();
|
||||
|
||||
for( const std::pair<const JOBSET_OUTPUT_TYPE, JOB_TYPE_INFO>& jobType : jobTypeInfos )
|
||||
for( const std::pair<const JOBSET_OUTPUT_TYPE, JOBSET_OUTPUT_TYPE_INFO>& jobType : JobsetOutputTypeInfos )
|
||||
{
|
||||
if( wxGetTranslation( jobType.second.name ) == selectedString )
|
||||
{
|
||||
JOBSET_OUTPUT* output = m_jobsFile->AddNewJobOutput( jobType.first );
|
||||
|
||||
DIALOG_JOB_OUTPUT dialog( m_frame, m_jobsFile.get(), output );
|
||||
DIALOG_JOB_OUTPUT_OPTIONS dialog( m_frame, m_jobsFile.get(), output );
|
||||
if (dialog.ShowModal() == wxID_OK)
|
||||
{
|
||||
Freeze();
|
||||
|
Loading…
Reference in New Issue
Block a user