All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
MultiWidgets::ListWidget Class Reference

A scrollable list of widgets. More...

#include <MultiWidgets/ListWidget.hpp>

Inheritance diagram for MultiWidgets::ListWidget:
MultiWidgets::ViewWidget MultiWidgets::ContainerT< T > MultiWidgets::Widget Stylish::CSSBoxModel MultiWidgets::InputGrabListener Stylish::Styleable Valuable::Node Valuable::Attribute Patterns::NotCopyable Valuable::Serializable

Public Types

enum  Orientation { VERTICAL = 1, HORIZONTAL = 1 << 1 }
 Orientation of the list. More...
 

Valuable Attributes

float item-spacing = 0.F
 The empty space between the items. More...
 
MultiWidgets::ListWidget::Orientation orientation = VERTICAL
 The orientation of the list. More...
 
- Valuable Attributes inherited from MultiWidgets::ViewWidget
bool feed-input-to-scene = true
 Is the input forwarded to the scene widget through the view. More...
 
bool feed-style-to-scene = true
 Is the style forwarded to the scene widget through the view. More...
 
bool ignore-scene-transform = false
 This attribute disables scene's own transformation. More...
 
Nimble::Vector2f view-location = Nimble::Vector2f(0, 0)
 View rectangle location in the scene coordinates. More...
 
float view-rotation = 0.F
 View rectangle rotation in radians. More...
 
- Valuable Attributes inherited from MultiWidgets::Widget
float angular-damping = 1.F
 Set the angular damping of the widget, which controls how fast the the angular velocity (omega) will slow down when thrown. More...
 
float damping = 0.995000004F
 The damping of the Widget controls how quickly the Widget will slow down and stop when thrown. More...
 
float depth = 0.F
 Depth of the widget. More...
 
Widget::DisplayMode display = Widget::DISPLAY_BLOCK
 Controls widget visibility. More...
 
float extra-input-capture-radius = 0.F
 Extra radius (in widget coordinates) used when input is processed. More...
 
Radiant::FlagsT< Widget::Flagsflags = Widget::FLAGS_DEFAULT
 Widget flags define common behaviour of widget. More...
 
Radiant::FlagsT
< Widget::InputFlags
input-flags = Widget::INPUT_DEFAULT
 Current input processing parameters which determine how this widget will react to input. More...
 
float maximum-tap-motion = 50.F
 Adjusts the limit for recognizing taps within this Widget. More...
 
float maximum-tap-time = 0.5F
 Adjusts the time limit for recognizing taps. More...
 
float omega = 0.F
 Angular velocity of the widget in radians per second. More...
 
float opacity = 1.F
 Transparency factor that gets recursively applied to any child widgets this widget has. More...
 
Nimble::Vector2 origin = Nimble::Vector2f(0, 0)
 Relative origin of the widget coordinates. More...
 
float rotation = 0.F
 Clockwise rotation of the Widget in radians, relative to the parent. More...
 
float scale = 1.F
 Scale of the Widget. More...
 
float scale-damping = 1.F
 Set the scale damping of the widget. More...
 
Widget::TouchArea touch-area = Widget::TOUCH_BORDER_BOX
 Controls the default touchable area of the widget. More...
 
Nimble::Vector2f velocity = Nimble::Vector2f(0.F, 0.F)
 Return the current velocity of the Widget. More...
 
- Valuable Attributes inherited from Stylish::CSSBoxModel
Nimble::Vector2 location = Nimble::Vector2f(0.F, 0.F)
 The location of this object in pixels in its parent's coordinate system. More...
 
Nimble::Frame4f margin = Nimble::Vector4(0, 0, 0, 0)
 Size of the margin. More...
 
Nimble::Frame4f padding = Nimble::Vector4(0, 0, 0, 0)
 Size of the padding. More...
 
Nimble::SizeF size = Nimble::SizeF(100.F, 100.F)
 Box size in pixels. More...
 
- Valuable Attributes inherited from Stylish::Styleable
QString css-class = ""
 Get the CSS classes of the Styleable as a space separated string. More...
 
QString css-id = ""
 Get the CSS id of the Styleable. More...
 
- Valuable Attributes inherited from Valuable::Node
Node::Uuid id = generateId()
 Returns the unique id. More...
 

Node Events

[OUT] item-tapped (int index)
 Sent when a contained item is tapped. Parameter index is the index of the item.

Note
The API for ListWidget will change in Cornerstone 2.1

Fix in Cornerstone 2.1 (remove inheritance, hide view)

 
[IN] list-offset (float offset)
 This event can be used to animate the list.
 
- Node Events inherited from MultiWidgets::ViewWidget
[OUT] scene-set (Node::Uuid widgetId, Node::Uuid oldWidgetId)
 Sent when scene widget is changed. See also setScene.
 
- Node Events inherited from MultiWidgets::Widget
[OUT] child-added (Node::Uuid childId)
 Sent when child was added to the widget. See also addChild.
 
[OUT] child-removed (Node::Uuid childId)
 Sent when child was removed from the widget. See also removeChild.
 
[OUT] deleted (Node::Uuid widgetId)
 The widget has been deleted, emitted during widget destructor processing. The removed widget id is given as a parameter.
 
[IN] deserialize (Qstring filename)
 Deserializes Widget from given XML-file and adds it to the child of Widget. See also Valuable::Serializer::deserializeXML.
 
[OUT] finger-down (int64_t id)
 User has touched the widget with a finger and the finger was given an identifier id.
 
[OUT] finger-up (int64_t id)
 User has released a finger that was previously given an identifier id.
 
[OUT] hand-down (int64_t id)
 User has touched the widget with a hand and the hand was given an identifier id.
 
[OUT] hand-up (int64_t id)
 User has released a hand that was previously given an identifier id.
 
[OUT] has-interaction (bool interaction)
 Sent when interaction with Widget is started/enden. Passed value is true if interaction began and false if ended.
 
[OUT] hidden
 Sent when the display attribute changes to none.
 
[IN] hide
 Hide the widget. Corresponds to function hide.
 
[OUT] interaction-begin
 User has started interacting with the widget. Event is sent just after interactionBegin is called.
 
[OUT] interaction-end
 User has stopped interacting with the widget. Event is sent just after interactionEnd is called.
 
[IN] lower-to-bottom (bool recursive=false)
 Lowers Widget to bottom. Corresponds to function lowerToBottom.
 
[OUT] marker-down (int64_t id)
 User has touched the widget with a marker and the marker was given an identifier id.
 
[OUT] marker-up (int64_t id)
 User has released a marker that was previously given an identifier id.
 
[OUT] orphan-tree-changed (bool isOrphan)
 Widget was orphaned or added back to hierarchy.
 
[OUT] parent-changed
 The widget's parent was changed.
 
