29#include <unordered_set>
39class STATUS_MIN_MAX_POPUP;
58 const wxString& aCommitMsg = wxEmptyString,
int aCommitFlags = 0 );
66#define STATUS_ITEMS_ONLY true
70 bool aStatusItemsOnly =
false );
72 virtual bool MakeEditPoints( std::shared_ptr<EDIT_POINTS> aEditPoints )
const;
98 virtual std::vector<std::pair<wxString, wxVariant>>
GetRowData();
107 void Show(
int nestLevel, std::ostream& os )
const override { ShowDummy( os ); }
114#ifdef GENERATOR_ORDER
115 int GetUpdateOrder()
const {
return m_updateOrder; }
116 void SetUpdateOrder(
int aValue ) { m_updateOrder = aValue; }
124#ifdef GENERATOR_ORDER
125 int m_updateOrder = 0;
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Information pertinent to a Pcbnew printed circuit board.
A base class for most all the KiCad significant classes used in schematics and boards.
EDIT_POINTS is a VIEW_ITEM that manages EDIT_POINTs and EDIT_LINEs and draws them.
A factory which returns an instance of a PCB_GENERATOR.
LSET is a set of PCB_LAYER_IDs.
Common, abstract interface for edit frames.
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
virtual void SetProperties(const STRING_ANY_MAP &aProps)
virtual void SetLayer(PCB_LAYER_ID aLayer) override
Set the layer this item is on.
virtual void Remove(GENERATOR_TOOL *aTool, BOARD *aBoard, BOARD_COMMIT *aCommit)
virtual void EditRevert(GENERATOR_TOOL *aTool, BOARD *aBoard, BOARD_COMMIT *aCommit)
wxString GetClass() const override
Return the class name.
virtual bool UpdateEditPoints(std::shared_ptr< EDIT_POINTS > aEditPoints)
LSET GetLayerSet() const override
Return a std::bitset of all layers on which the item physically resides.
virtual bool MakeEditPoints(std::shared_ptr< EDIT_POINTS > aEditPoints) const
virtual void ShowPropertiesDialog(PCB_BASE_EDIT_FRAME *aEditFrame)
virtual wxString GetPluralName() const =0
bool AddItem(BOARD_ITEM *aItem) override
Add item to group.
virtual void EditPush(GENERATOR_TOOL *aTool, BOARD *aBoard, BOARD_COMMIT *aCommit, const wxString &aCommitMsg=wxEmptyString, int aCommitFlags=0)
static bool ClassOf(const EDA_ITEM *aItem)
PCB_GENERATOR * DeepClone() const
void SetPosition(const VECTOR2I &aPos) override
virtual void EditStart(GENERATOR_TOOL *aTool, BOARD *aBoard, BOARD_COMMIT *aCommit)
virtual std::vector< EDA_ITEM * > GetPreviewItems(GENERATOR_TOOL *aTool, PCB_BASE_EDIT_FRAME *aFrame, bool aStatusItemsOnly=false)
VECTOR2I GetPosition() const override
virtual bool Update(GENERATOR_TOOL *aTool, BOARD *aBoard, BOARD_COMMIT *aCommit)
void Move(const VECTOR2I &aMoveVector) override
Move this object.
virtual std::vector< std::pair< wxString, wxVariant > > GetRowData()
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider) const override
Return a user-visible description string of this item.
virtual const STRING_ANY_MAP GetProperties() const
virtual wxString GetGeneratorType() const
virtual bool UpdateFromEditPoints(std::shared_ptr< EDIT_POINTS > aEditPoints, BOARD_COMMIT *aCommit)
A set of BOARD_ITEMs (i.e., without duplicates).
A name/value tuple with unique names and wxAny values.
PCB_LAYER_ID
A quick note on layer IDs:
Class to handle a set of BOARD_ITEMs.