diff --git a/eeschema/sch_collectors.cpp b/eeschema/sch_collectors.cpp index 73bdf518c2..edc67697ec 100644 --- a/eeschema/sch_collectors.cpp +++ b/eeschema/sch_collectors.cpp @@ -84,13 +84,42 @@ const std::vector SCH_COLLECTOR::MovableItems = }; -const std::vector SCH_COLLECTOR::FieldOwners = { +const std::vector SCH_COLLECTOR::FieldOwners = +{ SCH_SYMBOL_T, SCH_SHEET_T, SCH_LABEL_LOCATE_ANY_T }; +const std::vector SCH_COLLECTOR::DeletableItems = +{ + LIB_SYMBOL_T, + SCH_MARKER_T, + SCH_JUNCTION_T, + SCH_LINE_T, + SCH_BUS_BUS_ENTRY_T, + SCH_BUS_WIRE_ENTRY_T, + SCH_SHAPE_T, + SCH_RULE_AREA_T, + SCH_TEXT_T, + SCH_TEXTBOX_T, + SCH_TABLECELL_T, // Clear contents + SCH_TABLE_T, + SCH_LABEL_T, + SCH_GLOBAL_LABEL_T, + SCH_HIER_LABEL_T, + SCH_DIRECTIVE_LABEL_T, + SCH_NO_CONNECT_T, + SCH_SHEET_T, + SCH_SHEET_PIN_T, + SCH_SYMBOL_T, + SCH_FIELD_T, // Will be hidden + SCH_BITMAP_T, + SCH_GROUP_T +}; + + INSPECT_RESULT SCH_COLLECTOR::Inspect( EDA_ITEM* aItem, void* aTestData ) { if( m_Unit || m_BodyStyle ) diff --git a/eeschema/sch_collectors.h b/eeschema/sch_collectors.h index fdb9b31bda..561d8f3fe8 100644 --- a/eeschema/sch_collectors.h +++ b/eeschema/sch_collectors.h @@ -23,8 +23,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef SCH_COLLECTORS_H -#define SCH_COLLECTORS_H +#pragma once + #include #include @@ -41,6 +41,7 @@ public: static const std::vector EditableItems; static const std::vector MovableItems; static const std::vector FieldOwners; + static const std::vector DeletableItems; SCH_COLLECTOR( const std::vector& aScanTypes = { SCH_LOCATE_ANY_T } ) : m_Unit( 0 ), @@ -109,5 +110,3 @@ public: void CollectOtherUnits( const wxString& thisRef, int thisUnit, const LIB_ID& aLibId, SCH_SHEET_PATH& aSheet, std::vector* otherUnits ); - -#endif // SCH_COLLECTORS_H diff --git a/eeschema/sch_item.h b/eeschema/sch_item.h index 21d970a992..a4896e4012 100644 --- a/eeschema/sch_item.h +++ b/eeschema/sch_item.h @@ -22,8 +22,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef SCH_ITEM_H -#define SCH_ITEM_H +#pragma once #include #include @@ -376,8 +375,7 @@ public: */ virtual void MirrorHorizontally( int aCenter ) { - wxCHECK_MSG( false, /*void*/, - wxT( "MirrorHorizontally not implemented in " ) + GetClass() ); + wxCHECK_MSG( false, /*void*/, wxT( "MirrorHorizontally not implemented in " ) + GetClass() ); } /** @@ -767,5 +765,3 @@ private: #ifndef SWIG DECLARE_ENUM_TO_WXANY( SCH_LAYER_ID ); #endif - -#endif /* SCH_ITEM_H */ diff --git a/eeschema/tools/sch_edit_tool.cpp b/eeschema/tools/sch_edit_tool.cpp index d1ca3c6cee..84157447ed 100644 --- a/eeschema/tools/sch_edit_tool.cpp +++ b/eeschema/tools/sch_edit_tool.cpp @@ -1643,38 +1643,10 @@ int SCH_EDIT_TOOL::RepeatDrawItem( const TOOL_EVENT& aEvent ) } -static std::vector deletableItems = -{ - LIB_SYMBOL_T, - SCH_MARKER_T, - SCH_JUNCTION_T, - SCH_LINE_T, - SCH_BUS_BUS_ENTRY_T, - SCH_BUS_WIRE_ENTRY_T, - SCH_SHAPE_T, - SCH_RULE_AREA_T, - SCH_TEXT_T, - SCH_TEXTBOX_T, - SCH_TABLECELL_T, // Clear contents - SCH_TABLE_T, - SCH_LABEL_T, - SCH_GLOBAL_LABEL_T, - SCH_HIER_LABEL_T, - SCH_DIRECTIVE_LABEL_T, - SCH_NO_CONNECT_T, - SCH_SHEET_T, - SCH_SHEET_PIN_T, - SCH_SYMBOL_T, - SCH_FIELD_T, // Will be hidden - SCH_BITMAP_T, - SCH_GROUP_T -}; - - int SCH_EDIT_TOOL::DoDelete( const TOOL_EVENT& aEvent ) { SCH_SCREEN* screen = m_frame->GetScreen(); - std::deque items = m_selectionTool->RequestSelection( deletableItems ).GetItems(); + std::deque items = m_selectionTool->RequestSelection( SCH_COLLECTOR::DeletableItems ).GetItems(); SCH_COMMIT commit( m_toolMgr ); std::vector pts; bool updateHierarchy = false; diff --git a/eeschema/tools/sch_tool_base.h b/eeschema/tools/sch_tool_base.h index 1d1bd9ae4d..cfbd7ab4c0 100644 --- a/eeschema/tools/sch_tool_base.h +++ b/eeschema/tools/sch_tool_base.h @@ -246,34 +246,6 @@ public: int InteractiveDelete( const TOOL_EVENT& aEvent ) { - static std::vector deletableItems = - { - LIB_SYMBOL_T, - SCH_MARKER_T, - SCH_JUNCTION_T, - SCH_LINE_T, - SCH_BUS_BUS_ENTRY_T, - SCH_BUS_WIRE_ENTRY_T, - SCH_SHAPE_T, - SCH_RULE_AREA_T, - SCH_TEXT_T, - SCH_TEXTBOX_T, - SCH_TABLECELL_T, // Clear contents - SCH_TABLE_T, - SCH_LABEL_T, - SCH_GLOBAL_LABEL_T, - SCH_HIER_LABEL_T, - SCH_DIRECTIVE_LABEL_T, - SCH_NO_CONNECT_T, - SCH_SHEET_T, - SCH_SHEET_PIN_T, - SCH_SYMBOL_T, - SCH_FIELD_T, // Will be hidden - SCH_BITMAP_T, - SCH_GROUP_T - }; - - PICKER_TOOL* picker = m_toolMgr->GetTool(); m_toolMgr->RunAction( ACTIONS::selectionClear ); @@ -307,7 +279,7 @@ public: SCH_SELECTION_TOOL* selectionTool = m_toolMgr->GetTool(); SCH_COLLECTOR collector; - selectionTool->CollectHits( collector, aPos, deletableItems ); + selectionTool->CollectHits( collector, aPos, SCH_COLLECTOR::DeletableItems ); // Remove unselectable items for( int i = collector.GetCount() - 1; i >= 0; --i )