[OUT] pen-down (int64_t id)
 User has touched the widget with a pen and the pen was given an identifier id.
 
[OUT] pen-up (int64_t id)
 User has released a pen that was previously given an identifier id.
 
[IN] raise-to-top (bool recursive=false)
 Raises Widget to top. Corresponds to function raiseToTop.
 
[IN] remove-from-parent
 Removes the widget from its parent. Corresponds to function removeFromParent.
 
[IN] serialize (QString filename)
 Serializes this Widget to given XML-file. See also Valuable::Serializer::serializeXML.
 
[IN] show
 Show the widget. Corresponds to function show.
 
[OUT] shown
 Sent when the display attribute changes to block.
 
[OUT] single-tap (Nimble::Vector2f location)
 User has performed a single-tap gesture. Event is sent just after singleTap is called.
 
[IN] touch
 Sets the last interaction time. Corresponds to function touch.
 
[OUT] tracked-object-down (int64_t id)
 User has touched the widget with any tracked object and the object was given an identifier id.
 
[OUT] tracked-object-up (int64_t id)
 User has released a tracked object that was previously given an identifier id.
 
[OUT] visual-focus-change
 Sent after visualFocusChange is called.
 

Public Member Functions

virtual void addItem (WidgetPtr w)
 Adds a new widget to the list. More...
 
virtual void clear ()
 Removes all widgets from the list.
 
MultiWidgets::WidgetPtr container ()
 Returns the container widget that is holding the items. More...
 
void eventProcess (const QByteArray &messageId, Radiant::BinaryData &data)
 Entry point for incoming events Class specific behaviour to events is implemented in this function. More...
 
int findItem (WidgetPtr w)
 Get the index of given widget. More...
 
Orientation getOrientation () const
 The orientation of the list. More...
 
virtual WidgetPtr item (size_t index) const
 Gets the ith item from the list. More...
 
size_t itemCount () const
 Returns the number of items in the list. More...
 
float itemSpacing () const
 The empty space between the items. More...
 
virtual void layout ()
 Updates the layout for the list.
 
 ListWidget (WidgetPtr parent=nullptr)
 Constructs a new list widget. More...
 
virtual bool removeItem (WidgetPtr w)
 Removes given widget if it is in the list. More...
 
bool replaceItem (WidgetPtr oldItem, WidgetPtr newItem, float animationDuration)
 Replace an item Replaces the old item with a new one and performs a fade animation between them. More...
 
virtual void rescaleItems ()
 Updates the scale of all items to fit into the current size of the ListWidget.
 
void setItemSpacing (float space)
 Setter for attribute item-spacing. More...
 
void setOrientation (Orientation orientation)
 Sets the orientation and updates the layout to the list. More...
 
virtual void singleTap (MultiWidgets::GrabManager &gm, const MultiWidgets::TrackedObjectArray &objs)
 Used for selecting items. More...
 
 ~ListWidget ()
 Destructor.
 
- Public Member Functions inherited from MultiWidgets::ViewWidget
virtual void dumpInfo (FILE *f=nullptr, int indent=0)
 Dumps information about this widget and its scene. More...
 
bool feedInputToScene () const
 Is the input forwarded to the scene widget through the view. More...
 
bool feedStyleToScene () const
 Is the style forwarded to the scene widget through the view. More...
 
void frameRect (const Nimble::Rect &rect)
 Sets given rectangle to the view rectangle. More...
 
virtual bool hasInteraction (Radiant::FlagsT< MultiTouch::TrackedObjectType > types=MultiTouch::TYPE_ALL, bool recursive=false) const
 Checks for interaction on this ViewWidget If the parameter recursive is true and feed-input-to-scene is also true then the scene widget is also checked for interaction. More...
 
bool ignoreSceneTransform () const
 This attribute disables scene's own transformation. More...
 
bool isInsideView (const WidgetPtr &widget) const
 Checks whether the given widget is inside the view widget. More...
 
Radiant::TimeStamp lastInteractionTime (bool recursive=false) const
 When was the view widget interacted last time If recursive takes also the scene widget to account. More...
 
Nimble::Vector2 mapFromScene (const Nimble::Vector2 &p) const
 Map vector from scene coordinates to view coordinates. More...
 
Nimble::Vector2 mapToScene (const Nimble::Vector2 &p) const
 Map vector from ViewWidget coordinates to scene coordinates. More...
 
std::vector< Nimble::Vector2mapToView (const WidgetPtr &widget, const Nimble::Vector2f &p) const
 Transforms point from widget coordinates to view coordinates. More...
 
virtual void postSceneRender (Luminous::RenderContext &r) const
 This virtual function can be overriden to implement rendering within the ViewWidget. More...
 
virtual void processInput (GrabManager &gm, float dt)
 Passes the input to the scene if feed-input-to-scene is enabled. More...
 
virtual void renderContent (Luminous::RenderContext &r) const
 Renders the view widget's scene according to view-location, view-scale and view-rotation. More...
 
WidgetPtr scene () const
 Get the scene widget Returns the scene widget that is displayed through the ViewWidget. More...
 
void setFeedInputToScene (bool feed)
 Setter for attribute feed-input-to-scene. More...
 
void setFeedStyleToScene (bool feed)
 Setter for attribute feed-style-to-scene. More...
 
void setIgnoreSceneTransform (bool ignore)
 Setter for attribute ignore-scene-transform. More...
 
void setScene (WidgetPtr w)
 Set the scene widget Sets the scene or target widget for the ViewWidget. More...
 
virtual bool setStyle (const Stylish::Style &style)
 Sets CSS-style to the children of ViewWidget and its scene. More...
 
void setViewLocation (const Nimble::Vector2 &loc)
 Setter for attribute view-location. More...
 
void setViewLocation (float x, float y)
 Sets the view rectangle location. More...
 
void setViewRotation (float r)
 Setter for attribute view-rotation. More...
 
void setViewScale (const Nimble::Vector2f &s)
 
void setViewScale (float xscale, float yscale)
 Sets the view rectangle scale. More...
 
void setViewScaleXY (float scale)
 Applies uniform scaling to view rectangle. More...
 
virtual void update (const MultiWidgets::FrameInfo &frameInfo)
 Updates the ViewWidget. More...
 
Nimble::Vector2f viewLocation () const
 View rectangle location in the scene coordinates. More...
 
float viewRotation () const
 View rectangle rotation in radians. More...
 
Nimble::Vector2f viewScale () const
 View rectangle scale in relation to the scene widget. More...
 
Nimble::Matrix4f viewTransform () const
 Returns the extra view transform. More...
 
 ViewWidget (WidgetPtr scene=nullptr, WidgetPtr parent=nullptr)
 Constructs a new ViewWidget. More...
 
virtual ~ViewWidget ()
 Destructor.
 
