mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-13 17:53:11 +02:00
Bring DIALOG_LIB_FIELDS into line with DIALOG_SYMBOL_FIELDS_TABLE.
This commit is contained in:
parent
264029c8e9
commit
702f774a1f
@ -953,17 +953,17 @@ TOOL_ACTION ACTIONS::unpinLibrary( TOOL_ACTION_ARGS()
|
||||
.FriendlyName( _( "Unpin Library" ) )
|
||||
.Tooltip( _( "No longer keep the library at the top of the list" ) ) );
|
||||
|
||||
TOOL_ACTION ACTIONS::showLibraryTable( TOOL_ACTION_ARGS()
|
||||
.Name( "common.Control.showLibraryTable" )
|
||||
TOOL_ACTION ACTIONS::showLibraryFieldsTable( TOOL_ACTION_ARGS()
|
||||
.Name( "common.Control.showLibraryFieldsTable" )
|
||||
.Scope( AS_GLOBAL )
|
||||
.FriendlyName( _( "Library Table" ) )
|
||||
.FriendlyName( _( "Library Fields Table" ) )
|
||||
.Icon( BITMAPS::table ) );
|
||||
|
||||
TOOL_ACTION ACTIONS::showRelatedLibraryTable( TOOL_ACTION_ARGS()
|
||||
.Name( "common.Control.showRelatedLibraryTable" )
|
||||
TOOL_ACTION ACTIONS::showRelatedLibraryFieldsTable( TOOL_ACTION_ARGS()
|
||||
.Name( "common.Control.showRelatedLibraryFieldsTable" )
|
||||
.Scope( AS_GLOBAL )
|
||||
.FriendlyName( _( "Edit Related Symbols as Table" ) )
|
||||
.Tooltip( _( "Edit all symbols related to the selected symbol in a table" ) )
|
||||
.FriendlyName( _( "Library Fields Table of Related Symbols" ) )
|
||||
.Tooltip( _( "Edit a table of fields of all symbols related to the selected symbol" ) )
|
||||
.Icon( BITMAPS::table ) );
|
||||
|
||||
TOOL_ACTION ACTIONS::showLibraryTree( TOOL_ACTION_ARGS()
|
||||
|
@ -122,8 +122,8 @@ set( EESCHEMA_DLGS
|
||||
dialogs/dialog_label_properties_base.cpp
|
||||
dialogs/dialog_lib_edit_pin_table.cpp
|
||||
dialogs/dialog_lib_edit_pin_table_base.cpp
|
||||
dialogs/dialog_lib_fields_base.cpp
|
||||
dialogs/dialog_lib_fields.cpp
|
||||
dialogs/dialog_lib_fields_table_base.cpp
|
||||
dialogs/dialog_lib_fields_table.cpp
|
||||
dialogs/dialog_lib_new_symbol.cpp
|
||||
dialogs/dialog_lib_new_symbol_base.cpp
|
||||
dialogs/dialog_lib_symbol_properties.cpp
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -17,71 +17,76 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef DIALOG_LIB_FIELDS_H
|
||||
#define DIALOG_LIB_FIELDS_H
|
||||
#pragma once
|
||||
|
||||
#include <dialog_lib_fields_base.h>
|
||||
#include <dialog_lib_fields_table_base.h>
|
||||
#include <sch_reference_list.h>
|
||||
#include <widgets/grid_text_button_helpers.h>
|
||||
#include <lib_fields_data_model.h>
|
||||
|
||||
class SYMBOL_EDIT_FRAME;
|
||||
class LIB_FIELDS_EDITOR_GRID_DATA_MODEL;
|
||||
class LIB_SYMBOL;
|
||||
|
||||
class DIALOG_LIB_FIELDS : public DIALOG_LIB_FIELDS_BASE
|
||||
|
||||
class DIALOG_LIB_FIELDS_TABLE : public DIALOG_LIB_FIELDS_TABLE_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_LIB_FIELDS( SYMBOL_EDIT_FRAME* parent, wxString libId, const wxArrayString& aSymbolNames );
|
||||
~DIALOG_LIB_FIELDS() override;
|
||||
enum SCOPE : int
|
||||
{
|
||||
SCOPE_LIBRARY = 0,
|
||||
SCOPE_RELATED_SYMBOLS
|
||||
};
|
||||
|
||||
void OnInit();
|
||||
DIALOG_LIB_FIELDS_TABLE( SYMBOL_EDIT_FRAME* parent, DIALOG_LIB_FIELDS_TABLE::SCOPE aScope );
|
||||
~DIALOG_LIB_FIELDS_TABLE() override;
|
||||
|
||||
protected:
|
||||
void OnClose( wxCloseEvent& event ) override;
|
||||
void OnColumnItemToggled( wxDataViewEvent& event ) override;
|
||||
void OnFieldsCtrlSelectionChanged( wxDataViewEvent& event ) override;
|
||||
void OnSizeFieldList( wxSizeEvent& event ) override;
|
||||
void OnAddField( wxCommandEvent& event ) override;
|
||||
void OnRenameField( wxCommandEvent& event ) override;
|
||||
void OnRemoveField( wxCommandEvent& event ) override;
|
||||
void OnFilterMouseMoved( wxMouseEvent& event ) override;
|
||||
void OnFilterText( wxCommandEvent& event ) override;
|
||||
void OnRegroupSymbols( wxCommandEvent& event ) override;
|
||||
void OnTableValueChanged( wxGridEvent& event ) override;
|
||||
void OnTableCellClick( wxGridEvent& event ) override;
|
||||
void OnTableItemContextMenu( wxGridEvent& event ) override;
|
||||
void OnTableColSize( wxGridSizeEvent& event ) override;
|
||||
void OnCancel( wxCommandEvent& event ) override;
|
||||
void OnOk( wxCommandEvent& event ) override;
|
||||
void OnApply( wxCommandEvent& event ) override;
|
||||
bool TransferDataToWindow() override;
|
||||
bool TransferDataFromWindow() override;
|
||||
|
||||
void ShowHideColumn( int aCol, bool aShow );
|
||||
|
||||
private:
|
||||
void UpdateFieldList();
|
||||
void AddField( const wxString& aFieldName, const wxString& aLabelValue, bool show, bool groupBy, bool addedByUser = false, bool aIsCheckbox = false );
|
||||
void AddField( const wxString& aFieldName, const wxString& aLabelValue, bool show, bool groupBy,
|
||||
bool addedByUser = false, bool aIsCheckbox = false );
|
||||
void RemoveField( const wxString& fieldName );
|
||||
void RenameField( const wxString& oldName, const wxString& newName );
|
||||
void RegroupSymbols();
|
||||
|
||||
void OnColSort( wxGridEvent& aEvent );
|
||||
void OnColMove( wxGridEvent& aEvent );
|
||||
void OnColLabelChange( wxDataViewEvent& aEvent );
|
||||
void SetupColumnProperties( int aCol );
|
||||
void SetupAllColumnProperties();
|
||||
void setScope( SCOPE aScope );
|
||||
|
||||
void loadSymbols( const wxArrayString& aSymbolNames );
|
||||
|
||||
wxString m_libId;
|
||||
SYMBOL_EDIT_FRAME* m_parent;
|
||||
void OnViewControlsCellChanged( wxGridEvent& aEvent ) override;
|
||||
void OnSizeViewControlsGrid( wxSizeEvent& event ) override;
|
||||
void OnAddField( wxCommandEvent& event ) override;
|
||||
void OnRenameField( wxCommandEvent& event ) override;
|
||||
void OnRemoveField( wxCommandEvent& event ) override;
|
||||
|
||||
int m_fieldNameColWidth;
|
||||
int m_labelColWidth;
|
||||
int m_showColWidth;
|
||||
int m_groupByColWidth;
|
||||
void OnFilterMouseMoved( wxMouseEvent& event ) override;
|
||||
void OnFilterText( wxCommandEvent& event ) override;
|
||||
void OnScope( wxCommandEvent& event ) override;
|
||||
void OnRegroupSymbols( wxCommandEvent& event ) override;
|
||||
|
||||
void OnTableValueChanged( wxGridEvent& event ) override;
|
||||
void OnTableCellClick( wxGridEvent& event ) override;
|
||||
void OnTableItemContextMenu( wxGridEvent& event ) override;
|
||||
void OnTableColSize( wxGridSizeEvent& event ) override;
|
||||
|
||||
void OnCancel( wxCommandEvent& event ) override;
|
||||
void OnOk( wxCommandEvent& event ) override;
|
||||
void OnApply( wxCommandEvent& event ) override;
|
||||
void OnClose( wxCloseEvent& event ) override;
|
||||
|
||||
private:
|
||||
SYMBOL_EDIT_FRAME* m_parent;
|
||||
SCOPE m_scope;
|
||||
|
||||
VIEW_CONTROLS_GRID_DATA_MODEL* m_viewControlsDataModel;
|
||||
|
||||
LIB_FIELDS_EDITOR_GRID_DATA_MODEL* m_dataModel;
|
||||
std::vector<LIB_SYMBOL*> m_symbolsList;
|
||||
};
|
||||
|
||||
|
||||
#endif // DIALOG_LIB_FIELDS_H
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6a-dirty)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -8,11 +8,11 @@
|
||||
#include "widgets/std_bitmap_button.h"
|
||||
#include "widgets/wx_grid.h"
|
||||
|
||||
#include "dialog_lib_fields_base.h"
|
||||
#include "dialog_lib_fields_table_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DIALOG_LIB_FIELDS_BASE::DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
|
||||
DIALOG_LIB_FIELDS_TABLE_BASE::DIALOG_LIB_FIELDS_TABLE_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( wxSize( -1,-1 ), wxDefaultSize );
|
||||
|
||||
@ -29,10 +29,41 @@ DIALOG_LIB_FIELDS_BASE::DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id,
|
||||
wxBoxSizer* bLeftSizer;
|
||||
bLeftSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_fieldsCtrl = new wxDataViewListCtrl( m_leftPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_fieldsCtrl->SetMinSize( wxSize( -1,250 ) );
|
||||
m_viewControlsGrid = new WX_GRID( m_leftPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
||||
bLeftSizer->Add( m_fieldsCtrl, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
// Grid
|
||||
m_viewControlsGrid->CreateGrid( 1, 4 );
|
||||
m_viewControlsGrid->EnableEditing( true );
|
||||
m_viewControlsGrid->EnableGridLines( false );
|
||||
m_viewControlsGrid->EnableDragGridSize( false );
|
||||
m_viewControlsGrid->SetMargins( 0, 0 );
|
||||
|
||||
// Columns
|
||||
m_viewControlsGrid->SetColSize( 0, 60 );
|
||||
m_viewControlsGrid->SetColSize( 1, 60 );
|
||||
m_viewControlsGrid->SetColSize( 2, 46 );
|
||||
m_viewControlsGrid->SetColSize( 3, 56 );
|
||||
m_viewControlsGrid->EnableDragColMove( false );
|
||||
m_viewControlsGrid->EnableDragColSize( false );
|
||||
m_viewControlsGrid->SetColLabelValue( 0, _("Field") );
|
||||
m_viewControlsGrid->SetColLabelValue( 1, _("BOM Name") );
|
||||
m_viewControlsGrid->SetColLabelValue( 2, _("Include") );
|
||||
m_viewControlsGrid->SetColLabelValue( 3, _("Group By") );
|
||||
m_viewControlsGrid->SetColLabelSize( 24 );
|
||||
m_viewControlsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
|
||||
|
||||
// Rows
|
||||
m_viewControlsGrid->EnableDragRowSize( false );
|
||||
m_viewControlsGrid->SetRowLabelSize( 0 );
|
||||
m_viewControlsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
|
||||
|
||||
// Label Appearance
|
||||
|
||||
// Cell Defaults
|
||||
m_viewControlsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
|
||||
m_viewControlsGrid->SetMinSize( wxSize( -1,250 ) );
|
||||
|
||||
bLeftSizer->Add( m_viewControlsGrid, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bFieldsButtons;
|
||||
bFieldsButtons = new wxBoxSizer( wxHORIZONTAL );
|
||||
@ -76,6 +107,15 @@ DIALOG_LIB_FIELDS_BASE::DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id,
|
||||
m_staticline31 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
bControls->Add( m_staticline31, 0, wxEXPAND | wxALL, 3 );
|
||||
|
||||
wxString m_choiceScopeChoices[] = { _("Whole Library"), _("Related Symbols Only") };
|
||||
int m_choiceScopeNChoices = sizeof( m_choiceScopeChoices ) / sizeof( wxString );
|
||||
m_choiceScope = new wxChoice( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceScopeNChoices, m_choiceScopeChoices, 0 );
|
||||
m_choiceScope->SetSelection( 0 );
|
||||
bControls->Add( m_choiceScope, 0, wxALL, 5 );
|
||||
|
||||
m_staticline311 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
bControls->Add( m_staticline311, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
m_bRefresh = new STD_BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
m_bRefresh->SetMinSize( wxSize( 30,30 ) );
|
||||
|
||||
@ -117,7 +157,7 @@ DIALOG_LIB_FIELDS_BASE::DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id,
|
||||
m_rightPanel->Layout();
|
||||
bRightSizer->Fit( m_rightPanel );
|
||||
m_splitterMainWindow->SplitVertically( m_leftPanel, m_rightPanel, -1 );
|
||||
bEditSizer->Add( m_splitterMainWindow, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||
bEditSizer->Add( m_splitterMainWindow, 1, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
bMainSizer->Add( bEditSizer, 1, wxEXPAND, 5 );
|
||||
@ -150,54 +190,54 @@ DIALOG_LIB_FIELDS_BASE::DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id,
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_LIB_FIELDS_BASE::OnClose ) );
|
||||
m_fieldsCtrl->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_LIB_FIELDS_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_fieldsCtrl->Connect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_LIB_FIELDS_BASE::OnFieldsCtrlSelectionChanged ), NULL, this );
|
||||
m_fieldsCtrl->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_FIELDS_BASE::OnSizeFieldList ), NULL, this );
|
||||
m_addFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnAddField ), NULL, this );
|
||||
m_renameFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRenameField ), NULL, this );
|
||||
m_removeFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRemoveField ), NULL, this );
|
||||
m_filter->Connect( wxEVT_MOTION, wxMouseEventHandler( DIALOG_LIB_FIELDS_BASE::OnFilterMouseMoved ), NULL, this );
|
||||
m_filter->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnFilterText ), NULL, this );
|
||||
m_bRefresh->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRegroupSymbols ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_COL_SIZE, wxGridSizeEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableColSize ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnEditorShown ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableSelectCell ), NULL, this );
|
||||
m_sdbSizerApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnApply ), NULL, this );
|
||||
m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnCancel ), NULL, this );
|
||||
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnOk ), NULL, this );
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnClose ) );
|
||||
m_viewControlsGrid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnViewControlsCellChanged ), NULL, this );
|
||||
m_viewControlsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnSizeViewControlsGrid ), NULL, this );
|
||||
m_addFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnAddField ), NULL, this );
|
||||
m_renameFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRenameField ), NULL, this );
|
||||
m_removeFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRemoveField ), NULL, this );
|
||||
m_filter->Connect( wxEVT_MOTION, wxMouseEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnFilterMouseMoved ), NULL, this );
|
||||
m_filter->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnFilterText ), NULL, this );
|
||||
m_choiceScope->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnScope ), NULL, this );
|
||||
m_bRefresh->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRegroupSymbols ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_COL_SIZE, wxGridSizeEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableColSize ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnEditorShown ), NULL, this );
|
||||
m_grid->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableSelectCell ), NULL, this );
|
||||
m_sdbSizerApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnApply ), NULL, this );
|
||||
m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnCancel ), NULL, this );
|
||||
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnOk ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_LIB_FIELDS_BASE::~DIALOG_LIB_FIELDS_BASE()
|
||||
DIALOG_LIB_FIELDS_TABLE_BASE::~DIALOG_LIB_FIELDS_TABLE_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_LIB_FIELDS_BASE::OnClose ) );
|
||||
m_fieldsCtrl->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_LIB_FIELDS_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_fieldsCtrl->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_LIB_FIELDS_BASE::OnFieldsCtrlSelectionChanged ), NULL, this );
|
||||
m_fieldsCtrl->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_FIELDS_BASE::OnSizeFieldList ), NULL, this );
|
||||
m_addFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnAddField ), NULL, this );
|
||||
m_renameFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRenameField ), NULL, this );
|
||||
m_removeFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRemoveField ), NULL, this );
|
||||
m_filter->Disconnect( wxEVT_MOTION, wxMouseEventHandler( DIALOG_LIB_FIELDS_BASE::OnFilterMouseMoved ), NULL, this );
|
||||
m_filter->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnFilterText ), NULL, this );
|
||||
m_bRefresh->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnRegroupSymbols ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_COL_SIZE, wxGridSizeEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableColSize ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnEditorShown ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_LIB_FIELDS_BASE::OnTableSelectCell ), NULL, this );
|
||||
m_sdbSizerApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnApply ), NULL, this );
|
||||
m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnCancel ), NULL, this );
|
||||
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_BASE::OnOk ), NULL, this );
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnClose ) );
|
||||
m_viewControlsGrid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnViewControlsCellChanged ), NULL, this );
|
||||
m_viewControlsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnSizeViewControlsGrid ), NULL, this );
|
||||
m_addFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnAddField ), NULL, this );
|
||||
m_renameFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRenameField ), NULL, this );
|
||||
m_removeFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRemoveField ), NULL, this );
|
||||
m_filter->Disconnect( wxEVT_MOTION, wxMouseEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnFilterMouseMoved ), NULL, this );
|
||||
m_filter->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnFilterText ), NULL, this );
|
||||
m_choiceScope->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnScope ), NULL, this );
|
||||
m_bRefresh->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnRegroupSymbols ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableCmdCellClick ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_COL_SIZE, wxGridSizeEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableColSize ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnEditorShown ), NULL, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnTableSelectCell ), NULL, this );
|
||||
m_sdbSizerApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnApply ), NULL, this );
|
||||
m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnCancel ), NULL, this );
|
||||
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_FIELDS_TABLE_BASE::OnOk ), NULL, this );
|
||||
|
||||
}
|
@ -13,12 +13,12 @@
|
||||
<property name="cpp_use_enum">0</property>
|
||||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="file">dialog_lib_fields_base</property>
|
||||
<property name="file">dialog_lib_fields_table_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_lib_fields_base</property>
|
||||
<property name="name">dialog_lib_fields_table_base</property>
|
||||
<property name="path">.</property>
|
||||
<property name="php_disconnect_events">0</property>
|
||||
<property name="php_disconnect_mode">source_name</property>
|
||||
@ -48,12 +48,12 @@
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size">-1,-1</property>
|
||||
<property name="name">DIALOG_LIB_FIELDS_BASE</property>
|
||||
<property name="name">DIALOG_LIB_FIELDS_TABLE_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">-1,-1</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER</property>
|
||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
||||
<property name="title">Library Fields Editor</property>
|
||||
<property name="title">Library Fields Table (%s)</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="two_step_creation">0</property>
|
||||
<property name="window_extra_style"></property>
|
||||
@ -76,7 +76,7 @@
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxSplitterWindow" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
@ -194,35 +194,95 @@
|
||||
<property name="name">bLeftSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxDataViewListCtrl" expanded="false">
|
||||
<object class="wxGrid" expanded="true">
|
||||
<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="autosize_cols">0</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="cell_bg"></property>
|
||||
<property name="cell_font"></property>
|
||||
<property name="cell_horiz_alignment">wxALIGN_LEFT</property>
|
||||
<property name="cell_text"></property>
|
||||
<property name="cell_vert_alignment">wxALIGN_TOP</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="col_label_horiz_alignment">wxALIGN_CENTER</property>
|
||||
<property name="col_label_size">24</property>
|
||||
<property name="col_label_values">"Field" "BOM Name" "Include" "Group By"</property>
|
||||
<property name="col_label_vert_alignment">wxALIGN_CENTER</property>
|
||||
<property name="cols">4</property>
|
||||
<property name="column_sizes">60,60,46,56</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="drag_col_move">0</property>
|
||||
<property name="drag_col_size">0</property>
|
||||
<property name="drag_grid_size">0</property>
|
||||
<property name="drag_row_size">0</property>
|
||||
<property name="editing">1</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="grid_line_color"></property>
|
||||
<property name="grid_lines">0</property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label_bg"></property>
|
||||
<property name="label_font"></property>
|
||||
<property name="label_text"></property>
|
||||
<property name="margin_height">0</property>
|
||||
<property name="margin_width">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,250</property>
|
||||
<property name="name">m_fieldsCtrl</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_viewControlsGrid</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="row_label_horiz_alignment">wxALIGN_CENTER</property>
|
||||
<property name="row_label_size">0</property>
|
||||
<property name="row_label_values"></property>
|
||||
<property name="row_label_vert_alignment">wxALIGN_CENTER</property>
|
||||
<property name="row_sizes"></property>
|
||||
<property name="rows">1</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="subclass">WX_GRID; widgets/wx_grid.h; 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>
|
||||
<event name="OnDataViewListCtrlItemValueChanged">OnColumnItemToggled</event>
|
||||
<event name="OnDataViewListCtrlSelectionChanged">OnFieldsCtrlSelectionChanged</event>
|
||||
<event name="OnSize">OnSizeFieldList</event>
|
||||
<event name="OnGridCellChange">OnViewControlsCellChanged</event>
|
||||
<event name="OnSize">OnSizeViewControlsGrid</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -668,6 +728,131 @@
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxChoice" expanded="true">
|
||||
<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">"Whole Library" "Related Symbols Only"</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_choiceScope</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>
|
||||
<event name="OnChoice">OnScope</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="true">
|
||||
<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_staticline311</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_VERTICAL</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="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6a-dirty)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -14,12 +14,12 @@ class STD_BITMAP_BUTTON;
|
||||
class WX_GRID;
|
||||
|
||||
#include "dialog_shim.h"
|
||||
#include <wx/dataview.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/grid.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/bmpbuttn.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
@ -29,29 +29,31 @@ class WX_GRID;
|
||||
#include <wx/panel.h>
|
||||
#include <wx/srchctrl.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/grid.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/splitter.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DIALOG_LIB_FIELDS_BASE
|
||||
/// Class DIALOG_LIB_FIELDS_TABLE_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DIALOG_LIB_FIELDS_BASE : public DIALOG_SHIM
|
||||
class DIALOG_LIB_FIELDS_TABLE_BASE : public DIALOG_SHIM
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxSplitterWindow* m_splitterMainWindow;
|
||||
wxPanel* m_leftPanel;
|
||||
wxDataViewListCtrl* m_fieldsCtrl;
|
||||
WX_GRID* m_viewControlsGrid;
|
||||
STD_BITMAP_BUTTON* m_addFieldButton;
|
||||
STD_BITMAP_BUTTON* m_renameFieldButton;
|
||||
STD_BITMAP_BUTTON* m_removeFieldButton;
|
||||
wxPanel* m_rightPanel;
|
||||
wxSearchCtrl* m_filter;
|
||||
wxStaticLine* m_staticline31;
|
||||
wxChoice* m_choiceScope;
|
||||
wxStaticLine* m_staticline311;
|
||||
STD_BITMAP_BUTTON* m_bRefresh;
|
||||
WX_GRID* m_grid;
|
||||
wxStdDialogButtonSizer* m_sdbSizer;
|
||||
@ -61,14 +63,14 @@ class DIALOG_LIB_FIELDS_BASE : public DIALOG_SHIM
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
virtual void OnColumnItemToggled( wxDataViewEvent& event ) { event.Skip(); }
|
||||
virtual void OnFieldsCtrlSelectionChanged( wxDataViewEvent& event ) { event.Skip(); }
|
||||
virtual void OnSizeFieldList( wxSizeEvent& event ) { event.Skip(); }
|
||||
virtual void OnViewControlsCellChanged( wxGridEvent& event ) { event.Skip(); }
|
||||
virtual void OnSizeViewControlsGrid( wxSizeEvent& event ) { event.Skip(); }
|
||||
virtual void OnAddField( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRenameField( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRemoveField( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnFilterMouseMoved( wxMouseEvent& event ) { event.Skip(); }
|
||||
virtual void OnFilterText( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnScope( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRegroupSymbols( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnTableValueChanged( wxGridEvent& event ) { event.Skip(); }
|
||||
virtual void OnTableCellClick( wxGridEvent& event ) { event.Skip(); }
|
||||
@ -84,9 +86,9 @@ class DIALOG_LIB_FIELDS_BASE : public DIALOG_SHIM
|
||||
|
||||
public:
|
||||
|
||||
DIALOG_LIB_FIELDS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Library Fields Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
|
||||
DIALOG_LIB_FIELDS_TABLE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Library Fields Table (%s)"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
|
||||
|
||||
~DIALOG_LIB_FIELDS_BASE();
|
||||
~DIALOG_LIB_FIELDS_TABLE_BASE();
|
||||
|
||||
};
|
||||
|
@ -208,7 +208,7 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent,
|
||||
m_removeFieldButton->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) );
|
||||
m_renameFieldButton->SetBitmap( KiBitmapBundle( BITMAPS::small_edit ) );
|
||||
|
||||
m_viewControlsDataModel = new VIEW_CONTROLS_GRID_DATA_MODEL();
|
||||
m_viewControlsDataModel = new VIEW_CONTROLS_GRID_DATA_MODEL( true );
|
||||
|
||||
m_viewControlsGrid->UseNativeColHeader( true );
|
||||
m_viewControlsGrid->SetTable( m_viewControlsDataModel, true );
|
||||
@ -328,11 +328,9 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent,
|
||||
|
||||
finishDialogSettings();
|
||||
|
||||
EESCHEMA_SETTINGS::PANEL_FIELD_EDITOR& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
SetSize( wxSize( horizPixelsFromDU( 600 ), vertPixelsFromDU( 300 ) ) );
|
||||
|
||||
wxSize dlgSize( cfg.width > 0 ? cfg.width : horizPixelsFromDU( 600 ),
|
||||
cfg.height > 0 ? cfg.height : vertPixelsFromDU( 300 ) );
|
||||
SetSize( dlgSize );
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
m_nbPages->SetSelection( cfg.page );
|
||||
|
||||
@ -358,8 +356,8 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent,
|
||||
Center();
|
||||
|
||||
// Connect Events
|
||||
m_grid->Connect( wxEVT_GRID_COL_SORT, wxGridEventHandler( DIALOG_SYMBOL_FIELDS_TABLE::OnColSort ), nullptr, this );
|
||||
m_grid->Connect( wxEVT_GRID_COL_MOVE, wxGridEventHandler( DIALOG_SYMBOL_FIELDS_TABLE::OnColMove ), nullptr, this );
|
||||
m_grid->Bind( wxEVT_GRID_COL_SORT, &DIALOG_SYMBOL_FIELDS_TABLE::OnColSort, this );
|
||||
m_grid->Bind( wxEVT_GRID_COL_MOVE, &DIALOG_SYMBOL_FIELDS_TABLE::OnColMove, this );
|
||||
m_cbBomPresets->Bind( wxEVT_CHOICE, &DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged, this );
|
||||
m_cbBomFmtPresets->Bind( wxEVT_CHOICE, &DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged, this );
|
||||
m_viewControlsGrid->Bind( wxEVT_GRID_CELL_CHANGED, &DIALOG_SYMBOL_FIELDS_TABLE::OnViewControlsCellChanged, this );
|
||||
@ -375,12 +373,45 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent,
|
||||
m_grid->EnableEditing( false );
|
||||
m_buttonApply->Hide();
|
||||
m_buttonExport->Hide();
|
||||
|
||||
SetupStandardButtons();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DIALOG_SYMBOL_FIELDS_TABLE::~DIALOG_SYMBOL_FIELDS_TABLE()
|
||||
{
|
||||
savePresetsToSchematic();
|
||||
m_schSettings.m_BomExportFileName = m_outputFileName->GetValue();
|
||||
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
cfg.page = m_nbPages->GetSelection();
|
||||
cfg.view_controls_visible_columns = m_viewControlsGrid->GetShownColumnsAsString();
|
||||
cfg.sash_pos = m_splitterMainWindow->GetSashPosition();
|
||||
|
||||
for( int i = 0; i < m_grid->GetNumberCols(); i++ )
|
||||
{
|
||||
if( m_grid->IsColShown( i ) )
|
||||
{
|
||||
std::string fieldName( m_dataModel->GetColFieldName( i ).ToUTF8() );
|
||||
cfg.field_widths[fieldName] = m_grid->GetColSize( i );
|
||||
}
|
||||
}
|
||||
|
||||
// Disconnect Events
|
||||
m_grid->Unbind( wxEVT_GRID_COL_SORT, &DIALOG_SYMBOL_FIELDS_TABLE::OnColSort, this );
|
||||
m_grid->Unbind( wxEVT_GRID_COL_SORT, &DIALOG_SYMBOL_FIELDS_TABLE::OnColMove, this );
|
||||
m_cbBomPresets->Unbind( wxEVT_CHOICE, &DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged, this );
|
||||
m_cbBomFmtPresets->Unbind( wxEVT_CHOICE, &DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged, this );
|
||||
m_viewControlsGrid->Unbind( wxEVT_GRID_CELL_CHANGED, &DIALOG_SYMBOL_FIELDS_TABLE::OnViewControlsCellChanged, this );
|
||||
|
||||
// Delete the GRID_TRICKS.
|
||||
m_viewControlsGrid->PopEventHandler( true );
|
||||
m_grid->PopEventHandler( true );
|
||||
|
||||
// we gave ownership of m_viewControlsDataModel & m_dataModel to the wxGrids...
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::SetupColumnProperties( int aCol )
|
||||
{
|
||||
wxGridCellAttr* attr = new wxGridCellAttr;
|
||||
@ -493,28 +524,6 @@ void DIALOG_SYMBOL_FIELDS_TABLE::SetupAllColumnProperties()
|
||||
}
|
||||
|
||||
|
||||
DIALOG_SYMBOL_FIELDS_TABLE::~DIALOG_SYMBOL_FIELDS_TABLE()
|
||||
{
|
||||
if( EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() ) )
|
||||
{
|
||||
cfg->m_FieldEditorPanel.view_controls_visible_columns = m_viewControlsGrid->GetShownColumnsAsString();
|
||||
cfg->m_FieldEditorPanel.sash_pos = m_splitterMainWindow->GetSashPosition();
|
||||
}
|
||||
|
||||
// Disconnect Events
|
||||
m_grid->Disconnect( wxEVT_GRID_COL_SORT, wxGridEventHandler( DIALOG_SYMBOL_FIELDS_TABLE::OnColSort ),
|
||||
nullptr, this );
|
||||
m_grid->Disconnect( wxEVT_GRID_COL_SORT, wxGridEventHandler( DIALOG_SYMBOL_FIELDS_TABLE::OnColMove ),
|
||||
nullptr, this );
|
||||
|
||||
// Delete the GRID_TRICKS.
|
||||
m_viewControlsGrid->PopEventHandler( true );
|
||||
m_grid->PopEventHandler( true );
|
||||
|
||||
// we gave ownership of m_viewControlsDataModel & m_dataModel to the wxGrids...
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow()
|
||||
{
|
||||
if( !wxDialog::TransferDataFromWindow() )
|
||||
@ -525,7 +534,7 @@ bool DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow()
|
||||
SCH_SELECTION& selection = selectionTool->GetSelection();
|
||||
SCH_SYMBOL* symbol = nullptr;
|
||||
|
||||
EESCHEMA_SETTINGS::PANEL_FIELD_EDITOR& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
switch( cfg.scope )
|
||||
{
|
||||
@ -857,6 +866,29 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnFilterMouseMoved( wxMouseEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::setScope( SCOPE aScope )
|
||||
{
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
cfg.scope = aScope;
|
||||
|
||||
m_dataModel->SetPath( m_parent->GetCurrentSheet() );
|
||||
m_dataModel->SetScope( aScope );
|
||||
m_dataModel->RebuildRows();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnScope( wxCommandEvent& aEvent )
|
||||
{
|
||||
switch( aEvent.GetSelection() )
|
||||
{
|
||||
case 0: setScope( SCOPE::SCOPE_ALL ); break;
|
||||
case 1: setScope( SCOPE::SCOPE_SHEET ); break;
|
||||
case 2: setScope( SCOPE::SCOPE_SHEET_RECURSIVE ); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnGroupSymbolsToggled( wxCommandEvent& event )
|
||||
{
|
||||
m_dataModel->SetGroupingEnabled( m_groupSymbolsBox->GetValue() );
|
||||
@ -869,7 +901,7 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnGroupSymbolsToggled( wxCommandEvent& event )
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnMenu( wxCommandEvent& event )
|
||||
{
|
||||
EESCHEMA_SETTINGS::PANEL_FIELD_EDITOR& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
// Build a pop menu:
|
||||
wxMenu menu;
|
||||
@ -1112,29 +1144,6 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnRegroupSymbols( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::setScope( SCOPE aScope )
|
||||
{
|
||||
EESCHEMA_SETTINGS::PANEL_FIELD_EDITOR& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
cfg.scope = aScope;
|
||||
|
||||
m_dataModel->SetPath( m_parent->GetCurrentSheet() );
|
||||
m_dataModel->SetScope( aScope );
|
||||
m_dataModel->RebuildRows();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnScope( wxCommandEvent& aEvent )
|
||||
{
|
||||
switch( aEvent.GetSelection() )
|
||||
{
|
||||
case 0: setScope( SCOPE::SCOPE_ALL ); break;
|
||||
case 1: setScope( SCOPE::SCOPE_SHEET ); break;
|
||||
case 2: setScope( SCOPE::SCOPE_SHEET_RECURSIVE ); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnTableCellClick( wxGridEvent& event )
|
||||
{
|
||||
if( m_dataModel->ColIsReference( event.GetCol() ) )
|
||||
@ -1153,7 +1162,7 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnTableCellClick( wxGridEvent& event )
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::OnTableRangeSelected( wxGridRangeSelectEvent& aEvent )
|
||||
{
|
||||
EESCHEMA_SETTINGS::PANEL_FIELD_EDITOR& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
EESCHEMA_SETTINGS::PANEL_SYMBOL_FIELDS_TABLE& cfg = m_parent->eeconfig()->m_FieldEditorPanel;
|
||||
|
||||
// Cross-probing should only work in Edit page
|
||||
if( m_nbPages->GetSelection() != 0 )
|
||||
@ -1221,16 +1230,16 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnSizeViewControlsGrid( wxSizeEvent& event )
|
||||
|
||||
if( m_viewControlsGrid->IsColShown( DISPLAY_NAME_COLUMN ) && m_viewControlsGrid->IsColShown( LABEL_COLUMN ) )
|
||||
{
|
||||
m_viewControlsGrid->SetColSize( DISPLAY_NAME_COLUMN, remainingWidth / 2 );
|
||||
m_viewControlsGrid->SetColSize( LABEL_COLUMN, remainingWidth - ( remainingWidth / 2 ) );
|
||||
m_viewControlsGrid->SetColSize( DISPLAY_NAME_COLUMN, std::max( remainingWidth / 2, 60 ) );
|
||||
m_viewControlsGrid->SetColSize( LABEL_COLUMN, std::max( remainingWidth - ( remainingWidth / 2 ), 60 ) );
|
||||
}
|
||||
else if( m_viewControlsGrid->IsColShown( DISPLAY_NAME_COLUMN ) )
|
||||
{
|
||||
m_viewControlsGrid->SetColSize( DISPLAY_NAME_COLUMN, remainingWidth );
|
||||
m_viewControlsGrid->SetColSize( DISPLAY_NAME_COLUMN, std::max( remainingWidth, 60 ) );
|
||||
}
|
||||
else if( m_viewControlsGrid->IsColShown( LABEL_COLUMN ) )
|
||||
{
|
||||
m_viewControlsGrid->SetColSize( LABEL_COLUMN, remainingWidth );
|
||||
m_viewControlsGrid->SetColSize( LABEL_COLUMN, std::max( remainingWidth, 60 ) );
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
@ -1478,7 +1487,6 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnClose( wxCloseEvent& aEvent )
|
||||
return;
|
||||
}
|
||||
|
||||
// This is a cancel, so commit quietly as we're going to throw the results away anyway.
|
||||
m_grid->CommitPendingChanges( true );
|
||||
|
||||
if( m_dataModel->IsEdited() && aEvent.CanVeto() )
|
||||
@ -1496,26 +1504,6 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnClose( wxCloseEvent& aEvent )
|
||||
|
||||
// Stop listening to schematic events
|
||||
m_parent->Schematic().RemoveListener( this );
|
||||
|
||||
// Save all our settings since we're really closing
|
||||
savePresetsToSchematic();
|
||||
m_schSettings.m_BomExportFileName = m_outputFileName->GetValue();
|
||||
|
||||
EESCHEMA_SETTINGS* cfg = m_parent->eeconfig();
|
||||
|
||||
cfg->m_FieldEditorPanel.width = GetSize().x;
|
||||
cfg->m_FieldEditorPanel.height = GetSize().y;
|
||||
cfg->m_FieldEditorPanel.page = m_nbPages->GetSelection();
|
||||
|
||||
for( int i = 0; i < m_grid->GetNumberCols(); i++ )
|
||||
{
|
||||
if( m_grid->IsColShown( i ) )
|
||||
{
|
||||
std::string fieldName( m_dataModel->GetColFieldName( i ).ToUTF8() );
|
||||
cfg->m_FieldEditorPanel.field_widths[fieldName] = m_grid->GetColSize( i );
|
||||
}
|
||||
}
|
||||
|
||||
m_parent->ClearFocus();
|
||||
|
||||
wxCommandEvent* evt = new wxCommandEvent( EDA_EVT_CLOSE_DIALOG_SYMBOL_FIELDS_TABLE, wxID_ANY );
|
||||
@ -2034,12 +2022,11 @@ void DIALOG_SYMBOL_FIELDS_TABLE::rebuildBomFmtPresetsWidget()
|
||||
int idx = 0;
|
||||
int default_idx = 0;
|
||||
|
||||
for( std::pair<const wxString, BOM_FMT_PRESET>& pair : m_bomFmtPresets )
|
||||
for( const auto& [presetName, preset] : m_bomFmtPresets )
|
||||
{
|
||||
m_cbBomFmtPresets->Append( wxGetTranslation( pair.first ),
|
||||
static_cast<void*>( &pair.second ) );
|
||||
m_cbBomFmtPresets->Append( wxGetTranslation( presetName ), (void*) &preset );
|
||||
|
||||
if( pair.first == BOM_FMT_PRESET::CSV().name )
|
||||
if( presetName == BOM_FMT_PRESET::CSV().name )
|
||||
default_idx = idx;
|
||||
|
||||
idx++;
|
||||
|
@ -22,9 +22,7 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef DIALOG_SYMBOL_FIELDS_TABLE_H
|
||||
#define DIALOG_SYMBOL_FIELDS_TABLE_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <dialog_symbol_fields_table_base.h>
|
||||
#include <sch_reference_list.h>
|
||||
@ -66,32 +64,33 @@ private:
|
||||
|
||||
void OnViewControlsCellChanged( wxGridEvent& aEvent ) override;
|
||||
void OnSizeViewControlsGrid( wxSizeEvent& event ) override;
|
||||
void OnAddField( wxCommandEvent& event ) override;
|
||||
void OnRemoveField( wxCommandEvent& event ) override;
|
||||
void OnRenameField( wxCommandEvent& event ) override;
|
||||
|
||||
void OnColSort( wxGridEvent& aEvent );
|
||||
void OnColMove( wxGridEvent& aEvent );
|
||||
void OnTableRangeSelected( wxGridRangeSelectEvent& aEvent );
|
||||
|
||||
void OnScope( wxCommandEvent& event ) override;
|
||||
void OnFilterText( wxCommandEvent& aEvent ) override;
|
||||
void OnFilterMouseMoved( wxMouseEvent& event ) override;
|
||||
void OnScope( wxCommandEvent& event ) override;
|
||||
void OnGroupSymbolsToggled( wxCommandEvent& event ) override;
|
||||
void OnRegroupSymbols( wxCommandEvent& aEvent ) override;
|
||||
void OnMenu( wxCommandEvent& event ) override;
|
||||
|
||||
void OnTableValueChanged( wxGridEvent& event ) override;
|
||||
void OnTableCellClick( wxGridEvent& event ) override;
|
||||
void OnTableColSize( wxGridSizeEvent& event ) override;
|
||||
void OnAddField( wxCommandEvent& event ) override;
|
||||
void OnRemoveField( wxCommandEvent& event ) override;
|
||||
void OnRenameField( wxCommandEvent& event ) override;
|
||||
void OnExport( wxCommandEvent& aEvent ) override;
|
||||
void OnSaveAndContinue( wxCommandEvent& aEvent ) override;
|
||||
void OnCancel( wxCommandEvent& aEvent ) override;
|
||||
void OnClose( wxCloseEvent& aEvent ) override;
|
||||
void OnOk( wxCommandEvent& aEvent ) override;
|
||||
void OnFilterText( wxCommandEvent& aEvent ) override;
|
||||
void OnFilterMouseMoved( wxMouseEvent& event ) override;
|
||||
void OnClose( wxCloseEvent& aEvent ) override;
|
||||
|
||||
void OnOutputFileBrowseClicked( wxCommandEvent& event ) override;
|
||||
void OnPageChanged( wxNotebookEvent& event ) override;
|
||||
void OnPreviewRefresh( wxCommandEvent& event ) override;
|
||||
void OnMenu( wxCommandEvent& event ) override;
|
||||
void PreviewRefresh();
|
||||
|
||||
std::vector<BOM_PRESET> GetUserBomPresets() const;
|
||||
@ -161,5 +160,3 @@ private:
|
||||
|
||||
JOB_EXPORT_SCH_BOM* m_job;
|
||||
};
|
||||
|
||||
#endif /* DIALOG_SYMBOL_FIELDS_TABLE_H */
|
||||
|
@ -41,8 +41,8 @@ DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* pare
|
||||
m_viewControlsGrid->SetMargins( 0, 0 );
|
||||
|
||||
// Columns
|
||||
m_viewControlsGrid->SetColSize( 0, 80 );
|
||||
m_viewControlsGrid->SetColSize( 1, 80 );
|
||||
m_viewControlsGrid->SetColSize( 0, 60 );
|
||||
m_viewControlsGrid->SetColSize( 1, 60 );
|
||||
m_viewControlsGrid->SetColSize( 2, 46 );
|
||||
m_viewControlsGrid->SetColSize( 3, 56 );
|
||||
m_viewControlsGrid->EnableDragColMove( false );
|
||||
|
@ -336,7 +336,7 @@
|
||||
<property name="col_label_values">"Field" "BOM Name" "Include" "Group By"</property>
|
||||
<property name="col_label_vert_alignment">wxALIGN_CENTER</property>
|
||||
<property name="cols">4</property>
|
||||
<property name="column_sizes">80,80,46,56</property>
|
||||
<property name="column_sizes">60,60,46,56</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
@ -3018,7 +3018,7 @@
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="false">
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bButtonsSizer</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf0)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -157,7 +157,7 @@ PANEL_SYM_LIB_TABLE_BASE::PANEL_SYM_LIB_TABLE_BASE( wxWindow* parent, wxWindowID
|
||||
bButtonsSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_resetGlobal = new wxButton( this, wxID_ANY, _("Reset Libraries"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bButtonsSizer->Add( m_resetGlobal, 0, wxALL, 5 );
|
||||
bButtonsSizer->Add( m_resetGlobal, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
bButtonsSizer->Add( 0, 0, 0, wxEXPAND, 5 );
|
||||
|
@ -1,34 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="17"/>
|
||||
<FileVersion major="1" minor="18"/>
|
||||
<object class="Project" expanded="true">
|
||||
<property name="class_decoration"></property>
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="disconnect_events">1</property>
|
||||
<property name="disconnect_mode">source_name</property>
|
||||
<property name="disconnect_php_events">0</property>
|
||||
<property name="disconnect_python_events">0</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="event_generation">connect</property>
|
||||
<property name="file">panel_sym_lib_table_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="image_path_wrapper_function_name"></property>
|
||||
<property name="indent_with_spaces"></property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="lua_skip_events">1</property>
|
||||
<property name="lua_ui_table">UI</property>
|
||||
<property name="name">sym_lib_table</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></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="skip_lua_events">1</property>
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_array_enum">0</property>
|
||||
<property name="use_enum">0</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">wxAUI_MGR_DEFAULT</property>
|
||||
@ -68,10 +70,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="bitmapsize"></property>
|
||||
@ -127,10 +129,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -188,10 +190,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">0</property>
|
||||
<property name="autosize_rows">1</property>
|
||||
<property name="best_size"></property>
|
||||
@ -280,10 +282,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -341,10 +343,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">0</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
@ -444,10 +446,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -519,10 +521,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -594,10 +596,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -669,10 +671,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -754,10 +756,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -832,17 +834,17 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -924,10 +926,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -1011,10 +1013,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -1083,10 +1085,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">1</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf0)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -31,7 +31,6 @@ class WX_GRID;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class PANEL_SYM_LIB_TABLE_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -511,12 +511,6 @@ EESCHEMA_SETTINGS::EESCHEMA_SETTINGS() :
|
||||
m_params.emplace_back( new PARAM_MAP<int>( "field_editor.field_widths",
|
||||
&m_FieldEditorPanel.field_widths, {} ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "field_editor.width",
|
||||
&m_FieldEditorPanel.width, 0 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "field_editor.height",
|
||||
&m_FieldEditorPanel.height, 0 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "field_editor.page",
|
||||
&m_FieldEditorPanel.page, 0 ) );
|
||||
|
||||
|
@ -230,11 +230,9 @@ public:
|
||||
std::vector<BOM_PLUGIN_SETTINGS> plugins;
|
||||
};
|
||||
|
||||
struct PANEL_FIELD_EDITOR
|
||||
struct PANEL_SYMBOL_FIELDS_TABLE
|
||||
{
|
||||
std::map<std::string, int> field_widths;
|
||||
int width;
|
||||
int height;
|
||||
int page;
|
||||
wxString export_filename;
|
||||
int selection_mode;
|
||||
@ -347,7 +345,7 @@ public:
|
||||
|
||||
PANEL_BOM m_BomPanel;
|
||||
|
||||
PANEL_FIELD_EDITOR m_FieldEditorPanel;
|
||||
PANEL_SYMBOL_FIELDS_TABLE m_FieldEditorPanel;
|
||||
|
||||
PANEL_LIB_VIEW m_LibViewPanel;
|
||||
|
||||
|
@ -35,7 +35,7 @@ wxString VIEW_CONTROLS_GRID_DATA_MODEL::GetColLabelValue( int aCol )
|
||||
switch( aCol )
|
||||
{
|
||||
case DISPLAY_NAME_COLUMN: return _( "Field" );
|
||||
case LABEL_COLUMN: return _( "BOM Name" );
|
||||
case LABEL_COLUMN: return m_forBOM ? _( "BOM Name" ) : _( "Label" );
|
||||
case SHOW_FIELD_COLUMN: return _( "Include" );
|
||||
case GROUP_BY_COLUMN: return _( "Group By" );
|
||||
default: return wxT( "unknown column" );
|
||||
@ -131,7 +131,7 @@ void VIEW_CONTROLS_GRID_DATA_MODEL::SetValueAsBool( int aRow, int aCol, bool aVa
|
||||
|
||||
|
||||
void VIEW_CONTROLS_GRID_DATA_MODEL::AppendRow( const wxString& aFieldName, const wxString& aBOMName,
|
||||
bool aShow, bool aGroupBy )
|
||||
bool aShow, bool aGroupBy )
|
||||
{
|
||||
m_fields.emplace_back( BOM_FIELD{ aFieldName, aBOMName, aShow, aGroupBy } );
|
||||
|
||||
@ -326,8 +326,7 @@ wxString FIELDS_EDITOR_GRID_DATA_MODEL::GetValue( int aRow, int aCol )
|
||||
}
|
||||
|
||||
|
||||
wxGridCellAttr* FIELDS_EDITOR_GRID_DATA_MODEL::GetAttr( int aRow, int aCol,
|
||||
wxGridCellAttr::wxAttrKind aKind )
|
||||
wxGridCellAttr* FIELDS_EDITOR_GRID_DATA_MODEL::GetAttr( int aRow, int aCol, wxGridCellAttr::wxAttrKind aKind )
|
||||
{
|
||||
if( GetColFieldName( aCol ) == GetCanonicalFieldName( FIELD_T::DATASHEET )
|
||||
|| IsURL( GetValue( m_rows[aRow], aCol ) ) )
|
||||
@ -363,11 +362,8 @@ wxString FIELDS_EDITOR_GRID_DATA_MODEL::GetValue( const DATA_MODEL_ROW& group, i
|
||||
{
|
||||
const KIID& symbolID = ref.GetSymbol()->m_Uuid;
|
||||
|
||||
if( !m_dataStore.count( symbolID )
|
||||
|| !m_dataStore[symbolID].count( m_cols[aCol].m_fieldName ) )
|
||||
{
|
||||
if( !m_dataStore.contains( symbolID ) || !m_dataStore[symbolID].contains( m_cols[aCol].m_fieldName ) )
|
||||
return INDETERMINATE_STATE;
|
||||
}
|
||||
|
||||
wxString refFieldValue = m_dataStore[symbolID][m_cols[aCol].m_fieldName];
|
||||
|
||||
@ -586,8 +582,7 @@ void FIELDS_EDITOR_GRID_DATA_MODEL::Sort()
|
||||
}
|
||||
|
||||
|
||||
bool FIELDS_EDITOR_GRID_DATA_MODEL::unitMatch( const SCH_REFERENCE& lhRef,
|
||||
const SCH_REFERENCE& rhRef )
|
||||
bool FIELDS_EDITOR_GRID_DATA_MODEL::unitMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef )
|
||||
{
|
||||
// If items are unannotated then we can't tell if they're units of the same symbol or not
|
||||
if( lhRef.GetRefNumber() == wxT( "?" ) )
|
||||
@ -597,9 +592,7 @@ bool FIELDS_EDITOR_GRID_DATA_MODEL::unitMatch( const SCH_REFERENCE& lhRef,
|
||||
}
|
||||
|
||||
|
||||
bool FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch( const SCH_REFERENCE& lhRef,
|
||||
const SCH_REFERENCE& rhRef )
|
||||
|
||||
bool FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef )
|
||||
{
|
||||
int refCol = GetFieldNameCol( GetCanonicalFieldName( FIELD_T::REFERENCE ) );
|
||||
bool matchFound = false;
|
||||
@ -710,8 +703,7 @@ bool FIELDS_EDITOR_GRID_DATA_MODEL::isAttribute( const wxString& aFieldName )
|
||||
}
|
||||
|
||||
|
||||
wxString FIELDS_EDITOR_GRID_DATA_MODEL::getAttributeValue( const SCH_SYMBOL& aSymbol,
|
||||
const wxString& aAttributeName )
|
||||
wxString FIELDS_EDITOR_GRID_DATA_MODEL::getAttributeValue( const SCH_SYMBOL& aSymbol, const wxString& aAttributeName )
|
||||
{
|
||||
if( aAttributeName == wxS( "${DNP}" ) )
|
||||
return aSymbol.GetDNP() ? wxS( "1" ) : wxS( "0" );
|
||||
|
@ -41,7 +41,8 @@ struct BOM_FMT_PRESET;
|
||||
class VIEW_CONTROLS_GRID_DATA_MODEL : public WX_GRID_TABLE_BASE
|
||||
{
|
||||
public:
|
||||
VIEW_CONTROLS_GRID_DATA_MODEL()
|
||||
VIEW_CONTROLS_GRID_DATA_MODEL( bool aForBOM ) :
|
||||
m_forBOM( aForBOM )
|
||||
{}
|
||||
|
||||
~VIEW_CONTROLS_GRID_DATA_MODEL() override = default;
|
||||
@ -88,6 +89,7 @@ public:
|
||||
void SetCanonicalFieldName( int aRow, const wxString& aName );
|
||||
|
||||
protected:
|
||||
bool m_forBOM;
|
||||
std::vector<BOM_FIELD> m_fields;
|
||||
};
|
||||
|
||||
@ -133,8 +135,8 @@ public:
|
||||
enum SCOPE : int
|
||||
{
|
||||
SCOPE_ALL = 0,
|
||||
SCOPE_SHEET = 1,
|
||||
SCOPE_SHEET_RECURSIVE = 2
|
||||
SCOPE_SHEET,
|
||||
SCOPE_SHEET_RECURSIVE
|
||||
};
|
||||
|
||||
FIELDS_EDITOR_GRID_DATA_MODEL( const SCH_REFERENCE_LIST& aSymbolsList, wxGridCellAttr* aURLEditor ) :
|
||||
@ -332,8 +334,9 @@ public:
|
||||
private:
|
||||
static bool cmp( const DATA_MODEL_ROW& lhGroup, const DATA_MODEL_ROW& rhGroup,
|
||||
FIELDS_EDITOR_GRID_DATA_MODEL* dataModel, int sortCol, bool ascending );
|
||||
bool unitMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef );
|
||||
bool groupMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef );
|
||||
|
||||
bool unitMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef );
|
||||
bool groupMatch( const SCH_REFERENCE& lhRef, const SCH_REFERENCE& rhRef );
|
||||
|
||||
// Helper functions to deal with translating wxGrid values to and from
|
||||
// named field values like ${DNP}
|
||||
@ -349,8 +352,7 @@ private:
|
||||
* @retval true if the symbol attribute value has changed.
|
||||
* @retval false if the symbol attribute has **not** changed.
|
||||
*/
|
||||
bool setAttributeValue( SCH_SYMBOL& aSymbol, const wxString& aAttributeName,
|
||||
const wxString& aValue );
|
||||
bool setAttributeValue( SCH_SYMBOL& aSymbol, const wxString& aAttributeName, const wxString& aValue );
|
||||
|
||||
/* Helper function to get the resolved field value.
|
||||
* Handles symbols that are missing fields that would have a variable
|
||||
@ -360,8 +362,6 @@ private:
|
||||
|
||||
void Sort();
|
||||
|
||||
SCH_REFERENCE_LIST getSymbolReferences( SCH_SYMBOL* aSymbol );
|
||||
void storeReferenceFields( SCH_REFERENCE& aRef );
|
||||
void updateDataStoreSymbolField( const SCH_SYMBOL& aSymbol, const wxString& aFieldName );
|
||||
|
||||
protected:
|
||||
@ -376,7 +376,7 @@ protected:
|
||||
int m_sortColumn;
|
||||
bool m_sortAscending;
|
||||
wxString m_filter;
|
||||
enum SCOPE m_scope;
|
||||
SCOPE m_scope;
|
||||
SCH_SHEET_PATH m_path;
|
||||
bool m_groupingEnabled;
|
||||
bool m_excludeDNP;
|
||||
|
@ -16,39 +16,22 @@
|
||||
* 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 <sch_reference_list.h>
|
||||
#include <wx/grid.h>
|
||||
#include <wx/arrstr.h>
|
||||
#include <widgets/grid_striped_renderer.h>
|
||||
// The field name in the data model (translated)
|
||||
#define DISPLAY_NAME_COLUMN 0
|
||||
|
||||
// The field name's label for exporting (CSV, etc.)
|
||||
#define LABEL_COLUMN 1
|
||||
#define SHOW_FIELD_COLUMN 2
|
||||
#define GROUP_BY_COLUMN 3
|
||||
|
||||
// The internal field name (untranslated)
|
||||
#define FIELD_NAME_COLUMN 4
|
||||
|
||||
struct BOM_FIELD;
|
||||
struct BOM_PRESET;
|
||||
struct BOM_FMT_PRESET;
|
||||
|
||||
enum GROUP_TYPE
|
||||
{
|
||||
GROUP_SINGLETON,
|
||||
GROUP_COLLAPSED,
|
||||
GROUP_COLLAPSED_DURING_SORT,
|
||||
GROUP_EXPANDED,
|
||||
CHILD_ITEM
|
||||
};
|
||||
#include <fields_data_model.h>
|
||||
|
||||
|
||||
struct LIB_DATA_MODEL_ROW
|
||||
{
|
||||
LIB_DATA_MODEL_ROW( const LIB_SYMBOL* aFirstReference, GROUP_TYPE aType )
|
||||
: m_ItemNumber( 0 ), m_Flag( aType ), m_Refs( { aFirstReference } )
|
||||
LIB_DATA_MODEL_ROW( const LIB_SYMBOL* aFirstReference, GROUP_TYPE aType ) :
|
||||
m_ItemNumber( 0 ),
|
||||
m_Flag( aType ),
|
||||
m_Refs( { aFirstReference } )
|
||||
{
|
||||
}
|
||||
|
||||
@ -94,33 +77,25 @@ struct LIB_DATA_ELEMENT
|
||||
};
|
||||
|
||||
|
||||
class LIB_FIELDS_EDITOR_GRID_DATA_MODEL : public wxGridTableBase
|
||||
class LIB_FIELDS_EDITOR_GRID_DATA_MODEL : public WX_GRID_TABLE_BASE
|
||||
{
|
||||
public:
|
||||
enum SCOPE : int
|
||||
{
|
||||
SCOPE_ALL = 0,
|
||||
SCOPE_SHEET = 1,
|
||||
SCOPE_SHEET_RECURSIVE = 2
|
||||
};
|
||||
|
||||
LIB_FIELDS_EDITOR_GRID_DATA_MODEL( const std::vector<LIB_SYMBOL*>& aSymbolsList ) :
|
||||
m_symbolsList( aSymbolsList ), m_edited( false ), m_sortColumn( 0 ),
|
||||
m_sortAscending( false ), m_filter( wxEmptyString ), m_scope( SCOPE_ALL ),
|
||||
m_path(), m_groupingEnabled( false ), m_cols(), m_rows(),
|
||||
m_dataStore(), m_stripedStringRenderer( nullptr )
|
||||
LIB_FIELDS_EDITOR_GRID_DATA_MODEL() :
|
||||
m_edited( false ),
|
||||
m_sortColumn( 0 ),
|
||||
m_sortAscending( false ),
|
||||
m_filter( wxEmptyString ),
|
||||
m_groupingEnabled( false ),
|
||||
m_stripedStringRenderer( nullptr )
|
||||
{
|
||||
}
|
||||
|
||||
~LIB_FIELDS_EDITOR_GRID_DATA_MODEL()
|
||||
~LIB_FIELDS_EDITOR_GRID_DATA_MODEL() override
|
||||
{
|
||||
for (auto& pair : m_stripedRenderers)
|
||||
for( auto& pair : m_stripedRenderers )
|
||||
pair.second->DecRef();
|
||||
|
||||
m_stripedRenderers.clear();
|
||||
|
||||
for( const auto& [col, attr] : m_colAttrs )
|
||||
wxSafeDecRef( attr );
|
||||
}
|
||||
|
||||
static const wxString QUANTITY_VARIABLE;
|
||||
@ -138,13 +113,19 @@ public:
|
||||
wxCHECK_RET( aCol >= 0 && aCol < (int) m_cols.size(), "Invalid Column Number" );
|
||||
|
||||
if( aCol == aNewPos )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if( aCol < aNewPos )
|
||||
{
|
||||
std::rotate( std::begin( m_cols ) + aCol, std::begin( m_cols ) + aCol + 1,
|
||||
std::begin( m_cols ) + aNewPos + 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
std::rotate( std::begin( m_cols ) + aNewPos, std::begin( m_cols ) + aCol,
|
||||
std::begin( m_cols ) + aCol + 1 );
|
||||
}
|
||||
}
|
||||
|
||||
int GetNumberRows() override { return (int) m_rows.size(); }
|
||||
@ -156,7 +137,6 @@ public:
|
||||
m_cols[aCol].m_label = aLabel;
|
||||
}
|
||||
|
||||
|
||||
wxString GetColLabelValue( int aCol ) override
|
||||
{
|
||||
wxCHECK( aCol >= 0 && aCol < (int) m_cols.size(), wxString() );
|
||||
@ -208,9 +188,12 @@ public:
|
||||
void GetSymbolNames( wxArrayString& aList )
|
||||
{
|
||||
aList.Clear();
|
||||
|
||||
for( const LIB_SYMBOL* symbol : m_symbolsList )
|
||||
aList.Add( symbol->GetName() );
|
||||
}
|
||||
|
||||
void SetSymbols( const std::vector<LIB_SYMBOL*>& aSymbolsList ) { m_symbolsList = aSymbolsList; }
|
||||
void RebuildRows();
|
||||
|
||||
void ExpandRow( int aRow );
|
||||
@ -290,22 +273,16 @@ public:
|
||||
return m_rows[aRow].m_Flag == GROUP_SINGLETON || m_rows[aRow].m_Flag == CHILD_ITEM;
|
||||
}
|
||||
|
||||
void SetColAttr( wxGridCellAttr* aAttr, int aCol ) override
|
||||
{
|
||||
wxSafeDecRef( m_colAttrs[aCol] );
|
||||
m_colAttrs[aCol] = aAttr;
|
||||
}
|
||||
|
||||
private:
|
||||
static bool cmp( const LIB_DATA_MODEL_ROW& lhGroup, const LIB_DATA_MODEL_ROW& rhGroup,
|
||||
LIB_FIELDS_EDITOR_GRID_DATA_MODEL* dataModel, int sortCol, bool ascending );
|
||||
bool groupMatch( const LIB_SYMBOL* lhRef, const LIB_SYMBOL* rhRef );
|
||||
wxString getAttributeValue( const LIB_SYMBOL*, const wxString& aAttributeName );
|
||||
void setAttributeValue( LIB_SYMBOL* aSymbol, const wxString& aAttributeName,
|
||||
const wxString& aValue );
|
||||
|
||||
void createActualDerivedSymbol( const LIB_SYMBOL* aParentSymbol, const wxString& aNewSymbolName,
|
||||
const KIID& aNewSymbolUuid );
|
||||
bool groupMatch( const LIB_SYMBOL* lhRef, const LIB_SYMBOL* rhRef );
|
||||
wxString getAttributeValue( const LIB_SYMBOL*, const wxString& aAttributeName );
|
||||
void setAttributeValue( LIB_SYMBOL* aSymbol, const wxString& aAttributeName, const wxString& aValue );
|
||||
|
||||
void createActualDerivedSymbol( const LIB_SYMBOL* aParentSymbol, const wxString& aNewSymbolName,
|
||||
const KIID& aNewSymbolUuid );
|
||||
|
||||
void Sort();
|
||||
|
||||
@ -320,16 +297,14 @@ protected:
|
||||
int m_sortColumn;
|
||||
bool m_sortAscending;
|
||||
wxString m_filter;
|
||||
enum SCOPE m_scope;
|
||||
SCH_SHEET_PATH m_path;
|
||||
bool m_groupingEnabled;
|
||||
|
||||
std::vector<LIB_DATA_MODEL_COL> m_cols;
|
||||
std::vector<LIB_DATA_MODEL_ROW> m_rows;
|
||||
|
||||
// Data store
|
||||
// The data model is fundamentally m_componentRefs X m_fieldNames.
|
||||
// A map of compID : fieldSet, where fieldSet is a map of fieldName : LIB_DATA_ELEMENT
|
||||
// The data model is fundamentally symbols X fieldNames.
|
||||
// A map of symbolID : fieldSet, where fieldSet is a map of fieldName : LIB_DATA_ELEMENT
|
||||
std::map<KIID, std::map<wxString, LIB_DATA_ELEMENT>> m_dataStore;
|
||||
|
||||
// Track newly created derived symbols for library manager integration
|
||||
@ -338,7 +313,4 @@ protected:
|
||||
// stripe bitmap support
|
||||
mutable STRIPED_STRING_RENDERER* m_stripedStringRenderer;
|
||||
mutable std::map<wxString, wxGridCellRenderer*> m_stripedRenderers;
|
||||
|
||||
// Column attributes storage
|
||||
std::map<int, wxGridCellAttr*> m_colAttrs;
|
||||
};
|
||||
|
@ -59,25 +59,25 @@ SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS() :
|
||||
&m_AuiPanels.properties_splitter, 0.5f ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "defaults.line_width",
|
||||
&m_Defaults.line_width, 0 ) );
|
||||
&m_Defaults.line_width, 0 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "defaults.text_size",
|
||||
&m_Defaults.text_size, DEFAULT_TEXT_SIZE ) );
|
||||
&m_Defaults.text_size, DEFAULT_TEXT_SIZE ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "defaults.pin_length",
|
||||
&m_Defaults.pin_length, DEFAULT_PIN_LENGTH ) );
|
||||
&m_Defaults.pin_length, DEFAULT_PIN_LENGTH ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "defaults.pin_name_size",
|
||||
&m_Defaults.pin_name_size, DEFAULT_PINNAME_SIZE ) );
|
||||
&m_Defaults.pin_name_size, DEFAULT_PINNAME_SIZE ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "defaults.pin_num_size",
|
||||
&m_Defaults.pin_num_size, DEFAULT_PINNUM_SIZE ) );
|
||||
&m_Defaults.pin_num_size, DEFAULT_PINNUM_SIZE ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "repeat.label_delta",
|
||||
&m_Repeat.label_delta, 1 ) );
|
||||
&m_Repeat.label_delta, 1 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "repeat.pin_step",
|
||||
&m_Repeat.pin_step, 100 ) );
|
||||
&m_Repeat.pin_step, 100 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "import_graphics.interactive_placement",
|
||||
&m_ImportGraphics.interactive_placement, true ) );
|
||||
@ -101,40 +101,43 @@ SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS() :
|
||||
&m_ImportGraphics.dxf_units, 0 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_pin_electrical_type",
|
||||
&m_ShowPinElectricalType, true ) );
|
||||
&m_ShowPinElectricalType, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_pin_alt_icons",
|
||||
&m_ShowPinAltIcons, true ) );
|
||||
&m_ShowPinAltIcons, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_hidden_lib_fields",
|
||||
&m_ShowHiddenFields, true ) );
|
||||
&m_ShowHiddenFields, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_hidden_lib_pins",
|
||||
&m_ShowHiddenPins, true ) );
|
||||
&m_ShowHiddenPins, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "drag_pins_along_with_edges",
|
||||
&m_dragPinsAlongWithEdges, true ) );
|
||||
&m_dragPinsAlongWithEdges, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "lib_table_width",
|
||||
&m_LibWidth, 250 ) );
|
||||
&m_LibWidth, 250 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "library.sort_mode",
|
||||
&m_LibrarySortMode, 0 ) );
|
||||
&m_LibrarySortMode, 0 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<wxString>( "edit_symbol_visible_columns",
|
||||
&m_EditSymbolVisibleColumns, "0 1 2 3 4 5 6 7" ) );
|
||||
&m_EditSymbolVisibleColumns, "0 1 2 3 4 5 6 7" ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<wxString>( "pin_table_visible_columns",
|
||||
&m_PinTableVisibleColumns, "0 1 2 3 4 5 9 10" ) );
|
||||
&m_PinTableVisibleColumns, "0 1 2 3 4 5 9 10" ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "use_eeschema_color_settings",
|
||||
&m_UseEeschemaColorSettings, true ) );
|
||||
&m_UseEeschemaColorSettings, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM_MAP<int>( "field_editor.field_widths", &m_LibFieldEditor.field_widths, {} ) );
|
||||
m_params.emplace_back( new PARAM_MAP<int>( "lib_field_editor.field_widths",
|
||||
&m_LibFieldEditor.field_widths, {} ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "field_editor.width", &m_LibFieldEditor.width, 0 ) );
|
||||
m_params.emplace_back( new PARAM<wxString>( "lib_field_editor.view_controls_visible_columns",
|
||||
&m_LibFieldEditor.view_controls_visible_columns, "0 2 3" ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "field_editor.height", &m_LibFieldEditor.height, 0 ) );
|
||||
m_params.emplace_back( new PARAM<int>( "lib_field_editor.sash_pos",
|
||||
&m_LibFieldEditor.sash_pos, 400 ) );
|
||||
|
||||
|
||||
m_params.emplace_back( new PARAM_LAMBDA<nlohmann::json>( "selection_filter",
|
||||
|
@ -65,11 +65,11 @@ public:
|
||||
int dxf_units;
|
||||
};
|
||||
|
||||
struct LIB_FIELD_EDITOR
|
||||
struct PANEL_LIB_FIELDS_TABLE
|
||||
{
|
||||
std::map<std::string, int> field_widths;
|
||||
int width;
|
||||
int height;
|
||||
wxString view_controls_visible_columns;
|
||||
int sash_pos;
|
||||
};
|
||||
|
||||
SYMBOL_EDITOR_SETTINGS();
|
||||
@ -106,7 +106,7 @@ public:
|
||||
|
||||
SCH_SELECTION_FILTER_OPTIONS m_SelectionFilter;
|
||||
|
||||
LIB_FIELD_EDITOR m_LibFieldEditor;
|
||||
PANEL_LIB_FIELDS_TABLE m_LibFieldEditor;
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <advanced_config.h>
|
||||
#include <bitmaps/bitmap_types.h>
|
||||
#include <confirm.h>
|
||||
#include <dialogs/dialog_lib_fields.h>
|
||||
#include <dialogs/dialog_lib_fields_table.h>
|
||||
#include <gestfich.h> // To open with a text editor
|
||||
#include <kidialog.h>
|
||||
#include <kiway.h>
|
||||
@ -117,14 +117,6 @@ bool SYMBOL_EDITOR_CONTROL::Init()
|
||||
return false;
|
||||
};
|
||||
|
||||
/* not used, but used to be used
|
||||
auto multiSelectedCondition =
|
||||
[this]( const SELECTION& aSel )
|
||||
{
|
||||
SYMBOL_EDIT_FRAME* editFrame = getEditFrame<SYMBOL_EDIT_FRAME>();
|
||||
return editFrame && editFrame->GetTreeSelectionCount() > 1;
|
||||
};
|
||||
*/
|
||||
auto multiSymbolSelectedCondition =
|
||||
[this]( const SELECTION& aSel )
|
||||
{
|
||||
@ -178,29 +170,6 @@ bool SYMBOL_EDITOR_CONTROL::Init()
|
||||
};
|
||||
|
||||
|
||||
auto librarySelectedCondition = [this]( const SELECTION& aSel ) -> bool
|
||||
{
|
||||
bool result = false;
|
||||
LIB_TREE* libTree = m_frame->GetLibTree();
|
||||
|
||||
if( libTree )
|
||||
{
|
||||
std::vector<LIB_TREE_NODE*> selection;
|
||||
libTree->GetSelectedTreeNodes( selection );
|
||||
|
||||
if( selection.size() == 1 )
|
||||
{
|
||||
const LIB_TREE_NODE* lib = selection[0];
|
||||
if( lib && lib->m_Type == LIB_TREE_NODE::TYPE::LIBRARY )
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
ctxMenu.AddItem( SCH_ACTIONS::newSymbol, libInferredCondition, 10 );
|
||||
ctxMenu.AddItem( SCH_ACTIONS::deriveFromExistingSymbol, symbolSelectedCondition, 10 );
|
||||
@ -240,8 +209,8 @@ bool SYMBOL_EDITOR_CONTROL::Init()
|
||||
ctxMenu.AddItem( ACTIONS::openDirectory, canOpenExternally && ( symbolSelectedCondition || libSelectedCondition ), 200 );
|
||||
}
|
||||
|
||||
ctxMenu.AddItem( ACTIONS::showLibraryTable, librarySelectedCondition, 300 );
|
||||
ctxMenu.AddItem( ACTIONS::showRelatedLibraryTable, symbolSelectedCondition, 300 );
|
||||
ctxMenu.AddItem( ACTIONS::showLibraryFieldsTable, libInferredCondition, 300 );
|
||||
ctxMenu.AddItem( ACTIONS::showRelatedLibraryFieldsTable, symbolSelectedCondition, 300 );
|
||||
|
||||
libraryTreeTool->AddContextMenuItems( &ctxMenu );
|
||||
}
|
||||
@ -974,33 +943,13 @@ int SYMBOL_EDITOR_CONTROL::ChangeUnit( const TOOL_EVENT& aEvent )
|
||||
|
||||
int SYMBOL_EDITOR_CONTROL::ShowLibraryTable( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
SYMBOL_EDIT_FRAME* editFrame = getEditFrame<SYMBOL_EDIT_FRAME>();
|
||||
LIB_SYMBOL_LIBRARY_MANAGER& libMgr = editFrame->GetLibManager();
|
||||
wxString libName = editFrame->GetTreeLIBID().GetLibNickname();
|
||||
wxArrayString symbolNames;
|
||||
DIALOG_LIB_FIELDS_TABLE::SCOPE scope = DIALOG_LIB_FIELDS_TABLE::SCOPE_LIBRARY;
|
||||
|
||||
if( aEvent.IsAction( &ACTIONS::showRelatedLibraryTable ) )
|
||||
{
|
||||
LIB_ID symId = editFrame->GetTargetLibId();
|
||||
if( aEvent.IsAction( &ACTIONS::showRelatedLibraryFieldsTable ) )
|
||||
scope = DIALOG_LIB_FIELDS_TABLE::SCOPE_RELATED_SYMBOLS;
|
||||
|
||||
const LIB_SYMBOL* sym = libMgr.GetBufferedSymbol( symId.GetLibItemName(), libName );
|
||||
wxCHECK_MSG( sym, 0, _( "Failed to find symbol" ) );
|
||||
DIALOG_LIB_FIELDS_TABLE dlg( getEditFrame<SYMBOL_EDIT_FRAME>(), scope );
|
||||
|
||||
LIB_SYMBOL_SPTR root = sym->GetRootSymbol();
|
||||
wxCHECK_MSG( root, 0, _( "Failed to find root symbol" ) );
|
||||
|
||||
symbolNames.Add( root->GetName() );
|
||||
// Now we have the root symbol, collect all its derived symbols
|
||||
libMgr.GetDerivedSymbolNames( root->GetName(), libName, symbolNames );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Get all symbol names from the library manager
|
||||
editFrame->GetLibManager().GetSymbolNames( libName, symbolNames );
|
||||
}
|
||||
|
||||
DIALOG_LIB_FIELDS dlg( editFrame, libName, symbolNames );
|
||||
dlg.SetTitle( _( "Library Fields" ) );
|
||||
dlg.ShowModal();
|
||||
return 0;
|
||||
}
|
||||
@ -1052,8 +1001,8 @@ void SYMBOL_EDITOR_CONTROL::setTransitions()
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ToggleHiddenFields, SCH_ACTIONS::showHiddenFields.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::TogglePinAltIcons, SCH_ACTIONS::togglePinAltIcons.MakeEvent() );
|
||||
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ShowLibraryTable, ACTIONS::showLibraryTable.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ShowLibraryTable, ACTIONS::showRelatedLibraryTable.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ShowLibraryTable, ACTIONS::showLibraryFieldsTable.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ShowLibraryTable, ACTIONS::showRelatedLibraryFieldsTable.MakeEvent() );
|
||||
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ChangeUnit, SCH_ACTIONS::previousUnit.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ChangeUnit, SCH_ACTIONS::nextUnit.MakeEvent() );
|
||||
|
@ -264,8 +264,8 @@ public:
|
||||
static TOOL_ACTION updateSchematicFromPcb;
|
||||
static TOOL_ACTION showProperties;
|
||||
static TOOL_ACTION showDatasheet;
|
||||
static TOOL_ACTION showLibraryTable;
|
||||
static TOOL_ACTION showRelatedLibraryTable;
|
||||
static TOOL_ACTION showLibraryFieldsTable;
|
||||
static TOOL_ACTION showRelatedLibraryFieldsTable;
|
||||
|
||||
// Internal
|
||||
static TOOL_ACTION updateMenu;
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf0)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -154,7 +154,7 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
|
||||
bButtonsSizer->Add( 20, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_resetGlobal = new wxButton( this, wxID_ANY, _("Reset Libraries"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bButtonsSizer->Add( m_resetGlobal, 0, wxALL, 5 );
|
||||
bButtonsSizer->Add( m_resetGlobal, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
bButtonsSizer->Add( 0, 0, 0, wxEXPAND, 5 );
|
||||
|
@ -1,34 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="17"/>
|
||||
<FileVersion major="1" minor="18"/>
|
||||
<object class="Project" expanded="true">
|
||||
<property name="class_decoration"></property>
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="disconnect_events">1</property>
|
||||
<property name="disconnect_mode">source_name</property>
|
||||
<property name="disconnect_php_events">0</property>
|
||||
<property name="disconnect_python_events">0</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="event_generation">connect</property>
|
||||
<property name="file">panel_fp_lib_table_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="image_path_wrapper_function_name"></property>
|
||||
<property name="indent_with_spaces"></property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="lua_skip_events">1</property>
|
||||
<property name="lua_ui_table">UI</property>
|
||||
<property name="name">panel_fp_lib_table</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></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="skip_lua_events">1</property>
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_array_enum">0</property>
|
||||
<property name="use_enum">0</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">wxAUI_MGR_DEFAULT</property>
|
||||
@ -68,10 +70,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="bitmapsize"></property>
|
||||
@ -127,10 +129,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -188,10 +190,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">0</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
@ -280,10 +282,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -341,10 +343,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">0</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
@ -444,10 +446,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -519,10 +521,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -582,10 +584,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -657,10 +659,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -742,10 +744,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -820,17 +822,17 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -912,10 +914,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -989,10 +991,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></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>
|
||||
@ -1061,10 +1063,10 @@
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="autosize_cols">1</property>
|
||||
<property name="autosize_rows">0</property>
|
||||
<property name="best_size"></property>
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf0)
|
||||
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -32,7 +32,6 @@ class WX_GRID;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class PANEL_FP_LIB_TABLE_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
x
Reference in New Issue
Block a user