The GraphicsItemCfg is the base class for all graphics item configurations. More...
#include "GraphicsItemCfg.h"
Public Types | |
enum | GraphicsItemFlag { NoFlags = 0x0000 , ItemIsMoveable = 0x0001 , ItemIsSelectable = 0x0002 , ItemIsConnectable = 0x0004 , ItemSnapsToGridTopLeft = 0x0010 , ItemSnapsToGridCenter = 0x0020 , ItemForwardsTooltip = 0x0100 , ItemUserTransformEnabled = 0x0200 , ItemIgnoresParentTransform = 0x0400 , ItemHandlesState = 0x1000 , ItemForwardsState = 0x2000 } |
GraphicsItemFlag. More... | |
typedef Flags< GraphicsItemFlag > | GraphicsItemFlags |
Public Member Functions | |
GraphicsItemCfg () | |
GraphicsItemFlags. | |
virtual | ~GraphicsItemCfg () |
virtual std::string | getFactoryKey (void) const =0 |
Returns the unique GraphicsItemCfg type name that is used in the GraphicsItemCfgFactory. | |
virtual GraphicsItemCfg * | createCopy (void) const =0 |
Creates a copy of this item. | |
virtual void | addToJsonObject (JsonValue &_object, JsonAllocator &_allocator) const override |
Add the object contents to the provided JSON object. | |
virtual void | setFromJsonObject (const ConstJsonObject &_object) override |
Will set the object contents from the provided JSON object. | |
void | setName (const std::string &_name) |
Set item name. | |
const std::string & | getName (void) const |
Item name. | |
void | setTitle (const std::string &_title) |
Set item title The item title will be displayed to the user when needed. | |
const std::string & | getTitle (void) const |
Item title The item title will be displayed to the user when needed. | |
void | setToolTip (const std::string &_toolTip) |
Set ToolTip. | |
const std::string & | getToolTip (void) const |
ToolTip that will be displayed to the user when he hovers over the item. If the root item in a graphics item hierarchy has a tool tip set, child items may be enabled to forward the tooltip request (see GraphicsItemFlags) | |
void | setPosition (double _x, double _y) |
Set item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0). | |
void | setPosition (const Point2DD &_pos) |
Set item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0). | |
const Point2DD & | getPosition (void) const |
Item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0). | |
void | setAdditionalTriggerDistance (double _d) |
void | setAdditionalTriggerDistance (double _left, double _top, double _right, double _bottom) |
void | setAdditionalTriggerDistance (const MarginsD &_d) |
Sets the additional trigger distance. The additional trigger distance will expand/shrink the imaginary bounding rect of the item when checking for mouse press, mouse hover, and other events. | |
const MarginsD & | getAdditionalTriggerDistance (void) const |
void | setMinimumSize (double _width, double _height) |
Sets the item minimum size. | |
void | setMinimumSize (const Size2DD &_size) |
Sets the item minimum size. | |
const Size2DD & | getMinimumSize (void) const |
Item minimum size. If the graphics item is resized (e.g. via layout) then it may not shrink below the minimum size. | |
void | setMaximumSize (double _width, double _height) |
Sets the item maximum size. | |
void | setMaximumSize (const Size2DD &_size) |
Sets the item maximum size. | |
const Size2DD & | getMaximumSize (void) const |
Item maximum size. If the graphics item is resized (e.g. via layout) then it may not brow above the maximum size. | |
void | setFixedSize (double _width, double _height) |
Sets the items minimum and maximum size. | |
void | setFixedSize (const Size2DD &_size) |
Sets the items minimum and maximum size. | |
void | setMargins (double _left, double _top, double _right, double _bottom) |
Set item margins. | |
void | setMargins (const MarginsD &_margins) |
Set item margins. | |
const MarginsD & | getMargins (void) const |
Item margins. | |
void | setGraphicsItemFlag (GraphicsItemFlag _flag, bool _active=true) |
void | setGraphicsItemFlags (const GraphicsItemFlags &_flags) |
const GraphicsItemFlags & | getGraphicsItemFlags (void) const |
void | setAlignment (Alignment _align) |
Set the item alignment. | |
Alignment | getAlignment (void) const |
Current item alignment. The alignment only has an effect if the item is nested. | |
void | setUid (const UID &_uid) |
Set item UID. | |
const ot::UID & | getUid (void) const |
Item UID. The item UID is used to uniquely identify an item in a GraphicsScene. The must never exist two items with the same UID. | |
void | setSizePolicy (SizePolicy _policy) |
Set item size policy. | |
SizePolicy | getSizePolicy (void) const |
Current item size policy. The item size policy is used for nested items. | |
void | setConnectionDirection (ConnectionDirection _direction) |
Set the item connection direction. | |
ConnectionDirection | getConnectionDirection (void) const |
Current item connection direction. This has only an effect if GraphicsItemFlag::ItemIsConnectable is set. | |
void | addStringMapEntry (const std::string &_key, const std::string &_value) |
Adds the provided entry to the string map. If an entry for the same key already exists it will be replaced. | |
void | setStringMap (const std::map< std::string, std::string > &_map) |
Sets the string map. | |
const std::map< std::string, std::string > & | getStringMap (void) const |
The string map may be used to reference a value via a key in a complex graphics item. For example a text item with enabled reference mode will use the string map to set its text when created in the frontend. | |
std::string | getStringForKey (const std::string &_key) const |
Returns the string set for the given key in the string map. Returns the string "#<_key>" if the value was not found. | |
void | setTransform (const Transform &_transform) |
Set the item transform. | |
const Transform & | getTransform (void) const |
Get the item transform. | |
virtual void | copyConfigDataToItem (GraphicsItemCfg *_target) const |
Will copy the current config to the provided item configuration. This method may be called when creating a graphics item copy. | |
Public Member Functions inherited from ot::Serializable | |
Serializable () | |
virtual | ~Serializable () |
virtual void | addToJsonObject (ot::JsonValue &_object, ot::JsonAllocator &_allocator) const =0 |
Add the object contents to the provided JSON object. | |
The GraphicsItemCfg is the base class for all graphics item configurations.
GraphicsItemFlag.
Enumerator | |
---|---|
NoFlags | |
ItemIsMoveable | No item flags. |
ItemIsSelectable | Item may be used by the user. If the item has a parent, the item may be moved inside of the parent item. |
ItemIsConnectable | |
ItemSnapsToGridTopLeft | Item can be used as source or destination of a conncetion. |
ItemSnapsToGridCenter | Item snaps to grid on the top left corner of the bounding rect. |
ItemForwardsTooltip | Item snaps to grid at the center of the bounding rect (will be ignored if ItemSnapsToGridTopLeft is set). If the user hovers over this item and no tooltip is set, the tooltip request will be forwarded to the parent item.
|
ItemUserTransformEnabled | User transform and transform shortcuts are enabled for this item. The user can rotate and flip the item by using the shortcuts or actions. |
ItemIgnoresParentTransform | Item transformations to the parent item will not affect this item. If the item is located in a group for example, any transformations to the group won't affect this item. The item will apply the inverse transformation to keep its transformation. |
ItemHandlesState | Item receives state changes. The item will paint its border and/or background differently if the item is selected or is hovered by the user. A StyleRefPainter2D will be used for painting the state.
|
ItemForwardsState | Item forwards state changes to child items. If the root item is a container item (e.g. GraphicsGroupItem) it have this flag set in order to forward the state change to its child items. |
ot::GraphicsItemCfg::GraphicsItemCfg | ( | ) |
GraphicsItemFlags.
|
virtual |
|
inline |
Adds the provided entry to the string map. If an entry for the same key already exists it will be replaced.
|
overridevirtual |
Add the object contents to the provided JSON object.
_document | The JSON document (used to get the allocator) |
_object | The JSON object to add the contents to |
Reimplemented in ot::GraphicsArcItemCfg, ot::GraphicsBoxLayoutItemCfg, ot::GraphicsEllipseItemCfg, ot::GraphicsGridLayoutItemCfg, ot::GraphicsGroupItemCfg, ot::GraphicsImageItemCfg, ot::GraphicsInvisibleItemCfg, ot::GraphicsItemFileCfg, ot::GraphicsLayoutItemCfg, ot::GraphicsLineItemCfg, ot::GraphicsPolygonItemCfg, ot::GraphicsRectangularItemCfg, ot::GraphicsShapeItemCfg, ot::GraphicsStackItemCfg, ot::GraphicsTextItemCfg, and ot::GraphicsTriangleItemCfg.
|
virtual |
Will copy the current config to the provided item configuration. This method may be called when creating a graphics item copy.
_target | Item to copy the data to. |
|
pure virtual |
Creates a copy of this item.
Implemented in ot::GraphicsArcItemCfg, ot::GraphicsEllipseItemCfg, ot::GraphicsGridLayoutItemCfg, ot::GraphicsGroupItemCfg, ot::GraphicsHBoxLayoutItemCfg, ot::GraphicsImageItemCfg, ot::GraphicsInvisibleItemCfg, ot::GraphicsItemFileCfg, ot::GraphicsLineItemCfg, ot::GraphicsPolygonItemCfg, ot::GraphicsRectangularItemCfg, ot::GraphicsShapeItemCfg, ot::GraphicsStackItemCfg, ot::GraphicsTextItemCfg, ot::GraphicsTriangleItemCfg, and ot::GraphicsVBoxLayoutItemCfg.
|
inline |
|
inline |
Current item alignment. The alignment only has an effect if the item is nested.
|
inline |
Current item connection direction. This has only an effect if GraphicsItemFlag::ItemIsConnectable is set.
|
pure virtual |
Returns the unique GraphicsItemCfg type name that is used in the GraphicsItemCfgFactory.
Implemented in ot::GraphicsArcItemCfg, ot::GraphicsEllipseItemCfg, ot::GraphicsGridLayoutItemCfg, ot::GraphicsGroupItemCfg, ot::GraphicsHBoxLayoutItemCfg, ot::GraphicsImageItemCfg, ot::GraphicsInvisibleItemCfg, ot::GraphicsItemFileCfg, ot::GraphicsLineItemCfg, ot::GraphicsPolygonItemCfg, ot::GraphicsRectangularItemCfg, ot::GraphicsShapeItemCfg, ot::GraphicsStackItemCfg, ot::GraphicsTextItemCfg, ot::GraphicsTriangleItemCfg, and ot::GraphicsVBoxLayoutItemCfg.
|
inline |
|
inline |
Item margins.
|
inline |
Item maximum size. If the graphics item is resized (e.g. via layout) then it may not brow above the maximum size.
|
inline |
Item minimum size. If the graphics item is resized (e.g. via layout) then it may not shrink below the minimum size.
|
inline |
Item name.
|
inline |
Item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0).
|
inline |
Current item size policy. The item size policy is used for nested items.
std::string ot::GraphicsItemCfg::getStringForKey | ( | const std::string & | _key | ) | const |
Returns the string set for the given key in the string map. Returns the string "#<_key>" if the value was not found.
|
inline |
The string map may be used to reference a value via a key in a complex graphics item. For example a text item with enabled reference mode will use the string map to set its text when created in the frontend.
|
inline |
Item title The item title will be displayed to the user when needed.
|
inline |
ToolTip that will be displayed to the user when he hovers over the item. If the root item in a graphics item hierarchy has a tool tip set, child items may be enabled to forward the tooltip request (see GraphicsItemFlags)
|
inline |
Get the item transform.
|
inline |
Item UID. The item UID is used to uniquely identify an item in a GraphicsScene. The must never exist two items with the same UID.
|
inline |
Sets the additional trigger distance. The additional trigger distance will expand/shrink the imaginary bounding rect of the item when checking for mouse press, mouse hover, and other events.
|
inline |
_d | Distance in all directions. |
|
inline |
|
inline |
Set the item alignment.
|
inline |
Set the item connection direction.
void ot::GraphicsItemCfg::setFixedSize | ( | const Size2DD & | _size | ) |
Sets the items minimum and maximum size.
|
inline |
Sets the items minimum and maximum size.
|
overridevirtual |
Will set the object contents from the provided JSON object.
_object | The JSON object containing the information |
Will | throw an exception if the provided object is not valid (members missing or invalid types) |
Implements ot::Serializable.
Reimplemented in ot::GraphicsArcItemCfg, ot::GraphicsBoxLayoutItemCfg, ot::GraphicsEllipseItemCfg, ot::GraphicsGridLayoutItemCfg, ot::GraphicsGroupItemCfg, ot::GraphicsImageItemCfg, ot::GraphicsInvisibleItemCfg, ot::GraphicsItemFileCfg, ot::GraphicsLayoutItemCfg, ot::GraphicsLineItemCfg, ot::GraphicsPolygonItemCfg, ot::GraphicsRectangularItemCfg, ot::GraphicsShapeItemCfg, ot::GraphicsStackItemCfg, ot::GraphicsTextItemCfg, and ot::GraphicsTriangleItemCfg.
|
inline |
|
inline |
|
inline |
Set item margins.
_margins | Margins to set |
|
inline |
Set item margins.
_top | Top margin |
_right | Right margin |
_bottom | Bottom margin |
_left | Left margin |
|
inline |
Sets the item maximum size.
|
inline |
Sets the item maximum size.
|
inline |
Sets the item minimum size.
|
inline |
Sets the item minimum size.
|
inline |
Set item name.
|
inline |
Set item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0).
_pos | Item position |
|
inline |
Set item position If the item is the root item, the position is the scene position. If the item is a child item, the position is the local position (default: 0.0; 0.0).
_x | X position |
_y | Y position |
|
inline |
Set item size policy.
|
inline |
Sets the string map.
|
inline |
Set item title The item title will be displayed to the user when needed.
|
inline |
Set ToolTip.
|
inline |
Set the item transform.