- Public Member Functions inherited from MultiWidgets::Widget
virtual void addChild (const WidgetPtr &w)
 Add a child to this widget. More...
 
void addOperator (OperatorPtr op)
 Add an operator to the Widget. More...
 
bool allowRotation () const
 Check whether the widget can be rotated. More...
 
float angularDamping () const
 Set the angular damping of the widget, which controls how fast the the angular velocity (omega) will slow down when thrown. More...
 
float angularVelocity () const
 Angular velocity of the widget in radians per second. More...
 
Animationanimation ()
 Get the animation controller for this widget. More...
 
const Animationanimation () const
 Get the animation controller for this widget. More...
 
bool autoRaiseToTop () const
 Returns whether the widget is automatically raised to top. More...
 
virtual Nimble::Rect boundingRect () const
 This function defines the outer bounds of the item as a rectangle in widget coordinates. More...
 
bool checkFlags (Radiant::FlagsT< Flags > flags) const
 Checks the given flags from flags -attribute. More...
 
bool checkInputFlags (Radiant::FlagsT< InputFlags > flags) const
 Checks the given input flags from input-flags -attribute. More...
 
WidgetPtr child (size_t i)
 Return the ith child widget. More...
 
ChildIterator childBegin ()
 Returns an iterator to the first child. More...
 
ConstChildIterator childBegin () const
 Returns an iterator to the first child. More...
 
ChildIterator childEnd ()
 Returns an iterator to the end of the children. More...
 
ConstChildIterator childEnd () const
 Returns an iterator to the end of the children. More...
 
Nimble::Rect childrenRect () const
 Returns the bounding box of this widget's children in widget coordinates. More...
 
ChildReverseIterator childReverseBegin ()
 Returns an iterator addressing the first child element in reverse order. More...
 
ConstChildReverseIterator childReverseBegin () const
 Returns an iterator addressing the first child element in reverse order. More...
 
ChildReverseIterator childReverseEnd ()
 Returns an iterator addressing the next item past the last child in a reversed order. More...
 
ConstChildReverseIterator childReverseEnd () const
 Returns an iterator addressing the next item past the last child in a reversed order. More...
 
void clearFlags (Radiant::FlagsT< Flags > flags)
 Sets the given widget flags to zero in flags. More...
 
void clearInputFlags (Radiant::FlagsT< InputFlags > flags)
 Sets the given widget input flags to zero in input-flags. More...
 
WidgetPtr clone () const
 Create a clone of the widget. More...
 
bool contains (const Widget &w) const
 Checks whether the given widget is fully inside the area of this widget. More...
 
float damping () const
 The damping of the Widget controls how quickly the Widget will slow down and stop when thrown. More...
 
float depth () const
 Depth of the widget. More...
 
virtual bool deserialize (const Valuable::ArchiveElement &element)
 Deserializes the widget's attributes and its descendants from given archive element. More...
 
DisplayMode display () const
 Controls widget visibility. More...
 
void dropAllGrabs (GrabManager &input)
 Drops all the grabs that this Widget has. More...
 
float extraInputCaptureRadius () const
 Extra radius (in widget coordinates) used when input is processed. More...
 
template<typename W = Widget>
QList< Radiant::IntrusivePtr< W > > find (const QString &cssSelector)
 Find all descendant widgets that match the given CSS selector and can be casted to given type. More...
 
template<>
QList< WidgetPtrfind (const QString &cssSelector)
 
virtual void fingerDown (MultiTouch::Finger f, MultiWidgets::GrabManager &gm)
 Called when a new finger is grabbed by the widget. More...
 
virtual void fingerUp (MultiTouch::Finger f, MultiWidgets::GrabManager &gm)
 Called when a finger is ungrabbed by the widget When this function is called the finger is already ubgrabbed by the widget and it does not lie anymore in array returned by grabbedFingers This function is meant to be overriden: the default implementation is empty. More...
 
Radiant::FlagsT< Flagsflags () const
 Widget flags define common behaviour of widget. More...
 
bool forceRendering () const
 See whether forced rendering is enabled. More...
 
OperatorPtr getOperator (size_t i)
 Returns the ith operator. More...
 
template<class T >
QList< std::shared_ptr< T > > getOperatorsOfType ()
 Returns all the operator pointers that contain operator of the given type. More...
 
FingerIds grabbedFingers () const
 Returns all grabbed fingers. More...
 
HandIds grabbedHands () const
 Returns a list of hand ids that are grabbed by this widget. More...
 
MarkerIds grabbedMarkers () const
 Returns a list of marker ids that are grabbed by this widget. More...
 
PenIds grabbedPens () const
 Returns a list of pen ids that are grabbed by this widget. More...
 
TrackedObjectIds grabbedTrackedObjects () const
 Shortcut for InputGrabber::grabbedObjects. More...
 
virtual void handDown (MultiTouch::Hand h, MultiWidgets::GrabManager &gm)
 Called when a hand is grabbed by the widget This function is meant to be overriden: the default implementation is empty. More...
 
virtual void handUp (MultiTouch::Hand h, MultiWidgets::GrabManager &gm)
 Called when a hand is ungrabbed by the widget This function is meant to be overriden: the default implementation is empty. More...
 
virtual bool hasActiveOperators (bool recursive)
 Returns true if the Widget currently has active operators. More...
 
bool hasChild (const WidgetPtr &w, bool recursive=false)
 Returns true if the widget has w as a child or descendant. More...
 
bool hasOperator (OperatorPtr op) const
 Checks if the given operator is attached to the widget. More...
 
template<typename T >
bool hasOperatorType () const
 Checks if the given operator type is present in the operators. More...
 
virtual float heightForWidth (float width) const
 Returns the height of the widget for the given width while maintaining aspect ratio. More...
 
virtual void hide ()
 Hide the widget. More...
 
virtual void input (MultiWidgets::GrabManager &gm, float dt) final
 Send input to a Widget. More...
 
Radiant::FlagsT< InputFlagsinputFlags () const
 Current input processing parameters which determine how this widget will react to input. More...
 
InputGrabberinputGrabber ()
 Get the input grabber for the widget. More...
 
const InputGrabberinputGrabber () const
 Get the input grabber for the widget. More...
 
bool inputMotion () const
 Check if this widget has any input motion flag enabled. More...
 
bool inputTaps () const
 Check if widget listens single-tap events. More...
 
Radiant::TimeStamp interactionBegan () const
 Returns the time when the last interaction started on the widget. More...
 
Nimble::Vector2 interactionCenter () const
 Current or previous interaction center in widget coordinates. More...
 
bool intersects (const Widget &w) const
 Check if this widget intersects referenced widget. More...
 
virtual Nimble::SizeF intrinsicSize () const
 The preferred size of the Widget without scaling. More...
 
bool isDisplayed () const
 Checks whether the value of display is not none. More...
 
