mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-03-30 05:06:55 +00:00
Initial dialog work
This commit is contained in:
parent
548334b4e2
commit
e53c155b8c
@ -415,6 +415,8 @@ set( COMMON_DLG_SRCS
|
||||
dialogs/panel_setup_severities.cpp
|
||||
dialogs/panel_text_variables.cpp
|
||||
dialogs/panel_text_variables_base.cpp
|
||||
dialogs/panel_toolbar_customization.cpp
|
||||
dialogs/panel_toolbar_customization_base.cpp
|
||||
)
|
||||
|
||||
if( KICAD_USE_SENTRY )
|
||||
|
388
common/dialogs/panel_toolbar_customization.cpp
Normal file
388
common/dialogs/panel_toolbar_customization.cpp
Normal file
@ -0,0 +1,388 @@
|
||||
/*
|
||||
* This program source code file is part of KICAD, a free EDA CAD application.
|
||||
*
|
||||
* 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 2
|
||||
* 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, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <dialogs/panel_toolbar_customization.h>
|
||||
|
||||
#include <bitmaps.h>
|
||||
#include <settings/app_settings.h>
|
||||
#include <tool/ui/toolbar_configuration.h>
|
||||
#include <widgets/split_button.h>
|
||||
#include <widgets/std_bitmap_button.h>
|
||||
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/menu.h>
|
||||
|
||||
// Simple IDs for the split button menu
|
||||
enum
|
||||
{
|
||||
ID_SEPARATOR_MENU = ( wxID_HIGHEST + 5 ),
|
||||
ID_SPACER_MENU,
|
||||
ID_GROUP_MENU
|
||||
};
|
||||
|
||||
|
||||
enum class TOOLBAR_TREE_ITEM_TYPE
|
||||
{
|
||||
TOOL,
|
||||
GROUP,
|
||||
SPACER,
|
||||
SEPARATOR
|
||||
};
|
||||
|
||||
class TOOLBAR_TREE_ITEM_DATA : public wxTreeItemData
|
||||
{
|
||||
public:
|
||||
TOOLBAR_TREE_ITEM_DATA( TOOLBAR_TREE_ITEM_TYPE aType ) :
|
||||
wxTreeItemData(),
|
||||
m_name( "" ),
|
||||
m_action( nullptr ),
|
||||
m_type( aType )
|
||||
{
|
||||
// Hard-code the name for the separator
|
||||
if( aType == TOOLBAR_TREE_ITEM_TYPE::SEPARATOR )
|
||||
m_name = "separator";
|
||||
}
|
||||
|
||||
void SetAction( TOOL_ACTION* aAction ) { m_action = aAction; }
|
||||
TOOL_ACTION* GetAction() const { return m_action; }
|
||||
|
||||
void SetName( std::string aName ) { m_name = aName; }
|
||||
std::string GetName() const { return m_name; }
|
||||
|
||||
TOOLBAR_TREE_ITEM_TYPE GetType() const { return m_type; }
|
||||
|
||||
private:
|
||||
std::string m_name;
|
||||
TOOL_ACTION* m_action;
|
||||
|
||||
TOOLBAR_TREE_ITEM_TYPE m_type;
|
||||
};
|
||||
|
||||
|
||||
PANEL_TOOLBAR_CUSTOMIZATION::PANEL_TOOLBAR_CUSTOMIZATION( wxWindow* aParent, APP_SETTINGS_BASE* aCfg,
|
||||
TOOLBAR_SETTINGS* aTbSettings,
|
||||
std::vector<TOOL_ACTION*> aTools,
|
||||
std::vector<ACTION_TOOLBAR_CONTROL*> aControls ) :
|
||||
PANEL_TOOLBAR_CUSTOMIZATION_BASE( aParent ),
|
||||
m_actionImageList( nullptr ),
|
||||
m_appSettings( aCfg ),
|
||||
m_tbSettings( aTbSettings )
|
||||
{
|
||||
// Copy the tools and controls into the internal maps
|
||||
for( auto& tool : aTools )
|
||||
m_availableTools.emplace( tool->GetName(), tool );
|
||||
|
||||
for( auto& control : aControls )
|
||||
m_availableControls.emplace( control->GetName(), control );
|
||||
|
||||
// Configure the Ui elements
|
||||
m_btnToolDelete->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) );
|
||||
m_btnToolMoveUp->SetBitmap( KiBitmapBundle( BITMAPS::small_up ) );
|
||||
m_btnToolMoveDown->SetBitmap( KiBitmapBundle( BITMAPS::small_down ) );
|
||||
m_btnAddTool->SetBitmap( KiBitmapBundle( BITMAPS::left ) );
|
||||
|
||||
m_insertButton->SetLabel( _( "Insert separator" ) );
|
||||
//m_insertButton->SetWidthPadding( 4 );
|
||||
|
||||
// Populate the browse library options
|
||||
wxMenu* insertMenu = m_insertButton->GetSplitButtonMenu();
|
||||
|
||||
insertMenu->Append( ID_SPACER_MENU, _( "Insert spacer" ) );
|
||||
insertMenu->Append( ID_GROUP_MENU, _( "Insert group" ) );
|
||||
|
||||
insertMenu->Bind( wxEVT_COMMAND_MENU_SELECTED, &PANEL_TOOLBAR_CUSTOMIZATION::onSpacerPress,
|
||||
this, ID_SPACER_MENU );
|
||||
insertMenu->Bind( wxEVT_COMMAND_MENU_SELECTED, &PANEL_TOOLBAR_CUSTOMIZATION::onGroupPress,
|
||||
this, ID_GROUP_MENU );
|
||||
|
||||
// This is the button only press for the browse button instead of the menu
|
||||
m_insertButton->Bind( wxEVT_BUTTON, &PANEL_TOOLBAR_CUSTOMIZATION::onSeparatorPress, this );
|
||||
}
|
||||
|
||||
|
||||
PANEL_TOOLBAR_CUSTOMIZATION::~PANEL_TOOLBAR_CUSTOMIZATION()
|
||||
{
|
||||
delete m_actionImageList;
|
||||
}
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::ResetPanel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool PANEL_TOOLBAR_CUSTOMIZATION::TransferDataToWindow()
|
||||
{
|
||||
auto tb = m_tbSettings->GetToolbarConfig( TOOLBAR_LOC::RIGHT, false );
|
||||
|
||||
// Always populate the actions before the toolbars, that way the icons are available
|
||||
populateActions( m_availableTools, m_availableControls );
|
||||
|
||||
// Populate the choicebox to select the toolbar to edit
|
||||
|
||||
|
||||
if( tb.has_value() )
|
||||
populateToolbarTree( tb.value() );
|
||||
|
||||
// Sync the enable/disable control
|
||||
enableCustomControls( m_appSettings->m_CustomToolbars );
|
||||
m_customToolbars->SetValue( m_appSettings->m_CustomToolbars );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool PANEL_TOOLBAR_CUSTOMIZATION::TransferDataFromWindow()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::populateToolbarTree( const TOOLBAR_CONFIGURATION& aToolbar )
|
||||
{
|
||||
m_toolbarTree->DeleteAllItems();
|
||||
m_toolbarTree->SetImageList( m_actionImageList );
|
||||
|
||||
wxTreeItemId root = m_toolbarTree->AddRoot( "Toolbar" );
|
||||
|
||||
for( auto& item : aToolbar.GetToolbarItems() )
|
||||
{
|
||||
if( item == "separator" )
|
||||
{
|
||||
// Add a separator
|
||||
TOOLBAR_TREE_ITEM_DATA* sepTreeItem = new TOOLBAR_TREE_ITEM_DATA( TOOLBAR_TREE_ITEM_TYPE::SEPARATOR );
|
||||
m_toolbarTree->AppendItem( root, "Separator", -1, -1, sepTreeItem );
|
||||
}
|
||||
else if( item.starts_with( "group" ) )
|
||||
{
|
||||
// Add a group of items to the toolbar
|
||||
const TOOLBAR_GROUP_CONFIG* groupConfig = aToolbar.GetGroup( item );
|
||||
|
||||
if( !groupConfig )
|
||||
{
|
||||
wxASSERT_MSG( false, wxString::Format( "Unable to find group %s", item ) );
|
||||
continue;
|
||||
}
|
||||
|
||||
TOOLBAR_TREE_ITEM_DATA* groupTreeItem = new TOOLBAR_TREE_ITEM_DATA( TOOLBAR_TREE_ITEM_TYPE::GROUP );
|
||||
groupTreeItem->SetName( item );
|
||||
|
||||
wxTreeItemId groupId = m_toolbarTree->AppendItem( root, item, -1, -1, groupTreeItem );
|
||||
|
||||
// Add the elements below the group
|
||||
for( auto& groupItem : groupConfig->GetGroupItems() )
|
||||
{
|
||||
auto toolMap = m_availableTools.find( groupItem );
|
||||
|
||||
if( toolMap == m_availableTools.end() )
|
||||
{
|
||||
wxASSERT_MSG( false, wxString::Format( "Unable to find group tool %s", groupItem ) );
|
||||
continue;
|
||||
}
|
||||
|
||||
TOOLBAR_TREE_ITEM_DATA* toolTreeItem = new TOOLBAR_TREE_ITEM_DATA( TOOLBAR_TREE_ITEM_TYPE::TOOL );
|
||||
toolTreeItem->SetName( groupItem );
|
||||
toolTreeItem->SetAction( toolMap->second );
|
||||
|
||||
int imgIdx = -1;
|
||||
auto imgMap = m_actionImageListMap.find( groupItem );
|
||||
|
||||
if( imgMap != m_actionImageListMap.end() )
|
||||
imgIdx = imgMap->second;
|
||||
|
||||
m_toolbarTree->AppendItem( groupId, toolMap->second->GetFriendlyName(),
|
||||
imgIdx, -1, toolTreeItem );
|
||||
}
|
||||
}
|
||||
else if( item.starts_with( "control" ) )
|
||||
{
|
||||
// Add a custom control to the toolbar
|
||||
|
||||
}
|
||||
else if( item.starts_with( "spacer" ) )
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Add a tool
|
||||
auto toolMap = m_availableTools.find( item );
|
||||
|
||||
if( toolMap == m_availableTools.end() )
|
||||
{
|
||||
wxASSERT_MSG( false, wxString::Format( "Unable to find tool %s", item ) );
|
||||
continue;
|
||||
}
|
||||
|
||||
TOOLBAR_TREE_ITEM_DATA* toolTreeItem = new TOOLBAR_TREE_ITEM_DATA( TOOLBAR_TREE_ITEM_TYPE::TOOL );
|
||||
toolTreeItem->SetName( item );
|
||||
toolTreeItem->SetAction( toolMap->second );
|
||||
|
||||
int imgIdx = -1;
|
||||
auto imgMap = m_actionImageListMap.find( item );
|
||||
|
||||
if( imgMap != m_actionImageListMap.end() )
|
||||
imgIdx = imgMap->second;
|
||||
|
||||
m_toolbarTree->AppendItem( root, toolMap->second->GetFriendlyName(),
|
||||
imgIdx, -1, toolTreeItem );
|
||||
}
|
||||
}
|
||||
|
||||
m_toolbarTree->ExpandAll();
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::populateActions( const std::map<std::string, TOOL_ACTION*>& aTools,
|
||||
const std::map<std::string, ACTION_TOOLBAR_CONTROL*>& aControls )
|
||||
{
|
||||
// Clear all existing information for the actions
|
||||
delete m_actionImageList;
|
||||
m_actionImageListMap.clear();
|
||||
m_actionImageBundleVector.clear();
|
||||
|
||||
// Prep the control
|
||||
m_actionsList->DeleteAllItems();
|
||||
m_actionsList->DeleteAllColumns();
|
||||
m_actionsList->InsertColumn( 0, "", wxLIST_FORMAT_LEFT, wxLIST_AUTOSIZE );
|
||||
|
||||
// Prepare the image list (taken from project_tree.cpp)
|
||||
int logicSize = 24 * GetDPIScaleFactor() / GetContentScaleFactor(); // Cross-platform way
|
||||
int physSize = ToPhys( logicSize ); // aka *GetContentScaleFactor()
|
||||
|
||||
if( physSize >= 64 )
|
||||
physSize = 64;
|
||||
else if( physSize >= 48 )
|
||||
physSize = 48;
|
||||
else if( physSize >= 32 )
|
||||
physSize = 32;
|
||||
else
|
||||
physSize = 24;
|
||||
|
||||
logicSize = std::min( logicSize, physSize );
|
||||
int bmpsf = std::max( 1, physSize / logicSize );
|
||||
|
||||
logicSize = physSize / bmpsf;
|
||||
|
||||
auto toBitmap = [&]( BITMAPS aBmps )
|
||||
{
|
||||
wxBitmap bmp = KiBitmap( aBmps, physSize );
|
||||
bmp.SetScaleFactor( bmpsf );
|
||||
wxASSERT(bmp.IsOk());
|
||||
return bmp;
|
||||
};
|
||||
|
||||
m_actionImageList = new wxImageList( logicSize, logicSize, true,
|
||||
static_cast<int>( aTools.size() ) );
|
||||
|
||||
// Populate the various image lists for the action icons, and the actual control
|
||||
int itemIdx = 0;
|
||||
|
||||
for( auto [k, tool] : aTools )
|
||||
{
|
||||
if( tool->CheckToolbarState( TOOLBAR_STATE::HIDDEN ) )
|
||||
continue;
|
||||
|
||||
wxListItem item;
|
||||
item.SetText( tool->GetFriendlyName() );
|
||||
item.SetData( static_cast<void*>( tool ) );
|
||||
item.SetId( itemIdx++ );
|
||||
|
||||
if( tool->GetIcon() != BITMAPS::INVALID_BITMAP )
|
||||
{
|
||||
int idx = m_actionImageList->Add( toBitmap( tool->GetIcon() ) );
|
||||
|
||||
// If the image list throws away the image, then we shouldn't show the image anywhere.
|
||||
// TODO: Make sure all images have all possible sizes so the image list doesn't get grumpy.
|
||||
if( idx != -1 )
|
||||
{
|
||||
m_actionImageBundleVector.push_back( KiBitmapBundle( tool->GetIcon() ) );
|
||||
m_actionImageListMap.emplace( tool->GetName(), idx );
|
||||
|
||||
item.SetImage( idx );
|
||||
}
|
||||
}
|
||||
|
||||
m_actionsList->InsertItem( item );
|
||||
}
|
||||
|
||||
m_actionsList->SetSmallImages( m_actionImageBundleVector );
|
||||
|
||||
// This must be done after adding everything to the list to make the columns wide enough
|
||||
m_actionsList->SetColumnWidth( 0, wxLIST_AUTOSIZE );
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::onGroupPress( wxCommandEvent& aEvent )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::onSpacerPress( wxCommandEvent& aEvent )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::onSeparatorPress( wxCommandEvent& aEvent )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::onCustomizeTbCb( wxCommandEvent& event )
|
||||
{
|
||||
enableCustomControls( event.IsChecked() );
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::enableCustomControls( bool enable )
|
||||
{
|
||||
m_tbChoice->Enable( enable );
|
||||
m_toolbarTree->Enable( enable );
|
||||
m_btnAddTool->Enable( enable );
|
||||
m_btnToolDelete->Enable( enable );
|
||||
m_btnToolMoveDown->Enable( enable );
|
||||
m_btnToolMoveUp->Enable( enable );
|
||||
m_actionsList->Enable( enable );
|
||||
m_insertButton->Enable( enable );
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::OnToolDelete( wxCommandEvent& event )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::OnToolMoveUp( wxCommandEvent& event )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TOOLBAR_CUSTOMIZATION::OnToolMoveDown( wxCommandEvent& event )
|
||||
{
|
||||
|
||||
}
|
856
common/dialogs/panel_toolbar_customization.fbp
Normal file
856
common/dialogs/panel_toolbar_customization.fbp
Normal file
@ -0,0 +1,856 @@
|
||||
<?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">1</property>
|
||||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="file">panel_toolbar_customization_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">PanelToolbarCustomization</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="Panel" expanded="true">
|
||||
<property name="aui_managed">0</property>
|
||||
<property name="aui_manager_style"></property>
|
||||
<property name="bg"></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="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">PANEL_TOOLBAR_CUSTOMIZATION_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">-1,-1</property>
|
||||
<property name="subclass">RESETTABLE_PANEL; widgets/resettable_panel.h; forward_declare</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">wxTAB_TRAVERSAL</property>
|
||||
<event name="OnUpdateUI">OnUpdateUI</event>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bPanelSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" 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="checked">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">Customize toolbars</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_customToolbars</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>
|
||||
<event name="OnCheckBox">onCustomizeTbCb</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" 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="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticline1</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">wxLI_HORIZONTAL</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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxFlexGridSizer" expanded="true">
|
||||
<property name="cols">3</property>
|
||||
<property name="flexible_direction">wxHORIZONTAL</property>
|
||||
<property name="growablecols"></property>
|
||||
<property name="growablerows"></property>
|
||||
<property name="hgap">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_customizeControls</property>
|
||||
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="rows">1</property>
|
||||
<property name="vgap">0</property>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer8</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</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"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_tbChoice</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="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer10</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer11</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTreeCtrl" 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="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_toolbarTree</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">wxTR_DEFAULT_STYLE|wxTR_HIDE_ROOT|wxTR_NO_LINES</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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizerToolbarBtns</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</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">Delete Text Variable</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">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_btnToolDelete</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">OnToolDelete</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxLEFT|wxTOP</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">Delete Text Variable</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">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_btnToolMoveUp</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">OnToolMoveUp</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</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">Delete Text Variable</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">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_btnToolMoveDown</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">OnToolMoveDown</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="spacer" expanded="false">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">20</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="CustomControl" 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="class">SPLIT_BUTTON</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="construction">m_insertButton = new SPLIT_BUTTON( this, wxID_ANY, _( "Insert separator" ), wxDefaultPosition );</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="declaration"></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="include">#include <widgets/split_button.h></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_insertButton</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="settings"></property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="subclass"></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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer6</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="false">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</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">Add Text Variable</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">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_btnAddTool</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">OnAddTextVar</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="false">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer9</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxListCtrl" 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="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_actionsList</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">wxLC_ICON|wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL</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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
128
common/dialogs/panel_toolbar_customization_base.cpp
Normal file
128
common/dialogs/panel_toolbar_customization_base.cpp
Normal file
@ -0,0 +1,128 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6-dirty)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "widgets/std_bitmap_button.h"
|
||||
|
||||
#include "panel_toolbar_customization_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
PANEL_TOOLBAR_CUSTOMIZATION_BASE::PANEL_TOOLBAR_CUSTOMIZATION_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : RESETTABLE_PANEL( parent, id, pos, size, style, name )
|
||||
{
|
||||
wxBoxSizer* bPanelSizer;
|
||||
bPanelSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_customToolbars = new wxCheckBox( this, wxID_ANY, _("Customize toolbars"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bPanelSizer->Add( m_customToolbars, 0, wxALL, 5 );
|
||||
|
||||
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
bPanelSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
wxFlexGridSizer* m_customizeControls;
|
||||
m_customizeControls = new wxFlexGridSizer( 1, 3, 0, 0 );
|
||||
m_customizeControls->SetFlexibleDirection( wxHORIZONTAL );
|
||||
m_customizeControls->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
wxBoxSizer* bSizer8;
|
||||
bSizer8 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxArrayString m_tbChoiceChoices;
|
||||
m_tbChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_tbChoiceChoices, 0 );
|
||||
m_tbChoice->SetSelection( 0 );
|
||||
bSizer8->Add( m_tbChoice, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer10;
|
||||
bSizer10 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* bSizer11;
|
||||
bSizer11 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_toolbarTree = new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxTR_HIDE_ROOT|wxTR_NO_LINES );
|
||||
bSizer11->Add( m_toolbarTree, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer10->Add( bSizer11, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer8->Add( bSizer10, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerToolbarBtns;
|
||||
bSizerToolbarBtns = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_btnToolDelete = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
bSizerToolbarBtns->Add( m_btnToolDelete, 0, wxALL, 5 );
|
||||
|
||||
m_btnToolMoveUp = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
bSizerToolbarBtns->Add( m_btnToolMoveUp, 0, wxBOTTOM|wxLEFT|wxTOP, 5 );
|
||||
|
||||
m_btnToolMoveDown = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
bSizerToolbarBtns->Add( m_btnToolMoveDown, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizerToolbarBtns->Add( 20, 0, 0, wxEXPAND, 5 );
|
||||
|
||||
m_insertButton = new SPLIT_BUTTON( this, wxID_ANY, _( "Insert separator" ), wxDefaultPosition );
|
||||
bSizerToolbarBtns->Add( m_insertButton, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer8->Add( bSizerToolbarBtns, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
|
||||
|
||||
m_customizeControls->Add( bSizer8, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer6;
|
||||
bSizer6 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
|
||||
bSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_btnAddTool = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
bSizer6->Add( m_btnAddTool, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_customizeControls->Add( bSizer6, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer9;
|
||||
bSizer9 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_actionsList = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON|wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL );
|
||||
bSizer9->Add( m_actionsList, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_customizeControls->Add( bSizer9, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bPanelSizer->Add( m_customizeControls, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bPanelSizer );
|
||||
this->Layout();
|
||||
bPanelSizer->Fit( this );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnUpdateUI ) );
|
||||
m_customToolbars->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::onCustomizeTbCb ), NULL, this );
|
||||
m_btnToolDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolDelete ), NULL, this );
|
||||
m_btnToolMoveUp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolMoveUp ), NULL, this );
|
||||
m_btnToolMoveDown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolMoveDown ), NULL, this );
|
||||
m_btnAddTool->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnAddTextVar ), NULL, this );
|
||||
}
|
||||
|
||||
PANEL_TOOLBAR_CUSTOMIZATION_BASE::~PANEL_TOOLBAR_CUSTOMIZATION_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnUpdateUI ) );
|
||||
m_customToolbars->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::onCustomizeTbCb ), NULL, this );
|
||||
m_btnToolDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolDelete ), NULL, this );
|
||||
m_btnToolMoveUp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolMoveUp ), NULL, this );
|
||||
m_btnToolMoveDown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnToolMoveDown ), NULL, this );
|
||||
m_btnAddTool->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_TOOLBAR_CUSTOMIZATION_BASE::OnAddTextVar ), NULL, this );
|
||||
|
||||
}
|
72
common/dialogs/panel_toolbar_customization_base.h
Normal file
72
common/dialogs/panel_toolbar_customization_base.h
Normal file
@ -0,0 +1,72 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6-dirty)
|
||||
// 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 "widgets/resettable_panel.h"
|
||||
#include <wx/string.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/treectrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/bmpbuttn.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/button.h>
|
||||
#include <widgets/split_button.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/panel.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class PANEL_TOOLBAR_CUSTOMIZATION_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class PANEL_TOOLBAR_CUSTOMIZATION_BASE : public RESETTABLE_PANEL
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxCheckBox* m_customToolbars;
|
||||
wxStaticLine* m_staticline1;
|
||||
wxChoice* m_tbChoice;
|
||||
wxTreeCtrl* m_toolbarTree;
|
||||
STD_BITMAP_BUTTON* m_btnToolDelete;
|
||||
STD_BITMAP_BUTTON* m_btnToolMoveUp;
|
||||
STD_BITMAP_BUTTON* m_btnToolMoveDown;
|
||||
SPLIT_BUTTON* m_insertButton;
|
||||
STD_BITMAP_BUTTON* m_btnAddTool;
|
||||
wxListCtrl* m_actionsList;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onCustomizeTbCb( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnToolDelete( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnToolMoveUp( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnToolMoveDown( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnAddTextVar( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
PANEL_TOOLBAR_CUSTOMIZATION_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
|
||||
|
||||
~PANEL_TOOLBAR_CUSTOMIZATION_BASE();
|
||||
|
||||
};
|
||||
|
@ -1309,6 +1309,7 @@ void EDA_BASE_FRAME::ShowPreferences( wxString aStartPage, wxString aStartParent
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_EDIT_OPTIONS ), _( "Editing Options" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_ANNO_OPTIONS ), _( "Annotation Options" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_COLORS ), _( "Colors" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_TOOLBARS ), _( "Toolbars" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_FIELD_NAME_TEMPLATES ),
|
||||
_( "Field Name Templates" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_SCH_SIMULATOR ), _( "Simulator" ) );
|
||||
@ -1348,6 +1349,7 @@ void EDA_BASE_FRAME::ShowPreferences( wxString aStartPage, wxString aStartParent
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_PCB_ORIGINS_AXES ), _( "Origins & Axes" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_PCB_EDIT_OPTIONS ), _( "Editing Options" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_PCB_COLORS ), _( "Colors" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_PCB_TOOLBARS ), _( "Toolbars" ) );
|
||||
book->AddLazySubPage( LAZY_CTOR( PANEL_PCB_ACTION_PLUGINS ), _( "Plugins" ) );
|
||||
|
||||
if( GetFrameType() == FRAME_PCB_DISPLAY3D )
|
||||
|
@ -306,7 +306,15 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER
|
||||
|
||||
return new PANEL_EESCHEMA_ANNOTATION_OPTIONS( aParent, schSettingsProvider );
|
||||
}
|
||||
/*
|
||||
case PANEL_SCH_TOOLBARS:
|
||||
{
|
||||
SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
|
||||
EESCHEMA_SETTINGS* cfg = mgr.GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
|
||||
|
||||
return new PANEL_TOOLBAR_CUSTOMIZATION( aParent, cfg );
|
||||
}
|
||||
*/
|
||||
case PANEL_SCH_COLORS:
|
||||
return new PANEL_EESCHEMA_COLOR_SETTINGS( aParent );
|
||||
|
||||
|
83
include/dialogs/panel_toolbar_customization.h
Normal file
83
include/dialogs/panel_toolbar_customization.h
Normal file
@ -0,0 +1,83 @@
|
||||
/*
|
||||
* This program source code file is part of KICAD, a free EDA CAD application.
|
||||
*
|
||||
* 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 2
|
||||
* 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, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PANEL_TOOLBAR_CUSTOMIZATION_H_
|
||||
#define PANEL_TOOLBAR_CUSTOMIZATION_H_
|
||||
|
||||
#include <dialogs/panel_toolbar_customization_base.h>
|
||||
|
||||
#include <tool/action_toolbar.h>
|
||||
|
||||
#include <wx/bmpbndl.h>
|
||||
|
||||
class wxImageList;
|
||||
|
||||
class APP_SETTINGS_BASE;
|
||||
class TOOL_ACTION;
|
||||
class TOOLBAR_SETTINGS;
|
||||
|
||||
class PANEL_TOOLBAR_CUSTOMIZATION : public PANEL_TOOLBAR_CUSTOMIZATION_BASE
|
||||
{
|
||||
public:
|
||||
PANEL_TOOLBAR_CUSTOMIZATION( wxWindow* aParent, APP_SETTINGS_BASE* aCfg, TOOLBAR_SETTINGS* aTbSettings,
|
||||
std::vector<TOOL_ACTION*> aTools,
|
||||
std::vector<ACTION_TOOLBAR_CONTROL*> aControls );
|
||||
|
||||
~PANEL_TOOLBAR_CUSTOMIZATION();
|
||||
|
||||
void ResetPanel() override;
|
||||
|
||||
bool TransferDataFromWindow() override;
|
||||
bool TransferDataToWindow() override;
|
||||
|
||||
protected:
|
||||
void populateToolbarTree( const TOOLBAR_CONFIGURATION& aToolbar );
|
||||
|
||||
void populateActions( const std::map<std::string, TOOL_ACTION*>& aTools,
|
||||
const std::map<std::string, ACTION_TOOLBAR_CONTROL*>& aControls );
|
||||
|
||||
void enableCustomControls( bool enable );
|
||||
|
||||
void onGroupPress( wxCommandEvent& aEvent );
|
||||
void onSpacerPress( wxCommandEvent& aEvent );
|
||||
void onSeparatorPress( wxCommandEvent& aEvent );
|
||||
|
||||
// From the base class
|
||||
void onCustomizeTbCb( wxCommandEvent& event ) override;
|
||||
void OnToolDelete( wxCommandEvent& event ) override;
|
||||
void OnToolMoveUp( wxCommandEvent& event ) override;
|
||||
void OnToolMoveDown( wxCommandEvent& event ) override;
|
||||
|
||||
protected:
|
||||
wxImageList* m_actionImageList;
|
||||
wxVector<wxBitmapBundle> m_actionImageBundleVector;
|
||||
std::map<std::string, int> m_actionImageListMap;
|
||||
|
||||
APP_SETTINGS_BASE* m_appSettings;
|
||||
TOOLBAR_SETTINGS* m_tbSettings;
|
||||
|
||||
std::map<std::string, TOOL_ACTION*> m_availableTools;
|
||||
std::map<std::string, ACTION_TOOLBAR_CONTROL*> m_availableControls;
|
||||
};
|
||||
|
||||
#endif /* PANEL_TOOLBAR_CUSTOMIZATION_H_ */
|
@ -73,12 +73,14 @@ enum FRAME_T
|
||||
PANEL_SYM_EDIT_GRIDS,
|
||||
PANEL_SYM_EDIT_OPTIONS,
|
||||
PANEL_SYM_COLORS,
|
||||
PANEL_SYM_TOOLBARS,
|
||||
|
||||
PANEL_SCH_DISP_OPTIONS,
|
||||
PANEL_SCH_GRIDS,
|
||||
PANEL_SCH_EDIT_OPTIONS,
|
||||
PANEL_SCH_ANNO_OPTIONS,
|
||||
PANEL_SCH_COLORS,
|
||||
PANEL_SCH_TOOLBARS,
|
||||
PANEL_SCH_FIELD_NAME_TEMPLATES,
|
||||
PANEL_SCH_SIMULATOR,
|
||||
|
||||
@ -86,6 +88,7 @@ enum FRAME_T
|
||||
PANEL_FP_GRIDS,
|
||||
PANEL_FP_EDIT_OPTIONS,
|
||||
PANEL_FP_COLORS,
|
||||
PANEL_FP_TOOLBARS,
|
||||
PANEL_FP_DEFAULT_FIELDS,
|
||||
PANEL_FP_DEFAULT_GRAPHICS_VALUES,
|
||||
PANEL_FP_ORIGINS_AXES,
|
||||
@ -94,22 +97,26 @@ enum FRAME_T
|
||||
PANEL_PCB_GRIDS,
|
||||
PANEL_PCB_EDIT_OPTIONS,
|
||||
PANEL_PCB_COLORS,
|
||||
PANEL_PCB_TOOLBARS,
|
||||
PANEL_PCB_ACTION_PLUGINS,
|
||||
PANEL_PCB_ORIGINS_AXES,
|
||||
|
||||
PANEL_3DV_DISPLAY_OPTIONS,
|
||||
PANEL_3DV_OPENGL,
|
||||
PANEL_3DV_RAYTRACING,
|
||||
PANEL_3DV_TOOLBARS,
|
||||
|
||||
PANEL_GBR_DISPLAY_OPTIONS,
|
||||
PANEL_GBR_EDIT_OPTIONS,
|
||||
PANEL_GBR_EXCELLON_OPTIONS,
|
||||
PANEL_GBR_GRIDS,
|
||||
PANEL_GBR_COLORS,
|
||||
PANEL_GBR_TOOLBARS,
|
||||
|
||||
PANEL_DS_DISPLAY_OPTIONS,
|
||||
PANEL_DS_GRIDS,
|
||||
PANEL_DS_COLORS,
|
||||
PANEL_DS_TOOLBARS,
|
||||
|
||||
// Library table dialogs are transient and are never returned
|
||||
DIALOG_CONFIGUREPATHS,
|
||||
|
@ -44,6 +44,7 @@ public:
|
||||
void SetMinSize( const wxSize& aSize ) override;
|
||||
void SetWidthPadding( int aPadding );
|
||||
void SetLabel( const wxString& aLabel ) override;
|
||||
bool Enable( bool aEnable = true ) override;
|
||||
|
||||
protected:
|
||||
void OnKillFocus( wxFocusEvent& aEvent );
|
||||
@ -54,8 +55,6 @@ protected:
|
||||
void OnPaint( wxPaintEvent& WXUNUSED( aEvent ) );
|
||||
void onThemeChanged( wxSysColourChangedEvent &aEvent );
|
||||
|
||||
bool Enable( bool aEnable = true ) override;
|
||||
|
||||
private:
|
||||
int m_stateButton = 0;
|
||||
int m_stateMenu = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user