Fix code after renaming files
Change class names according to the new name of the main dialog
This commit is contained in:
parent
35a0688bf7
commit
dba198e576
|
@ -26,8 +26,8 @@ set( EESCHEMA_DLGS
|
|||
dialogs/dialog_bom.cpp
|
||||
dialogs/dialog_bom_base.cpp
|
||||
dialogs/dialog_bom_cfg_keywords.cpp
|
||||
dialogs/dialog_bom_editor.cpp
|
||||
dialogs/dialog_bom_editor_base.cpp
|
||||
dialogs/dialog_fields_editor_global.cpp
|
||||
dialogs/dialog_fields_editor_global_base.cpp
|
||||
dialogs/dialog_choose_component.cpp
|
||||
dialogs/dialog_edit_component_in_lib.cpp
|
||||
dialogs/dialog_edit_component_in_lib_base.cpp
|
||||
|
@ -99,8 +99,6 @@ set( EESCHEMA_SRCS
|
|||
backanno.cpp
|
||||
block.cpp
|
||||
block_libedit.cpp
|
||||
bom_table_column.cpp
|
||||
bom_table_model.cpp
|
||||
bus-wire-junction.cpp
|
||||
busentry.cpp
|
||||
class_libentry.cpp
|
||||
|
@ -122,6 +120,8 @@ set( EESCHEMA_SRCS
|
|||
eeschema_config.cpp
|
||||
erc.cpp
|
||||
events_called_functions_for_edit.cpp
|
||||
fields_editor_table_column.cpp
|
||||
fields_editor_table_model.cpp
|
||||
files-io.cpp
|
||||
find.cpp
|
||||
generate_alias_info.cpp
|
||||
|
|
|
@ -35,25 +35,23 @@
|
|||
#include <general.h>
|
||||
#include <class_library.h>
|
||||
|
||||
#include "dialog_bom_editor.h"
|
||||
#include <bom_table_model.h>
|
||||
|
||||
/* BOM Table Colours */
|
||||
#include "dialog_fields_editor_global.h"
|
||||
#include <fields_editor_table_model.h>
|
||||
|
||||
|
||||
// Create and show BOM editor
|
||||
// Create and show fields editor
|
||||
void InvokeDialogCreateBOMEditor( SCH_EDIT_FRAME* aCaller )
|
||||
{
|
||||
DIALOG_BOM_EDITOR dlg( aCaller );
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL dlg( aCaller );
|
||||
dlg.ShowQuasiModal();
|
||||
}
|
||||
|
||||
|
||||
DIALOG_BOM_EDITOR::DIALOG_BOM_EDITOR( SCH_EDIT_FRAME* parent ) :
|
||||
DIALOG_BOM_EDITOR_BASE( parent ),
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL( SCH_EDIT_FRAME* parent ) :
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL_BASE( parent ),
|
||||
m_parent( parent )
|
||||
{
|
||||
m_bom = BOM_TABLE_MODEL::Create();
|
||||
m_bom = FIELDS_EDITOR_TABLE_MODEL::Create();
|
||||
|
||||
auto nameColumn = m_columnListCtrl->AppendTextColumn( _( "Field" ) );
|
||||
|
||||
|
@ -104,24 +102,24 @@ DIALOG_BOM_EDITOR::DIALOG_BOM_EDITOR( SCH_EDIT_FRAME* parent ) :
|
|||
}
|
||||
|
||||
|
||||
DIALOG_BOM_EDITOR::~DIALOG_BOM_EDITOR()
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL::~DIALOG_FIELDS_EDITOR_GLOBAL()
|
||||
{
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnCloseButton( wxCommandEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnCloseButton( wxCommandEvent& event )
|
||||
{
|
||||
// DIALOG_BOM_EDITOR::OnDialogClosed() will be called,
|
||||
// DIALOG_FIELDS_EDITOR_GLOBAL::OnDialogClosed() will be called,
|
||||
// when closing this dialog.
|
||||
// The default wxID_CANCEL handler is not suitable for us,
|
||||
// because it calls DIALOG_SHIM::EndQuasiModal() without calling
|
||||
// DIALOG_BOM_EDITOR::OnDialogClosed()
|
||||
// DIALOG_FIELDS_EDITOR_GLOBAL::OnDialogClosed()
|
||||
Close();
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_BOM_EDITOR::CanCloseDialog()
|
||||
bool DIALOG_FIELDS_EDITOR_GLOBAL::CanCloseDialog()
|
||||
{
|
||||
if( !m_bom->HaveFieldsChanged() )
|
||||
return true;
|
||||
|
@ -145,7 +143,7 @@ bool DIALOG_BOM_EDITOR::CanCloseDialog()
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnDialogClosed( wxCloseEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnDialogClosed( wxCloseEvent& event )
|
||||
{
|
||||
if( !CanCloseDialog() )
|
||||
{
|
||||
|
@ -171,7 +169,7 @@ typedef struct
|
|||
} SheetUndoList;
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::ApplyAllChanges()
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::ApplyAllChanges()
|
||||
{
|
||||
if( !m_bom->HaveFieldsChanged() )
|
||||
return;
|
||||
|
@ -253,7 +251,7 @@ void DIALOG_BOM_EDITOR::ApplyAllChanges()
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::UpdateTitle()
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::UpdateTitle()
|
||||
{
|
||||
wxString title;
|
||||
|
||||
|
@ -281,7 +279,7 @@ void DIALOG_BOM_EDITOR::UpdateTitle()
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::LoadComponents()
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::LoadComponents()
|
||||
{
|
||||
if( !m_parent ) return;
|
||||
|
||||
|
@ -297,7 +295,7 @@ void DIALOG_BOM_EDITOR::LoadComponents()
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::LoadColumnNames()
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::LoadColumnNames()
|
||||
{
|
||||
m_columnListCtrl->DeleteAllItems();
|
||||
|
||||
|
@ -319,14 +317,14 @@ void DIALOG_BOM_EDITOR::LoadColumnNames()
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::ReloadColumns()
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::ReloadColumns()
|
||||
{
|
||||
m_bom->AttachTo( m_bomView );
|
||||
UpdateTitle();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnColumnItemToggled( wxDataViewEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnColumnItemToggled( wxDataViewEvent& event )
|
||||
{
|
||||
wxDataViewItem item = event.GetItem();
|
||||
|
||||
|
@ -336,7 +334,7 @@ void DIALOG_BOM_EDITOR::OnColumnItemToggled( wxDataViewEvent& event )
|
|||
if( row == wxNOT_FOUND || row < 0 || row >= (int) m_bom->ColumnCount() )
|
||||
return;
|
||||
|
||||
BOM_COLUMN* bomColumn = m_bom->ColumnList.GetColumnByIndex( row );
|
||||
FIELDS_EDITOR_COLUMN* bomColumn = m_bom->ColumnList.GetColumnByIndex( row );
|
||||
|
||||
if( nullptr == bomColumn )
|
||||
return;
|
||||
|
@ -370,7 +368,7 @@ void DIALOG_BOM_EDITOR::OnColumnItemToggled( wxDataViewEvent& event )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnGroupComponentsToggled( wxCommandEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnGroupComponentsToggled( wxCommandEvent& event )
|
||||
{
|
||||
bool group = m_groupComponentsBox->GetValue();
|
||||
|
||||
|
@ -381,7 +379,7 @@ void DIALOG_BOM_EDITOR::OnGroupComponentsToggled( wxCommandEvent& event )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnUpdateUI( wxUpdateUIEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnUpdateUI( wxUpdateUIEvent& event )
|
||||
{
|
||||
m_regroupComponentsButton->Enable( m_bom->GetColumnGrouping() );
|
||||
|
||||
|
@ -394,27 +392,27 @@ void DIALOG_BOM_EDITOR::OnUpdateUI( wxUpdateUIEvent& event )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnTableValueChanged( wxDataViewEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnTableValueChanged( wxDataViewEvent& event )
|
||||
{
|
||||
Update();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnRegroupComponents( wxCommandEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnRegroupComponents( wxCommandEvent& event )
|
||||
{
|
||||
m_bom->ReloadTable();
|
||||
Update();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnApplyFieldChanges( wxCommandEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnApplyFieldChanges( wxCommandEvent& event )
|
||||
{
|
||||
ApplyAllChanges();
|
||||
Update();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnRevertFieldChanges( wxCommandEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnRevertFieldChanges( wxCommandEvent& event )
|
||||
{
|
||||
if( m_bom->HaveFieldsChanged() )
|
||||
{
|
||||
|
@ -427,7 +425,7 @@ void DIALOG_BOM_EDITOR::OnRevertFieldChanges( wxCommandEvent& event )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnTableItemActivated( wxDataViewEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnTableItemActivated( wxDataViewEvent& event )
|
||||
{
|
||||
/* TODO
|
||||
* - Focus on component selected in SCH_FRAME
|
||||
|
@ -437,7 +435,7 @@ void DIALOG_BOM_EDITOR::OnTableItemActivated( wxDataViewEvent& event )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_BOM_EDITOR::OnTableItemContextMenu( wxDataViewEvent& event )
|
||||
void DIALOG_FIELDS_EDITOR_GLOBAL::OnTableItemContextMenu( wxDataViewEvent& event )
|
||||
{
|
||||
/* TODO
|
||||
* - Display contect menu
|
||||
|
|
|
@ -23,12 +23,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file eeschema/dialogs/dialog_bom_editor.cpp
|
||||
* @file eeschema/dialogs/dialog_fields_editor_global.cpp
|
||||
* @brief Dialog box for creating bom and other documents from generic netlist.
|
||||
*/
|
||||
|
||||
#ifndef DIALOG_BOM_EDITOR_H
|
||||
#define DIALOG_BOM_EDITOR_H
|
||||
#ifndef DIALOG_FIELDS_EDITOR_GLOBAL_H
|
||||
#define DIALOG_FIELDS_EDITOR_GLOBAL_H
|
||||
|
||||
#include <wx/dataview.h>
|
||||
|
||||
|
@ -37,25 +37,25 @@
|
|||
#include <sch_sheet_path.h>
|
||||
#include <sch_component.h>
|
||||
#include <invoke_sch_dialog.h>
|
||||
#include <dialog_bom_editor_base.h>
|
||||
#include <dialog_fields_editor_global_base.h>
|
||||
#include <netlist_object.h>
|
||||
#include <sch_reference_list.h>
|
||||
#include <vector>
|
||||
|
||||
#include <bom_table_model.h>
|
||||
#include <fields_editor_table_model.h>
|
||||
|
||||
class DIALOG_BOM_EDITOR : public DIALOG_BOM_EDITOR_BASE
|
||||
class DIALOG_FIELDS_EDITOR_GLOBAL : public DIALOG_FIELDS_EDITOR_GLOBAL_BASE
|
||||
{
|
||||
|
||||
public:
|
||||
DIALOG_BOM_EDITOR( SCH_EDIT_FRAME* parent );
|
||||
virtual ~DIALOG_BOM_EDITOR();
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL( SCH_EDIT_FRAME* parent );
|
||||
virtual ~DIALOG_FIELDS_EDITOR_GLOBAL();
|
||||
|
||||
private:
|
||||
//! Parent object (Schematic)
|
||||
SCH_EDIT_FRAME* m_parent;
|
||||
|
||||
BOM_TABLE_MODEL::MODEL_PTR m_bom;
|
||||
FIELDS_EDITOR_TABLE_MODEL::MODEL_PTR m_bom;
|
||||
|
||||
void LoadComponents();
|
||||
|
||||
|
@ -95,4 +95,4 @@ private:
|
|||
|
||||
};
|
||||
|
||||
#endif /* DIALOG_BOM_EDITOR_H */
|
||||
#endif /* DIALOG_FIELDS_EDITOR_GLOBAL_H */
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Jan 2 2018)
|
||||
// C++ code generated with wxFormBuilder (version Aug 4 2017)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_bom_editor_base.h"
|
||||
#include "dialog_fields_editor_global_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DIALOG_BOM_EDITOR_BASE::DIALOG_BOM_EDITOR_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_FIELDS_EDITOR_GLOBAL_BASE::DIALOG_FIELDS_EDITOR_GLOBAL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
|
@ -24,7 +24,7 @@ DIALOG_BOM_EDITOR_BASE::DIALOG_BOM_EDITOR_BASE( wxWindow* parent, wxWindowID id,
|
|||
bSizer7 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_splitter1 = new wxSplitterWindow( m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
|
||||
m_splitter1->Connect( wxEVT_IDLE, wxIdleEventHandler( DIALOG_BOM_EDITOR_BASE::m_splitter1OnIdle ), NULL, this );
|
||||
m_splitter1->Connect( wxEVT_IDLE, wxIdleEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::m_splitter1OnIdle ), NULL, this );
|
||||
m_splitter1->SetMinimumPaneSize( 120 );
|
||||
|
||||
m_leftPanel = new wxPanel( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
|
@ -89,23 +89,23 @@ DIALOG_BOM_EDITOR_BASE::DIALOG_BOM_EDITOR_BASE( wxWindow* parent, wxWindowID id,
|
|||
bSizer7->Fit( m_panel );
|
||||
bSizer61->Add( m_panel, 1, wxEXPAND | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* bSizer71;
|
||||
bSizer71 = new wxBoxSizer( wxHORIZONTAL );
|
||||
wxBoxSizer* bSizerButtonsBottom;
|
||||
bSizerButtonsBottom = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_applyChangesButton = new wxButton( this, wxID_ANY, _("Apply Changes"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer71->Add( m_applyChangesButton, 0, wxALL, 5 );
|
||||
bSizerButtonsBottom->Add( m_applyChangesButton, 0, wxALL, 5 );
|
||||
|
||||
m_revertChangesButton = new wxButton( this, wxID_ANY, _("Revert Changes"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer71->Add( m_revertChangesButton, 0, wxALL, 5 );
|
||||
bSizerButtonsBottom->Add( m_revertChangesButton, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer71->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
bSizerButtonsBottom->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_closeButton = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer71->Add( m_closeButton, 0, wxALL, 5 );
|
||||
bSizerButtonsBottom->Add( m_closeButton, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizer61->Add( bSizer71, 0, wxEXPAND, 5 );
|
||||
bSizer61->Add( bSizerButtonsBottom, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bHorizontalSizer->Add( bSizer61, 1, wxEXPAND, 5 );
|
||||
|
@ -118,38 +118,38 @@ DIALOG_BOM_EDITOR_BASE::DIALOG_BOM_EDITOR_BASE( wxWindow* parent, wxWindowID id,
|
|||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_BOM_EDITOR_BASE::OnDialogClosed ) );
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_BOM_EDITOR_BASE::OnUpdateUI ) );
|
||||
m_groupComponentsBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnGroupComponentsToggled ), NULL, this );
|
||||
m_regroupComponentsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnRegroupComponents ), NULL, this );
|
||||
m_columnListCtrl->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnBomColumReordered ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnBomColumnSorted ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableItemActivated ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnSelectionChanged ), NULL, this );
|
||||
m_applyChangesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnApplyFieldChanges ), NULL, this );
|
||||
m_revertChangesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnRevertFieldChanges ), NULL, this );
|
||||
m_closeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnCloseButton ), NULL, this );
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnDialogClosed ) );
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnUpdateUI ) );
|
||||
m_groupComponentsBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnGroupComponentsToggled ), NULL, this );
|
||||
m_regroupComponentsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnRegroupComponents ), NULL, this );
|
||||
m_columnListCtrl->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnBomColumReordered ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnBomColumnSorted ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableItemActivated ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_bomView->Connect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnSelectionChanged ), NULL, this );
|
||||
m_applyChangesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnApplyFieldChanges ), NULL, this );
|
||||
m_revertChangesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnRevertFieldChanges ), NULL, this );
|
||||
m_closeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnCloseButton ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_BOM_EDITOR_BASE::~DIALOG_BOM_EDITOR_BASE()
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL_BASE::~DIALOG_FIELDS_EDITOR_GLOBAL_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_BOM_EDITOR_BASE::OnDialogClosed ) );
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_BOM_EDITOR_BASE::OnUpdateUI ) );
|
||||
m_groupComponentsBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnGroupComponentsToggled ), NULL, this );
|
||||
m_regroupComponentsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnRegroupComponents ), NULL, this );
|
||||
m_columnListCtrl->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnBomColumReordered ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnBomColumnSorted ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableItemActivated ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_BOM_EDITOR_BASE::OnSelectionChanged ), NULL, this );
|
||||
m_applyChangesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnApplyFieldChanges ), NULL, this );
|
||||
m_revertChangesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnRevertFieldChanges ), NULL, this );
|
||||
m_closeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOM_EDITOR_BASE::OnCloseButton ), NULL, this );
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnDialogClosed ) );
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnUpdateUI ) );
|
||||
m_groupComponentsBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnGroupComponentsToggled ), NULL, this );
|
||||
m_regroupComponentsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnRegroupComponents ), NULL, this );
|
||||
m_columnListCtrl->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnColumnItemToggled ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnBomColumReordered ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnBomColumnSorted ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableItemActivated ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableItemContextMenu ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnTableValueChanged ), NULL, this );
|
||||
m_bomView->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnSelectionChanged ), NULL, this );
|
||||
m_applyChangesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnApplyFieldChanges ), NULL, this );
|
||||
m_revertChangesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnRevertFieldChanges ), NULL, this );
|
||||
m_closeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::OnCloseButton ), NULL, this );
|
||||
|
||||
}
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
<property name="embedded_files_path">res</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="event_generation">connect</property>
|
||||
<property name="file">dialog_bom_editor_base</property>
|
||||
<property name="file">dialog_fields_editor_global_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="name">dialog_bom_editor_base</property>
|
||||
<property name="name">dialog_fields_editor_global_base</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></property>
|
||||
|
@ -42,12 +42,12 @@
|
|||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">DIALOG_BOM_EDITOR_BASE</property>
|
||||
<property name="name">DIALOG_FIELDS_EDITOR_GLOBAL_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">BOM editor</property>
|
||||
<property name="title">Fields editor</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
|
@ -641,8 +641,8 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="splitteritem" expanded="0">
|
||||
<object class="wxPanel" expanded="0">
|
||||
<object class="splitteritem" expanded="1">
|
||||
<object class="wxPanel" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -716,7 +716,7 @@
|
|||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer5</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
|
@ -803,7 +803,7 @@
|
|||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer71</property>
|
||||
<property name="name">bSizerButtonsBottom</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Jan 2 2018)
|
||||
// C++ code generated with wxFormBuilder (version Aug 4 2017)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __DIALOG_BOM_EDITOR_BASE_H__
|
||||
#define __DIALOG_BOM_EDITOR_BASE_H__
|
||||
#ifndef __DIALOG_FIELDS_EDITOR_GLOBAL_BASE_H__
|
||||
#define __DIALOG_FIELDS_EDITOR_GLOBAL_BASE_H__
|
||||
|
||||
#include <wx/artprov.h>
|
||||
#include <wx/xrc/xmlres.h>
|
||||
#include <wx/intl.h>
|
||||
class DIALOG_SHIM;
|
||||
|
||||
#include "dialog_shim.h"
|
||||
#include <wx/string.h>
|
||||
#include <wx/checkbox.h>
|
||||
|
@ -31,9 +33,9 @@
|
|||
#define OPT_GROUP_COMPONENTS 1000
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DIALOG_BOM_EDITOR_BASE
|
||||
/// Class DIALOG_FIELDS_EDITOR_GLOBAL_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DIALOG_BOM_EDITOR_BASE : public DIALOG_SHIM
|
||||
class DIALOG_FIELDS_EDITOR_GLOBAL_BASE : public DIALOG_SHIM
|
||||
{
|
||||
private:
|
||||
|
||||
|
@ -69,15 +71,15 @@ class DIALOG_BOM_EDITOR_BASE : public DIALOG_SHIM
|
|||
|
||||
public:
|
||||
|
||||
DIALOG_BOM_EDITOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("BOM editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
|
||||
~DIALOG_BOM_EDITOR_BASE();
|
||||
DIALOG_FIELDS_EDITOR_GLOBAL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Fields editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
|
||||
~DIALOG_FIELDS_EDITOR_GLOBAL_BASE();
|
||||
|
||||
void m_splitter1OnIdle( wxIdleEvent& )
|
||||
{
|
||||
m_splitter1->SetSashPosition( 231 );
|
||||
m_splitter1->Disconnect( wxEVT_IDLE, wxIdleEventHandler( DIALOG_BOM_EDITOR_BASE::m_splitter1OnIdle ), NULL, this );
|
||||
m_splitter1->Disconnect( wxEVT_IDLE, wxIdleEventHandler( DIALOG_FIELDS_EDITOR_GLOBAL_BASE::m_splitter1OnIdle ), NULL, this );
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif //__DIALOG_BOM_EDITOR_BASE_H__
|
||||
#endif //__DIALOG_FIELDS_EDITOR_GLOBAL_BASE_H__
|
||||
|
|
|
@ -22,28 +22,28 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "bom_table_column.h"
|
||||
#include "fields_editor_table_column.h"
|
||||
|
||||
BOM_COLUMN_LIST::BOM_COLUMN_LIST() : m_nextFieldId( BOM_COL_ID_USER )
|
||||
FIELDS_EDITOR_COLUMN_LIST::FIELDS_EDITOR_COLUMN_LIST() : m_nextFieldId( FIELDS_EDITOR_COL_ID_USER )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void BOM_COLUMN_LIST::Clear()
|
||||
void FIELDS_EDITOR_COLUMN_LIST::Clear()
|
||||
{
|
||||
Columns.clear();
|
||||
m_nextFieldId = BOM_COL_ID_USER;
|
||||
m_nextFieldId = FIELDS_EDITOR_COL_ID_USER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of columns
|
||||
* @param aIncludeHidden - If this is false, only visible columns will be included
|
||||
*/
|
||||
unsigned int BOM_COLUMN_LIST::ColumnCount( bool aIncludeHidden ) const
|
||||
unsigned int FIELDS_EDITOR_COLUMN_LIST::ColumnCount( bool aIncludeHidden ) const
|
||||
{
|
||||
unsigned int count = 0;
|
||||
|
||||
for( BOM_COLUMN* col : Columns )
|
||||
for( FIELDS_EDITOR_COLUMN* col : Columns )
|
||||
{
|
||||
if( col && ( col->IsVisible() || aIncludeHidden ) )
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ unsigned int BOM_COLUMN_LIST::ColumnCount( bool aIncludeHidden ) const
|
|||
/**
|
||||
* Return a column based on its stored position
|
||||
*/
|
||||
BOM_COLUMN* BOM_COLUMN_LIST::GetColumnByIndex( unsigned int aColId )
|
||||
FIELDS_EDITOR_COLUMN* FIELDS_EDITOR_COLUMN_LIST::GetColumnByIndex( unsigned int aColId )
|
||||
{
|
||||
if( aColId < Columns.size() )
|
||||
return Columns[aColId];
|
||||
|
@ -68,7 +68,7 @@ BOM_COLUMN* BOM_COLUMN_LIST::GetColumnByIndex( unsigned int aColId )
|
|||
/**
|
||||
* Return a column based on its unique ID
|
||||
*/
|
||||
BOM_COLUMN* BOM_COLUMN_LIST::GetColumnById( unsigned int aColId )
|
||||
FIELDS_EDITOR_COLUMN* FIELDS_EDITOR_COLUMN_LIST::GetColumnById( unsigned int aColId )
|
||||
{
|
||||
for( unsigned int ii=0; ii<Columns.size(); ii++ )
|
||||
{
|
||||
|
@ -82,7 +82,7 @@ BOM_COLUMN* BOM_COLUMN_LIST::GetColumnById( unsigned int aColId )
|
|||
/**
|
||||
* Return a column based on its string title
|
||||
*/
|
||||
BOM_COLUMN* BOM_COLUMN_LIST::GetColumnByTitle( const wxString& aColTitle )
|
||||
FIELDS_EDITOR_COLUMN* FIELDS_EDITOR_COLUMN_LIST::GetColumnByTitle( const wxString& aColTitle )
|
||||
{
|
||||
for( unsigned int ii=0; ii<Columns.size(); ii++ )
|
||||
{
|
||||
|
@ -96,9 +96,9 @@ BOM_COLUMN* BOM_COLUMN_LIST::GetColumnByTitle( const wxString& aColTitle )
|
|||
/**
|
||||
* Test if the list includes a column with the given unique ID
|
||||
*/
|
||||
bool BOM_COLUMN_LIST::ContainsColumn( unsigned int aColId )
|
||||
bool FIELDS_EDITOR_COLUMN_LIST::ContainsColumn( unsigned int aColId )
|
||||
{
|
||||
for( BOM_COLUMN* col : Columns )
|
||||
for( FIELDS_EDITOR_COLUMN* col : Columns )
|
||||
{
|
||||
if( col && col->Id() == aColId )
|
||||
return true;
|
||||
|
@ -110,7 +110,7 @@ bool BOM_COLUMN_LIST::ContainsColumn( unsigned int aColId )
|
|||
/**
|
||||
* Test if the list includes a column with the given title
|
||||
*/
|
||||
bool BOM_COLUMN_LIST::ContainsColumn( const wxString& aColTitle )
|
||||
bool FIELDS_EDITOR_COLUMN_LIST::ContainsColumn( const wxString& aColTitle )
|
||||
{
|
||||
return nullptr != GetColumnByTitle( aColTitle );
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ bool BOM_COLUMN_LIST::ContainsColumn( const wxString& aColTitle )
|
|||
/**
|
||||
* Add a new column to the list
|
||||
*/
|
||||
bool BOM_COLUMN_LIST::AddColumn( BOM_COLUMN* aCol )
|
||||
bool FIELDS_EDITOR_COLUMN_LIST::AddColumn( FIELDS_EDITOR_COLUMN* aCol )
|
||||
{
|
||||
if( nullptr == aCol )
|
||||
return false;
|
||||
|
@ -129,7 +129,7 @@ bool BOM_COLUMN_LIST::AddColumn( BOM_COLUMN* aCol )
|
|||
Columns.push_back( aCol );
|
||||
|
||||
// If this is a user field, increment the counter
|
||||
if( aCol->Id() >= BOM_COL_ID_USER )
|
||||
if( aCol->Id() >= FIELDS_EDITOR_COL_ID_USER )
|
||||
m_nextFieldId++;
|
||||
|
||||
return true;
|
||||
|
|
|
@ -22,20 +22,20 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef EESCHEMA_BOM_TABLE_COLUMN_H_
|
||||
#define EESCHEMA_BOM_TABLE_COLUMN_H_
|
||||
#ifndef FIELDS_EDITOR_TABLE_COLUMN_H
|
||||
#define FIELDS_EDITOR_TABLE_COLUMN_H
|
||||
|
||||
#include <wx/regex.h>
|
||||
#include <wx/string.h>
|
||||
#include <vector>
|
||||
|
||||
// Default column names (translated)
|
||||
#define BOM_COL_TITLE_REFERENCE _( "Reference" )
|
||||
#define BOM_COL_TITLE_DESCRIPTION _( "Description" )
|
||||
#define BOM_COL_TITLE_FOOTPRINT _( "Footprint" )
|
||||
#define BOM_COL_TITLE_VALUE _( "Value" )
|
||||
#define BOM_COL_TITLE_DATASHEET _( "Datasheet" )
|
||||
#define BOM_COL_TITLE_QUANTITY _( "Quantity" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_REFERENCE _( "Reference" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_DESCRIPTION _( "Description" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_FOOTPRINT _( "Footprint" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_VALUE _( "Value" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_DATASHEET _( "Datasheet" )
|
||||
#define FIELDS_EDITOR_COL_TITLE_QUANTITY _( "Quantity" )
|
||||
|
||||
/**
|
||||
* Column type enumeration
|
||||
|
@ -43,12 +43,12 @@
|
|||
* in the future the different column 'types' might
|
||||
* be used for something...
|
||||
*/
|
||||
enum BOM_COLUMN_TYPE
|
||||
enum FIELDS_EDITOR_COLUMN_TYPE
|
||||
{
|
||||
BOM_COL_TYPE_KICAD = 0, ///< Default column (editable)
|
||||
BOM_COL_TYPE_LIBRARY, ///< Default column (non-editable)
|
||||
BOM_COL_TYPE_GENERATED, ///< Generated column (e.g. Quantity)
|
||||
BOM_COL_TYPE_USER, ///< User data
|
||||
FIELDS_EDITOR_COL_TYPE_KICAD = 0, ///< Default column (editable)
|
||||
FIELDS_EDITOR_COL_TYPE_LIBRARY, ///< Default column (non-editable)
|
||||
FIELDS_EDITOR_COL_TYPE_GENERATED, ///< Generated column (e.g. Quantity)
|
||||
FIELDS_EDITOR_COL_TYPE_USER, ///< User data
|
||||
};
|
||||
|
||||
|
||||
|
@ -56,33 +56,33 @@ enum BOM_COLUMN_TYPE
|
|||
* Predefined column ID values for default columns.
|
||||
* User columns are assigned IDs of 1000 and above
|
||||
*/
|
||||
enum BOM_COLUMN_ID
|
||||
enum FIELDS_EDITOR_COLUMN_ID
|
||||
{
|
||||
// Default component fields
|
||||
BOM_COL_ID_REFERENCE = 0,
|
||||
BOM_COL_ID_DESCRIPTION,
|
||||
BOM_COL_ID_FOOTPRINT,
|
||||
BOM_COL_ID_VALUE,
|
||||
BOM_COL_ID_DATASHEET,
|
||||
FIELDS_EDITOR_COL_ID_REFERENCE = 0,
|
||||
FIELDS_EDITOR_COL_ID_DESCRIPTION,
|
||||
FIELDS_EDITOR_COL_ID_FOOTPRINT,
|
||||
FIELDS_EDITOR_COL_ID_VALUE,
|
||||
FIELDS_EDITOR_COL_ID_DATASHEET,
|
||||
|
||||
// Meta-data fields
|
||||
BOM_COL_ID_QUANTITY = 100,
|
||||
FIELDS_EDITOR_COL_ID_QUANTITY = 100,
|
||||
|
||||
// Custom data fields
|
||||
BOM_COL_ID_USER = 1000,
|
||||
FIELDS_EDITOR_COL_ID_USER = 1000,
|
||||
};
|
||||
|
||||
/**
|
||||
* BOM_COLUMN class
|
||||
* FIELDS_EDITOR_COLUMN class
|
||||
* Models a single column in the BOM view
|
||||
* Each column can be used to group components,
|
||||
* and can be hidden from the output BOM
|
||||
*/
|
||||
class BOM_COLUMN
|
||||
class FIELDS_EDITOR_COLUMN
|
||||
{
|
||||
protected:
|
||||
unsigned int m_id; ///< Unique column ID
|
||||
BOM_COLUMN_TYPE m_Type; ///< Column type
|
||||
FIELDS_EDITOR_COLUMN_TYPE m_Type; ///< Column type
|
||||
|
||||
wxString m_Title; ///< The column (field) title
|
||||
bool m_Show; ///< Is this column visible?
|
||||
|
@ -91,7 +91,7 @@ protected:
|
|||
bool m_sort; ///< Is this column used for sorting?
|
||||
|
||||
public:
|
||||
BOM_COLUMN( unsigned int aId, BOM_COLUMN_TYPE aType, const wxString aTitle, bool aShow, bool aReadOnly = false, bool aSort = true ) :
|
||||
FIELDS_EDITOR_COLUMN( unsigned int aId, FIELDS_EDITOR_COLUMN_TYPE aType, const wxString aTitle, bool aShow, bool aReadOnly = false, bool aSort = true ) :
|
||||
m_id( aId ),
|
||||
m_Type( aType ),
|
||||
m_Title( aTitle.Strip( wxString::both ) ),
|
||||
|
@ -102,7 +102,7 @@ public:
|
|||
}
|
||||
|
||||
unsigned int Id() const { return m_id; }
|
||||
BOM_COLUMN_TYPE Type() const { return m_Type; }
|
||||
FIELDS_EDITOR_COLUMN_TYPE Type() const { return m_Type; }
|
||||
wxString Title() const { return m_Title; }
|
||||
bool IsVisible() const { return m_Show; }
|
||||
bool IsReadOnly() const { return m_ReadOnly; }
|
||||
|
@ -117,36 +117,36 @@ public:
|
|||
};
|
||||
|
||||
/*
|
||||
* The BOM_COLUMN_LIST class contains information
|
||||
* The FIELDS_EDITOR_COLUMN_LIST class contains information
|
||||
* on all columns existing in the BOM
|
||||
*/
|
||||
class BOM_COLUMN_LIST
|
||||
class FIELDS_EDITOR_COLUMN_LIST
|
||||
{
|
||||
protected:
|
||||
|
||||
unsigned int m_nextFieldId;
|
||||
|
||||
public:
|
||||
std::vector< BOM_COLUMN* > Columns;
|
||||
std::vector< FIELDS_EDITOR_COLUMN* > Columns;
|
||||
|
||||
BOM_COLUMN_LIST();
|
||||
FIELDS_EDITOR_COLUMN_LIST();
|
||||
|
||||
void Clear();
|
||||
|
||||
unsigned int NextFieldId() const { return m_nextFieldId; }
|
||||
unsigned int ColumnCount( bool aIncludeHidden = true ) const;
|
||||
|
||||
BOM_COLUMN* GetColumnByIndex( unsigned int aColIndex );
|
||||
BOM_COLUMN* GetColumnById( unsigned int aColId );
|
||||
BOM_COLUMN* GetColumnByTitle( const wxString& aColTitle ) ;
|
||||
FIELDS_EDITOR_COLUMN* GetColumnByIndex( unsigned int aColIndex );
|
||||
FIELDS_EDITOR_COLUMN* GetColumnById( unsigned int aColId );
|
||||
FIELDS_EDITOR_COLUMN* GetColumnByTitle( const wxString& aColTitle ) ;
|
||||
|
||||
bool ContainsColumn( unsigned int aColId );
|
||||
bool ContainsColumn( const wxString& aColTitle );
|
||||
|
||||
bool AddColumn( BOM_COLUMN* aCol );
|
||||
bool AddColumn( FIELDS_EDITOR_COLUMN* aCol );
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* EESCHEMA_BOM_TABLE_COLUMN_H_ */
|
||||
#endif /* FIELDS_EDITOR_TABLE_COLUMN_H */
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "bom_table_model.h"
|
||||
#include "fields_editor_table_model.h"
|
||||
|
||||
// Indicator that multiple values exist in child rows
|
||||
#define ROW_MULT_ITEMS wxString( "<...>" )
|
||||
|
@ -32,18 +32,18 @@ static const wxColor ROW_COLOUR_MULTIPLE_ITEMS( 60, 90, 200 );
|
|||
|
||||
|
||||
/**
|
||||
* Convert BOM_TABLE_ROW -> wxDataViewItem
|
||||
* Convert FIELDS_EDITOR_TABLE_ROW -> wxDataViewItem
|
||||
*/
|
||||
static wxDataViewItem RowToItem( BOM_TABLE_ROW const* aRow )
|
||||
static wxDataViewItem RowToItem( FIELDS_EDITOR_TABLE_ROW const* aRow )
|
||||
{
|
||||
return wxDataViewItem( const_cast<void*>( static_cast<void const*>( aRow ) ) );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convert wxDataViewItem -> BOM_TABEL_ROW
|
||||
* Convert wxDataViewItem -> FIELDS_EDITOR_TABEL_ROW
|
||||
*/
|
||||
static BOM_TABLE_ROW const* ItemToRow( wxDataViewItem aItem )
|
||||
static FIELDS_EDITOR_TABLE_ROW const* ItemToRow( wxDataViewItem aItem )
|
||||
{
|
||||
if( !aItem.IsOk() )
|
||||
{
|
||||
|
@ -51,19 +51,19 @@ static BOM_TABLE_ROW const* ItemToRow( wxDataViewItem aItem )
|
|||
}
|
||||
else
|
||||
{
|
||||
return static_cast<BOM_TABLE_ROW const*>( aItem.GetID() );
|
||||
return static_cast<FIELDS_EDITOR_TABLE_ROW const*>( aItem.GetID() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOM_FIELD_VALUES::BOM_FIELD_VALUES( const wxString& aRefDes, FIELD_VALUE_MAP* aTemplate ) :
|
||||
FIELDS_EDITOR_FIELD_VALUES::FIELDS_EDITOR_FIELD_VALUES( const wxString& aRefDes, FIELD_VALUE_MAP* aTemplate ) :
|
||||
m_refDes( aRefDes ),
|
||||
m_templateValues( aTemplate )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool BOM_FIELD_VALUES::GetFieldValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
bool FIELDS_EDITOR_FIELD_VALUES::GetFieldValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
{
|
||||
auto search = m_currentValues.find( aFieldId );
|
||||
|
||||
|
@ -76,7 +76,7 @@ bool BOM_FIELD_VALUES::GetFieldValue( unsigned int aFieldId, wxString& aValue )
|
|||
}
|
||||
|
||||
|
||||
bool BOM_FIELD_VALUES::GetBackupValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
bool FIELDS_EDITOR_FIELD_VALUES::GetBackupValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
{
|
||||
auto search = m_backupValues.find( aFieldId );
|
||||
|
||||
|
@ -89,7 +89,7 @@ bool BOM_FIELD_VALUES::GetBackupValue( unsigned int aFieldId, wxString& aValue )
|
|||
}
|
||||
|
||||
|
||||
bool BOM_FIELD_VALUES::GetTemplateValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
bool FIELDS_EDITOR_FIELD_VALUES::GetTemplateValue( unsigned int aFieldId, wxString& aValue ) const
|
||||
{
|
||||
if( !m_templateValues )
|
||||
return false;
|
||||
|
@ -105,7 +105,7 @@ bool BOM_FIELD_VALUES::GetTemplateValue( unsigned int aFieldId, wxString& aValue
|
|||
}
|
||||
|
||||
|
||||
void BOM_FIELD_VALUES::SetFieldValue( unsigned int aFieldId, const wxString& aValue,
|
||||
void FIELDS_EDITOR_FIELD_VALUES::SetFieldValue( unsigned int aFieldId, const wxString& aValue,
|
||||
bool aOverwrite )
|
||||
{
|
||||
if( aOverwrite || m_currentValues.count( aFieldId ) == 0 ||
|
||||
|
@ -116,7 +116,7 @@ void BOM_FIELD_VALUES::SetFieldValue( unsigned int aFieldId, const wxString& aVa
|
|||
}
|
||||
|
||||
|
||||
bool BOM_FIELD_VALUES::HasValueChanged( unsigned int aFieldId) const
|
||||
bool FIELDS_EDITOR_FIELD_VALUES::HasValueChanged( unsigned int aFieldId) const
|
||||
{
|
||||
wxString currentValue, backupValue;
|
||||
|
||||
|
@ -127,7 +127,7 @@ bool BOM_FIELD_VALUES::HasValueChanged( unsigned int aFieldId) const
|
|||
}
|
||||
|
||||
|
||||
void BOM_FIELD_VALUES::RevertChanges( unsigned int aFieldId )
|
||||
void FIELDS_EDITOR_FIELD_VALUES::RevertChanges( unsigned int aFieldId )
|
||||
{
|
||||
wxString backupValue;
|
||||
|
||||
|
@ -136,7 +136,7 @@ void BOM_FIELD_VALUES::RevertChanges( unsigned int aFieldId )
|
|||
SetFieldValue( aFieldId, backupValue, true );
|
||||
}
|
||||
|
||||
void BOM_FIELD_VALUES::SetBackupPoint()
|
||||
void FIELDS_EDITOR_FIELD_VALUES::SetBackupPoint()
|
||||
{
|
||||
for( auto it = m_currentValues.begin(); it != m_currentValues.end(); ++it )
|
||||
{
|
||||
|
@ -145,7 +145,7 @@ void BOM_FIELD_VALUES::SetBackupPoint()
|
|||
}
|
||||
|
||||
|
||||
BOM_TABLE_ROW::BOM_TABLE_ROW() : m_columnList( nullptr )
|
||||
FIELDS_EDITOR_TABLE_ROW::FIELDS_EDITOR_TABLE_ROW() : m_columnList( nullptr )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ BOM_TABLE_ROW::BOM_TABLE_ROW() : m_columnList( nullptr )
|
|||
* Update cell attributes based on parameters of the cell
|
||||
* Default implementation highlights cells that have been altered
|
||||
*/
|
||||
bool BOM_TABLE_ROW::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const
|
||||
bool FIELDS_EDITOR_TABLE_ROW::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const
|
||||
{
|
||||
auto field = m_columnList->GetColumnById( aFieldId );
|
||||
|
||||
|
@ -170,7 +170,7 @@ bool BOM_TABLE_ROW::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr )
|
|||
}
|
||||
|
||||
|
||||
bool BOM_TABLE_ROW::HasChanged() const
|
||||
bool FIELDS_EDITOR_TABLE_ROW::HasChanged() const
|
||||
{
|
||||
if( !m_columnList )
|
||||
return false;
|
||||
|
@ -190,13 +190,13 @@ bool BOM_TABLE_ROW::HasChanged() const
|
|||
/**
|
||||
* Create a new group (which contains one or more components)
|
||||
*/
|
||||
BOM_TABLE_GROUP::BOM_TABLE_GROUP( BOM_COLUMN_LIST* aColumnList )
|
||||
FIELDS_EDITOR_TABLE_GROUP::FIELDS_EDITOR_TABLE_GROUP( FIELDS_EDITOR_COLUMN_LIST* aColumnList )
|
||||
{
|
||||
m_columnList = aColumnList;
|
||||
}
|
||||
|
||||
|
||||
bool BOM_TABLE_GROUP::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const
|
||||
bool FIELDS_EDITOR_TABLE_GROUP::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const
|
||||
{
|
||||
if( GetFieldValue( aFieldId ).Cmp( ROW_MULT_ITEMS ) == 0 )
|
||||
{
|
||||
|
@ -205,7 +205,7 @@ bool BOM_TABLE_GROUP::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr
|
|||
return true;
|
||||
}
|
||||
|
||||
return BOM_TABLE_ROW::GetAttr( aFieldId, aAttr );
|
||||
return FIELDS_EDITOR_TABLE_ROW::GetAttr( aFieldId, aAttr );
|
||||
}
|
||||
|
||||
|
||||
|
@ -213,7 +213,7 @@ bool BOM_TABLE_GROUP::GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr
|
|||
* Return the value associated with a given field in the group.
|
||||
* Some fields require special attention.
|
||||
*/
|
||||
wxString BOM_TABLE_GROUP::GetFieldValue( unsigned int aFieldId ) const
|
||||
wxString FIELDS_EDITOR_TABLE_GROUP::GetFieldValue( unsigned int aFieldId ) const
|
||||
{
|
||||
wxString value;
|
||||
|
||||
|
@ -221,12 +221,12 @@ wxString BOM_TABLE_GROUP::GetFieldValue( unsigned int aFieldId ) const
|
|||
switch( aFieldId )
|
||||
{
|
||||
// QUANTITY returns the size of the group
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
value = wxString::Format( "%u", (unsigned int) GroupSize() );
|
||||
break;
|
||||
|
||||
// REFERENCE field returns consolidated list of references
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
value = wxJoin( GetReferences(), ' ' );
|
||||
break;
|
||||
|
||||
|
@ -267,7 +267,7 @@ wxString BOM_TABLE_GROUP::GetFieldValue( unsigned int aFieldId ) const
|
|||
* Set the value of a field in a group
|
||||
* The new value is pushed to all components that are children of this group
|
||||
*/
|
||||
bool BOM_TABLE_GROUP::SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite )
|
||||
bool FIELDS_EDITOR_TABLE_GROUP::SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite )
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
|
@ -289,7 +289,7 @@ bool BOM_TABLE_GROUP::SetFieldValue( unsigned int aFieldId, const wxString aValu
|
|||
* @param aField - The field to test
|
||||
* @param aComponent - The component being tested
|
||||
*/
|
||||
bool BOM_TABLE_GROUP::TestField( BOM_COLUMN* aField, BOM_TABLE_COMPONENT* aComponent ) const
|
||||
bool FIELDS_EDITOR_TABLE_GROUP::TestField( FIELDS_EDITOR_COLUMN* aField, FIELDS_EDITOR_TABLE_COMPONENT* aComponent ) const
|
||||
{
|
||||
if( !aField || !aComponent )
|
||||
return false;
|
||||
|
@ -305,11 +305,11 @@ bool BOM_TABLE_GROUP::TestField( BOM_COLUMN* aField, BOM_TABLE_COMPONENT* aCompo
|
|||
switch( aField->Id() )
|
||||
{
|
||||
// These fields should NOT be compared (return True)
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
return true;
|
||||
|
||||
// Reference matching is done only on prefix
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
componentValue = aComponent->GetPrefix();
|
||||
comparisonValue = Components[0]->GetPrefix();
|
||||
break;
|
||||
|
@ -331,7 +331,7 @@ bool BOM_TABLE_GROUP::TestField( BOM_COLUMN* aField, BOM_TABLE_COMPONENT* aCompo
|
|||
* It is assumed at this stage that the component is a good match for the group.
|
||||
* @param aComponent is the new component to add
|
||||
*/
|
||||
bool BOM_TABLE_GROUP::AddComponent( BOM_TABLE_COMPONENT* aComponent )
|
||||
bool FIELDS_EDITOR_TABLE_GROUP::AddComponent( FIELDS_EDITOR_TABLE_COMPONENT* aComponent )
|
||||
{
|
||||
if( !aComponent )
|
||||
return false;
|
||||
|
@ -372,7 +372,7 @@ bool BOM_TABLE_GROUP::AddComponent( BOM_TABLE_COMPONENT* aComponent )
|
|||
/**
|
||||
* Adds each child row to the supplied list, and returns the total child count
|
||||
*/
|
||||
unsigned int BOM_TABLE_GROUP::GetChildren( wxDataViewItemArray& aChildren ) const
|
||||
unsigned int FIELDS_EDITOR_TABLE_GROUP::GetChildren( wxDataViewItemArray& aChildren ) const
|
||||
{
|
||||
// Show drop-down for child components
|
||||
for( auto& row : Components )
|
||||
|
@ -392,7 +392,7 @@ unsigned int BOM_TABLE_GROUP::GetChildren( wxDataViewItemArray& aChildren ) cons
|
|||
* @param aField is the field to test
|
||||
* @return true if any children have changed else false
|
||||
*/
|
||||
bool BOM_TABLE_GROUP::HasValueChanged( BOM_COLUMN* aField ) const
|
||||
bool FIELDS_EDITOR_TABLE_GROUP::HasValueChanged( FIELDS_EDITOR_COLUMN* aField ) const
|
||||
{
|
||||
|
||||
bool changed = false;
|
||||
|
@ -425,7 +425,7 @@ bool BOM_TABLE_GROUP::HasValueChanged( BOM_COLUMN* aField ) const
|
|||
*
|
||||
* @param aSort - Sort the references
|
||||
*/
|
||||
wxArrayString BOM_TABLE_GROUP::GetReferences( bool aSort ) const
|
||||
wxArrayString FIELDS_EDITOR_TABLE_GROUP::GetReferences( bool aSort ) const
|
||||
{
|
||||
wxArrayString refs;
|
||||
|
||||
|
@ -433,7 +433,7 @@ wxArrayString BOM_TABLE_GROUP::GetReferences( bool aSort ) const
|
|||
{
|
||||
if( cmp )
|
||||
{
|
||||
refs.Add( cmp->GetFieldValue( BOM_COL_ID_REFERENCE ) );
|
||||
refs.Add( cmp->GetFieldValue( FIELDS_EDITOR_COL_ID_REFERENCE ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -452,7 +452,7 @@ wxArrayString BOM_TABLE_GROUP::GetReferences( bool aSort ) const
|
|||
* e.g. "R100" is lower (alphabetically) than "R19"
|
||||
* BUT should be placed after R19
|
||||
*/
|
||||
int BOM_TABLE_GROUP::SortReferences( const wxString& aFirst, const wxString& aSecond )
|
||||
int FIELDS_EDITOR_TABLE_GROUP::SortReferences( const wxString& aFirst, const wxString& aSecond )
|
||||
{
|
||||
// Default sorting
|
||||
int defaultSort = aFirst.Cmp( aSecond );
|
||||
|
@ -512,7 +512,7 @@ int BOM_TABLE_GROUP::SortReferences( const wxString& aFirst, const wxString& aSe
|
|||
* Cases a) to d) should be detected and converted to a common representation
|
||||
* Values that do not match this pattern should revert to standard string comparison
|
||||
*/
|
||||
int BOM_TABLE_GROUP::SortValues( const wxString& aFirst, const wxString& aSecond )
|
||||
int FIELDS_EDITOR_TABLE_GROUP::SortValues( const wxString& aFirst, const wxString& aSecond )
|
||||
{
|
||||
//TODO - Intelligent comparison of component values
|
||||
// e.g. 4K > 499
|
||||
|
@ -528,9 +528,9 @@ int BOM_TABLE_GROUP::SortValues( const wxString& aFirst, const wxString& aSecond
|
|||
* Create a new COMPONENT row
|
||||
* Each COMPONENT row is associated with a single component item.
|
||||
*/
|
||||
BOM_TABLE_COMPONENT::BOM_TABLE_COMPONENT( BOM_TABLE_GROUP* aParent,
|
||||
BOM_COLUMN_LIST* aColumnList,
|
||||
BOM_FIELD_VALUES* aFieldValues )
|
||||
FIELDS_EDITOR_TABLE_COMPONENT::FIELDS_EDITOR_TABLE_COMPONENT( FIELDS_EDITOR_TABLE_GROUP* aParent,
|
||||
FIELDS_EDITOR_COLUMN_LIST* aColumnList,
|
||||
FIELDS_EDITOR_FIELD_VALUES* aFieldValues )
|
||||
{
|
||||
m_parent = aParent;
|
||||
m_columnList = aColumnList;
|
||||
|
@ -542,7 +542,7 @@ BOM_TABLE_COMPONENT::BOM_TABLE_COMPONENT( BOM_TABLE_GROUP* aParent,
|
|||
* Try to add a unit to this component
|
||||
* If the references match, it will be added
|
||||
*/
|
||||
bool BOM_TABLE_COMPONENT::AddUnit( const SCH_REFERENCE& aUnit )
|
||||
bool FIELDS_EDITOR_TABLE_COMPONENT::AddUnit( const SCH_REFERENCE& aUnit )
|
||||
{
|
||||
// Addition is successful if the references match or there are currently no units in the group
|
||||
if( Units.size() == 0 || Units[0].GetRef().Cmp( aUnit.GetRef() ) == 0 )
|
||||
|
@ -558,15 +558,15 @@ bool BOM_TABLE_COMPONENT::AddUnit( const SCH_REFERENCE& aUnit )
|
|||
|
||||
switch( column->Id() )
|
||||
{
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
value = wxEmptyString;
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_DESCRIPTION:
|
||||
case FIELDS_EDITOR_COL_ID_DESCRIPTION:
|
||||
value = cmp->GetAliasDescription();
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_DATASHEET:
|
||||
case FIELDS_EDITOR_COL_ID_DATASHEET:
|
||||
value = cmp->GetField( DATASHEET )->GetText();
|
||||
if( value.IsEmpty() )
|
||||
{
|
||||
|
@ -574,15 +574,15 @@ bool BOM_TABLE_COMPONENT::AddUnit( const SCH_REFERENCE& aUnit )
|
|||
}
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
value = aUnit.GetRef();
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_VALUE:
|
||||
case FIELDS_EDITOR_COL_ID_VALUE:
|
||||
value = cmp->GetField( VALUE )->GetText();
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_FOOTPRINT:
|
||||
case FIELDS_EDITOR_COL_ID_FOOTPRINT:
|
||||
value = cmp->GetField( FOOTPRINT )->GetText();
|
||||
break;
|
||||
|
||||
|
@ -606,16 +606,16 @@ bool BOM_TABLE_COMPONENT::AddUnit( const SCH_REFERENCE& aUnit )
|
|||
* Return the value associated with a particular field
|
||||
* If no field is found, return an empty string
|
||||
*/
|
||||
wxString BOM_TABLE_COMPONENT::GetFieldValue( unsigned int aFieldId ) const
|
||||
wxString FIELDS_EDITOR_TABLE_COMPONENT::GetFieldValue( unsigned int aFieldId ) const
|
||||
{
|
||||
wxString value;
|
||||
|
||||
switch ( aFieldId )
|
||||
{
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
return wxEmptyString;
|
||||
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
return GetReference();
|
||||
|
||||
default:
|
||||
|
@ -642,7 +642,7 @@ wxString BOM_TABLE_COMPONENT::GetFieldValue( unsigned int aFieldId ) const
|
|||
* @param aValue is the new value
|
||||
* @param aOverwrite enforces writing even if a value exists
|
||||
*/
|
||||
bool BOM_TABLE_COMPONENT::SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite )
|
||||
bool FIELDS_EDITOR_TABLE_COMPONENT::SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite )
|
||||
{
|
||||
if( m_fieldValues )
|
||||
{
|
||||
|
@ -654,7 +654,7 @@ bool BOM_TABLE_COMPONENT::SetFieldValue( unsigned int aFieldId, const wxString a
|
|||
}
|
||||
|
||||
|
||||
wxString BOM_TABLE_COMPONENT::GetPrefix() const
|
||||
wxString FIELDS_EDITOR_TABLE_COMPONENT::GetPrefix() const
|
||||
{
|
||||
// Return the prefix of a component e.g. "R23" -> "R"
|
||||
if( Units.size() == 0 )
|
||||
|
@ -667,7 +667,7 @@ wxString BOM_TABLE_COMPONENT::GetPrefix() const
|
|||
/**
|
||||
* Return the reference of a component e.g. "R23"
|
||||
*/
|
||||
wxString BOM_TABLE_COMPONENT::GetReference() const
|
||||
wxString FIELDS_EDITOR_TABLE_COMPONENT::GetReference() const
|
||||
{
|
||||
if( Units.size() == 0 )
|
||||
return wxEmptyString;
|
||||
|
@ -679,7 +679,7 @@ wxString BOM_TABLE_COMPONENT::GetReference() const
|
|||
/**
|
||||
* Determines if the given field has been changed for this component
|
||||
*/
|
||||
bool BOM_TABLE_COMPONENT::HasValueChanged( BOM_COLUMN* aField ) const
|
||||
bool FIELDS_EDITOR_TABLE_COMPONENT::HasValueChanged( FIELDS_EDITOR_COLUMN* aField ) const
|
||||
{
|
||||
if( !aField )
|
||||
{
|
||||
|
@ -694,7 +694,7 @@ bool BOM_TABLE_COMPONENT::HasValueChanged( BOM_COLUMN* aField ) const
|
|||
* If any changes have been made to this component,
|
||||
* they are now applied to the schematic component
|
||||
*/
|
||||
void BOM_TABLE_COMPONENT::ApplyFieldChanges()
|
||||
void FIELDS_EDITOR_TABLE_COMPONENT::ApplyFieldChanges()
|
||||
{
|
||||
for( auto& unit : Units )
|
||||
{
|
||||
|
@ -715,19 +715,19 @@ void BOM_TABLE_COMPONENT::ApplyFieldChanges()
|
|||
switch( column->Id() )
|
||||
{
|
||||
// Ignore read-only fields
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
continue;
|
||||
|
||||
// Special field considerations
|
||||
case BOM_COL_ID_FOOTPRINT:
|
||||
case FIELDS_EDITOR_COL_ID_FOOTPRINT:
|
||||
field = cmp->GetField( FOOTPRINT );
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_VALUE:
|
||||
case FIELDS_EDITOR_COL_ID_VALUE:
|
||||
field = cmp->GetField( VALUE );
|
||||
break;
|
||||
case BOM_COL_ID_DATASHEET:
|
||||
case FIELDS_EDITOR_COL_ID_DATASHEET:
|
||||
field = cmp->GetField( DATASHEET );
|
||||
break;
|
||||
|
||||
|
@ -758,14 +758,14 @@ void BOM_TABLE_COMPONENT::ApplyFieldChanges()
|
|||
* Revert the displayed fields for this component
|
||||
* to their original values (matching the schematic data)
|
||||
*/
|
||||
void BOM_TABLE_COMPONENT::RevertFieldChanges()
|
||||
void FIELDS_EDITOR_TABLE_COMPONENT::RevertFieldChanges()
|
||||
{
|
||||
for( auto& column : m_columnList->Columns )
|
||||
{
|
||||
switch( column->Id() )
|
||||
{
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
continue;
|
||||
default:
|
||||
break;
|
||||
|
@ -776,9 +776,9 @@ void BOM_TABLE_COMPONENT::RevertFieldChanges()
|
|||
}
|
||||
|
||||
|
||||
BOM_TABLE_MODEL::BOM_TABLE_MODEL() :
|
||||
FIELDS_EDITOR_TABLE_MODEL::FIELDS_EDITOR_TABLE_MODEL() :
|
||||
m_widget( nullptr ),
|
||||
m_sortingColumn( BOM_COL_ID_REFERENCE ),
|
||||
m_sortingColumn( FIELDS_EDITOR_COL_ID_REFERENCE ),
|
||||
m_sortingOrder( true )
|
||||
{
|
||||
//TODO
|
||||
|
@ -786,26 +786,26 @@ BOM_TABLE_MODEL::BOM_TABLE_MODEL() :
|
|||
|
||||
|
||||
/**
|
||||
* Create a container for the BOM_TABLE_MODEL
|
||||
* Create a container for the FIELDS_EDITOR_TABLE_MODEL
|
||||
* This is required for reference counting by wxDataViewCtrl
|
||||
*/
|
||||
BOM_TABLE_MODEL::MODEL_PTR BOM_TABLE_MODEL::Create()
|
||||
FIELDS_EDITOR_TABLE_MODEL::MODEL_PTR FIELDS_EDITOR_TABLE_MODEL::Create()
|
||||
{
|
||||
auto model = new BOM_TABLE_MODEL();
|
||||
auto model = new FIELDS_EDITOR_TABLE_MODEL();
|
||||
|
||||
auto container = BOM_TABLE_MODEL::MODEL_PTR( model );
|
||||
auto container = FIELDS_EDITOR_TABLE_MODEL::MODEL_PTR( model );
|
||||
|
||||
return container;
|
||||
}
|
||||
|
||||
|
||||
BOM_TABLE_MODEL::~BOM_TABLE_MODEL()
|
||||
FIELDS_EDITOR_TABLE_MODEL::~FIELDS_EDITOR_TABLE_MODEL()
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
|
||||
|
||||
wxDataViewColumn* BOM_TABLE_MODEL::AddColumn( BOM_COLUMN* aColumn, int aPosition )
|
||||
wxDataViewColumn* FIELDS_EDITOR_TABLE_MODEL::AddColumn( FIELDS_EDITOR_COLUMN* aColumn, int aPosition )
|
||||
{
|
||||
static const unsigned int flags = wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE;
|
||||
|
||||
|
@ -875,7 +875,7 @@ wxDataViewColumn* BOM_TABLE_MODEL::AddColumn( BOM_COLUMN* aColumn, int aPosition
|
|||
* Gracefully remove the given column from the wxDataViewCtrl
|
||||
* Removing columns individually prevents bad redraw of entire table
|
||||
*/
|
||||
bool BOM_TABLE_MODEL::RemoveColumn( BOM_COLUMN* aColumn )
|
||||
bool FIELDS_EDITOR_TABLE_MODEL::RemoveColumn( FIELDS_EDITOR_COLUMN* aColumn )
|
||||
{
|
||||
if( !m_widget || !aColumn )
|
||||
return false;
|
||||
|
@ -899,7 +899,7 @@ bool BOM_TABLE_MODEL::RemoveColumn( BOM_COLUMN* aColumn )
|
|||
* Attach the MODEL to a particular VIEW
|
||||
* This function causes the view to be updated appropriately
|
||||
*/
|
||||
void BOM_TABLE_MODEL::AttachTo( wxDataViewCtrl* aView )
|
||||
void FIELDS_EDITOR_TABLE_MODEL::AttachTo( wxDataViewCtrl* aView )
|
||||
{
|
||||
if( !aView )
|
||||
{
|
||||
|
@ -929,7 +929,7 @@ void BOM_TABLE_MODEL::AttachTo( wxDataViewCtrl* aView )
|
|||
/**
|
||||
* Return the total number of components displayed by the model
|
||||
*/
|
||||
unsigned int BOM_TABLE_MODEL::ComponentCount() const
|
||||
unsigned int FIELDS_EDITOR_TABLE_MODEL::ComponentCount() const
|
||||
{
|
||||
unsigned int count = 0;
|
||||
|
||||
|
@ -943,7 +943,7 @@ unsigned int BOM_TABLE_MODEL::ComponentCount() const
|
|||
}
|
||||
|
||||
|
||||
void BOM_TABLE_MODEL::ClearColumns()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::ClearColumns()
|
||||
{
|
||||
ColumnList.Clear();
|
||||
}
|
||||
|
@ -954,45 +954,45 @@ void BOM_TABLE_MODEL::ClearColumns()
|
|||
* These columns are ALWAYS available in the table
|
||||
* They are immutable - can be hidden by user but not removed
|
||||
*/
|
||||
void BOM_TABLE_MODEL::AddDefaultColumns()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::AddDefaultColumns()
|
||||
{
|
||||
// Reference column is read-only
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_REFERENCE,
|
||||
BOM_COL_TYPE_GENERATED,
|
||||
BOM_COL_TITLE_REFERENCE,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_REFERENCE,
|
||||
FIELDS_EDITOR_COL_TYPE_GENERATED,
|
||||
FIELDS_EDITOR_COL_TITLE_REFERENCE,
|
||||
true, true ) );
|
||||
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_VALUE,
|
||||
BOM_COL_TYPE_KICAD,
|
||||
BOM_COL_TITLE_VALUE,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_VALUE,
|
||||
FIELDS_EDITOR_COL_TYPE_KICAD,
|
||||
FIELDS_EDITOR_COL_TITLE_VALUE,
|
||||
true, false ) );
|
||||
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_FOOTPRINT,
|
||||
BOM_COL_TYPE_KICAD,
|
||||
BOM_COL_TITLE_FOOTPRINT,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_FOOTPRINT,
|
||||
FIELDS_EDITOR_COL_TYPE_KICAD,
|
||||
FIELDS_EDITOR_COL_TITLE_FOOTPRINT,
|
||||
true, false ) );
|
||||
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_DATASHEET,
|
||||
BOM_COL_TYPE_KICAD,
|
||||
BOM_COL_TITLE_DATASHEET,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_DATASHEET,
|
||||
FIELDS_EDITOR_COL_TYPE_KICAD,
|
||||
FIELDS_EDITOR_COL_TITLE_DATASHEET,
|
||||
true, false ) );
|
||||
|
||||
// Description comes from .dcm file and is read-only
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_DESCRIPTION,
|
||||
BOM_COL_TYPE_LIBRARY,
|
||||
BOM_COL_TITLE_DESCRIPTION,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_DESCRIPTION,
|
||||
FIELDS_EDITOR_COL_TYPE_LIBRARY,
|
||||
FIELDS_EDITOR_COL_TITLE_DESCRIPTION,
|
||||
true, true ) );
|
||||
|
||||
// Quantity column is read-only
|
||||
ColumnList.AddColumn( new BOM_COLUMN(
|
||||
BOM_COL_ID_QUANTITY,
|
||||
BOM_COL_TYPE_GENERATED,
|
||||
BOM_COL_TITLE_QUANTITY,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN(
|
||||
FIELDS_EDITOR_COL_ID_QUANTITY,
|
||||
FIELDS_EDITOR_COL_TYPE_GENERATED,
|
||||
FIELDS_EDITOR_COL_TITLE_QUANTITY,
|
||||
true, true ) );
|
||||
}
|
||||
|
||||
|
@ -1001,7 +1001,7 @@ void BOM_TABLE_MODEL::AddDefaultColumns()
|
|||
* Extract field data from all components
|
||||
* Compiles an inclusive list of all field names from all components
|
||||
*/
|
||||
void BOM_TABLE_MODEL::AddComponentFields( SCH_COMPONENT* aCmp )
|
||||
void FIELDS_EDITOR_TABLE_MODEL::AddComponentFields( SCH_COMPONENT* aCmp )
|
||||
{
|
||||
std::vector< SCH_FIELD* > fields;
|
||||
|
||||
|
@ -1036,7 +1036,7 @@ void BOM_TABLE_MODEL::AddComponentFields( SCH_COMPONENT* aCmp )
|
|||
|
||||
if( col->Title().Cmp( fieldName ) == 0 )
|
||||
{
|
||||
if( col->Id() >= BOM_COL_ID_USER )
|
||||
if( col->Id() >= FIELDS_EDITOR_COL_ID_USER )
|
||||
{
|
||||
userMatchFound = true;
|
||||
break;
|
||||
|
@ -1050,8 +1050,8 @@ void BOM_TABLE_MODEL::AddComponentFields( SCH_COMPONENT* aCmp )
|
|||
continue;
|
||||
}
|
||||
|
||||
ColumnList.AddColumn( new BOM_COLUMN( ColumnList.NextFieldId(),
|
||||
BOM_COL_TYPE_USER,
|
||||
ColumnList.AddColumn( new FIELDS_EDITOR_COLUMN( ColumnList.NextFieldId(),
|
||||
FIELDS_EDITOR_COL_TYPE_USER,
|
||||
field->GetName(),
|
||||
true, false ) );
|
||||
}
|
||||
|
@ -1062,7 +1062,7 @@ void BOM_TABLE_MODEL::AddComponentFields( SCH_COMPONENT* aCmp )
|
|||
* Add a list of component items to the BOM manager
|
||||
* Creates consolidated groups of components as required
|
||||
*/
|
||||
void BOM_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FIELDNAMES& aTemplateFields )
|
||||
void FIELDS_EDITOR_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FIELDNAMES& aTemplateFields )
|
||||
{
|
||||
|
||||
// Add default columns
|
||||
|
@ -1083,14 +1083,14 @@ void BOM_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FI
|
|||
// Add template fields if they are not already added
|
||||
for( auto field : aTemplateFields )
|
||||
{
|
||||
BOM_COLUMN* col;
|
||||
FIELDS_EDITOR_COLUMN* col;
|
||||
|
||||
col = ColumnList.GetColumnByTitle( field.m_Name );
|
||||
|
||||
if( !col )
|
||||
{
|
||||
col = new BOM_COLUMN( ColumnList.NextFieldId(),
|
||||
BOM_COL_TYPE_USER,
|
||||
col = new FIELDS_EDITOR_COLUMN( ColumnList.NextFieldId(),
|
||||
FIELDS_EDITOR_COL_TYPE_USER,
|
||||
field.m_Name,
|
||||
true, false );
|
||||
|
||||
|
@ -1129,7 +1129,7 @@ void BOM_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FI
|
|||
|
||||
bool dataFound = false;
|
||||
|
||||
BOM_FIELD_VALUES* values;
|
||||
FIELDS_EDITOR_FIELD_VALUES* values;
|
||||
|
||||
for( auto& data : m_fieldValues )
|
||||
{
|
||||
|
@ -1143,14 +1143,14 @@ void BOM_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FI
|
|||
|
||||
if( !dataFound )
|
||||
{
|
||||
values = new BOM_FIELD_VALUES( refDes, &m_fieldTemplates );
|
||||
m_fieldValues.push_back( std::unique_ptr<BOM_FIELD_VALUES>( values ) );
|
||||
values = new FIELDS_EDITOR_FIELD_VALUES( refDes, &m_fieldTemplates );
|
||||
m_fieldValues.push_back( std::unique_ptr<FIELDS_EDITOR_FIELD_VALUES>( values ) );
|
||||
}
|
||||
|
||||
auto* newComponent = new BOM_TABLE_COMPONENT( nullptr, &ColumnList, values );
|
||||
auto* newComponent = new FIELDS_EDITOR_TABLE_COMPONENT( nullptr, &ColumnList, values );
|
||||
newComponent->AddUnit( ref );
|
||||
|
||||
m_components.push_back( std::unique_ptr<BOM_TABLE_COMPONENT>( newComponent ) );
|
||||
m_components.push_back( std::unique_ptr<FIELDS_EDITOR_TABLE_COMPONENT>( newComponent ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1158,7 +1158,7 @@ void BOM_TABLE_MODEL::SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FI
|
|||
}
|
||||
|
||||
|
||||
void BOM_TABLE_MODEL::SetBackupPoint()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::SetBackupPoint()
|
||||
{
|
||||
// Mark backup locations for all values
|
||||
for( auto& vals : m_fieldValues )
|
||||
|
@ -1171,7 +1171,7 @@ void BOM_TABLE_MODEL::SetBackupPoint()
|
|||
/**
|
||||
* Recalculate grouping of components and reload table
|
||||
**/
|
||||
void BOM_TABLE_MODEL::ReloadTable()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::ReloadTable()
|
||||
{
|
||||
if( m_widget )
|
||||
{
|
||||
|
@ -1202,11 +1202,11 @@ void BOM_TABLE_MODEL::ReloadTable()
|
|||
// No suitable group was found for this component
|
||||
if( !grouped )
|
||||
{
|
||||
auto* newGroup = new BOM_TABLE_GROUP( &ColumnList );
|
||||
auto* newGroup = new FIELDS_EDITOR_TABLE_GROUP( &ColumnList );
|
||||
|
||||
newGroup->AddComponent( &*cmp );
|
||||
|
||||
Groups.push_back( std::unique_ptr<BOM_TABLE_GROUP>( newGroup ) );
|
||||
Groups.push_back( std::unique_ptr<FIELDS_EDITOR_TABLE_GROUP>( newGroup ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1223,7 +1223,7 @@ void BOM_TABLE_MODEL::ReloadTable()
|
|||
/**
|
||||
* Return a string array of data from a given row
|
||||
*/
|
||||
wxArrayString BOM_TABLE_MODEL::GetRowData( unsigned int aRow, std::vector<BOM_COLUMN*> aColumns ) const
|
||||
wxArrayString FIELDS_EDITOR_TABLE_MODEL::GetRowData( unsigned int aRow, std::vector<FIELDS_EDITOR_COLUMN*> aColumns ) const
|
||||
{
|
||||
wxArrayString row;
|
||||
|
||||
|
@ -1255,7 +1255,7 @@ wxArrayString BOM_TABLE_MODEL::GetRowData( unsigned int aRow, std::vector<BOM_CO
|
|||
/**
|
||||
* Get the value of a particular item in the model
|
||||
*/
|
||||
void BOM_TABLE_MODEL::GetValue( wxVariant& aVariant, const wxDataViewItem& aItem,
|
||||
void FIELDS_EDITOR_TABLE_MODEL::GetValue( wxVariant& aVariant, const wxDataViewItem& aItem,
|
||||
unsigned int aFieldId ) const
|
||||
{
|
||||
auto row = ItemToRow( aItem );
|
||||
|
@ -1270,7 +1270,7 @@ void BOM_TABLE_MODEL::GetValue( wxVariant& aVariant, const wxDataViewItem& aItem
|
|||
/**
|
||||
* Set the value of a particular item in the model
|
||||
*/
|
||||
bool BOM_TABLE_MODEL::SetValue( const wxVariant& aVariant, const wxDataViewItem& aItem,
|
||||
bool FIELDS_EDITOR_TABLE_MODEL::SetValue( const wxVariant& aVariant, const wxDataViewItem& aItem,
|
||||
unsigned int aFieldId )
|
||||
{
|
||||
if( !aItem.IsOk() || !m_widget )
|
||||
|
@ -1292,7 +1292,7 @@ bool BOM_TABLE_MODEL::SetValue( const wxVariant& aVariant, const wxDataViewItem&
|
|||
|
||||
for( auto item : selectedItems )
|
||||
{
|
||||
auto selectedRow = static_cast<BOM_TABLE_ROW*>( item.GetID() );
|
||||
auto selectedRow = static_cast<FIELDS_EDITOR_TABLE_ROW*>( item.GetID() );
|
||||
|
||||
if( selectedRow )
|
||||
{
|
||||
|
@ -1317,7 +1317,7 @@ bool BOM_TABLE_MODEL::SetValue( const wxVariant& aVariant, const wxDataViewItem&
|
|||
* Return the parent item for a given item in the model.
|
||||
* If no parent is found (or the item is invalid) return an invalid item.
|
||||
*/
|
||||
wxDataViewItem BOM_TABLE_MODEL::GetParent( const wxDataViewItem& aItem ) const
|
||||
wxDataViewItem FIELDS_EDITOR_TABLE_MODEL::GetParent( const wxDataViewItem& aItem ) const
|
||||
{
|
||||
auto row = ItemToRow( aItem );
|
||||
auto parent = row ? row->GetParent() : nullptr;
|
||||
|
@ -1335,7 +1335,7 @@ wxDataViewItem BOM_TABLE_MODEL::GetParent( const wxDataViewItem& aItem ) const
|
|||
/**
|
||||
* Returns true if the supplied item has children
|
||||
*/
|
||||
bool BOM_TABLE_MODEL::IsContainer( const wxDataViewItem& aItem ) const
|
||||
bool FIELDS_EDITOR_TABLE_MODEL::IsContainer( const wxDataViewItem& aItem ) const
|
||||
{
|
||||
auto row = ItemToRow( aItem );
|
||||
|
||||
|
@ -1352,7 +1352,7 @@ bool BOM_TABLE_MODEL::IsContainer( const wxDataViewItem& aItem ) const
|
|||
* Push all children of the supplied item into the list
|
||||
* If the supplied item is invalid, push all the top-level items
|
||||
*/
|
||||
unsigned int BOM_TABLE_MODEL::GetChildren( const wxDataViewItem& aItem,
|
||||
unsigned int FIELDS_EDITOR_TABLE_MODEL::GetChildren( const wxDataViewItem& aItem,
|
||||
wxDataViewItemArray& aChildren ) const
|
||||
{
|
||||
auto row = aItem.IsOk() ? ItemToRow( aItem ) : nullptr;
|
||||
|
@ -1374,7 +1374,7 @@ unsigned int BOM_TABLE_MODEL::GetChildren( const wxDataViewItem& aItem,
|
|||
}
|
||||
|
||||
|
||||
bool BOM_TABLE_MODEL::GetAttr( const wxDataViewItem& aItem,
|
||||
bool FIELDS_EDITOR_TABLE_MODEL::GetAttr( const wxDataViewItem& aItem,
|
||||
unsigned int aFieldId,
|
||||
wxDataViewItemAttr& aAttr ) const
|
||||
{
|
||||
|
@ -1394,7 +1394,7 @@ bool BOM_TABLE_MODEL::GetAttr( const wxDataViewItem& aItem,
|
|||
* Alphanumeric sorting is not sufficient for correct ordering of some fields
|
||||
* Some columns are sorted numerically, others with more complex rules.
|
||||
*/
|
||||
int BOM_TABLE_MODEL::Compare( const wxDataViewItem& aItem1,
|
||||
int FIELDS_EDITOR_TABLE_MODEL::Compare( const wxDataViewItem& aItem1,
|
||||
const wxDataViewItem& aItem2,
|
||||
unsigned int aColumnId,
|
||||
bool aAscending ) const
|
||||
|
@ -1422,16 +1422,16 @@ int BOM_TABLE_MODEL::Compare( const wxDataViewItem& aItem1,
|
|||
switch( aColumnId )
|
||||
{
|
||||
// Reference column sorted by reference val
|
||||
case BOM_COL_ID_REFERENCE:
|
||||
result = BOM_TABLE_GROUP::SortReferences( strVal1, strVal2 );
|
||||
case FIELDS_EDITOR_COL_ID_REFERENCE:
|
||||
result = FIELDS_EDITOR_TABLE_GROUP::SortReferences( strVal1, strVal2 );
|
||||
break;
|
||||
|
||||
case BOM_COL_ID_VALUE:
|
||||
result = BOM_TABLE_GROUP::SortValues( strVal1, strVal2 );
|
||||
case FIELDS_EDITOR_COL_ID_VALUE:
|
||||
result = FIELDS_EDITOR_TABLE_GROUP::SortValues( strVal1, strVal2 );
|
||||
break;
|
||||
|
||||
// These columns are sorted numerically
|
||||
case BOM_COL_ID_QUANTITY:
|
||||
case FIELDS_EDITOR_COL_ID_QUANTITY:
|
||||
if( strVal1.ToLong( &numVal1 ) && strVal2.ToLong( &numVal2 ) )
|
||||
{
|
||||
result = numVal1 - numVal2;
|
||||
|
@ -1449,19 +1449,19 @@ int BOM_TABLE_MODEL::Compare( const wxDataViewItem& aItem1,
|
|||
}
|
||||
|
||||
// If initial sorting failed, sort secondly by reference
|
||||
if( result == 0 && aColumnId != BOM_COL_ID_REFERENCE )
|
||||
if( result == 0 && aColumnId != FIELDS_EDITOR_COL_ID_REFERENCE )
|
||||
{
|
||||
result = BOM_TABLE_GROUP::SortReferences(
|
||||
row1->GetFieldValue( BOM_COL_ID_REFERENCE ),
|
||||
row2->GetFieldValue( BOM_COL_ID_REFERENCE ) );
|
||||
result = FIELDS_EDITOR_TABLE_GROUP::SortReferences(
|
||||
row1->GetFieldValue( FIELDS_EDITOR_COL_ID_REFERENCE ),
|
||||
row2->GetFieldValue( FIELDS_EDITOR_COL_ID_REFERENCE ) );
|
||||
}
|
||||
|
||||
// If sorting still failed, sort thirdly by value
|
||||
if( result == 0 && aColumnId != BOM_COL_ID_VALUE )
|
||||
if( result == 0 && aColumnId != FIELDS_EDITOR_COL_ID_VALUE )
|
||||
{
|
||||
result = BOM_TABLE_GROUP::SortValues(
|
||||
row1->GetFieldValue( BOM_COL_ID_VALUE ),
|
||||
row2->GetFieldValue( BOM_COL_ID_VALUE ) );
|
||||
result = FIELDS_EDITOR_TABLE_GROUP::SortValues(
|
||||
row1->GetFieldValue( FIELDS_EDITOR_COL_ID_VALUE ),
|
||||
row2->GetFieldValue( FIELDS_EDITOR_COL_ID_VALUE ) );
|
||||
}
|
||||
|
||||
if( !aAscending )
|
||||
|
@ -1477,7 +1477,7 @@ int BOM_TABLE_MODEL::Compare( const wxDataViewItem& aItem1,
|
|||
* Revert all component data back to the original values.
|
||||
* The table view is updated accordingly
|
||||
*/
|
||||
void BOM_TABLE_MODEL::RevertFieldChanges()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::RevertFieldChanges()
|
||||
{
|
||||
for( auto& group : Groups )
|
||||
{
|
||||
|
@ -1512,7 +1512,7 @@ void BOM_TABLE_MODEL::RevertFieldChanges()
|
|||
* Apply all outstanding field changes.
|
||||
* This is performed only when the window is closed
|
||||
*/
|
||||
void BOM_TABLE_MODEL::ApplyFieldChanges()
|
||||
void FIELDS_EDITOR_TABLE_MODEL::ApplyFieldChanges()
|
||||
{
|
||||
for( auto& group : Groups )
|
||||
{
|
||||
|
@ -1536,7 +1536,7 @@ void BOM_TABLE_MODEL::ApplyFieldChanges()
|
|||
/**
|
||||
* Tests if any component values in the table have been altered
|
||||
*/
|
||||
bool BOM_TABLE_MODEL::HaveFieldsChanged() const
|
||||
bool FIELDS_EDITOR_TABLE_MODEL::HaveFieldsChanged() const
|
||||
{
|
||||
for( auto const& group : Groups )
|
||||
{
|
||||
|
@ -1562,7 +1562,7 @@ bool BOM_TABLE_MODEL::HaveFieldsChanged() const
|
|||
/**
|
||||
* Returns a list of only those components that have been changed
|
||||
*/
|
||||
std::vector<SCH_REFERENCE> BOM_TABLE_MODEL::GetChangedComponents()
|
||||
std::vector<SCH_REFERENCE> FIELDS_EDITOR_TABLE_MODEL::GetChangedComponents()
|
||||
{
|
||||
std::vector<SCH_REFERENCE> components;
|
||||
|
||||
|
@ -1593,7 +1593,7 @@ std::vector<SCH_REFERENCE> BOM_TABLE_MODEL::GetChangedComponents()
|
|||
/**
|
||||
* Returns a count of the components that have been changed
|
||||
*/
|
||||
unsigned int BOM_TABLE_MODEL::CountChangedComponents()
|
||||
unsigned int FIELDS_EDITOR_TABLE_MODEL::CountChangedComponents()
|
||||
{
|
||||
unsigned int count = 0;
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef _EESCHEMA_BOM_TABLE_MODEL_H_
|
||||
#define _EESCHEMA_BOM_TABLE_MODEL_H_
|
||||
#ifndef FIELDS_EDITOR_TABLE_MODEL_H
|
||||
#define FIELDS_EDITOR_TABLE_MODEL_H
|
||||
|
||||
#include <wx/dataview.h>
|
||||
#include <wx/regex.h>
|
||||
|
@ -36,29 +36,29 @@
|
|||
#include <netlist_object.h>
|
||||
#include <template_fieldnames.h>
|
||||
|
||||
#include "bom_table_column.h"
|
||||
#include "fields_editor_table_column.h"
|
||||
|
||||
// Forward-declare classes
|
||||
class BOM_TABLE_ROW; // Base-class for table row data model
|
||||
class BOM_TABLE_GROUP; // Class for displaying a group of components
|
||||
class BOM_TABLE_COMPONENT; // Class for displaying a single component
|
||||
class FIELDS_EDITOR_TABLE_ROW; // Base-class for table row data model
|
||||
class FIELDS_EDITOR_TABLE_GROUP; // Class for displaying a group of components
|
||||
class FIELDS_EDITOR_TABLE_COMPONENT; // Class for displaying a single component
|
||||
|
||||
// Map column IDs to field values (for quick lookup)
|
||||
typedef std::map<unsigned int, wxString> FIELD_VALUE_MAP;
|
||||
|
||||
|
||||
/**
|
||||
* The BOM_FIELD_VALUES class provides quick lookup of component values
|
||||
* The FIELDS_EDITOR_FIELD_VALUES class provides quick lookup of component values
|
||||
* (based on Field ID)
|
||||
* This is done for the following reasons:
|
||||
* - Increase lookup speed for table values
|
||||
* - Allow field values to be reverted to original values
|
||||
* - Allow duplicate components to reference the same data
|
||||
*/
|
||||
class BOM_FIELD_VALUES
|
||||
class FIELDS_EDITOR_FIELD_VALUES
|
||||
{
|
||||
public:
|
||||
BOM_FIELD_VALUES( const wxString& aRefDes, FIELD_VALUE_MAP* aTemplate );
|
||||
FIELDS_EDITOR_FIELD_VALUES( const wxString& aRefDes, FIELD_VALUE_MAP* aTemplate );
|
||||
|
||||
/**
|
||||
* Return the current value for the provided field ID
|
||||
|
@ -122,11 +122,11 @@ protected:
|
|||
* COMPONENT - Displays a single component
|
||||
* UNIT - Child of COMPONENT for multi-unit components
|
||||
*/
|
||||
class BOM_TABLE_ROW
|
||||
class FIELDS_EDITOR_TABLE_ROW
|
||||
{
|
||||
public:
|
||||
BOM_TABLE_ROW();
|
||||
virtual ~BOM_TABLE_ROW() {}
|
||||
FIELDS_EDITOR_TABLE_ROW();
|
||||
virtual ~FIELDS_EDITOR_TABLE_ROW() {}
|
||||
|
||||
/// Set display properties for a cell
|
||||
virtual bool GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const;
|
||||
|
@ -138,7 +138,7 @@ public:
|
|||
virtual bool SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite = false ) = 0;
|
||||
|
||||
/// Return parent item
|
||||
virtual BOM_TABLE_ROW* GetParent() const { return nullptr; }
|
||||
virtual FIELDS_EDITOR_TABLE_ROW* GetParent() const { return nullptr; }
|
||||
|
||||
/// Test if row has any child rows
|
||||
virtual bool HasChildren() const { return false; }
|
||||
|
@ -147,7 +147,7 @@ public:
|
|||
virtual unsigned int GetChildren( wxDataViewItemArray& aChildren ) const { return 0; }
|
||||
|
||||
/// Determine if a value has changed
|
||||
virtual bool HasValueChanged( BOM_COLUMN* aField ) const { return false; }
|
||||
virtual bool HasValueChanged( FIELDS_EDITOR_COLUMN* aField ) const { return false; }
|
||||
|
||||
/// Determine if any values have changed
|
||||
bool HasChanged() const;
|
||||
|
@ -155,22 +155,22 @@ public:
|
|||
protected:
|
||||
|
||||
/// Pointer to list of columns
|
||||
BOM_COLUMN_LIST* m_columnList;
|
||||
FIELDS_EDITOR_COLUMN_LIST* m_columnList;
|
||||
};
|
||||
|
||||
/**
|
||||
* BOM_TABLE_GROUP class displays a group of similar components
|
||||
* FIELDS_EDITOR_TABLE_GROUP class displays a group of similar components
|
||||
* If the group contains more than one component,
|
||||
* they are each displayed as child items of the group
|
||||
*/
|
||||
class BOM_TABLE_GROUP : public BOM_TABLE_ROW
|
||||
class FIELDS_EDITOR_TABLE_GROUP : public FIELDS_EDITOR_TABLE_ROW
|
||||
{
|
||||
public:
|
||||
/// List of components stored in this group
|
||||
std::vector<BOM_TABLE_COMPONENT*> Components;
|
||||
std::vector<FIELDS_EDITOR_TABLE_COMPONENT*> Components;
|
||||
|
||||
BOM_TABLE_GROUP( BOM_COLUMN_LIST* aColumnList );
|
||||
virtual ~BOM_TABLE_GROUP() {}
|
||||
FIELDS_EDITOR_TABLE_GROUP( FIELDS_EDITOR_COLUMN_LIST* aColumnList );
|
||||
virtual ~FIELDS_EDITOR_TABLE_GROUP() {}
|
||||
|
||||
/// Set display properties for a group row
|
||||
virtual bool GetAttr( unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const override;
|
||||
|
@ -182,7 +182,7 @@ public:
|
|||
virtual bool SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite = false ) override;
|
||||
|
||||
/// Attempt to add a new component to the group
|
||||
bool AddComponent( BOM_TABLE_COMPONENT* aComponent );
|
||||
bool AddComponent( FIELDS_EDITOR_TABLE_COMPONENT* aComponent );
|
||||
|
||||
/// Test if this group should display children
|
||||
virtual bool HasChildren() const override { return Components.size() > 1; }
|
||||
|
@ -191,7 +191,7 @@ public:
|
|||
virtual unsigned int GetChildren( wxDataViewItemArray& aChildren ) const override;
|
||||
|
||||
/// Test if any children have changed
|
||||
virtual bool HasValueChanged( BOM_COLUMN* aField ) const override;
|
||||
virtual bool HasValueChanged( FIELDS_EDITOR_COLUMN* aField ) const override;
|
||||
|
||||
/// Return the number of child items in this group
|
||||
unsigned int GroupSize( void ) const { return Components.size(); }
|
||||
|
@ -207,16 +207,16 @@ public:
|
|||
|
||||
protected:
|
||||
/// Test if a particular field matches against another component
|
||||
bool TestField( BOM_COLUMN* aField, BOM_TABLE_COMPONENT* aComponent ) const;
|
||||
bool TestField( FIELDS_EDITOR_COLUMN* aField, FIELDS_EDITOR_TABLE_COMPONENT* aComponent ) const;
|
||||
};
|
||||
|
||||
class BOM_TABLE_COMPONENT : public BOM_TABLE_ROW
|
||||
class FIELDS_EDITOR_TABLE_COMPONENT : public FIELDS_EDITOR_TABLE_ROW
|
||||
{
|
||||
public:
|
||||
// List of units associated with this component
|
||||
std::vector<SCH_REFERENCE> Units;
|
||||
|
||||
BOM_TABLE_COMPONENT( BOM_TABLE_GROUP* aParent, BOM_COLUMN_LIST* aColumnList, BOM_FIELD_VALUES* aValues );
|
||||
FIELDS_EDITOR_TABLE_COMPONENT( FIELDS_EDITOR_TABLE_GROUP* aParent, FIELDS_EDITOR_COLUMN_LIST* aColumnList, FIELDS_EDITOR_FIELD_VALUES* aValues );
|
||||
|
||||
bool AddUnit( const SCH_REFERENCE& aUnit );
|
||||
|
||||
|
@ -224,7 +224,7 @@ public:
|
|||
|
||||
virtual bool SetFieldValue( unsigned int aFieldId, const wxString aValue, bool aOverwrite = false ) override;
|
||||
|
||||
virtual bool HasValueChanged( BOM_COLUMN* aField ) const override;
|
||||
virtual bool HasValueChanged( FIELDS_EDITOR_COLUMN* aField ) const override;
|
||||
|
||||
/// Return the reference of the first unit (all units must be the same
|
||||
wxString GetReference() const;
|
||||
|
@ -238,33 +238,33 @@ public:
|
|||
|
||||
void RevertFieldChanges();
|
||||
|
||||
void SetParent( BOM_TABLE_GROUP* aParent ) { m_parent = aParent; }
|
||||
void SetParent( FIELDS_EDITOR_TABLE_GROUP* aParent ) { m_parent = aParent; }
|
||||
|
||||
virtual BOM_TABLE_ROW* GetParent() const override { return m_parent; }
|
||||
virtual FIELDS_EDITOR_TABLE_ROW* GetParent() const override { return m_parent; }
|
||||
|
||||
protected:
|
||||
BOM_TABLE_GROUP* m_parent;
|
||||
FIELDS_EDITOR_TABLE_GROUP* m_parent;
|
||||
|
||||
BOM_FIELD_VALUES* m_fieldValues;
|
||||
FIELDS_EDITOR_FIELD_VALUES* m_fieldValues;
|
||||
};
|
||||
|
||||
/**
|
||||
* BOM_TABLE_MODEL class
|
||||
* FIELDS_EDITOR_TABLE_MODEL class
|
||||
*
|
||||
* Contains complete BOM information:
|
||||
* a) List of columns (fields) to display
|
||||
* b) List of groups of consolidated components
|
||||
*/
|
||||
class BOM_TABLE_MODEL : public wxDataViewModel
|
||||
class FIELDS_EDITOR_TABLE_MODEL : public wxDataViewModel
|
||||
{
|
||||
protected:
|
||||
BOM_TABLE_MODEL();
|
||||
FIELDS_EDITOR_TABLE_MODEL();
|
||||
|
||||
// Vector of unique component rows
|
||||
std::vector<std::unique_ptr<BOM_TABLE_COMPONENT>> m_components;
|
||||
std::vector<std::unique_ptr<FIELDS_EDITOR_TABLE_COMPONENT>> m_components;
|
||||
|
||||
// Vector of field values mapped to field IDs
|
||||
std::vector<std::unique_ptr<BOM_FIELD_VALUES>> m_fieldValues;
|
||||
std::vector<std::unique_ptr<FIELDS_EDITOR_FIELD_VALUES>> m_fieldValues;
|
||||
|
||||
// Template field values
|
||||
FIELD_VALUE_MAP m_fieldTemplates;
|
||||
|
@ -304,21 +304,21 @@ protected:
|
|||
|
||||
public:
|
||||
|
||||
virtual ~BOM_TABLE_MODEL();
|
||||
virtual ~FIELDS_EDITOR_TABLE_MODEL();
|
||||
|
||||
BOM_COLUMN_LIST ColumnList;
|
||||
FIELDS_EDITOR_COLUMN_LIST ColumnList;
|
||||
|
||||
/// List of component groups
|
||||
std::vector<std::unique_ptr<BOM_TABLE_GROUP>> Groups;
|
||||
std::vector<std::unique_ptr<FIELDS_EDITOR_TABLE_GROUP>> Groups;
|
||||
|
||||
typedef wxObjectDataPtr<BOM_TABLE_MODEL> MODEL_PTR;
|
||||
typedef wxObjectDataPtr<FIELDS_EDITOR_TABLE_MODEL> MODEL_PTR;
|
||||
|
||||
static MODEL_PTR Create();
|
||||
|
||||
void AttachTo( wxDataViewCtrl* aView );
|
||||
|
||||
wxDataViewColumn* AddColumn( BOM_COLUMN* aColumn, int aPosition = -1 );
|
||||
bool RemoveColumn( BOM_COLUMN* aColumn );
|
||||
wxDataViewColumn* AddColumn( FIELDS_EDITOR_COLUMN* aColumn, int aPosition = -1 );
|
||||
bool RemoveColumn( FIELDS_EDITOR_COLUMN* aColumn );
|
||||
|
||||
// wxDataViewModel functions
|
||||
virtual bool GetAttr( const wxDataViewItem& aItem, unsigned int aFieldId, wxDataViewItemAttr& aAttr ) const override;
|
||||
|
@ -343,7 +343,7 @@ public:
|
|||
void SetBlankMerging( const bool aMerge = true ) { m_mergeBlankFields = aMerge; }
|
||||
bool GetBlankMerging() const { return m_mergeBlankFields; }
|
||||
|
||||
wxArrayString GetRowData( unsigned int aRow, std::vector<BOM_COLUMN*> aColumns ) const;
|
||||
wxArrayString GetRowData( unsigned int aRow, std::vector<FIELDS_EDITOR_COLUMN*> aColumns ) const;
|
||||
|
||||
void SetComponents( SCH_REFERENCE_LIST aRefs, const TEMPLATE_FIELDNAMES& aTemplateFields );
|
||||
void AddComponentFields( SCH_COMPONENT* aCmp );
|
||||
|
@ -359,4 +359,4 @@ public:
|
|||
unsigned int CountChangedComponents();
|
||||
};
|
||||
|
||||
#endif // _EESCHEMA_BOM_TABLE_MODEL_H_
|
||||
#endif // FIELDS_EDITOR_TABLE_MODEL_H
|
||||
|
|
Loading…
Reference in New Issue