bool isFixed () const
 Returns true if the widget has been set to immovable. More...
 
bool isGrabbed (MultiTouch::TrackedObject::Id id) const
 Checks if a given object is grabbed by this widget. More...
 
bool isInOrphanTree () const
 Is this widget a part of a subtree that is not connected to non-orphan widget.
 
virtual bool isInside (Nimble::Vector2f v) const
 Test if the given point is inside the Widget. More...
 
virtual bool isReady (bool recursive) const final
 Recursive version of isReady. More...
 
virtual bool isReady () const
 Is the widget ready to be displayed on screen. More...
 
bool isVisible () const
 Checks whether the value of display is not none. More...
 
void lower (int levels, bool force=false)
 Lower the widget below its siblings. More...
 
void lowerToBottom (bool recursive=false)
 Brings this Widget behind its siblings and its parent If the lock-depth flag has been raised, then this widget will not change its depth and only the recursive functionality will take effect. More...
 
Nimble::Vector2f mapFromParent (const Nimble::Vector2f &p) const
 Transform a point from parent coordinates to Widget coordinates. More...
 
Nimble::Vector2f mapFromScene (const Nimble::Vector2f &p) const
 Transform a point from scene coordinates to Widget coordinates. More...
 
Nimble::Vector2f mapToParent (const Nimble::Vector2f &p) const
 Transform a point from Widget coordinates to parent coordinates. More...
 
Nimble::Vector2f mapToParent (Widget &w, const Nimble::Vector2f &p) const
 Transform a point from Widget coordinates to its ancestor coordinates. More...
 
Nimble::Vector2f mapToScene (const Nimble::Vector2f &p) const
 Transform a point from Widget coordinates to scene coordinates. More...
 
virtual void markerDown (MultiTouch::Marker m, MultiWidgets::GrabManager &gm)
 Called when a new marker is grabbed by the widget. More...
 
virtual void markerUp (MultiTouch::Marker m, MultiWidgets::GrabManager &gm)
 Called when a marker is ungrabbed by the widget. More...
 
float maximumTapMotion () const
 Adjusts the limit for recognizing taps within this Widget. More...
 
float maximumTapTime () const
 Adjusts the time limit for recognizing taps. More...
 
size_t numChildren () const
 Returns the number of child Widgets. More...
 
float opacity () const
 Transparency factor that gets recursively applied to any child widgets this widget has. More...
 
size_t operatorCount () const
 Returns the number of operators applied to this Widget. More...
 
const Operatorsoperators () const
 
Nimble::Vector2 origin () const
 Relative origin of the widget coordinates. More...
 
WidgetPtr parent () const
 Get a pointer to the Widget's parent. More...
 
virtual void parentChanged (WidgetPtr oldParent)
 This is called after the parent has changed. More...
 
virtual void penDown (MultiTouch::Pen p, MultiWidgets::GrabManager &gm)
 Called when a pen is grabbed by the widget. More...
 
virtual void penUp (MultiTouch::Pen p, MultiWidgets::GrabManager &gm)
 Called when a pen is ungrabbed by the widget This function is meant to be overriden: the default implementation is empty. More...
 
void raise (int levels, bool force=false)
 Raise the widget above its sibings. More...
 
void raiseFlags (Radiant::FlagsT< Flags > flags)
 Raises the given widget flags. More...
 
void raiseInputFlags (Radiant::FlagsT< InputFlags > flags)
 Raises the given widget input flags. More...
 
void raiseToTop (bool recursive=false)
 Brings this Widget to the front of its siblings and its parent. More...
 
virtual void removeChild (const WidgetPtr &w)
 Removes the child from this widget's child list if present. More...
 
void removeChildren ()
 Remove all child widgets from the widget.
 
virtual void removeFromParent ()
 Removes this widget from its parent (if any).
 
bool removeOperator (OperatorPtr op)
 Removes the given operator from the widget. More...
 
template<class T >
void removeOperatorType ()
 Removes all operators of given type. More...
 
virtual void render (Luminous::RenderContext &r) const final
 Render the Widget and recursively its children This function calls the rest of the rendering functions that can be overridden to specialize parts of the Widget rendering. More...
 
void reparent (WidgetPtr newParent)
 Change the widget parent to a new one while maintaining the position of widget in the scene coordinates. More...
 
float rotation () const
 Clockwise rotation of the Widget in radians, relative to the parent. More...
 
float rotationTo (const Widget &ancestor) const
 Returns the rotation relative to the given ancestor of widget. More...
 
float scale () const
 Scale of the Widget. More...
 
float scaleDamping () const
 Set the scale damping of the widget. More...
 
Nimble::Rectangle sceneGeometry () const
 Return the Widget rectangle in scene coordinates. More...
 
float sceneRotation () const
 Return the rotation of the Widget relative to the scene. More...
 
float sceneScale () const
 Return the scale of the widget relative to the scene. More...
 
Nimble::Matrix3 sceneTransform () const
 Returns the Widget's scene transformation matrix. More...
 
void setAllowRotation (bool allowRotation)
 If allowed, the Widget can be rotated. More...
 
void setAngularDamping (float angularDamping)
 Setter for attribute angular-damping. More...
 
void setAngularVelocity (float angularVelocity)
 Setter for attribute omega. More...
 
void setAutoRaiseToTop (bool v)
 Set automatic raise-to-top behaviour. More...
 
virtual void setCenterLocation (Nimble::Vector2 location)
 Sets the location of the widget center in parent coordinates The same effect is achieved by setting origin to (0.5, 0.5) and then modifying the value of location. More...
 
void setDamping (float damping)
 Setter for attribute damping. More...
 
void setDepth (float z)
 
void setDisplay (DisplayMode mode)
 Setter for attribute display. More...
 
void setExtraInputCaptureRadius (float radius)
 Setter for attribute extra-input-capture-radius. More...
 
void setFixed ()
 If set to fixed, the widget can not be moved but it will still get input. More...
 
void setFlags (Radiant::FlagsT< Flags > flags)
 Setter for attribute flags. More...
 
void setForceRendering (bool v)
 Shortcut for raising or lowering force-rendering-flag in widget's flags. More...
 
void setInOrphanTree (bool value)
 Sets this widget and all its descendants to orphan tree.
 
void setInputFlags (Radiant::FlagsT< InputFlags > flags)
 Setter for attribute input-flags. More...
 
void setInputTransparent ()
 This function makes the widget pass all the input data to its children and operators if input-operators flag has been raised in input-flags. More...
 
void setMaximumTapMotion (float maxMotionPixels)
 Setter for attribute maximum-tap-motion. More...
 
void setMaximumTapTime (float maxTapTimeSeconds)
 Setter for attribute maximum-tap-time. More...
 
void setOpacity (float opacity)
 Setter for attribute opacity. More...
 
