Caffa
1.1.0
C++ Application Framework for Embedded Systems with introspection
|
Base class for all fields, making it possible to handle them generically. More...
#include <cafFieldHandle.h>
Public Member Functions | |
std::string | keyword () const |
ObjectHandle * | ownerObject () |
const ObjectHandle * | ownerObject () const |
virtual std::string | dataType () const =0 |
void | addCapability (std::unique_ptr< FieldCapability > capability) |
template<typename CapabilityType > | |
CapabilityType * | capability () |
template<typename CapabilityType > | |
const CapabilityType * | capability () const |
virtual void | accept (Inspector *visitor) const =0 |
virtual void | accept (Editor *visitor)=0 |
virtual bool | isReadable () const =0 |
virtual bool | isWritable () const =0 |
bool | isDeprecated () const |
void | markDeprecated () |
void | setDocumentation (const std::string &documentation) |
const std::string & | documentation () const |
Protected Member Functions | |
bool | isInitialized () const |
std::list< FieldCapability * > | capabilities () |
Friends | |
class | ObjectHandle |
Base class for all fields, making it possible to handle them generically.
|
pure virtual |
Accept the visit by an inspecting visitor
visitor |
Implemented in caffa::ChildFieldBaseHandle, and caffa::DataField.
|
pure virtual |
Accept the visit by an editing visitor
visitor |
Implemented in caffa::ChildFieldBaseHandle, and caffa::DataField.
|
pure virtual |
Can the field be read. A non-scriptable field cannot be read within the client.
Implemented in caffa::Field< DataType >, caffa::Field< double >, caffa::Field< std::string >, caffa::ChildField< DataTypePtr >, caffa::ChildField< Child *>, caffa::ChildField< TestObj *>, caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child *>.
|
pure virtual |
Can the field be written to. A non-scriptable field cannot be written to within the client.
Implemented in caffa::Field< DataType >, caffa::Field< double >, caffa::Field< std::string >, caffa::ChildField< DataTypePtr >, caffa::ChildField< Child *>, caffa::ChildField< TestObj *>, caffa::ChildArrayField< DataTypePtr >, and caffa::ChildArrayField< Child *>.