SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
Public Types | |
typedef std::vector< std::string >::const_iterator | const_iterator |
![]() | |
enum | Type { AttributeRefType, DoubleType, GroupType, IntType, StringType, VoidType, FileType, DirectoryType, ColorType, ModelEntityType, MeshEntityType, DateTimeType, ReferenceType, ResourceType, ComponentType, NUMBER_OF_TYPES } |
typedef std::function< bool(const Item *, bool includeCatagories, bool includeReadAccess, unsigned int readAccessLevel)> | RelevanceFunc |
Typedef for custom relevance functions. | |
typedef std::function< bool(const Item *, const std::set< std::string > &categories)> | ValidityFunc |
Typedef for custom validity functions. | |
using | Status = smtk::common::Status |
Public Member Functions | |
smtkTypeMacro (smtk::attribute::FileSystemItem) | |
Item::Type | type () const override=0 |
bool | shouldBeRelative () const |
bool | shouldExist () const |
std::size_t | numberOfValues () const |
bool | setNumberOfValues (std::size_t newSize) |
std::size_t | numberOfRequiredValues () const |
bool | isExtensible () const |
std::size_t | maxNumberOfValues () const |
std::string | value (std::size_t element=0) const |
bool | setValue (const std::string &val) |
bool | setValue (std::size_t element, const std::string &val) |
bool | appendValue (const std::string &val) |
bool | removeValue (std::size_t element) |
void | reset () override |
virtual bool | setToDefault (std::size_t elementIndex=0) |
virtual bool | isUsingDefault (std::size_t elementIndex) const |
virtual bool | isUsingDefault () const |
bool | hasDefault () const |
std::string | defaultValue () const |
virtual std::string | valueAsString (const std::string &format="") const |
virtual std::string | valueAsString (std::size_t element, const std::string &format="") const |
virtual bool | isSet (std::size_t element=0) const |
virtual void | unset (std::size_t element=0) |
const_iterator | begin () const |
Return an iterator to the first directory value in this item. | |
const_iterator | end () const |
Return an iterator just past the last directory value in this item. | |
template<typename I > | |
bool | setValues (I vbegin, I vend, std::size_t offset=0) |
template<typename I > | |
bool | appendValues (I vbegin, I vend) |
Item::Status | assign (const smtk::attribute::ConstItemPtr &sourceItem, const CopyAssignmentOptions &options, smtk::io::Logger &logger) override |
virtual Status | assign (const smtk::attribute::ConstItemPtr &sourceItem, const CopyAssignmentOptions &options=CopyAssignmentOptions()) |
virtual Status | assign (const smtk::attribute::ConstItemPtr &sourceItem, const CopyAssignmentOptions &options, smtk::io::Logger &logger) |
![]() | |
smtkTypeMacroBase (smtk::attribute::Item) | |
std::string | name () const |
std::string | label () const |
bool | isRelevant (bool includeCatagories=true, bool includeReadAccess=false, unsigned int readAccessLevel=0) const |
Returns true if the item is relevant. More... | |
virtual bool | defaultIsRelevant (bool includeCatagories, bool includeReadAccess, unsigned int readAccessLevel) const |
Default isRelevant method that returns true if the item is relevant. More... | |
virtual void | visitChildren (std::function< void(smtk::attribute::ItemPtr, bool)> visitor, bool activeChildren=true) |
visitChildren Invoke a function on each (or, if findInActiveChildren is true, each active) child item. More... | |
const smtk::attribute::ConstItemDefinitionPtr & | definition () const |
template<typename DefType > | |
std::shared_ptr< const DefType > | definitionAs () const |
smtk::attribute::AttributePtr | attribute () const |
Return the attribute that owns this item. | |
smtk::attribute::ItemPtr | owningItem () const |
int | position () const |
Position is the item's location w/r to the owning item if not null or the owning attribute. More... | |
int | subGroupPosition () const |
Return the position of the item with respects to the GroupItem that owns it. More... | |
bool | isOptional () const |
Returns true if the item is optional. | |
bool | isEnabled () const |
An item is enabled under the following conditions: More... | |
bool | localEnabledState () const |
Return the state of the instance's isEnabled state. | |
void | setIsEnabled (bool isEnabledValue) |
Set the instance's local enabled state. | |
const smtk::common::Categories & | categories () const |
return the categories associated with the item (via its Definition) | |
unsigned int | advanceLevel (int mode=0) const |
Get the item 's advance level. More... | |
void | setLocalAdvanceLevel (int mode, unsigned int level) |
unsigned int | localAdvanceLevel (int mode=0) const |
void | unsetLocalAdvanceLevel (int mode=0) |
bool | hasLocalAdvanceLevelInfo (int mode=0) const |
void | setUserData (const std::string &key, smtk::simulation::UserDataPtr value) |
smtk::simulation::UserDataPtr | userData (const std::string &key) const |
void | clearUserData (const std::string &key) |
void | clearAllUserData () |
virtual bool | rotate (std::size_t fromPosition, std::size_t toPosition) |
Rotate internal data. More... | |
virtual void | detachOwningResource () |
Release the item's dependency on its parent attribute's Resource. | |
void | detachOwningAttribute () |
This should be used only by attributes. | |
void | detachOwningItem () |
This should only be called by the item that owns this one. | |
bool | isValid (bool useActiveCategories=true) const |
tests the validity of an item More... | |
bool | isValid (const std::set< std::string > &categories) const |
tests the validity of an item More... | |
bool | defaultIsValid (bool useActiveCategories) const |
The default implementation of isValid it ignores custom validity functions. | |
bool | defaultIsValid (const std::set< std::string > &categories) const |
The default implementation of isValid it ignores custom validity functions. | |
void | setCustomIsValid (const ValidityFunc &func) |
Set and Get Methods for specifying a custom isValid function. | |
ValidityFunc | customIsValid () const |
Set and Get Methods for specifying a custom isValid function. | |
void | setCustomIsRelevant (RelevanceFunc func) |
Set and Get Methods for specifying a custom isRelevant function. | |
RelevanceFunc | customIsRelevant () const |
Set and Get Methods for specifying a custom isRelevant function. | |
smtk::attribute::ItemPtr | find (const std::string &name, SearchStyle style=RECURSIVE_ACTIVE) |
return a child item that matches name and satisfies the SearchStyle | |
smtk::attribute::ConstItemPtr | find (const std::string &name, SearchStyle style=RECURSIVE_ACTIVE) const |
return a child item that matches name and satisfies the SearchStyle | |
template<typename T > | |
T::Ptr | findAs (const std::string &name, SearchStyle style=RECURSIVE_ACTIVE) |
return a child item that matches name and satisfies the SearchStyle | |
template<typename T > | |
T::ConstPtr | findAs (const std::string &name, SearchStyle style=RECURSIVE_ACTIVE) const |
return a child item that matches name and satisfies the SearchStyle | |
std::string | path (const std::string &sep="/") const |
Formats the full path to the item with respect to its owning attribute using sep as the path separator. | |
void | setForceRequired (bool val) |
Controls if an item should be forced to be required regardless of its local enable property. More... | |
bool | forceRequired () const |
Controls if an item should be forced to be required regardless of its local enable property. More... | |
virtual Status | assign (const smtk::attribute::ConstItemPtr &sourceItem, const CopyAssignmentOptions &options=CopyAssignmentOptions()) |
void | setIsIgnored (bool val) |
Controls if an item should be ignored. More... | |
bool | isIgnored () const |
Controls if an item should be ignored. More... | |
Protected Member Functions | |
FileSystemItem (Attribute *owningAttribute, int itemPosition) | |
FileSystemItem (Item *owningItem, int position, int subGroupPosition) | |
bool | setDefinition (smtk::attribute::ConstItemDefinitionPtr vdef) override |
bool | isValidInternal (bool useCategories, const std::set< std::string > &categories) const override |
Internal implementation of calculating the validity of the item. More... | |
![]() | |
Item (Attribute *owningAttribute, int itemPosition) | |
Item (Item *owningItem, int myPosition, int mySubGroupPosition) | |
virtual smtk::attribute::ItemPtr | findInternal (const std::string &name, SearchStyle style) |
Internal implementation of the find method. | |
virtual smtk::attribute::ConstItemPtr | findInternal (const std::string &name, SearchStyle style) const |
template<typename T > | |
bool | rotateVector (std::vector< T > &v, std::size_t fromPosition, std::size_t toPosition) |
Protected Attributes | |
std::vector< std::string > | m_values |
std::vector< bool > | m_isSet |
![]() | |
Attribute * | m_attribute |
Item * | m_owningItem |
int | m_position |
int | m_subGroupPosition |
bool | m_isEnabled |
bool | m_isIgnored |
smtk::attribute::ConstItemDefinitionPtr | m_definition |
std::map< std::string, smtk::simulation::UserDataPtr > | m_userData |
RelevanceFunc | m_customIsRelevant = nullptr |
ValidityFunc | m_customIsValid = nullptr |
Friends | |
class | FileItemDefinition |
Additional Inherited Members | |
![]() | |
static std::string | type2String (Item::Type t) |
static Item::Type | string2Type (const std::string &s) |
|
overridevirtual |
Assigns this item to be equivalent to another. Options are processed by derived item classes. The options are defined in Item.h.
This method returns a Status object that indicates both success/failure and modification/stasis. If cast to a boolean, the Status object returns true for success and false for failure.
Reimplemented from smtk::attribute::Item.
Item::Status Item::assign |
Assigns this item to be equivalent to another. Options are processed by derived item classes. The options are defined in Item.h.
This method returns a Status object that indicates both success/failure and modification/stasis. If cast to a boolean, the Status object returns true for success and false for failure.
|
overrideprotectedvirtual |
Internal implementation of calculating the validity of the item.
If useCategories is true then the set of categories will be taken into consideration.
Implements smtk::attribute::Item.