void setOrigin (const Nimble::Vector2 &origin)
 Setter for attribute origin. More...
 
void setPointLocation (Nimble::Vector2 location, Nimble::Vector2 pointOnWidget)
 Sets the location of a point on the widget widget center in parent coordinates of location. More...
 
void setRelativePointLocation (Nimble::Vector2 location, Nimble::Vector2 pointOnWidgetRelative)
 Sets the location of a point on the widget widget center in parent coordinates of location. More...
 
void setRotation (float r)
 Setter for attribute rotation. More...
 
void setRotationAboutCenter (float r)
 Set the rotation of the widget about its center. More...
 
void setRotationAboutPivot (float r, Nimble::Vector2 pivot)
 Set the rotation of the widget about a point relative to the widget size Will modify the values of rotation and location. More...
 
void setRotationAboutPivotAbsolute (float r, Nimble::Vector2 pivot)
 Set the rotation of the widget about an arbitrary point in widget coordinates. More...
 
void setRotationAboutScenePoint (float r, Nimble::Vector2 scenePt)
 Set the rotation of the widget about an arbitrary point in scene coordinates. More...
 
virtual void setScale (float s)
 Setter for attribute scale. More...
 
void setScaleAboutCenter (float s)
 Set the scale of the widget about its center. More...
 
void setScaleAboutPivotAbsolute (float s, Nimble::Vector2 pivot)
 Set the scale of the widget about an arbitrary point in widget coordinates. More...
 
void setScaleDamping (float scaleDamping)
 Setter for attribute scale-damping. More...
 
void setTouchArea (TouchArea area)
 Setter for attribute touch-area. More...
 
void setVelocity (const Nimble::Vector2f &v)
 Set the velocity of the Widget in pixels per second. More...
 
void setVelocity (float xvel, float yvel)
 Set the velocity of the Widget in pixels per second. More...
 
void setVisible (bool v)
 Hides or shows the widget. More...
 
virtual bool shouldGrab (GrabManager &gm, MultiTouch::TrackedObject obj) const
 Should this widget grab the given object during the input. More...
 
virtual void show ()
 Show the widget. More...
 
void stopMotion ()
 Stops all motion of the widget. More...
 
const
MultiWidgets::TrackedObjectIds
tapIds () const
 Returns a set of ids of fingers possibly tapping the widget. More...
 
bool tapIsPossible () const
 Check if the currently ongoing gesture (if any) is possibly a tap. More...
 
unsigned tapObjectCount () const
 Query the number of possible tap objects. More...
 
WidgetPtr topParent () const
 Return a pointer to the Widget's top-level parent. More...
 
void touch ()
 Set the last interaction time to current time. More...
 
TouchArea touchArea () const
 Controls the default touchable area of the widget. More...
 
virtual void trackedObjectDown (MultiTouch::TrackedObject o, MultiWidgets::GrabManager &gm)
 Called when a new tracked object is grabbed by the widget. More...
 
virtual void trackedObjectUp (MultiTouch::TrackedObject o, MultiWidgets::GrabManager &gm)
 Called when a new tracked object is ungrabbed by the widget This function is meant to be overriden: the default implementation is empty. More...
 
size_t transferGrabs (WidgetPtr target, GrabManager &gm, Radiant::FlagsT< MultiTouch::TrackedObjectType > types, bool recursive=false)
 Transfer grabs from this widget to another. More...
 
const Nimble::Matrix3transform () const
 Return this Widget's transformation matrix relative to its parent. More...
 
const Nimble::Matrix4ftransform3D () const
 Return this Widget's 3D transformation matrix relative to its parent. More...
 
virtual QByteArray type () const
 This returns the plugin name of this Widget. More...
 
const Nimble::Vector2velocity () const
 Return the current velocity of the Widget. More...
 
virtual void visualFocusChange (bool gotFocus)
 Call-back function for informing the Widget of a change in users' visual focus This function is called by the application as deemed fit. More...
 
 Widget (WidgetPtr parent=nullptr)
 Construct a new Widget. More...
 
virtual ~Widget ()
 Destroys this Widget and frees references to all its children. More...
 
- Public Member Functions inherited from Stylish::CSSBoxModel
AttributeBackgroundbackground ()
 
const AttributeBackgroundbackground () const
  More...
 
Nimble::Rectf backgroundBox () const
 Background painting area, depends on background-clip value. More...
 
Radiant::Color backgroundColor () const
 
AttributeBorderborder ()
 
const AttributeBorderborder () const
  More...
 
Stylish::Border borderBottom () const
 Gets the bottom border that contains the width, style and color. More...
 
Nimble::Rectf borderBox () const
 Border box, rectangle that includes content, padding and border. More...
 
Nimble::Frame4f borderFrame () const
 Size of the border. More...
 
Stylish::Border borderLeft () const
 Gets the left border that contains the width, style and color. More...
 
Stylish::Border borderRight () const
 Gets the right border that contains the width, style and color. More...
 
Stylish::Border borderTop () const
 Gets the top border that contains the width, style and color. More...
 
float bottom () const
 Get the y coordinate of the bottom of the box.
 
Nimble::SizeF boxSize () const
 Calculates total amount of screen estate taken by the box by adding size, padding, border and margin together. More...
 
Nimble::Rectf contentBox () const
 Content box, rectangle that includes only the content area. More...
 
float height () const
 Height of this box in pixels.
 
Nimble::Vector2 location () const
 The location of this object in pixels in its parent's coordinate system. More...
 
Nimble::Frame4f margin () const
 Size of the margin. More...
 
Nimble::Rectf marginBox () const
 Margin box, rectangle that includes content, padding, border and margin. More...
 
Nimble::Frame4f padding () const
 Size of the padding. More...
 
Nimble::Rectf paddingBox () const
 Padding box, rectangle that includes content and padding but excludes border area. More...
 
void setBackgroundColor (Radiant::Color color)
 
void setBackgroundColor (float red, float green, float blue, float alpha)
 
virtual void setBorderColor (const Radiant::Color &c)
 Sets the color for all borders.
 
void setBorderColor (float r, float g, float b, float a)
 
virtual void setBorderFrame (const Nimble::Frame4f &border)
 Sets the width for all borders. More...
 
void setBorderStyle (Border::Style style)
 Sets the style for all borders.
 
void setBorderWidth (float width)
 Sets the width for all borders.
 
void setHeight (float height, ValueUnit unit=VU_PXS)
 Set the height of the box.
 
void setLocation (Nimble::Vector2 location)
 Setter for attribute location. More...
 
void setLocation (Nimble::Vector2 location, ValueUnit unit)
 Set the location of this object. More...
 
void setLocation (float x, float y)
 Set the location of this object. More...
 
void setLocation (float x, float y, ValueUnit unit)
 Set the location of this object. More...
 
