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"
52 std::queue<std::pair<std::string, smtk::attribute::ItemDefinitionPtr>> UnresolvedExpItems;
54 : ToResource(*resource)
62 const std::string& name()
const {
return m_name; }
67 const std::string& label()
const {
return (!m_label.empty() ? m_label : m_name); }
69 void setLabel(
const std::string& newLabel) { m_label = newLabel; }
71 int version()
const {
return m_version; }
72 void setVersion(
int myVersion) { m_version = myVersion; }
74 bool isOptional()
const {
return m_isOptional; }
76 void setIsOptional(
bool isOptionalValue) { m_isOptional = isOptionalValue; }
79 bool isEnabledByDefault()
const {
return m_isEnabledByDefault; }
81 void setIsEnabledByDefault(
bool isEnabledByDefaultValue)
83 m_isEnabledByDefault = isEnabledByDefaultValue;
102 m_localCategories = catSet;
108 SMTK_DEPRECATED_IN_22_07(
"Replaced by ItemDefinition::categoryInheritanceMode.")
109 bool isOkToInherit() const;
110 SMTK_DEPRECATED_IN_22_07("Replaced by
ItemDefinition::setCategoryInheritanceMode.")
111 void setIsOkToInherit(
bool isOkToInheritValue);
117 Categories::CombinationMode categoryInheritanceMode()
const {
return m_combinationMode; }
124 unsigned int advanceLevel(
int mode = 0)
const
126 return (mode == 1 ? m_advanceLevel[1] : m_advanceLevel[0]);
128 unsigned int localAdvanceLevel(
int mode = 0)
const
130 return (mode == 1 ? m_localAdvanceLevel[1] : m_localAdvanceLevel[0]);
132 void setLocalAdvanceLevel(
int mode,
unsigned int level);
134 void setLocalAdvanceLevel(
unsigned int level);
139 void unsetLocalAdvanceLevel(
int mode = 0);
142 bool hasLocalAdvanceLevelInfo(
int mode = 0)
const
144 return (mode == 1 ? m_hasLocalAdvanceLevelInfo[1] : m_hasLocalAdvanceLevelInfo[0]);
146 const std::string& detailedDescription()
const {
return m_detailedDescription; }
147 void setDetailedDescription(
const std::string& text) { m_detailedDescription = text; }
149 const std::string& briefDescription()
const {
return m_briefDescription; }
150 void setBriefDescription(
const std::string& text) { m_briefDescription = text; }
153 const Tags&
tags()
const {
return m_tags; }
158 const Tag* tag(
const std::string& name)
const;
159 Tag* tag(
const std::string& name);
164 bool addTag(
const Tag& tag);
165 bool removeTag(
const std::string& name);
180 virtual void applyCategories(
183 virtual void applyAdvanceLevels(
184 const unsigned int& readLevelFromParent,
185 const unsigned int& writeLevelFromParent);
188 bool m_isEnabledByDefault;
192 std::string m_detailedDescription;
193 std::string m_briefDescription;
194 bool m_hasLocalAdvanceLevelInfo[2];
195 unsigned int m_localAdvanceLevel[2];
196 unsigned int m_advanceLevel[2];
197 attribute::Tags m_tags;
202 const std::string m_name;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
Type
Definition: Item.h:52
Definition: Definition.h:45
Definition: Categories.h:167
Definition: ItemDefinition.h:37
smtk::attribute::Categories::Set & localCategories()
Returns the categories::Set explicitly assigned to the Items Definition.
Definition: ItemDefinition.h:93
A definition for attribute items that store smtk::resource::PersistentObjectPtr as values.
Definition: ReferenceItemDefinition.h:40
Definition: ItemDefinition.h:47
const Tags & tags() const
return the smtk::attribute::Tags associated with the Definition
Definition: ItemDefinition.h:153
Definition: ValueItemDefinition.h:41
Store information about attribute definitions and instances.
Definition: Resource.h:77
Represent a (possibly composite) value according to a definition.
Definition: Attribute.h:49
void setCategoryInheritanceMode(Categories::CombinationMode mode)
Determines how the Definition should combine its local category Set with the category constraints bei...
Definition: ItemDefinition.h:118
Represents the category constraints associated with an Attribute, Attribute Definition,...
Definition: Categories.h:34
Categories::Set represents a single category constraint used by the Categories class.
Definition: Categories.h:75
smtk::shared_ptr< smtk::attribute::Item > ItemPtr
Definition: PublicPointerDefs.h:467
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:55
smtk::shared_ptr< smtk::attribute::ItemDefinition > ItemDefinitionPtr
Definition: PublicPointerDefs.h:473
CombinationMode
Definition: Categories.h:37
const smtk::attribute::Categories & categories() const
Returns the categories (both explicitly assigned and inherited) associated to the Item Definition.
Definition: ItemDefinition.h:90
void setLocalCategories(const smtk::attribute::Categories::Set &catSet)
Sets the local categories.
Definition: ItemDefinition.h:100
smtk::shared_ptr< smtk::attribute::Resource > ResourcePtr
Definition: PublicPointerDefs.h:604