ufe  3.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
Ufe::Attribute Class Referenceabstract

Abstract base class for Attribute interface. More...

#include <attribute.h>

Inheritance diagram for Ufe::Attribute:
Collaboration diagram for Ufe::Attribute:

Public Types

typedef std::shared_ptr< AttributePtr
 
typedef std::string Type
 

Public Member Functions

 Attribute (const SceneItem::Ptr &)
 Constructor. More...
 
virtual ~Attribute ()
 
SceneItem::Ptr sceneItem () const
 
virtual bool hasValue () const =0
 
virtual std::string name () const =0
 
virtual std::string documentation () const =0
 
virtual Type type () const =0
 
virtual std::string string () const =0
 
 Attribute (const Attribute &)=delete
 No copy or move constructor/assignment. More...
 
Attributeoperator= (const Attribute &)=delete
 No copy or move constructor/assignment. More...
 
 Attribute (Attribute &&)=delete
 No copy or move constructor/assignment. More...
 
Attributeoperator= (Attribute &&)=delete
 No copy or move constructor/assignment. More...
 
Metadata Access:
virtual Value getMetadata (const std::string &key) const =0
 
virtual bool setMetadata (const std::string &key, const Value &value)=0
 
virtual UndoableCommand::Ptr setMetadataCmd (const std::string &key, const Value &value)
 
virtual bool clearMetadata (const std::string &key)=0
 
virtual bool hasMetadata (const std::string &key) const =0
 Returns true if metadata key has a non-empty value. More...
 

Static Public Attributes

Built-in attribute types:
static constexpr char kInvalid [] = "Invalid"
 
static constexpr char kBool [] = "Bool"
 
static constexpr char kInt [] = "Int"
 
static constexpr char kFloat [] = "Float"
 
static constexpr char kDouble [] = "Double"
 
static constexpr char kString [] = "String"
 
static constexpr char kColorFloat3 [] = "ColorFloat3"
 
static constexpr char kEnumString [] = "EnumString"
 
static constexpr char kInt3 [] = "Int3"
 
static constexpr char kFloat3 [] = "Float3"
 
static constexpr char kDouble3 [] = "Double3"
 
static constexpr char kGeneric [] = "Generic"
 
Metadata Keys:
static constexpr char kLocked [] = "Locked"
 

Private Attributes

const SceneItem::Ptr fItem
 

Detailed Description

Abstract base class for Attribute interface.

This base class defines an interface for factory objects that runtimes implement to handle the various supported attribute types (such as bool, int, float, etc).

Definition at line 37 of file attribute.h.

Member Typedef Documentation

◆ Ptr

typedef std::shared_ptr<Attribute> Ufe::Attribute::Ptr

Definition at line 40 of file attribute.h.

◆ Type

typedef std::string Ufe::Attribute::Type

Definition at line 41 of file attribute.h.

Constructor & Destructor Documentation

◆ Attribute() [1/3]

Ufe::Attribute::Attribute ( const SceneItem::Ptr )

Constructor.

◆ ~Attribute()

virtual Ufe::Attribute::~Attribute ( )
virtual

◆ Attribute() [2/3]

Ufe::Attribute::Attribute ( const Attribute )
delete

No copy or move constructor/assignment.

◆ Attribute() [3/3]

Ufe::Attribute::Attribute ( Attribute &&  )
delete

No copy or move constructor/assignment.

Member Function Documentation

◆ clearMetadata()

virtual bool Ufe::Attribute::clearMetadata ( const std::string &  key)
pure virtual

Clear the metadata key's value.

Parameters
[in]keyThe metadata key to clear.
Returns
True if the metadata was cleared successfully, otherwise false.

◆ documentation()

virtual std::string Ufe::Attribute::documentation ( ) const
pure virtual
Returns
The attributes documentation string.

◆ getMetadata()

virtual Value Ufe::Attribute::getMetadata ( const std::string &  key) const
pure virtual

Get the value of the metadata named key.