void setMargin (const Nimble::Frame4f &margin)
 Setter for attribute margin. More...
 
void setMargin (float one_side_margin)
 Set the size of the margin for all sides to be equal.
 
virtual void setPadding (const Nimble::Frame4f &padding)
 Setter for attribute padding. More...
 
void setPadding (float oneSidePadding)
 Set the size of the padding for all sides to be equal. More...
 
void setSize (Nimble::SizeF size)
 Setter for attribute size. More...
 
void setSize (float width, float height, ValueUnit unit=VU_PXS)
 Set box size. More...
 
void setSize (Nimble::SizeF size, ValueUnit widthUnit, ValueUnit heightUnit)
 Set box size. More...
 
void setWidth (float width, ValueUnit unit=VU_PXS)
 Set the width of the box.
 
void setX (float x, ValueUnit unit=VU_PXS)
 Set the x component of the location of this box.
 
void setY (float y, ValueUnit unit=VU_PXS)
 Set the y component of the location of this box.
 
Nimble::SizeF size () const
 Box size in pixels. More...
 
float width () const
 Width of this box in pixels.
 
float x () const
 Get the x component of the location of this box in pixels.
 
float y () const
 Get the y component of the location of this box in pixels.
 
- Public Member Functions inherited from Stylish::Styleable
void addCSSClass (const QString &s)
 Adds the Styleable to CSS class s. More...
 
void addCSSClasses (const QStringList &classes)
 Adds the Styleable to given CSS classes. More...
 
QString attributeSource (const QByteArray &name) const
 Gets CSS declaration source location based on the attribute name For example if this object has "size" attribute that is set from a CSS file, attributeSource("size") would return "filename.css:line". More...
 
const Style & childStyle () const
 Cached style that should be applied to all children of this object.
 
const Radiant::ArraySet
< QByteArray > & 
cssClasses () const
 Get the CSS classes of the Styleable in lowercase.
 
const QString & cssClassStr () const
 Get the CSS classes of the Styleable as a space separated string. More...
 
QString cssId () const
 Get the CSS id of the Styleable. More...
 
const QByteArray & cssType () const
 Get the CSS type of the Styleable.
 
bool hasCSSClass (const QByteArray &s) const
 Does the Styleable belong to given CSS class. More...
 
bool match (const SimpleSelector &ss, int *specificityOut=nullptr) const
 Checks if SimpleSelector matches this object. More...
 
bool pseudoClass (const QByteArray &name) const
 Query if the Styleable has pseudo class called name.
 
void removeCSSClass (const QString &s)
 Remove the Styleable from CSS class s. More...
 
void setCSSClasses (const QString &s)
 Set the CSS classes as a space separated list You almost always want to use addCSSClass instead of this one. More...
 
void setCSSId (const QString &s)
 Set the CSS id of the Styleable. More...
 
void setCSSType (const QByteArray &s)
 Set the CSS type of the Styleable.
 
virtual bool setProperty (Valuable::Attribute &var, const Valuable::StyleValue &value, Layer layer)
 Converts the given Stylish::Value to Valuable::Attribute.
 
void setPseudoClass (const QByteArray &name, bool state)
 Disable or enable pseudo class.
 
virtual bool setStyle (const Style &style)
 Applies a style to the object. More...
 
QString simpleSelector (bool includePseudoClasses=true) const
 Returns a CSS simple selector that matches this Styleable.
 
const Style & style () const
 Returns the style for this object.
 
 Styleable (const QByteArray &name="Styleable")
 Constructor for Styleable. More...
 
- Public Member Functions inherited from Valuable::Node
bool acceptsEvent (const QByteArray &messageId) const
 Returns true if this object accepts event 'id' in eventProcess.
 
bool addAttribute (Attribute *const attribute)
 Adds a new Attribute to the list of attribute objects. More...
 
bool addAttribute (const QByteArray &name, Attribute *const attribute)
 Adds a new Attribute to the list of attribute objects.
 
template<typename Widget >
bool addAttribute (const QByteArray &name, const Radiant::IntrusivePtr< Widget > &attribute)
 Adds a new Attribute to the list of attribute objects. More...
 
long addListener (const QByteArray &attribute, v8::Persistent< v8::Function > func, int role=Attribute::CHANGE_ROLE)
 Add a JavaScript attribute listener to attribute belonging this Node. More...
 
virtual Attributeattribute (const QByteArray &name) const
 Gets an Attribute with the given name. More...
 
template<typename T >
AttributeT< T > * attribute (const QByteArray &name) const
 Gets an Attribute with the given name. More...
 
const containerattributes () const
 
void clearValues (Layer layer)
 Clears all Attribute values of the given layer. More...
 
void debugDump ()
 Prints the contents of this Attribute to the terminal.
 
void eventAddDeprecated (const QByteArray &deprecatedId, const QByteArray &newId)
 Register a deprecated event that is automatically converted to new event id and a warning is issued when it is used. More...
 
void eventAddIn (const QByteArray &messageId)
 Registers a new event that this class handles in eventProcess.
 
template<typename Widget >
long eventAddListener (const QByteArray &eventId, const QByteArray &messageId, Radiant::IntrusivePtr< Widget > &listener, ListenerType listenerType=DIRECT, const Radiant::BinaryData *defaultData=0)
 Add an event listener to this object. More...
 
long eventAddListener (const QByteArray &eventId, const QByteArray &messageId, Valuable::Node *listener, ListenerType listenerType=DIRECT, const Radiant::BinaryData *defaultData=0)
 Add an event listener to this object. More...
 
long eventAddListener (const QByteArray &eventId, ListenerFuncVoid func, ListenerType listenerType=DIRECT)
 Add an event listener to this object. More...
 
long eventAddListener (const QByteArray &eventId, Node *dstNode, ListenerFuncVoid func, ListenerType listenerType=DIRECT)
 
long eventAddListenerBd (const QByteArray &eventId, Node *dstNode, ListenerFuncBd func, ListenerType listenerType=DIRECT)
 
long eventAddListenerBd (const QByteArray &eventId, ListenerFuncBd func, ListenerType listenerType=DIRECT)
 Add an event listener to this object. More...
 
void eventAddOut (const QByteArray &eventId)
 Registers a new event this class can send with eventSend.
 
const QSet< QByteArray > & eventInNames () const
 Returns set of all registered IN events.
 
unsigned eventListenerCount () const
 Returns the number of event listeners.
 
const QSet< QByteArray > & eventOutNames () const
 Returns set of all registered OUT events.
 
void eventPassingEnable (bool enable)
 Control whether events are passed.
 
template<typename Widget >
int eventRemoveListener (Radiant::IntrusivePtr< Widget > &listener)
 Removes all events from this object to given listener. More...
 
