Loading include/base_struct.h +1 −104 Original line number Diff line number Diff line Loading @@ -47,104 +47,6 @@ extern std::ostream& operator <<( std::ostream& out, const wxPoint& pt ); #endif /** * Enum KICAD_T * is the set of class identification values, stored in EDA_ITEM::m_StructType */ enum KICAD_T { NOT_USED = -1, ///< the 3d code uses this value EOT = 0, ///< search types array terminator (End Of Types) TYPE_NOT_INIT = 0, PCB_T, SCREEN_T, ///< not really an item, used to identify a screen // Items in pcb PCB_MODULE_T, ///< class MODULE, a footprint PCB_PAD_T, ///< class D_PAD, a pad in a footprint PCB_LINE_T, ///< class DRAWSEGMENT, a segment not on copper layers PCB_TEXT_T, ///< class TEXTE_PCB, text on a layer PCB_MODULE_TEXT_T, ///< class TEXTE_MODULE, text in a footprint PCB_MODULE_EDGE_T, ///< class EDGE_MODULE, a footprint edge PCB_TRACE_T, ///< class TRACKE, a track segment (segment on a copper layer) PCB_VIA_T, ///< class SEGVIA, a via (like a track segment on a copper layer) PCB_ZONE_T, ///< class SEGZONE, a segment used to fill a zone area (segment on a ///< copper layer) PCB_MARKER_T, ///< class MARKER_PCB, a marker used to show something PCB_DIMENSION_T, ///< class DIMENSION, a dimension (graphic item) PCB_TARGET_T, ///< class PCB_TARGET, a target (graphic item) PCB_ZONE_AREA_T, ///< class ZONE_CONTAINER, a zone area PCB_ITEM_LIST_T, ///< class BOARD_ITEM_LIST, a list of board items // Schematic draw Items. The order of these items effects the sort order. // It is currently ordered to mimic the old Eeschema locate behavior where // the smallest item is the selected item. SCH_MARKER_T, SCH_JUNCTION_T, SCH_NO_CONNECT_T, SCH_BUS_WIRE_ENTRY_T, SCH_BUS_BUS_ENTRY_T, SCH_LINE_T, SCH_BITMAP_T, SCH_TEXT_T, SCH_LABEL_T, SCH_GLOBAL_LABEL_T, SCH_HIERARCHICAL_LABEL_T, SCH_FIELD_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, SCH_SHEET_T, // Be prudent with these 3 types: // they should be used only to locate a specific field type // among SCH_FIELD_T items types SCH_FIELD_LOCATE_REFERENCE_T, SCH_FIELD_LOCATE_VALUE_T, SCH_FIELD_LOCATE_FOOTPRINT_T, // General SCH_SCREEN_T, /* * Draw items in library component. * * The order of these items effects the sort order for items inside the * "DRAW/ENDDRAW" section of the component definition in a library file. * If you add a new draw item, type, please make sure you add it so the * sort order is logical. */ LIB_COMPONENT_T, LIB_ALIAS_T, LIB_ARC_T, LIB_CIRCLE_T, LIB_TEXT_T, LIB_RECTANGLE_T, LIB_POLYLINE_T, LIB_BEZIER_T, LIB_PIN_T, /* * Fields are not saved inside the "DRAW/ENDDRAW". Add new draw item * types before this line. */ LIB_FIELD_T, /* * For GerbView: items type: */ TYPE_GERBER_DRAW_ITEM, /* * for Pl_Editor, in undo/redo commands */ TYPE_PL_EDITOR_LAYOUT, // End value MAX_STRUCT_TYPE_ID }; /** * Enum FILL_T * is the set of fill types used in plotting or drawing enclosed areas. Loading Loading @@ -440,12 +342,7 @@ public: EDA_ITEM( const EDA_ITEM& base ); virtual ~EDA_ITEM() { }; /** * Function Type * returns the type of object. This attribute should never be changed * after a constructor sets it, so there is no public "setter" method. * @return KICAD_T - the type of object. */ /// @copydoc VIEW_ITEM::Type() KICAD_T Type() const { return m_StructType; } void SetTimeStamp( time_t aNewTimeStamp ) { m_TimeStamp = aNewTimeStamp; } Loading include/view/view_item.h +109 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,104 @@ #include <view/view.h> #include <gal/definitions.h> /** * Enum KICAD_T * is the set of class identification values, stored in EDA_ITEM::m_StructType */ enum KICAD_T { NOT_USED = -1, ///< the 3d code uses this value EOT = 0, ///< search types array terminator (End Of Types) TYPE_NOT_INIT = 0, PCB_T, SCREEN_T, ///< not really an item, used to identify a screen // Items in pcb PCB_MODULE_T, ///< class MODULE, a footprint PCB_PAD_T, ///< class D_PAD, a pad in a footprint PCB_LINE_T, ///< class DRAWSEGMENT, a segment not on copper layers PCB_TEXT_T, ///< class TEXTE_PCB, text on a layer PCB_MODULE_TEXT_T, ///< class TEXTE_MODULE, text in a footprint PCB_MODULE_EDGE_T, ///< class EDGE_MODULE, a footprint edge PCB_TRACE_T, ///< class TRACKE, a track segment (segment on a copper layer) PCB_VIA_T, ///< class SEGVIA, a via (like a track segment on a copper layer) PCB_ZONE_T, ///< class SEGZONE, a segment used to fill a zone area (segment on a ///< copper layer) PCB_MARKER_T, ///< class MARKER_PCB, a marker used to show something PCB_DIMENSION_T, ///< class DIMENSION, a dimension (graphic item) PCB_TARGET_T, ///< class PCB_TARGET, a target (graphic item) PCB_ZONE_AREA_T, ///< class ZONE_CONTAINER, a zone area PCB_ITEM_LIST_T, ///< class BOARD_ITEM_LIST, a list of board items // Schematic draw Items. The order of these items effects the sort order. // It is currently ordered to mimic the old Eeschema locate behavior where // the smallest item is the selected item. SCH_MARKER_T, SCH_JUNCTION_T, SCH_NO_CONNECT_T, SCH_BUS_WIRE_ENTRY_T, SCH_BUS_BUS_ENTRY_T, SCH_LINE_T, SCH_BITMAP_T, SCH_TEXT_T, SCH_LABEL_T, SCH_GLOBAL_LABEL_T, SCH_HIERARCHICAL_LABEL_T, SCH_FIELD_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, SCH_SHEET_T, // Be prudent with these 3 types: // they should be used only to locate a specific field type // among SCH_FIELD_T items types SCH_FIELD_LOCATE_REFERENCE_T, SCH_FIELD_LOCATE_VALUE_T, SCH_FIELD_LOCATE_FOOTPRINT_T, // General SCH_SCREEN_T, /* * Draw items in library component. * * The order of these items effects the sort order for items inside the * "DRAW/ENDDRAW" section of the component definition in a library file. * If you add a new draw item, type, please make sure you add it so the * sort order is logical. */ LIB_COMPONENT_T, LIB_ALIAS_T, LIB_ARC_T, LIB_CIRCLE_T, LIB_TEXT_T, LIB_RECTANGLE_T, LIB_POLYLINE_T, LIB_BEZIER_T, LIB_PIN_T, /* * Fields are not saved inside the "DRAW/ENDDRAW". Add new draw item * types before this line. */ LIB_FIELD_T, /* * For GerbView: items type: */ TYPE_GERBER_DRAW_ITEM, /* * for Pl_Editor, in undo/redo commands */ TYPE_PL_EDITOR_LAYOUT, // End value MAX_STRUCT_TYPE_ID }; namespace KiGfx { // Forward declarations Loading Loading @@ -81,6 +179,17 @@ public: delete[] m_groups; }; /** * Function Type * returns the type of object. This attribute should never be changed * after a constructor sets it, so there is no public "setter" method. * @return KICAD_T - the type of object. */ virtual KICAD_T Type() const { return NOT_USED; } /** * Function ViewBBox() * returns the bounding box of the item covering all its layers. Loading pcbnew/pcb_painter.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -207,7 +207,7 @@ PCB_PAINTER::PCB_PAINTER( GAL* aGal ) : bool PCB_PAINTER::Draw( const VIEW_ITEM* aItem, int aLayer ) { // the "cast" applied in here clarifies which overloaded draw() is called switch( item->Type() ) switch( aItem->Type() ) { case PCB_ZONE_T: case PCB_TRACE_T: Loading Loading
include/base_struct.h +1 −104 Original line number Diff line number Diff line Loading @@ -47,104 +47,6 @@ extern std::ostream& operator <<( std::ostream& out, const wxPoint& pt ); #endif /** * Enum KICAD_T * is the set of class identification values, stored in EDA_ITEM::m_StructType */ enum KICAD_T { NOT_USED = -1, ///< the 3d code uses this value EOT = 0, ///< search types array terminator (End Of Types) TYPE_NOT_INIT = 0, PCB_T, SCREEN_T, ///< not really an item, used to identify a screen // Items in pcb PCB_MODULE_T, ///< class MODULE, a footprint PCB_PAD_T, ///< class D_PAD, a pad in a footprint PCB_LINE_T, ///< class DRAWSEGMENT, a segment not on copper layers PCB_TEXT_T, ///< class TEXTE_PCB, text on a layer PCB_MODULE_TEXT_T, ///< class TEXTE_MODULE, text in a footprint PCB_MODULE_EDGE_T, ///< class EDGE_MODULE, a footprint edge PCB_TRACE_T, ///< class TRACKE, a track segment (segment on a copper layer) PCB_VIA_T, ///< class SEGVIA, a via (like a track segment on a copper layer) PCB_ZONE_T, ///< class SEGZONE, a segment used to fill a zone area (segment on a ///< copper layer) PCB_MARKER_T, ///< class MARKER_PCB, a marker used to show something PCB_DIMENSION_T, ///< class DIMENSION, a dimension (graphic item) PCB_TARGET_T, ///< class PCB_TARGET, a target (graphic item) PCB_ZONE_AREA_T, ///< class ZONE_CONTAINER, a zone area PCB_ITEM_LIST_T, ///< class BOARD_ITEM_LIST, a list of board items // Schematic draw Items. The order of these items effects the sort order. // It is currently ordered to mimic the old Eeschema locate behavior where // the smallest item is the selected item. SCH_MARKER_T, SCH_JUNCTION_T, SCH_NO_CONNECT_T, SCH_BUS_WIRE_ENTRY_T, SCH_BUS_BUS_ENTRY_T, SCH_LINE_T, SCH_BITMAP_T, SCH_TEXT_T, SCH_LABEL_T, SCH_GLOBAL_LABEL_T, SCH_HIERARCHICAL_LABEL_T, SCH_FIELD_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, SCH_SHEET_T, // Be prudent with these 3 types: // they should be used only to locate a specific field type // among SCH_FIELD_T items types SCH_FIELD_LOCATE_REFERENCE_T, SCH_FIELD_LOCATE_VALUE_T, SCH_FIELD_LOCATE_FOOTPRINT_T, // General SCH_SCREEN_T, /* * Draw items in library component. * * The order of these items effects the sort order for items inside the * "DRAW/ENDDRAW" section of the component definition in a library file. * If you add a new draw item, type, please make sure you add it so the * sort order is logical. */ LIB_COMPONENT_T, LIB_ALIAS_T, LIB_ARC_T, LIB_CIRCLE_T, LIB_TEXT_T, LIB_RECTANGLE_T, LIB_POLYLINE_T, LIB_BEZIER_T, LIB_PIN_T, /* * Fields are not saved inside the "DRAW/ENDDRAW". Add new draw item * types before this line. */ LIB_FIELD_T, /* * For GerbView: items type: */ TYPE_GERBER_DRAW_ITEM, /* * for Pl_Editor, in undo/redo commands */ TYPE_PL_EDITOR_LAYOUT, // End value MAX_STRUCT_TYPE_ID }; /** * Enum FILL_T * is the set of fill types used in plotting or drawing enclosed areas. Loading Loading @@ -440,12 +342,7 @@ public: EDA_ITEM( const EDA_ITEM& base ); virtual ~EDA_ITEM() { }; /** * Function Type * returns the type of object. This attribute should never be changed * after a constructor sets it, so there is no public "setter" method. * @return KICAD_T - the type of object. */ /// @copydoc VIEW_ITEM::Type() KICAD_T Type() const { return m_StructType; } void SetTimeStamp( time_t aNewTimeStamp ) { m_TimeStamp = aNewTimeStamp; } Loading
include/view/view_item.h +109 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,104 @@ #include <view/view.h> #include <gal/definitions.h> /** * Enum KICAD_T * is the set of class identification values, stored in EDA_ITEM::m_StructType */ enum KICAD_T { NOT_USED = -1, ///< the 3d code uses this value EOT = 0, ///< search types array terminator (End Of Types) TYPE_NOT_INIT = 0, PCB_T, SCREEN_T, ///< not really an item, used to identify a screen // Items in pcb PCB_MODULE_T, ///< class MODULE, a footprint PCB_PAD_T, ///< class D_PAD, a pad in a footprint PCB_LINE_T, ///< class DRAWSEGMENT, a segment not on copper layers PCB_TEXT_T, ///< class TEXTE_PCB, text on a layer PCB_MODULE_TEXT_T, ///< class TEXTE_MODULE, text in a footprint PCB_MODULE_EDGE_T, ///< class EDGE_MODULE, a footprint edge PCB_TRACE_T, ///< class TRACKE, a track segment (segment on a copper layer) PCB_VIA_T, ///< class SEGVIA, a via (like a track segment on a copper layer) PCB_ZONE_T, ///< class SEGZONE, a segment used to fill a zone area (segment on a ///< copper layer) PCB_MARKER_T, ///< class MARKER_PCB, a marker used to show something PCB_DIMENSION_T, ///< class DIMENSION, a dimension (graphic item) PCB_TARGET_T, ///< class PCB_TARGET, a target (graphic item) PCB_ZONE_AREA_T, ///< class ZONE_CONTAINER, a zone area PCB_ITEM_LIST_T, ///< class BOARD_ITEM_LIST, a list of board items // Schematic draw Items. The order of these items effects the sort order. // It is currently ordered to mimic the old Eeschema locate behavior where // the smallest item is the selected item. SCH_MARKER_T, SCH_JUNCTION_T, SCH_NO_CONNECT_T, SCH_BUS_WIRE_ENTRY_T, SCH_BUS_BUS_ENTRY_T, SCH_LINE_T, SCH_BITMAP_T, SCH_TEXT_T, SCH_LABEL_T, SCH_GLOBAL_LABEL_T, SCH_HIERARCHICAL_LABEL_T, SCH_FIELD_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, SCH_SHEET_T, // Be prudent with these 3 types: // they should be used only to locate a specific field type // among SCH_FIELD_T items types SCH_FIELD_LOCATE_REFERENCE_T, SCH_FIELD_LOCATE_VALUE_T, SCH_FIELD_LOCATE_FOOTPRINT_T, // General SCH_SCREEN_T, /* * Draw items in library component. * * The order of these items effects the sort order for items inside the * "DRAW/ENDDRAW" section of the component definition in a library file. * If you add a new draw item, type, please make sure you add it so the * sort order is logical. */ LIB_COMPONENT_T, LIB_ALIAS_T, LIB_ARC_T, LIB_CIRCLE_T, LIB_TEXT_T, LIB_RECTANGLE_T, LIB_POLYLINE_T, LIB_BEZIER_T, LIB_PIN_T, /* * Fields are not saved inside the "DRAW/ENDDRAW". Add new draw item * types before this line. */ LIB_FIELD_T, /* * For GerbView: items type: */ TYPE_GERBER_DRAW_ITEM, /* * for Pl_Editor, in undo/redo commands */ TYPE_PL_EDITOR_LAYOUT, // End value MAX_STRUCT_TYPE_ID }; namespace KiGfx { // Forward declarations Loading Loading @@ -81,6 +179,17 @@ public: delete[] m_groups; }; /** * Function Type * returns the type of object. This attribute should never be changed * after a constructor sets it, so there is no public "setter" method. * @return KICAD_T - the type of object. */ virtual KICAD_T Type() const { return NOT_USED; } /** * Function ViewBBox() * returns the bounding box of the item covering all its layers. Loading
pcbnew/pcb_painter.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -207,7 +207,7 @@ PCB_PAINTER::PCB_PAINTER( GAL* aGal ) : bool PCB_PAINTER::Draw( const VIEW_ITEM* aItem, int aLayer ) { // the "cast" applied in here clarifies which overloaded draw() is called switch( item->Type() ) switch( aItem->Type() ) { case PCB_ZONE_T: case PCB_TRACE_T: Loading