SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
Go to the documentation of this file.
14 #ifndef smtk_attribute_GroupItemDefinition_h
15 #define smtk_attribute_GroupItemDefinition_h
17 #include "smtk/attribute/ItemDefinition.h"
43 std::size_t numberOfItemDefinitions()
const {
return m_itemDefs.size(); }
47 : (
static_cast<unsigned int>(ith) >= m_itemDefs.size()
49 : m_itemDefs[
static_cast<std::size_t
>(ith)]);
53 typename smtk::internal::shared_ptr_type<T>::SharedPointerType addItemDefinition(
54 const std::string& inName)
57 typename SharedTypes::SharedPointerType item;
60 if (this->findItemPosition(inName) < 0)
62 std::size_t n = m_itemDefs.size();
63 item = SharedTypes::RawPointerType::New(inName);
66 item->setIsOptional(
true);
68 m_itemDefs.push_back(item);
69 m_itemDefPositions[inName] =
static_cast<int>(n);
83 int findItemPosition(
const std::string& name)
const;
93 void setIsExtensible(
bool mode);
96 std::size_t numberOfRequiredGroups()
const {
return m_numberOfRequiredGroups; }
99 bool setNumberOfRequiredGroups(std::size_t gsize);
128 bool hasSubGroupLabels()
const {
return !m_labels.empty(); }
137 bool setMaxNumberOfGroups(std::size_t esize);
139 void setSubGroupLabel(std::size_t element,
const std::string& elabel);
140 void setCommonSubGroupLabel(
const std::string& elabel);
141 bool usingCommonSubGroupLabel()
const {
return m_useCommonLabel; }
142 std::string subGroupLabel(std::size_t element)
const;
153 GroupItemDefinition(
const std::string& myname);
154 void applyCategories(
157 void applyAdvanceLevels(
158 const unsigned int& readLevelFromParent,
159 const unsigned int& writeLevelFromParent)
override;
160 std::vector<smtk::attribute::ItemDefinitionPtr> m_itemDefs;
161 std::map<std::string, int> m_itemDefPositions;
162 std::vector<std::string> m_labels;
163 std::size_t m_numberOfRequiredGroups;
164 std::size_t m_maxNumberOfGroups;
166 bool m_useCommonLabel;
167 bool m_isConditional;
168 unsigned int m_maxNumberOfChoices;
169 unsigned int m_minNumberOfChoices;
174 inline int GroupItemDefinition::findItemPosition(
const std::string& inName)
const
176 std::map<std::string, int>::const_iterator it;
177 it = m_itemDefPositions.find(inName);
178 if (it == m_itemDefPositions.end())
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
bool isConditional() const
Returns or sets the definition's conditional property.
Definition: GroupItemDefinition.h:109
Type
Definition: Item.h:53
A group item represents an array of structures in SMTK.
Definition: GroupItem.h:48
void setMaxNumberOfChoices(unsigned int value)
Returns or sets the default maximum number of choices that must be set for GroupItems,...
Definition: GroupItemDefinition.h:124
std::size_t maxNumberOfGroups() const
Returns or Sets the maximum number of groups that items from this def can have.
Definition: GroupItemDefinition.h:134
Definition: Categories.h:146
Definition: ItemDefinition.h:37
unsigned int maxNumberOfChoices() const
Returns or sets the default maximum number of choices that must be set for GroupItems,...
Definition: GroupItemDefinition.h:125
Definition: PublicPointerDefs.h:729
void setMinNumberOfChoices(unsigned int value)
Returns or sets the default minimum number of choices that must be set for GroupItems,...
Definition: GroupItemDefinition.h:116
smtk::shared_ptr< smtk::attribute::GroupItemDefinition > GroupItemDefinitionPtr
Definition: PublicPointerDefs.h:510
Definition: ItemDefinition.h:47
unsigned int minNumberOfChoices() const
Returns or sets the default minimum number of choices that must be set for GroupItems,...
Definition: GroupItemDefinition.h:117
#define smtkTypeMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:51
void setIsConditional(bool value)
Returns or sets the definition's conditional property.
Definition: GroupItemDefinition.h:108
Represents the category constraints associated with an Attribute, Attribute Definition,...
Definition: Categories.h:32
smtk::shared_ptr< smtk::attribute::Item > ItemPtr
Definition: PublicPointerDefs.h:467
A GroupItemDefinition represents a collection of Item Definitions.
Definition: GroupItemDefinition.h:32
smtk::shared_ptr< smtk::attribute::ItemDefinition > ItemDefinitionPtr
Definition: PublicPointerDefs.h:473
bool isExtensible() const
Returns or sets the def's extensibility property.
Definition: GroupItemDefinition.h:92