diff --git a/common/rc_item.cpp b/common/rc_item.cpp index 4ab406ad15..2041317f7a 100644 --- a/common/rc_item.cpp +++ b/common/rc_item.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #define WX_DATAVIEW_WINDOW_PADDING 6 @@ -51,6 +52,30 @@ wxString RC_ITEM::ShowCoord( EDA_UNITS aUnits, const wxPoint& aPos ) } +void RC_ITEM::AddItem( EDA_ITEM* aItem ) +{ + m_ids.push_back( aItem->m_Uuid ); +} + + +void RC_ITEM::SetItems( const EDA_ITEM* aItem, const EDA_ITEM* bItem, + const EDA_ITEM* cItem, const EDA_ITEM* dItem ) +{ + m_ids.clear(); + + m_ids.push_back( aItem->m_Uuid ); + + if( bItem ) + m_ids.push_back( bItem->m_Uuid ); + + if( cItem ) + m_ids.push_back( cItem->m_Uuid ); + + if( dItem ) + m_ids.push_back( dItem->m_Uuid ); +} + + wxString RC_ITEM::ShowReport( EDA_UNITS aUnits, SEVERITY aSeverity, const std::map& aItemMap ) const { diff --git a/eeschema/sch_preview_panel.h b/eeschema/sch_preview_panel.h index d39849be79..72d27c3362 100644 --- a/eeschema/sch_preview_panel.h +++ b/eeschema/sch_preview_panel.h @@ -26,9 +26,6 @@ #define SCH_PREVIEW_PANEL_H #include -#include -#include -#include namespace KIGFX { diff --git a/eeschema/sch_screen.cpp b/eeschema/sch_screen.cpp index a1d3397a83..9115046bbd 100644 --- a/eeschema/sch_screen.cpp +++ b/eeschema/sch_screen.cpp @@ -31,6 +31,7 @@ #include +#include #include #include #include @@ -135,6 +136,12 @@ bool SCH_SCREEN::HasItems( KICAD_T aItemType ) const } +bool SCH_SCREEN::ClassOf( const EDA_ITEM* aItem ) +{ + return aItem && SCH_SCREEN_T == aItem->Type(); +} + + void SCH_SCREEN::Append( SCH_ITEM* aItem ) { if( aItem->Type() != SCH_SHEET_PIN_T && aItem->Type() != SCH_FIELD_T ) diff --git a/eeschema/sch_screen.h b/eeschema/sch_screen.h index 8d4b019222..8247c8022f 100644 --- a/eeschema/sch_screen.h +++ b/eeschema/sch_screen.h @@ -35,7 +35,6 @@ #include #include -#include #include #include #include @@ -53,7 +52,7 @@ #include class BUS_ALIAS; - +class EDA_ITEM; class LIB_PART; class LIB_PIN; class SCH_COMPONENT; @@ -112,10 +111,7 @@ public: bool HasSheets() const { return HasItems( SCH_SHEET_T ); } - static inline bool ClassOf( const EDA_ITEM* aItem ) - { - return aItem && SCH_SCREEN_T == aItem->Type(); - } + static bool ClassOf( const EDA_ITEM* aItem ); virtual wxString GetClass() const override { diff --git a/eeschema/sch_sheet_path.h b/eeschema/sch_sheet_path.h index 5eb2195664..1d3c82d5cf 100644 --- a/eeschema/sch_sheet_path.h +++ b/eeschema/sch_sheet_path.h @@ -31,7 +31,6 @@ #ifndef CLASS_DRAWSHEET_PATH_H #define CLASS_DRAWSHEET_PATH_H -#include #include #include @@ -104,6 +103,7 @@ struct SCH_SHEET_INSTANCE class wxFindReplaceData; +class EDA_ITEM; class SCH_SHEET; class SCH_SCREEN; class SCH_MARKER; diff --git a/include/rc_item.h b/include/rc_item.h index 6660f26d91..0f4073e686 100644 --- a/include/rc_item.h +++ b/include/rc_item.h @@ -25,12 +25,14 @@ #define RC_ITEM_H #include -#include +#include #include class MARKER_BASE; class EDA_BASE_FRAME; class RC_ITEM; +class EDA_ITEM; +class EDA_DRAW_FRAME; /** @@ -99,27 +101,10 @@ public: m_ids = aIds; } - void AddItem( EDA_ITEM* aItem ) - { - m_ids.push_back( aItem->m_Uuid ); - } + void AddItem( EDA_ITEM* aItem ); void SetItems( const EDA_ITEM* aItem, const EDA_ITEM* bItem = nullptr, - const EDA_ITEM* cItem = nullptr, const EDA_ITEM* dItem = nullptr ) - { - m_ids.clear(); - - m_ids.push_back( aItem->m_Uuid ); - - if( bItem ) - m_ids.push_back( bItem->m_Uuid ); - - if( cItem ) - m_ids.push_back( cItem->m_Uuid ); - - if( dItem ) - m_ids.push_back( dItem->m_Uuid ); - } + const EDA_ITEM* cItem = nullptr, const EDA_ITEM* dItem = nullptr ); void SetItems( const KIID& aItem, const KIID& bItem = niluuid, const KIID& cItem = niluuid, const KIID& dItem = niluuid )