SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
17 #ifndef smtk_attribute_ItemDefinition_h
18 #define smtk_attribute_ItemDefinition_h
20 #include "smtk/CoreExports.h"
23 #include "smtk/attribute/Categories.h"
24 #include "smtk/attribute/Item.h"
25 #include "smtk/attribute/Tag.h"
57 std::queue<std::pair<std::string, smtk::attribute::ItemDefinitionPtr>> UnresolvedExpItems;
59 : ToResource(*resource)
67 const std::string& name()
const {
return m_name; }
72 const std::string& label()
const {
return (!m_label.empty() ? m_label : m_name); }
74 void setLabel(
const std::string& newLabel) { m_label = newLabel; }
76 int version()
const {
return m_version; }
77 void setVersion(
int myVersion) { m_version = myVersion; }
79 bool isOptional()
const {
return m_isOptional; }
81 void setIsOptional(
bool isOptionalValue) { m_isOptional = isOptionalValue; }
84 bool isEnabledByDefault()
const {
return m_isEnabledByDefault; }
86 void setIsEnabledByDefault(
bool isEnabledByDefaultValue)
88 m_isEnabledByDefault = isEnabledByDefaultValue;
107 m_localCategories = catSet;
120 unsigned int advanceLevel(
int mode = 0)
const
122 return (mode == 1 ? m_advanceLevel[1] : m_advanceLevel[0]);
124 unsigned int localAdvanceLevel(
int mode = 0)
const
126 return (mode == 1 ? m_localAdvanceLevel[1] : m_localAdvanceLevel[0]);
128 void setLocalAdvanceLevel(
int mode,
unsigned int level);
130 void setLocalAdvanceLevel(
unsigned int level);
135 void unsetLocalAdvanceLevel(
int mode = 0);
138 bool hasLocalAdvanceLevelInfo(
int mode = 0)
const
140 return (mode == 1 ? m_hasLocalAdvanceLevelInfo[1] : m_hasLocalAdvanceLevelInfo[0]);
142 const std::string& detailedDescription()
const {
return m_detailedDescription; }
143 void setDetailedDescription(
const std::string& text) { m_detailedDescription = text; }
145 const std::string& briefDescription()
const {
return m_briefDescription; }
146 void setBriefDescription(
const std::string& text) { m_briefDescription = text; }
149 const Tags&
tags()
const {
return m_tags; }
154 const Tag* tag(
const std::string& name)
const;
155 Tag* tag(
const std::string& name);
160 bool addTag(
const Tag& tag);
161 bool removeTag(
const std::string& name);
165 const shared_ptr<units::System>&
unitsSystem()
const {
return m_unitsSystem; }
179 virtual void applyCategories(
182 virtual void applyAdvanceLevels(
183 const unsigned int& readLevelFromParent,
184 const unsigned int& writeLevelFromParent);
189 virtual void setUnitsSystem(
const shared_ptr<units::System>& unitsSystem);
193 bool m_isEnabledByDefault;
197 std::string m_detailedDescription;
198 std::string m_briefDescription;
199 bool m_hasLocalAdvanceLevelInfo[2];
200 unsigned int m_localAdvanceLevel[2];
201 unsigned int m_advanceLevel[2];
202 attribute::Tags m_tags;
204 std::shared_ptr<units::System> m_unitsSystem;
208 const std::string m_name;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
Type
Definition: Item.h:56
Stores the definition of an attribute.
Definition: Definition.h:45
Definition: Categories.h:146
const shared_ptr< units::System > & unitsSystem() const
Return the unitsSystem of the Definition.
Definition: ItemDefinition.h:165
Definition: ItemDefinition.h:42
Categories::CombinationMode categoryInheritanceMode() const
Determines how the Definition should combine its local category Set with the category constraints bei...
Definition: ItemDefinition.h:113
smtk::attribute::Categories::Set & localCategories()
Returns the categories::Set explicitly assigned to the Items Definition.
Definition: ItemDefinition.h:98
A definition for attribute items that store smtk::resource::PersistentObjectPtr as values.
Definition: ReferenceItemDefinition.h:40
Definition: ItemDefinition.h:52
The base class for items that hold information inside an attribute.
Definition: Item.h:47
const Tags & tags() const
return the smtk::attribute::Tags associated with the Definition
Definition: ItemDefinition.h:149
Definition: ValueItemDefinition.h:41
Store information about attribute definitions and instances.
Definition: Resource.h:76
Represent a (possibly composite) value according to a definition.
Definition: Attribute.h:50
void setCategoryInheritanceMode(Categories::CombinationMode mode)
Determines how the Definition should combine its local category Set with the category constraints bei...
Definition: ItemDefinition.h:114
Represents the category constraints associated with an Attribute, Attribute Definition,...
Definition: Categories.h:32
Categories::Set represents a single category constraint used by the Categories class.
Definition: Categories.h:60
smtk::shared_ptr< smtk::attribute::Item > ItemPtr
Definition: PublicPointerDefs.h:474
Macros for dealing with shared-pointer classes.
A GroupItemDefinition represents a collection of Item Definitions.
Definition: GroupItemDefinition.h:32
#define smtkTypeMacroBase(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:131
smtk::shared_ptr< smtk::attribute::ItemDefinition > ItemDefinitionPtr
Definition: PublicPointerDefs.h:480
CombinationMode
Definition: Categories.h:35
const smtk::attribute::Categories & categories() const
Returns the categories (both explicitly assigned and inherited) associated to the Item Definition.
Definition: ItemDefinition.h:95
void setLocalCategories(const smtk::attribute::Categories::Set &catSet)
Sets the local categories.
Definition: ItemDefinition.h:105
smtk::shared_ptr< smtk::attribute::Resource > ResourcePtr
Definition: PublicPointerDefs.h:611