20#ifndef DRILL_SYMBOL_PROFILE_H
21#define DRILL_SYMBOL_PROFILE_H
Grouping rules and symbol assignments, shared by reference so a chart and its map can never disagree ...
DRILL_MARK_POLICY m_markPolicy
void SetUuid(const KIID &aUuid)
std::string GroupKeyString(const DRILL_OPERATION &aOperation) const
Stable identity for a group under the currently enabled keys.
const wxString & GetName() const
int GetSymbolWidth() const
const std::map< std::string, DRILL_SYMBOL_ASSIGNMENT > & Assignments() const
void SetSymbolWidth(int aWidth)
bool operator==(const DRILL_SYMBOL_PROFILE &aOther) const
std::set< DRILL_GROUP_KEY > m_groupBy
void SetName(const wxString &aName)
const DRILL_SYMBOL_ASSIGNMENT * GetAssignment(const std::string &aKey) const
bool IsGroupedBy(DRILL_GROUP_KEY aKey) const
uint64_t Fingerprint() const
Cheap value used to notice an edit.
void SetFreezeAssignments(bool aFreeze)
bool GetFreezeAssignments() const
void SetGroupedBy(DRILL_GROUP_KEY aKey, bool aOn)
void SetMarkPolicy(DRILL_MARK_POLICY aPolicy)
void ClearAssignments()
Assignments whose key no longer matches any hole are kept, so deleting and restoring a hole size does...
const std::set< DRILL_GROUP_KEY > & GroupKeys() const
const KIID & Uuid() const
void SetAssignment(const std::string &aKey, const DRILL_SYMBOL_ASSIGNMENT &aAssignment)
DRILL_MARK_POLICY GetMarkPolicy() const
void SetSymbolSize(int aSize)
int GetSymbolSize() const
std::map< std::string, DRILL_SYMBOL_ASSIGNMENT > m_assignments
An abstract shape on 2D plane.
const char * DrillGroupKeyToken(DRILL_GROUP_KEY aKey)
Stable file tokens, deliberately independent of enum ordering so a later insertion into the enum cann...
bool DrillMarkModeFromToken(const wxString &aToken, DRILL_MARK_MODE &aMode)
const char * DrillMarkModeToken(DRILL_MARK_MODE aMode)
bool DrillMarkPolicyFromToken(const wxString &aToken, DRILL_MARK_POLICY &aPolicy)
bool DrillGroupKeyFromToken(const wxString &aToken, DRILL_GROUP_KEY &aKey)
DRILL_GROUP_KEY
Which properties split holes into separate chart rows and symbols.
const char * DrillMarkPolicyToken(DRILL_MARK_POLICY aPolicy)
One machining action, which is also one NC hit and one tool assignment.
DRILL_MARK_MODE m_MarkMode