itom  4.1.0
ito::ParamMeta Class Reference

Base class for all meta-information classes. More...

#include <paramMeta.h>

Inheritance diagram for ito::ParamMeta:
ito::CharMeta ito::DObjMeta ito::DoubleMeta ito::HWMeta ito::IntMeta ito::RectMeta ito::StringMeta ito::CharArrayMeta ito::DoubleArrayMeta ito::DoubleIntervalMeta ito::IntArrayMeta ito::IntervalMeta ito::RangeMeta

Public Types

enum  MetaRtti {
  rttiUnknown = 0, rttiCharMeta = 1, rttiIntMeta = 2, rttiDoubleMeta = 3,
  rttiStringMeta = 4, rttiHWMeta = 5, rttiDObjMeta = 6, rttiIntArrayMeta = 7,
  rttiDoubleArrayMeta = 8, rttiCharArrayMeta = 9, rttiIntervalMeta = 10, rttiDoubleIntervalMeta = 11,
  rttiRangeMeta = 12, rttiRectMeta = 13
}
 Runtime type information. More...
 
enum  tRepresentation {
  Linear = 0x0001, Logarithmic = 0x0002, Boolean = 0x0004, PureNumber = 0x0008,
  HexNumber = 0x0010, IPV4Address = 0x0020, MACAddress = 0x0040, UnknownRepresentation = 0x0080
}
 The representation of number types indicates the type of widget that is suited best to display and change the value. More...
 

Public Member Functions

 ParamMeta (ito::ByteArray category=ito::ByteArray())
 default constructor with an unknown meta information type
 
 ParamMeta (MetaRtti type, ito::ByteArray category=ito::ByteArray())
 constructor used by derived classes to indicate their real type
 
virtual ~ParamMeta ()
 destructor
 
MetaRtti getType () const
 returns runtime type information value
 
ito::ByteArray getCategory () const
 returns category name of this parameter (default: empty ByteArray)
 
void setCategory (const ito::ByteArray &category)
 
virtual bool operator== (const ParamMeta &other) const
 
bool operator!= (const ParamMeta &other) const
 

Protected Attributes

MetaRtti m_type
 
ito::ByteArray m_category
 optional category name of this parameter
 

Detailed Description

Base class for all meta-information classes.

Parameters of type ito::Param can have a pointer to this class. Consider this base class to be abstract, such that it is only allowed to pass the right implementation (derived from this class) that fits to the type of the parameter. The runtime type information value m_type indicates the real type of this pointer, such that a direct cast can be executed.

See also
ito::CharMeta, ito::IntMeta, ito::DoubleMeta, ito::StringMeta, ito::HWMeta, ito::DObjMeta, ito::CharArrayMeta, ito::IntArrayMeta, ito::DoubleArrayMeta

Member Enumeration Documentation

Runtime type information.

MetaRtti is used to cast param meta objects, without having to enable runtime type information of the compiler.

Enumerator
rttiUnknown 

unknown parameter

rttiCharMeta 

meta for a char parameter

rttiIntMeta 

meta for an integer parameter

rttiDoubleMeta 

meta for a double parameter

rttiStringMeta 

meta for a string parameter

rttiHWMeta 

meta for a hardware plugin parameter

rttiDObjMeta 

meta for a data object parameter

rttiIntArrayMeta 

meta for an integer array parameter

rttiDoubleArrayMeta 

meta for a double array parameter

rttiCharArrayMeta 

meta for a char array parameter

rttiIntervalMeta 

meta for an integer array with two values that represent an interval [value1, value2] parameter

rttiDoubleIntervalMeta 

meta for a double array with two values that represent an interval [value1, value2] parameter (size of the interval is value2-value1)

rttiRangeMeta 

meta for an integer array with two values that represent a range [value1, value2] parameter (size of a range is 1+value2-value1)

rttiRectMeta 

meta for an integer array with four values that consists of two ranges (vertical and horizontal, e.g. for ROIs of cameras)

The representation of number types indicates the type of widget that is suited best to display and change the value.

Not all representations can be applied to all types of number values, e.g. IPV4 can not be used for char-types. e.g. - Char, CharArray: Linear, Boolean, Logarithmic, PureNumber

  • IntegerArray, Range, Interval: Linear, Boolean, Logarithmic, PureNumber
  • Integer: Linear, Boolean, Logarithmic, PureNumber, HexNumber, IPV4Address, MACAddress
  • Double, DoubleArray: Linear, Boolean, Logarithmic, PureNumber
Enumerator
Linear 

Slider with linear behavior.

Logarithmic 

Slider with logarithmic behaviour.

Boolean 

Check box.

PureNumber 

Decimal number in an edit control.

HexNumber 

Hex number in an edit control.

IPV4Address 

IP-Address.

MACAddress 

MAC-Address.


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