template<typename Widget >
int eventRemoveListener (const QByteArray &eventId=QByteArray(), const QByteArray &messageId=QByteArray(), Radiant::IntrusivePtr< Widget > &listener=Radiant::IntrusivePtr< Widget >())
 Removes events from this object that match the parameters. More...
 
int eventRemoveListener (const QByteArray &eventId=QByteArray(), const QByteArray &messageId=QByteArray(), Valuable::Node *listener=0)
 Removes event listeners from this object. More...
 
int eventRemoveListener (Valuable::Node *listener)
 Removes all events from this object to given listener. More...
 
bool eventRemoveListener (long listenerId)
 Removes event listener with given id. More...
 
void eventSend (const QByteArray &eventId, Radiant::BinaryData &bd)
 Sends an event and bd to all listeners on this eventId.
 
void eventSend (const QByteArray &eventId)
 Sends an event to all listeners on this eventId.
 
template<typename P1 >
void eventSend (const QByteArray &eventId, const P1 &p1)
 Sends an event to all listeners on this eventId. More...
 
template<typename P1 , typename P2 >
void eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2)
 Sends an event to all listeners on this eventId. More...
 
template<typename P1 , typename P2 , typename P3 >
void eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3)
 Sends an event to all listeners on this eventId. More...
 
template<typename P1 , typename P2 , typename P3 , typename P4 >
void eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4)
 Sends an event to all listeners on this eventId. More...
 
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
void eventSend (const QByteArray &eventId, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5)
 Sends an event to all listeners on this eventId. More...
 
unsigned eventSourceCount () const
 Returns the number of event sources.
 
Uuid id () const
 Returns the unique id.
 
bool isBeingDestroyed () const
 Returns true if we are about to delete this object. More...
 
bool loadFromFileXML (const QString &filename)
 Reads this object (and its children) from an XML file.
 
bool loadFromMemoryXML (const QByteArray &buffer)
 Reads this object (and its children) from a memory buffer.
 
 Node (Node *host, const QByteArray &name="", bool transit=false)
 Constructs a new Node and adds it under the given host. More...
 
 Node (Node &&node)
 Moves a node, including all its attributes, events etc. More...
 
Nodeoperator= (Node &&node)
 Moves a node, replacing this. More...
 
virtual bool readElement (const ArchiveElement &element)
 Handles a serialization element that lacks automatic handlers. More...
 
void removeAttribute (Attribute *const attribute)
 Removes an Attribute from the list of attribute objects.
 
bool saveToFileXML (const QString &filename, unsigned int opts=SerializationOptions::DEFAULTS) const
 Saves this object (and its children) to an XML file.
 
bool saveToMemoryXML (QByteArray &buffer, unsigned int opts=SerializationOptions::DEFAULTS) const
 Saves this object (and its children) to binary data buffer.
 
virtual ArchiveElement serialize (Archive &doc) const
 Serializes this object (and its children) to a DOM node.
 
virtual void setAsDefaults ()
 Sets the current USER attribute value as the default value and clears the USER value. More...
 
void setId (Uuid newId)
 Sets the unique id. More...
 
template<class T >
bool setValue (const QByteArray &name, const T &v)
 Uses a query string to find a Attribute, and sets a new value to that if found. More...
 
bool setValue (const QByteArray &name, v8::Handle< v8::Value > v)
 Set attribute value from JavaScript. More...
 
- Public Member Functions inherited from Valuable::Attribute
long addListener (ListenerFunc func, int role=CHANGE_ROLE)
 Adds a listener that is invoked whenever the value is changed. More...
 
long addListener (Node *listener, ListenerFunc func, int role=CHANGE_ROLE)
 Adds a listener that is invoked whenever the value is changed. More...
 
long addListener (v8::Persistent< v8::Function > func, int role=CHANGE_ROLE)
 Adds a JavaScript listener that is invoked whenever the value is changed. More...
 
virtual float asFloat (bool *const ok=0, Layer layer=LAYER_CURRENT) const
 Converts the value object in a floating point number. More...
 
virtual int asInt (bool *const ok=0, Layer layer=LAYER_CURRENT) const
 Converts the value object in an integer. More...
 
virtual QString asString (bool *const ok=0, Layer layer=LAYER_CURRENT) const
 Converts the value object to a string. More...
 
 Attribute (const Attribute &o)
 Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More...
 
 Attribute (Node *host, const QByteArray &name, bool transit=false)
 Constructs a new value object and attaches it to its host. More...
 
virtual void clearValue (Layer layer)
 Unsets the value from a specific layer. More...
 
virtual void emitChange ()
 Invokes the change valueChanged function of all listeners.
 
void eventProcessFloat (const char *id, float v)
 Utility function for sending a float message to the object.
 
void eventProcessInt (const char *id, int v)
 Utility function for sending an int message to the object.
 
void eventProcessString (const char *id, const QString &str)
 Utility function for sending string message to the object.
 
void eventProcessString (const char *id, const char *str)
 Utility function for sending string message to the object.
 
void eventProcessVector2 (const char *id, Nimble::Vector2)
 Utility function for sending a Nimble::Vector2f message to the object.
 
void eventProcessVector3 (const char *id, Nimble::Vector3)
 Utility function for sending a Vector3 message to the object.
 
void eventProcessVector4 (const char *id, Nimble::Vector4)
 Utility function for sending a Vector4 message to the object.
 
virtual bool handleShorthand (const Valuable::StyleValue &value, Radiant::ArrayMap< Valuable::Attribute *, Valuable::StyleValue > &expanded)
 If attribute supports shorthand properties, this should be used to parse those. More...
 
Nodehost () const
 The host object of the value object (is any). More...
 
virtual bool isChanged () const
 
virtual bool isValueDefinedOnLayer (Layer layer) const
 Check if the given layer defines a value. More...
 
bool layerForSerialization (SerializationOptions flags, Layer &layer) const
 
const QByteArray & name () const
 Returns the name of the object.
 
const Attributeoperator= (const Attribute &)
 Create a copy of the given Attribute WITHOUT the link to host, listeners, or the attribute name. More...
 
AttributeownerShorthand () const
 
QByteArray path () const
 Returns the path (separated by '/'s) from the root.
 
void removeHost ()
 Sets the host pointer to zero and removes this object from the host. More...
 
bool removeListener (Node *listener, int role=ALL_ROLES)
 Removes a listener from the listener list. More...
 
bool removeListener (long id)
 Removes a listener from the listener list. More...
 
void removeListeners (int role=ALL_ROLES)
 Removes listeners from the listener list.
 
virtual bool set (float v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN)
 Sets the value of the object.
 
virtual bool set (int v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN)
 Sets the value of the object.
 
virtual bool set (const QString &v, Layer layer=USER, ValueUnit unit=VU_UNKNOWN)
 Sets the value of the object.
 
virtual bool set (const Nimble::Vector2f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >())
 Sets the value of the object.
 
