Classes | |
class | SBCClassInterface |
This class describes a class interface in a class proxy. More... | |
Macros | |
#define | SB_INHERIT(INTERFACE, CLASS, CLASS_INTERFACE) |
Typedefs | |
typedef SBCClassInterface | SBInterface |
The short name of SBCClassInterface. | |
Descriptions of class interfaces | |
#define | SB_INTERFACE_BEGIN |
Declares the beginning of the class interface. | |
#define | SB_INTERFACE_END |
Declares the end of the class interface. | |
Descriptions of functions | |
#define | SB_FUNCTION_0(OUTPUT, CLASS, FUNCTION) |
Declares a class function OUTPUT CLASS::FUNCTION() | |
#define | SB_FUNCTION_1(OUTPUT, CLASS, FUNCTION, T0) |
Declares a class function OUTPUT CLASS::FUNCTION(T0) | |
#define | SB_FUNCTION_2(OUTPUT, CLASS, FUNCTION, T0, T1) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1) | |
#define | SB_FUNCTION_3(OUTPUT, CLASS, FUNCTION, T0, T1, T2) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2) | |
#define | SB_FUNCTION_4(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3) | |
#define | SB_FUNCTION_5(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4) | |
#define | SB_FUNCTION_6(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5) | |
#define | SB_FUNCTION_7(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6) | |
#define | SB_FUNCTION_8(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7) | |
#define | SB_FUNCTION_9(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8) | |
#define | SB_FUNCTION_10(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9) | |
#define | SB_FUNCTION_11(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10) | |
#define | SB_FUNCTION_12(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) | |
#define | SB_FUNCTION_13(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) | |
#define | SB_FUNCTION_14(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) | |
#define | SB_FUNCTION_15(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) | |
#define | SB_FUNCTION_16(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) |
Declares a class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) | |
Descriptions of const functions | |
#define | SB_CONST_FUNCTION_0(OUTPUT, CLASS, FUNCTION) |
Declares a const class function OUTPUT CLASS::FUNCTION() | |
#define | SB_CONST_FUNCTION_1(OUTPUT, CLASS, FUNCTION, T0) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0) | |
#define | SB_CONST_FUNCTION_2(OUTPUT, CLASS, FUNCTION, T0, T1) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1) | |
#define | SB_CONST_FUNCTION_3(OUTPUT, CLASS, FUNCTION, T0, T1, T2) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2) | |
#define | SB_CONST_FUNCTION_4(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3) | |
#define | SB_CONST_FUNCTION_5(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4) | |
#define | SB_CONST_FUNCTION_6(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5) | |
#define | SB_CONST_FUNCTION_7(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6) | |
#define | SB_CONST_FUNCTION_8(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7) | |
#define | SB_CONST_FUNCTION_9(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8) | |
#define | SB_CONST_FUNCTION_10(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9) | |
#define | SB_CONST_FUNCTION_11(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10) | |
#define | SB_CONST_FUNCTION_12(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) | |
#define | SB_CONST_FUNCTION_13(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) | |
#define | SB_CONST_FUNCTION_14(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) | |
#define | SB_CONST_FUNCTION_15(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) | |
#define | SB_CONST_FUNCTION_16(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) |
Declares a const class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) | |
Descriptions of static functions | |
#define | SB_STATIC_FUNCTION_0(OUTPUT, CLASS, FUNCTION) |
Declares a static class function OUTPUT CLASS::FUNCTION() | |
#define | SB_STATIC_FUNCTION_1(OUTPUT, CLASS, FUNCTION, T0) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0) | |
#define | SB_STATIC_FUNCTION_2(OUTPUT, CLASS, FUNCTION, T0, T1) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1) | |
#define | SB_STATIC_FUNCTION_3(OUTPUT, CLASS, FUNCTION, T0, T1, T2) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2) | |
#define | SB_STATIC_FUNCTION_4(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3) | |
#define | SB_STATIC_FUNCTION_5(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4) | |
#define | SB_STATIC_FUNCTION_6(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5) | |
#define | SB_STATIC_FUNCTION_7(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6) | |
#define | SB_STATIC_FUNCTION_8(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7) | |
#define | SB_STATIC_FUNCTION_9(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8) | |
#define | SB_STATIC_FUNCTION_10(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9) | |
#define | SB_STATIC_FUNCTION_11(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10) | |
#define | SB_STATIC_FUNCTION_12(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) | |
#define | SB_STATIC_FUNCTION_13(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) | |
#define | SB_STATIC_FUNCTION_14(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) | |
#define | SB_STATIC_FUNCTION_15(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) | |
#define | SB_STATIC_FUNCTION_16(OUTPUT, CLASS, FUNCTION, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) |
Declares a static class function OUTPUT CLASS::FUNCTION(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) | |
Descriptions of attributes | |
#define | SB_ATTRIBUTE_READ_ONLY(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_ONLY_NONCONST(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RESET(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_CLEAR(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_CLEAR_ARRAY(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RANGE(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RESET_RANGE(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RANGE_SLIDER(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RESET_RANGE_SLIDER(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_LIST(CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_READ_WRITE_RESET_LIST(CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_ONLY(CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_WRITE(CLASS, NAME, DESCRIPTION, GROUP) |
#define | SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_WRITE_CLEAR(CLASS, NAME, DESCRIPTION, GROUP) |
Descriptions of functions/attributes that can serve as widgets in the Inspector | |
#define | SB_ATTRIBUTE_PUSH_BUTTON(CLASS, TEXT, DESCRIPTION, GROUP, CLICKED_SLOT) |
#define | SB_ATTRIBUTE_PUSH_BUTTON_CONST(CLASS, TEXT, DESCRIPTION, GROUP, CLICKED_SLOT) |
#define | SB_ATTRIBUTE_PUSH_BUTTON_STATIC(CLASS, TEXT, DESCRIPTION, GROUP, CLICKED_SLOT) |
Convenience definitions of attributes | |
#define | SB_ATTRIBUTE_SPIN_BOX(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_RANGE | |
#define | SB_ATTRIBUTE_SPIN_BOX_RESET(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_RESET_RANGE | |
#define | SB_ATTRIBUTE_SLIDER(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_RANGE_SLIDER | |
#define | SB_ATTRIBUTE_SLIDER_RESET(TYPE, CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_RESET_RANGE_SLIDER | |
#define | SB_ATTRIBUTE_COMBO_BOX(CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_LIST | |
#define | SB_ATTRIBUTE_COMBO_BOX_RESET(CLASS, NAME, DESCRIPTION, GROUP) |
SB_ATTRIBUTE_READ_WRITE_RESET_LIST | |
#define SB_ATTRIBUTE_PUSH_BUTTON | ( | CLASS, | |
TEXT, | |||
DESCRIPTION, | |||
GROUP, | |||
CLICKED_SLOT | |||
) |
Declares a class function void CLASS::CLICKED_SLOT() that should be exposed and accessible for users in the Inspector in a group GROUP
with a description DESCRIPTION
.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned function, so you do not need to expose them using e.g. SB_FUNCTION_0 macros.
Example: Let's say that we want to expose in the Inspector a function called "requestUpdate" from a class called "SEMyVisualModel" that forces the update of the visual model. You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose it as a push button in the Inspector as follows:
#define SB_ATTRIBUTE_PUSH_BUTTON_CONST | ( | CLASS, | |
TEXT, | |||
DESCRIPTION, | |||
GROUP, | |||
CLICKED_SLOT | |||
) |
Declares a const class function void CLASS::CLICKED_SLOT() const that should be exposed and accessible for users in the Inspector in a group GROUP
with a description DESCRIPTION
.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned function, so you do not need to expose them using e.g. SB_CONST_FUNCTION_0 macros.
#define SB_ATTRIBUTE_PUSH_BUTTON_STATIC | ( | CLASS, | |
TEXT, | |||
DESCRIPTION, | |||
GROUP, | |||
CLICKED_SLOT | |||
) |
Declares a static class function void CLASS::CLICKED_SLOT() that should be exposed and accessible for users in the Inspector in a group GROUP
with a description DESCRIPTION
.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned function, so you do not need to expose them using e.g. SB_STATIC_FUNCTION_0 macros.
#define SB_ATTRIBUTE_READ_ONLY | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a non-modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
. String or numeric attributes will be shown as a text in a label, pointer attributes (e.g. a pointer to a SBAtom node) will be represented as a button.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_CONST_FUNCTION_0 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "NumberOfEdges" of type "unsigned int" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_ONLY_NONCONST | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a non-modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
. String or numeric attributes will be shown as a text in a label, pointer attributes (e.g. a pointer to a SBAtom node) will be represented as a button.
This is a non-const version of SB_ATTRIBUTE_READ_ONLY which is suitable for exposing attributes that can e.g. be lazzily computed when needed.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_0 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "NumberOfEdges" of type "unsigned int" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a line edit for numerical and string values, or a check box for boolean values.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "ShowLines" of type "bool" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_CLEAR | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a line edit for numerical and string values, or a check box for boolean values.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Comment" of type "std::string" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_CLEAR_ARRAY | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable array attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
.
#define SB_ATTRIBUTE_READ_WRITE_LIST | ( | CLASS, | |
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable attribute NAME
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to choose from a list using a combo box.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "VisualPreset" from a class called "SEMyVisualModel" and that has a limited number of variants. You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RANGE | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a spin box that changes from a given minimum value to a given maximum value with a given step size.
The following functionality should be present in the CLASS:
TYPE
is not of the SBQuantity type.Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Radius" of type "SBQuantity::length" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RANGE_SLIDER | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a slider (QSlider) that changes from a given minimum value to a given maximum value with a given step size.
The following functionality should be present in the CLASS:
TYPE
is not of the SBQuantity type.Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Opacity" of type "unsigned int" from a class called "SEMyVisualModel". And let's say that this Opacity attribute changes from 0 to 100% with a single step of 1%. You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RESET | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable and resettable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a line edit for numerical and string values, or a check box for boolean values, and the possibility to reset it by double-clicking on its label.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Scale" of type "float" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RESET_LIST | ( | CLASS, | |
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable and resettable attribute NAME
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to choose from a list using a combo box, and the possibility to reset it by double-clicking on its label.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "VisualPreset" from a class called "SEMyVisualModel" and that has a limited number of variants. You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RESET_RANGE | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable and resettable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a spin box that changes from a given minimum value to a given maximum value with a given step size, and the possibility to reset it by double-clicking on its label.
The following functionality should be present in the CLASS:
TYPE
is not of the SBQuantity type.Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Radius" of type "SBQuantity::length" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_READ_WRITE_RESET_RANGE_SLIDER | ( | TYPE, | |
CLASS, | |||
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable and resettable attribute NAME
of type TYPE
from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a slider (QSlider) that changes from a given minimum value to a given maximum value with a given step size, and the possibility to reset it by double-clicking on its label.
The following functionality should be present in the CLASS:
TYPE
is not of the SBQuantity type.Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute called "Opacity" of type "unsigned int" from a class called "SEMyVisualModel". And let's say that this Opacity attribute changes from 0 to 100% with a single step of 1%. You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_ONLY | ( | CLASS, | |
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a non-modifiable rich text attribute NAME
of type const std::string& from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
. The rich text will be shown in a text edit.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute with a text description called "Description" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_WRITE | ( | CLASS, | |
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable rich text attribute NAME
of type const std::string& from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a text edit.
The following functionality should be present in the CLASS:
Note, that this macros also exposes the abovementioned functions associated with an attribute NAME
, so you do not need to expose them using e.g. SB_FUNCTION_1 macros.
Example: Let's say that we want to expose in the Inspector an attribute with rich text called "Notes" from a class called "SEMyVisualModel". You need to have the following functions implemented in the class CLASS:
Then, in the class descriptor file, you can expose this functionality and the attribute in the Inspector as follows:
#define SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_WRITE_CLEAR | ( | CLASS, | |
NAME, | |||
DESCRIPTION, | |||
GROUP | |||
) |
Declares a modifiable rich text attribute NAME
of type const std::string& from a class CLASS
which associated functionality should be exposed and which should also be accessible for users in the Inspector in a group GROUP
with a description name DESCRIPTION
and with the possibility to modify it using a text edit for numerical and string values, or a check box for boolean values.
See description for SB_ATTRIBUTE_RICH_TEXT_EDIT_READ_WRITE and SB_ATTRIBUTE_READ_WRITE_CLEAR