Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DataTypes.hh File Reference
#include <OpenFlipper/common/GlobalDefines.hh>
#include <ACG/Math/Matrix4x4T.hh>
#include <ACG/Math/VectorT.hh>
#include <limits.h>
#include <QIcon>
#include <QMetaType>

Go to the source code of this file.

Classes

class  DataType
 Predefined datatypes. More...
class  TypeInfo

Typedefs

typedef ACG::Vec3d Vector
 Standard Type for 3d Vector used for scripting.
typedef std::vector< int > IdList
 Standard Type for id Lists used for scripting.
typedef ACG::Matrix4x4d Matrix4x4
 Standard Type for a 4x4 Matrix used for scripting.

Functions

std::ostream & operator<< (std::ostream &stream, DataType type)
Functions for adding dataTypes
DLLEXPORT DataType addDataType (QString _name, QString _readableName)
 Adds a datatype and returns the id for the new type.
DLLEXPORT DataType typeId (QString _name)
 Given a dataType Identifier string this function will return the id of the datatype.
DLLEXPORT QString typeName (DataType _id)
 Get the name of a type with given id.
DLLEXPORT bool typeExists (QString _name)
 Check if a type with the given name exists.
DLLEXPORT uint typeCount ()
 Get the number of registered types.
Type iterators
DLLEXPORT std::vector
< TypeInfo >::const_iterator 
typesBegin ()
 Get iterator pointing to the first element in the types list.
DLLEXPORT std::vector
< TypeInfo >::const_iterator 
typesEnd ()
 Get iterator pointing to the last element in the types list.
Datatype Name handling
DLLEXPORT QString dataTypeName (DataType _id)
 Get DataType Human readable name ( this name might change. Use the typeName instead! )
DLLEXPORT QString dataTypeName (QString _typeName)
 Get DataType Human readable name ( this name might change. Use the typeName instead! )
DLLEXPORT void setDataTypeName (DataType _id, QString _name)
 Set DataType Human readable name.
DLLEXPORT void setDataTypeName (QString _typeName, QString _name)
 Set DataType Human readable name.
Datatype Icons
DLLEXPORT QString typeIconName (QString _name)
 Get a string with the filename of the icon for the DataType name.
DLLEXPORT QString typeIconName (DataType _id)
 Get a string with the filename of the icon for the DataType.
DLLEXPORT QIcon & typeIcon (DataType _id)
 Get an QIcon associated with the given DataType.
DLLEXPORT void setTypeIcon (DataType _id, QString _icon)
 Set an Icon for a given DataType.
DLLEXPORT void setTypeIcon (QString _name, QString _icon)
 Set an Icon for a given DataType.

Variables

const DataType DATA_ALL (UINT_MAX)
 Identifier for all available objects.
const DataType DATA_UNKNOWN (0)
 None of the other Objects.
const DataType DATA_GROUP (1)
 Items used for Grouping.

Detailed Description

This File contains the basic type informations

Definition in file DataTypes.hh.

Function Documentation

DLLEXPORT DataType addDataType ( QString  _name,
QString  _readableName 
)

Adds a datatype and returns the id for the new type.

Adds a datatype and returns the id for the new type

Parameters
_nameInternal name for the new DataType
_readableNameHuman readable Name for this type ( Use tr to make it translatable )

Definition at line 120 of file Types.cc.

DLLEXPORT uint typeCount ( )

Get the number of registered types.

This function will return the number of types registered to the core. You can use it to iterate over all types.

Note
Remember that the types are organized in a bitfield!

Definition at line 178 of file Types.cc.

DLLEXPORT bool typeExists ( QString  _name)

Check if a type with the given name exists.

Definition at line 172 of file Types.cc.

DLLEXPORT QIcon& typeIcon ( DataType  _id)

Get an QIcon associated with the given DataType.

The icons are loaded once when set and then the reference is returned here. This reduces the time when frequently requesting the icons (e.g. DataControl)

Definition at line 215 of file Types.cc.

DLLEXPORT QString typeName ( DataType  _id)

Get the name of a type with given id.

The ids are organized in a bitfield. So use either the macro for getting the type id or use the id directly (they have to be power of 2! ... Bitfield)

Definition at line 157 of file Types.cc.