virtual bool set (const Nimble::Vector3f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >())
 Sets the value of the object.
 
virtual bool set (const Nimble::Vector4f &v, Layer layer=USER, QList< ValueUnit > units=QList< ValueUnit >())
 Sets the value of the object.
 
virtual bool set (const StyleValue &value, Layer layer=USER)
 Sets the value of the object.
 
void setName (const QByteArray &s)
 Sets the name of the object.
 
void setOwnerShorthand (Attribute *owner)
 
- Public Member Functions inherited from Valuable::Serializable
virtual bool deserializeXML (const DOMElement &element)
 Deserializes (reads) this object from an XML element. More...
 
bool isSerializable () const
 
void setSerializable (bool v)
 
- Public Member Functions inherited from MultiWidgets::ContainerT< T >
virtual void addItem (T t)=0
 Add a new item to the container. More...
 
virtual bool removeItem (T t)=0
 Remove an item from the container. More...
 

Protected Member Functions

std::pair< float, float > getLimits () const
 Return contained item geometry limits. More...
 
const Momentummomentum () const
 Gets the current momentum for the list view. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MultiWidgets::Widget
static std::vector< WidgetPtrallWidgets ()
 
static void calculateMotion (const FingerArray &fingers, Nimble::Vector2f &translate, float &scale, float &rotate, Nimble::Vector2f &prevCenter)
 Computes the translation, rotation, and scale to apply to widget based on the interacting fingers. More...
 
static void checkOrphanTrees ()
 
static WidgetPtr create (const Valuable::ArchiveElement &element)
 Creates and deserializes a widget from the given archive. More...
 
static WidgetPtr findById (Uuid id)
 Search Widget by its id. More...
 
static void listExistingWidgetsToTerminal ()
 List existing widgets to terminal, for debugging.
 
static std::size_t widgetCount ()
 Returns the number of widget instances in the application. More...
 
- Protected Attributes inherited from Stylish::CSSBoxModel
AttributeBackground m_background
 Background for this box.
 
AttributeBorder m_cssBorder
 Borders for this box.
 
Valuable::AttributeFrame m_cssMargin
 Size of the margin for this box (top, right, bottom, left)
 
Valuable::AttributeFrame m_cssPadding
 Size of the padding (top, right, bottom, left)
 
Valuable::AttributeLocation2f m_location
 Location of the upper-left corner.
 
Valuable::AttributeSizeF m_size
 Size of the content-box of the widget.
 

Detailed Description

A scrollable list of widgets.

While this class inherits from MultiWidgets::ViewWidget, you should not use any of the functions or attributes of the view as this will likely break the operation of this class. Uses Momentum for simulating the scrolling of the list.

Member Enumeration Documentation

Orientation of the list.

Enumerator
VERTICAL 

"vertical", Vertical ListWidget orientation

HORIZONTAL 

"horizontal", Horizontal ListWidget orientation

Constructor & Destructor Documentation

MultiWidgets::ListWidget::ListWidget ( WidgetPtr  parent = nullptr)
explicit

Constructs a new list widget.

Parameters
parentParent widget

Member Function Documentation

virtual void MultiWidgets::ListWidget::addItem ( WidgetPtr  w)
virtual

Adds a new widget to the list.

Parameters
wWidget to add

Returns the container widget that is holding the items.

Returns
Widget holding the item widgets
void MultiWidgets::ListWidget::eventProcess ( const QByteArray &  id,
Radiant::BinaryData data 
)
virtual

Entry point for incoming events Class specific behaviour to events is implemented in this function.

See Event System -section in Developer Guide for in-depth discussion about events in Cornerstone.

Overriding: Inherited classes can override this function for implementing custom behaviour for events. When overriding this function one needs to remember to call base-class implementation for discarded events. Otherwise large portion of the inherited behaviour gets incomplete.

See example about overriding below:

class MyWidget : public BaseClassWidget {
typedef BaseClassWidget Parent;
...
};
virtual void MyWidget::eventProcess(const QByteArray & id, Radiant::BinaryData & data)
{
if(id == "play") play();
else if(id == "stop") stop();
else Parent::eventProcess(id, data); // <- This is important!
}
Parameters
idName of the incoming event.
dataData associated to the incoming event.

Reimplemented from MultiWidgets::Widget.

int MultiWidgets::ListWidget::findItem ( WidgetPtr  w)

Get the index of given widget.

Returns
Index of the widget if it's in the list. If widget is not in the list -1 is returned.
std::pair<float, float> MultiWidgets::ListWidget::getLimits ( ) const
protected

Return contained item geometry limits.

Returns
geometry limits
MultiWidgets::ListWidget::Orientation MultiWidgets::ListWidget::getOrientation ( ) const
inline

The orientation of the list.

Determines the scrolling direction

See Also
setOrientation
Returns
Current value of the orientation attribute
virtual WidgetPtr MultiWidgets::ListWidget::item ( size_t  index) const
virtual

Gets the ith item from the list.

Parameters
indexIndex of the item to get
Returns
The ith item of the list

Implements MultiWidgets::ContainerT< T >.

size_t MultiWidgets::ListWidget::itemCount ( ) const
virtual

Returns the number of items in the list.

Returns
Number of items

Implements MultiWidgets::ContainerT< T >.

float MultiWidgets::ListWidget::itemSpacing ( ) const
inline

The empty space between the items.

See Also
setItemSpacing
Returns
Current value of the item-spacing attribute
const Momentum& MultiWidgets::ListWidget::momentum ( ) const
inlineprotected

Gets the current momentum for the list view.

Returns
current moment
virtual bool MultiWidgets::ListWidget::removeItem ( WidgetPtr  w)
virtual

Removes given widget if it is in the list.

Parameters
wWidget to remove
Returns
True if item was in the list, false otherwise
bool MultiWidgets::ListWidget::replaceItem ( WidgetPtr  oldItem,
WidgetPtr  newItem,
float  animationDuration 
)

Replace an item Replaces the old item with a new one and performs a fade animation between them.

Parameters
oldItemOld item to replace
newItemNew item to replace the old one
animationDurationDuration of the removal animation in seconds
Returns
True if the item was replaced, false if the oldItem is not in the list
void MultiWidgets::ListWidget::setItemSpacing ( float  space)
inline

Setter for attribute item-spacing.

See Also
itemSpacing
Parameters
spacenew attribute value
void MultiWidgets::ListWidget::setOrientation ( Orientation  orientation)

Sets the orientation and updates the layout to the list.

See Also
getOrientation
virtual void MultiWidgets::ListWidget::singleTap ( MultiWidgets::GrabManager gm,
const MultiWidgets::TrackedObjectArray objs 
)
virtual

Used for selecting items.

Parameters
gmRelated GrabManager
objsTracked objects

Reimplemented from MultiWidgets::Widget.