27#include <wx/dataview.h>
52 virtual int GetCount(
int aSeverity = -1 )
const = 0;
57 virtual std::shared_ptr<RC_ITEM>
GetItem(
int aIndex )
const = 0;
77 typedef std::vector<KIID>
KIIDS;
111 m_ids.push_back( aItem );
112 m_ids.push_back( bItem );
113 m_ids.push_back( cItem );
114 m_ids.push_back( dItem );
134 const std::map<KIID, EDA_ITEM*>& aItemMap )
const;
161 return wxEmptyString;
206 return wxDataViewItem(
const_cast<void*
>(
static_cast<void const*
>( aNode ) ) );
220 void Update( std::shared_ptr<RC_ITEMS_PROVIDER> aProvider,
int aSeverities );
229 bool IsContainer( wxDataViewItem
const& aItem )
const override;
231 wxDataViewItem
GetParent( wxDataViewItem
const& aItem )
const override;
233 unsigned int GetChildren( wxDataViewItem
const& aItem,
234 wxDataViewItemArray& aChildren )
const override;
238 wxString
GetColumnType(
unsigned int aCol )
const override {
return "string"; }
244 void GetValue( wxVariant& aVariant, wxDataViewItem
const& aItem,
245 unsigned int aCol )
const override;
250 bool SetValue( wxVariant
const& aVariant, wxDataViewItem
const& aItem,
251 unsigned int aCol )
override
261 bool GetAttr( wxDataViewItem
const& aItem,
unsigned int aCol,
262 wxDataViewItemAttr& aAttr )
const override;
272 void DeleteItems(
bool aCurrentOnly,
bool aIncludeExclusions,
bool aDeep );
275 void rebuildModel( std::shared_ptr<RC_ITEMS_PROVIDER> aProvider,
int aSeverities );
The base frame for deriving all KiCad main window classes.
The base class for create windows for drawing purpose.
A base class for most all the KiCad significant classes used in schematics and boards.
Provide an abstract interface of a RC_ITEM* list manager.
virtual void SetSeverities(int aSeverities)=0
virtual void DeleteItem(int aIndex, bool aDeep)=0
Remove (and optionally deletes) the indexed item from the list.
virtual ~RC_ITEMS_PROVIDER()
virtual int GetCount(int aSeverity=-1) const =0
virtual std::shared_ptr< RC_ITEM > GetItem(int aIndex) const =0
Retrieve a RC_ITEM by index.
A holder for a rule check item, DRC in Pcbnew or ERC in Eeschema.
wxString m_settingsKey
The key used to describe this type of error in settings.
void SetItems(const KIID &aItem, const KIID &bItem=niluuid, const KIID &cItem=niluuid, const KIID &dItem=niluuid)
int m_errorCode
The error code's numeric value.
RC_ITEM(std::shared_ptr< RC_ITEM > aItem)
MARKER_BASE * GetParent() const
std::vector< KIID > KIIDS
void AddItem(EDA_ITEM *aItem)
MARKER_BASE * m_parent
The marker this item belongs to, if any.
virtual KIID GetAuxItem3ID() const
void SetErrorMessage(const wxString &aMessage)
virtual KIID GetAuxItem2ID() const
virtual KIID GetMainItemID() const
virtual KIID GetAuxItemID() const
wxString GetErrorText() const
virtual wxString ShowReport(UNITS_PROVIDER *aUnitsProvider, SEVERITY aSeverity, const std::map< KIID, EDA_ITEM * > &aItemMap) const
Translate this object into a text string suitable for saving to disk in a report.
virtual wxString GetErrorMessage() const
wxString m_errorMessage
A message describing the details of this specific error.
void SetParent(MARKER_BASE *aMarker)
void SetErrorCode(int aCode)
wxString GetSettingsKey() const
std::vector< KIID > GetIDs() const
wxString m_errorTitle
The string describing the type of error.
virtual wxString GetViolatingRuleDesc() const
void SetItems(const KIIDS &aIds)
wxString GetColumnType(unsigned int aCol) const override
void onSizeView(wxSizeEvent &aEvent)
void GetValue(wxVariant &aVariant, wxDataViewItem const &aItem, unsigned int aCol) const override
Called by the wxDataView to fetch an item's value.
std::vector< RC_TREE_NODE * > m_tree
unsigned int GetChildren(wxDataViewItem const &aItem, wxDataViewItemArray &aChildren) const override
bool HasContainerColumns(wxDataViewItem const &aItem) const override
EDA_DRAW_FRAME * m_editFrame
static wxDataViewItem ToItem(RC_TREE_NODE const *aNode)
bool SetValue(wxVariant const &aVariant, wxDataViewItem const &aItem, unsigned int aCol) override
Called by the wxDataView to edit an item's content.
void SelectMarker(const MARKER_BASE *aMarker)
RC_TREE_MODEL(EDA_DRAW_FRAME *aParentFrame, wxDataViewCtrl *aView)
static RC_TREE_NODE * ToNode(wxDataViewItem aItem)
void Update(std::shared_ptr< RC_ITEMS_PROVIDER > aProvider, int aSeverities)
bool GetAttr(wxDataViewItem const &aItem, unsigned int aCol, wxDataViewItemAttr &aAttr) const override
Called by the wxDataView to fetch an item's formatting.
void DeleteItems(bool aCurrentOnly, bool aIncludeExclusions, bool aDeep)
Deletes the current item or all items.
void DeleteCurrentItem(bool aDeep)
unsigned int GetColumnCount() const override
wxDataViewItem GetParent(wxDataViewItem const &aItem) const override
void CenterMarker(const MARKER_BASE *aMarker)
static KIID ToUUID(wxDataViewItem aItem)
std::shared_ptr< RC_ITEMS_PROVIDER > m_rcItemsProvider
void ValueChanged(const RC_TREE_NODE *aNode)
bool IsContainer(wxDataViewItem const &aItem) const override
void rebuildModel(std::shared_ptr< RC_ITEMS_PROVIDER > aProvider, int aSeverities)
std::shared_ptr< RC_ITEM > m_RcItem
std::vector< RC_TREE_NODE * > m_Children
RC_TREE_NODE(RC_TREE_NODE *aParent, std::shared_ptr< RC_ITEM > aRcItem, NODE_TYPE aType)