24#ifndef RULE_EDITOR_DATA_BASE_H_
25#define RULE_EDITOR_DATA_BASE_H_
Abstract interface class to enable polymorphic copying between objects.
virtual void CopyFrom(const ICopyable &source)=0
virtual ~ICopyable()=default
virtual ~RULE_EDITOR_DATA_BASE()=default
RULE_EDITOR_DATA_BASE()=default
bool m_isNew
Flag indicating if the user is creating a new rule (true) or editing an existing rule (false).
bool IsNew()
Check if the rule is marked as new.
int GetId()
Get the unique ID of the rule.
void SetIsNew(bool aIsNew)
Mark the rule as new or not.
RULE_EDITOR_DATA_BASE(int aId, int aParentId, wxString aRuleName)
void SetId(int aId)
Set the unique ID of the rule.
void SetParentId(int aParentId)
Set the parent ID of the rule.
void CopyFrom(const ICopyable &aSource) override
Implementation of the polymorphic CopyFrom method.
wxString GetComment()
Get the comment associated with the rule.
void SetRuleName(wxString aRuleName)
Set the name of the rule.
void SetComment(wxString aComment)
Set the comment for the rule.
std::optional< int > m_parentId
wxString GetRuleName()
Get the name of the rule.
int GetParentId()
Get the parent ID of the rule.