Parameters
[in]keyThe metadata key to query.
Returns
The value of the metadata key. If the key does not exist an empty Value is returned.

◆ hasMetadata()

virtual bool Ufe::Attribute::hasMetadata ( const std::string &  key) const
pure virtual

Returns true if metadata key has a non-empty value.

◆ hasValue()

virtual bool Ufe::Attribute::hasValue ( ) const
pure virtual
Returns
true if this attribute has a value.

◆ name()

virtual std::string Ufe::Attribute::name ( ) const
pure virtual
Returns
The attributes name.

◆ operator=() [1/2]

Attribute& Ufe::Attribute::operator= ( const Attribute )
delete

No copy or move constructor/assignment.

◆ operator=() [2/2]

Attribute& Ufe::Attribute::operator= ( Attribute &&  )
delete

No copy or move constructor/assignment.

◆ sceneItem()

SceneItem::Ptr Ufe::Attribute::sceneItem ( ) const
Returns
The object's SceneItem.

◆ setMetadata()

virtual bool Ufe::Attribute::setMetadata ( const std::string &  key,
const Value value 
)
pure virtual

Set the metadata key's value to value.

Parameters
[in]keyThe metadata key to set.
[in]valueThe value to set.
Returns
True if the metadata was set successfully, otherwise false.

◆ setMetadataCmd()

virtual UndoableCommand::Ptr Ufe::Attribute::setMetadataCmd ( const std::string &  key,
const Value value 
)
virtual

Return a command for undo / redo that sets the metadata key's value to value. The returned command is not executed; it is up to the caller to call execute().

◆ string()

virtual std::string Ufe::Attribute::string ( ) const
pure virtual
Returns
The string representation of the attribute value.

◆ type()

virtual Type Ufe::Attribute::type ( ) const
pure virtual
Returns
The attributes type.

Implemented in Ufe::TypedAttribute< T >, Ufe::AttributeEnumString, and Ufe::AttributeGeneric.

Member Data Documentation

◆ fItem

const SceneItem::Ptr Ufe::Attribute::fItem
private

Definition at line 144 of file attribute.h.

◆ kBool

constexpr char Ufe::Attribute::kBool[] = "Bool"
static

Definition at line 46 of file attribute.h.

◆ kColorFloat3

constexpr char Ufe::Attribute::kColorFloat3[] = "ColorFloat3"
static

Definition at line 51 of file attribute.h.

◆ kDouble

constexpr char Ufe::Attribute::kDouble[] = "Double"
static

Definition at line 49 of file attribute.h.

◆ kDouble3

constexpr char Ufe::Attribute::kDouble3[] = "Double3"
static

Definition at line 55 of file attribute.h.

◆ kEnumString

constexpr char Ufe::Attribute::kEnumString[] = "EnumString"
static

Definition at line 52 of file attribute.h.

◆ kFloat

constexpr char Ufe::Attribute::kFloat[] = "Float"
static

Definition at line 48 of file attribute.h.

◆ kFloat3

constexpr char Ufe::Attribute::kFloat3[] = "Float3"
static

Definition at line 54 of file attribute.h.

◆ kGeneric

constexpr char Ufe::Attribute::kGeneric[] = "Generic"
static

Definition at line 56 of file attribute.h.

◆ kInt

constexpr char Ufe::Attribute::kInt[] = "Int"
static

Definition at line 47 of file attribute.h.

◆ kInt3

constexpr char Ufe::Attribute::kInt3[] = "Int3"
static

Definition at line 53 of file attribute.h.

◆ kInvalid

constexpr char Ufe::Attribute::kInvalid[] = "Invalid"
static

Definition at line 45 of file attribute.h.

◆ kLocked

constexpr char Ufe::Attribute::kLocked[] = "Locked"
static

Metadata key: Locked, value type = bool
A locked attribute value cannot be changed.

Definition at line 98 of file attribute.h.

◆ kString

constexpr char Ufe::Attribute::kString[] = "String"
static

Definition at line 50 of file attribute.h.


The documentation for this class was generated from the following file: