Interface to a factory object for creating AddInfo layouts. More...
#include "IAddInfoLayoutFactory.hpp"
Public Member Functions | |
virtual void | clear ()=0 |
clear added entries from the factory | |
virtual IAddInfoLayoutFactory & | addColumn (ColumnType type, const char *name)=0 |
add a user-defined attribute User-defined attribute always have to start with a '_'. For adding predefined attributes please use the corresponding ColumnSemantic value More... | |
virtual IAddInfoLayoutFactory & | addColumn (ColumnType type, const char *name, unsigned arraySize)=0 |
virtual IAddInfoLayoutFactory & | addColumn (ColumnSemantic semantic)=0 |
add a pre-defined attribute More... | |
virtual IAddInfoLayoutFactory & | addColumn (const DM::IAddInfoLayout &layout, unsigned idx)=0 |
add a column from an existing layout More... | |
virtual IAddInfoLayoutFactory & | addColumn (const DM::IAddInfoLayout &layout)=0 |
add all columns of an existing layout More... | |
virtual std::pair< ColumnType, bool > | addColumn (const IDatamanager &dm, const char *name, bool forceAdding=true, ColumnType defaultType=ColumnType::float_, bool caseSensitive=false)=0 |
add pre- or user-defined attribute based on attributes stored within a datamanager In contrast to the other addColumn functions, this function supports adding user- and per-defined attributes. Whereas the type of pre-defined attributes is fixed, for user-defined attributes the type has to be specified. For accessing user-defined attributes in a datamanager, the corresponding type has to be known since it is not allow combining identical named columns with different types within one layout. Therefore the function takes a damanager reference as first parameter and checks the type all used-defined attributes within the datamanager. If there is a match of the attribute name, the type as in the datamanager is used. Otherwise the column is not or with the given default type added. More... | |
virtual AddInfoLayoutHandle | getLayout (bool clear=true)=0 |
virtual AddInfoLayoutHandle | getEmptyLayout () const =0 |
![]() | |
virtual void | Delete () |
Static Public Member Functions | |
static IAddInfoLayoutFactory * | New () |
static AddInfoLayoutHandle | getPredefinedLayout (const char *label) |
static AddInfoLayoutHandle | merge (AddInfoLayoutHandle layout1, AddInfoLayoutHandle layout2) |
Interface to a factory object for creating AddInfo layouts.
|
pure virtual |
add a pre-defined attribute
[in] | semantic | semantic value of the corresponding attribute |
|
pure virtual |
add a user-defined attribute User-defined attribute always have to start with a '_'. For adding predefined attributes please use the corresponding ColumnSemantic value
[in] | type | type of the user-defined attribute |
[in] | name | name of the user-defined attribute |
|
pure virtual |
add all columns of an existing layout
[in] | layout | existing layout |
|
pure virtual |
add a column from an existing layout
[in] | layout | existing layout |
[in] | idx | index of column that should be added |
|
pure virtual |
add pre- or user-defined attribute based on attributes stored within a datamanager In contrast to the other addColumn functions, this function supports adding user- and per-defined attributes. Whereas the type of pre-defined attributes is fixed, for user-defined attributes the type has to be specified. For accessing user-defined attributes in a datamanager, the corresponding type has to be known since it is not allow combining identical named columns with different types within one layout. Therefore the function takes a damanager reference as first parameter and checks the type all used-defined attributes within the datamanager. If there is a match of the attribute name, the type as in the datamanager is used. Otherwise the column is not or with the given default type added.
[in] | dm | const reference to a datamanager object |
[in] | name | attribute name |
[in] | forceAdding | adds the attribute even if it's not within the datamanager |
[in] | defaultType | in case of user-defined attribute that are not in the manager the specified type will be used |
[in] | caseSensitive | check if the name should be compared case sensitive (or not) to the datamanager attributes |