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

This class represents a view to a web page. More...

#include <WebBrowser/BrowserWidget.hpp>

Inheritance diagram for MultiWidgets::BrowserWidget:
MultiWidgets::Widget MultiWidgets::KeyboardListener Stylish::CSSBoxModel MultiWidgets::InputGrabListener Stylish::Styleable Valuable::Node Valuable::Attribute Patterns::NotCopyable Valuable::Serializable

Valuable Attributes

bool allow-edit-content = true
 Is editing contents allowed. More...
 
bool delegate-links = false
 Are links delegated. More...
 
bool display-frame = false
 Does the browser display control frame (back & forward buttons, address bar etc.) More...
 
float min-hand-radius = 150.F
 Determines the threshold level for the fingers to be interpreted to belong to the same hand. More...
 
Radiant::Color progressbar-color = Radiant::Color("#33CC00")
 Color of the progress bar. More...
 
float progressbar-opacity = 1.F
 Opacity of the progress bar. More...
 
float progressbar-width = 8.F
 Width of the progress bar. More...
 
QString proxy = QString()
 Proxy that the browser uses Examples: http://user:password@host or socks5://host:port. More...
 
Radiant::Color scrollbar-color = Radiant::Color("#33CCFF")
 Color of the scrollbars. More...
 
float scrollbar-opacity = 1.F
 Opacity of the scrollbars. More...
 
float scrollbar-width = 8.F
 Width if the scrollbars. More...
 
bool show-scrollbars = true
 Are the scrollbars of the browser visible. More...
 
bool single-finger-page-scroll = true
 If this attribute is set to true, pages can be scrolled using single finger. More...
 
QString source = QString()
 Starting page of the browser. More...
 
bool use-two-hand-movement = false
 Can widget be scaled, translated and rotated with gestures using two hands. More...
 
QString user-agent = QString()
 Custom user-agent string. 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] link-clicked (QString url)
 Sent when the user clicks on a link.
 
[IN] load (QString url)
 Load the given url.
 
[OUT] page-loading
 Sent when page loading is started.
 
[IN] reload
 Reload the current page.
 
[IN] stop
 Stop loading the current page.
 
[OUT] url-changed (QString url)
 Sent when the url changes.
 
- 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

bool allowEditContent () const
 Is editing contents allowed. More...
 
 BrowserWidget (WidgetPtr parent=nullptr)
 Constructor for the widget. Starts new browser window.
 
virtual KeyboardInterfaceWidgetPtr createKeyboard ()
 Creates keyboard for the browser. More...
 
bool delegateLinks () const
 Are links delegated. More...
 
void goBack ()
 Goes one page back in history.
 
void goForward ()
 Goes one page forward in history.
 
bool hasFuture () const
 Tells if we can go forward in page history. More...
 
bool hasPast () const
 Tells if we are already visited some pages (ie. More...
 
bool isDisplayingFrame () const
 Does the browser display control frame (back & forward buttons, address bar etc.) More...
 
bool isShowingScollBars () const
 Are the scrollbars of the browser visible. More...
 
bool isUsingTwoHandMovement () const
 Can widget be scaled, translated and rotated with gestures using two hands. More...
 
void load (const QString &url)
 Tries to open the given url. More...
 
float minHandRadius () const
 Determines the threshold level for the fingers to be interpreted to belong to the same hand. More...
 
void openURL (const QString &url)
 
virtual void parentChanged (WidgetPtr oldParent)
 Handles the updating of BrowserFrameWidget. More...
 
virtual void processMarkers (MultiWidgets::GrabManager &gm, const MultiWidgets::MarkerArray &markers, float dt)
 Handles the markers. More...
 
Radiant::Color progressBarColor () const
 Color of the progress bar. More...
 
float progressBarOpacity () const
 Opacity of the progress bar. More...
 
float progressBarWidth () const
 Width of the progress bar. More...
 
QString proxy () const
 Proxy that the browser uses Examples: http://user:password@host or socks5://host:port. More...
 
void reload ()
 Reload the current page.
 
void reloadAndBypassCache ()
 Reload the current page, but do not use any local cache.
 
virtual void renderContent (Luminous::RenderContext &r) const
 Renders the web page. More...
 
virtual void renderProgressBar (Luminous::RenderContext &rc) const
 Render the progress bar on the view. More...
 
virtual void renderScrollBars (Luminous::RenderContext &rc) const
 Render the scrollbars on the view. More...
 
Radiant::Color scrollBarColor () const
 Color of the scrollbars. More...
 
float scrollBarOpacity () const
 Opacity of the scrollbars. More...
 
float scrollBarWidth () const
 Width if the scrollbars. More...
 
void setAllowEditContent (bool allow)
 Setter for attribute allow-edit-content. More...
 
void setAttribute (QWebSettings::WebAttribute attr, bool state=true, bool global=true)
 Offers a possibility to feed options to WebKit backend. More...
 
void setDelegateLinks (bool delegate)
 Setter for attribute delegate-links. More...
 
void setDisplayFrame (bool display)
 Sets whether or not we are displaying associated control frame. More...
 
void setMinHandRadius (float radius)
 Sets minimum radius for hands. More...
 
void setProgressBarColor (const Radiant::Color &color)
 Sets the color of the progress bar. More...
 
void setProgressBarOpacity (float opacity)
 Sets the opacity of the progress bar. More...
 
void setProgressBarWidth (float width)
 Sets the width of the progress bar. More...
 
void setProxy (const QString &proxyUrl)
 Setter for attribute proxy. More...
 
void setProxy (const QNetworkProxy &proxy)
 
void setScrollBarColor (const Radiant::Color &color)
 Sets the color of scrollbars. More...
 
void setScrollBarOpacity (float opacity)
 Sets the opacity of scroll bars. More...
 
void setScrollBarWidth (float width)
 Sets the width of the scrollbars. More...
 
void setShortcuts (const QMap< uint64_t, QString > &shortcuts)
 Sets the marker based shortcuts to browser. More...
 
void setShowScrollBars (bool show)
 Set the scrollbars of the browser visible. More...
 
void setSingleFingerPageScrollEnabled (bool enabled)
 Can enable widget to use single finger page scroll. More...
 
void setSource (const QString &source)
 Sets the starting page of the browser. More...
 
void setUserAgent (const QString &userAgent)
 Setter for attribute user-agent. More...
 
void setUseTwoHandMovement (bool use)
 Set widget to use two hands movements. More...
 
QMap< uint64_t, QString > shortcuts () const
 Mapping from marker codes to favourite pages. More...
 
bool singleFingerPageScrollEnabled () const
 If this attribute is set to true, pages can be scrolled using single finger. More...
 
QString source () const
 Starting page of the browser. More...
 
void stop ()
 Stop loading the current page.
 
void stopScheduledPageRefresh ()
 Stop all pending page refresh/redirect requests.
 
const QString & userAgent () const
 Custom user-agent string. More...
 
virtual ~BrowserWidget ()
 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...
 
virtual void dumpInfo (FILE *f=nullptr, int indent=0)
 Dump information about this widget to the given file. More...
 
virtual void eventProcess (const QByteArray &id, Radiant::BinaryData &data)
 Entry point for incoming events Class specific behaviour to events is implemented in this function. 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...
 
virtual bool hasInteraction (Radiant::FlagsT< MultiTouch::TrackedObjectType > types=MultiTouch::TYPE_ALL, bool recursive=false) const
 Check if the widget is currently being interacted with. 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...
 
virtual Radiant::TimeStamp lastInteractionTime (bool recursive=false) const
 Timestamp of the last interaction on this Widget. 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 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...
 
virtual void processInput (MultiWidgets::GrabManager &gm, float dt)
 Do extra input processing. 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...
 
virtual bool setStyle (const Stylish::Style &style)
 Sets given style for the widget. 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...
 
virtual void update (const MultiWidgets::FrameInfo &frameInfo)
 Update widget state. 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::KeyboardListener
virtual bool automaticFocus () const
 Automatic focus determines if listener steals physical keyboard focus automatically from other listeners, and removes focus when keyboard is closed.
 
virtual void closeKeyboard ()
 Detaches the keyboard and deletes it.
 
bool isIdleForMoreThan (const double timeInSeconds) const
 Returns whether the keyboard has had any interation over the given time period. More...
 
KeyboardInterfaceWidgetPtr keyboard () const
 Returns the listened keyboard.
 
virtual void keyboardDestroyed ()
 By default calls closeKeyboard.
 
 KeyboardListener (KeyboardInterfaceWidgetPtr keyboard)
 Constructs a new keyboard listener for the given keyboard.
 
bool keyEventAndTimestamp (const Radiant::KeyEvent &event)
 This function is called when a key is pressed. More...
 
virtual void setAutomaticFocus (bool enabled)
 
virtual void setKeyboard (KeyboardInterfaceWidgetPtr kb)
 Sets the keyboard that listener listens to. More...
 

Additional Inherited Members

- Public Types inherited from MultiWidgets::Widget
typedef ChildIteratorT
< Children::iterator, Widget
ChildIterator
 Iterator for children. More...
 
typedef
Valuable::AttributeContainer
< std::multimap< float,
ChildItem, std::greater< float > > > 
Children
 Container for child widgets.
 
typedef ChildIteratorT
< Children::reverse_iterator,
Widget
ChildReverseIterator
 Reverse iterator for children. More...
 
typedef ChildIteratorT
< Children::const_iterator,
Widget
ConstChildIterator
 Iterator for children. More...
 
typedef ChildIteratorT
< Children::const_reverse_iterator,
Widget
ConstChildReverseIterator
 Reverse iterator for children. More...
 
enum  DisplayMode { DISPLAY_NONE, DISPLAY_BLOCK, DISPLAY_FLEX }
 Determines how Widget is displayed,. More...
 
typedef TrackedObjectIds FingerIds
 Finger id container.
 
enum  Flags {
  FLAGS_NONE = 0, DEPTH_CHANGED = (1 << 0), RENDER_CULL_CHILDREN = (1 << 2), AUTO_RAISE_TO_TOP = (1 << 3),
  FORCE_RENDERING = (1 << 4), LOCK_DEPTH = (1 << 5), FLAGS_DEFAULT = AUTO_RAISE_TO_TOP
}
 Standard flags for the Widget. More...
 
typedef TrackedObjectIds HandIds
 Hand id container.
 
enum  InputFlags {
  INPUT_NONE = 0, INPUT_TRANSLATE_X = (1 << 1), INPUT_TRANSLATE_Y = (1 << 2), INPUT_TRANSLATE_XY = INPUT_TRANSLATE_X | INPUT_TRANSLATE_Y,
  INPUT_TRANSLATE = INPUT_TRANSLATE_XY, INPUT_ROTATION = (1 << 3), INPUT_SCALE = (1 << 4), INPUT_MOTION = INPUT_TRANSLATE_XY | INPUT_ROTATION | INPUT_SCALE,
  INPUT_SINGLE_TAPS = (1 << 5), INPUT_PASS_TO_CHILDREN = (1 << 6), INPUT_KEEP_GRABS = (1 << 7), INPUT_ROTATE_ABOUT_INTERACTION_CENTER = (1 << 8),
  INPUT_OPERATORS = (1<<9), INPUT_INCLUDE_EVERYTHING_INSIDE = (1 << 10), INPUT_DEFAULT = INPUT_MOTION | INPUT_SINGLE_TAPS | INPUT_PASS_TO_CHILDREN | INPUT_OPERATORS | INPUT_KEEP_GRABS
}
 Flags that control input processing. More...
 
typedef TrackedObjectIds MarkerIds
 Marker id container.
 
typedef
Valuable::AttributeContainer
< std::list< OperatorPtr > > 
Operators
 Container for operators.
 
typedef TrackedObjectIds PenIds
 Pen id container.
 
enum  TouchArea { TOUCH_CONTENT_BOX, TOUCH_PADDING_BOX, TOUCH_BORDER_BOX }
 Different areas in Widget that can be interacted with. More...
 
- 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...
 
- Static Public Member Functions inherited from MultiWidgets::KeyboardListener
static KeyboardListenerfocus ()
 Returns the keyboard listener that currently has focus. More...
 
static bool requestFocus (KeyboardListener *focus)
 Requests the keyboard focus to the specified listener If nothing currently has focus, sets focus to the listener Otherwise only changes focused listener if automatic focus is enabled. More...
 
static void setFocus (KeyboardListener *focus)
 Sets the keyboard focus to the specified listener. More...
 
- Protected Member Functions inherited from MultiWidgets::Widget
virtual void inputChildrenBack (MultiWidgets::GrabManager &gm, float dt, MultiWidgets::Widget::ChildIterator it)
 Sends the input to children in front-to-back order. More...
 
virtual ChildIterator inputChildrenFront (MultiWidgets::GrabManager &gm, float dt)
 Sends the input to children in front-to-back order. More...
 
virtual void interactionBegin (MultiWidgets::GrabManager &gm)
 This function gets called when the widget gets any interaction on it when it previously didn't have one. More...
 
virtual void interactionEnd (MultiWidgets::GrabManager &gm)
 This function gets called when the widget stops having any interaction on it while it previously had some. More...
 
virtual void postConstruct ()
 Called just after widget is fully created and normal constructors have been called, but before MultiWidgets::create returns. More...
 
virtual void preDestroy ()
 Called just before the widget is deleted and before destructor is called. More...
 
virtual void processFingers (MultiWidgets::GrabManager &gm, const MultiWidgets::FingerArray &fingers, float dt)
 Processes the fingers that the Widget has grabbed. More...
 
virtual void processHands (MultiWidgets::GrabManager &gm, const MultiWidgets::HandArray &hands, float dt)
 Processes the grabbed hands. More...
 
virtual void processPens (MultiWidgets::GrabManager &gm, const MultiWidgets::PenArray &pens, float dt)
 Processes the grabbed pens Is meant to be overriden: the default implementation does nothing. More...
 
virtual void processTrackedObjects (MultiWidgets::GrabManager &gm, const MultiWidgets::TrackedObjects &grabbed, float dt)
 Processes all of the grabbed objects (hands, fingers, pens, markers). More...
 
virtual void renderBackground (Luminous::RenderContext &r) const
 Render the Widget background as specified in CSS3 Backgrounds and Border Module. More...
 
virtual void renderBorder (Luminous::RenderContext &r) const
 Render the border of the Widget. More...
 
virtual ConstChildReverseIterator renderChildrenBack (Luminous::RenderContext &r) const
 Render child widgets behind (depth < 0) this widget. More...
 
virtual void renderChildrenFront (Luminous::RenderContext &r, MultiWidgets::Widget::ConstChildReverseIterator start) const
 Render child widgets starting from given child. More...
 
void setTapIsPossible (bool possible)
 Notifies the widget if a tap gesture is still possible. More...
 
virtual void singleTap (MultiWidgets::GrabManager &gm, const MultiWidgets::TrackedObjectArray &objs)
 This virtual function is called when widget receives a single-tap event. More...
 
virtual void updateMotion (const MultiWidgets::FrameInfo &frameInfo)
 Simulate the attributes that affect widget motion. More...
 
virtual void updateStyle ()
 Updates style to this widget. 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

This class represents a view to a web page.

It does not contain any UI except the HTML view. To generate decorations, such as a URL bar and navigation buttons, set the "display-frame" attribute to true.

The BrowserWidget uses Netscape plugins (i.e. Flash-plugin). To enable support for this, make sure the plugins are installed on the system that runs the browser. For example, install the plugins for a Firefox browser on the platform and the BrowserWidget should detect and use them.

This class has the following CSS pseudo-state:

  • :error Browser back-end has encountered an error.

Known issues:

  • On windows, Flash content inside iframe is rendered to wrong position. This is a bug in QtWebKit and will be fixed in future releases with newer version of Qt.
  • On OS X flash does not work as the Flash plugin loading fails. This is probably caused by compatibility problems between QtWebKit and recent versions of Flash.
See Also
BrowserFrameWidget
Deprecated:
This class is deprecated and will be removed in Cornerstone 2.2. Use WebBrowserCef::BrowserWidget instead.

Member Function Documentation

bool MultiWidgets::BrowserWidget::allowEditContent ( ) const

Is editing contents allowed.

If set to true, the browser will open a keyboard when editable content on a web page is clicked. If disabled, no keyboard is shown.

Returns
Current value of the allow-edit-content attribute
virtual KeyboardInterfaceWidgetPtr MultiWidgets::BrowserWidget::createKeyboard ( )
virtual

Creates keyboard for the browser.

If one is already present returns that.

Returns
Keyboard of the browser
bool MultiWidgets::BrowserWidget::delegateLinks ( ) const

Are links delegated.

If set to false, the browser will try to handle any activated links automatically. If disabled, the browser will only send the "link-clicked" event, but doesn't handle the request itself.

Returns
Current value of the delegate-links attribute
bool MultiWidgets::BrowserWidget::hasFuture ( ) const

Tells if we can go forward in page history.

Returns
Is it possible to go to next page
bool MultiWidgets::BrowserWidget::hasPast ( ) const

Tells if we are already visited some pages (ie.

can we go back in history)

Returns
Is it possible to go to previous page
bool MultiWidgets::BrowserWidget::isDisplayingFrame ( ) const

Does the browser display control frame (back & forward buttons, address bar etc.)

See Also
setDisplayFrame
Returns
Is related BrowserFrameWidget displayed
Current value of the display-frame attribute
bool MultiWidgets::BrowserWidget::isShowingScollBars ( ) const

Are the scrollbars of the browser visible.

See Also
setShowScrollBars
Returns
Are the scrollbars shown?
Current value of the show-scrollbars attribute
bool MultiWidgets::BrowserWidget::isUsingTwoHandMovement ( ) const

Can widget be scaled, translated and rotated with gestures using two hands.

If the attribute is set to true, all gestures involving two hands will perform the default widget interaction. If the attribute is set to false, widget itself doesn't offer any ways to be scaled, translated or rotated.

See Also
setUseTwoHandMovement
Returns
Is widget using two hands movements?
Current value of the use-two-hand-movement attribute
void MultiWidgets::BrowserWidget::load ( const QString &  url)

Tries to open the given url.

Parameters
urlUrl to open.
float MultiWidgets::BrowserWidget::minHandRadius ( ) const

Determines the threshold level for the fingers to be interpreted to belong to the same hand.

Is needed for the tracking systems that do not provide information about hands.

See Also
setMinHandRadius
Returns
Minimum radius for hands
Current value of the min-hand-radius attribute
void MultiWidgets::BrowserWidget::openURL ( const QString &  url)
virtual void MultiWidgets::BrowserWidget::parentChanged ( WidgetPtr  oldParent)
virtual

Handles the updating of BrowserFrameWidget.

Parameters
oldParentOld parent of the widget

Reimplemented from MultiWidgets::Widget.

virtual void MultiWidgets::BrowserWidget::processMarkers ( MultiWidgets::GrabManager gm,
const MultiWidgets::MarkerArray markers,
float  dt 
)
virtual

Handles the markers.

They work as shortcuts to different web pages

Parameters
gmGrab manager handling the input
markersArray of markers grabbed
dtFrame-time in seconds

Reimplemented from MultiWidgets::Widget.

Radiant::Color MultiWidgets::BrowserWidget::progressBarColor ( ) const

Color of the progress bar.

See Also
setProgressBarColor
Returns
Color of the progress bar
Current value of the progressbar-color attribute
float MultiWidgets::BrowserWidget::progressBarOpacity ( ) const

Opacity of the progress bar.

See Also
setProgressBarOpacity
Returns
Opacity of the progress bar
Current value of the progressbar-opacity attribute
float MultiWidgets::BrowserWidget::progressBarWidth ( ) const

Width of the progress bar.

See Also
setProgressBarWidth
Returns
Width of the progress bar
Current value of the progressbar-width attribute
QString MultiWidgets::BrowserWidget::proxy ( ) const

Proxy that the browser uses Examples: http://user:password@host or socks5://host:port.

See Also
setProxy
virtual void MultiWidgets::BrowserWidget::renderContent ( Luminous::RenderContext r) const
virtual

Renders the web page.

Parameters
rRendering context

Reimplemented from MultiWidgets::Widget.

virtual void MultiWidgets::BrowserWidget::renderProgressBar ( Luminous::RenderContext rc) const
virtual

Render the progress bar on the view.

Parameters
rcRendering context
virtual void MultiWidgets::BrowserWidget::renderScrollBars ( Luminous::RenderContext rc) const
virtual

Render the scrollbars on the view.

Parameters
rcRendering context
Radiant::Color MultiWidgets::BrowserWidget::scrollBarColor ( ) const

Color of the scrollbars.

See Also
setScrollBarColor
Returns
Current color of the scrollbars
Current value of the scrollbar-color attribute
float MultiWidgets::BrowserWidget::scrollBarOpacity ( ) const

Opacity of the scrollbars.

See Also
setScrollBarOpacity
Returns
Opacity of scrollbars
Current value of the scrollbar-opacity attribute
float MultiWidgets::BrowserWidget::scrollBarWidth ( ) const

Width if the scrollbars.

See Also
setScrollBarWidth
Returns
The width of the scrollbars
Current value of the scrollbar-width attribute
void MultiWidgets::BrowserWidget::setAllowEditContent ( bool  allow)

Setter for attribute allow-edit-content.

Parameters
allownew attribute value
void MultiWidgets::BrowserWidget::setAttribute ( QWebSettings::WebAttribute  attr,
bool  state = true,
bool  global = true 
)

Offers a possibility to feed options to WebKit backend.

Parameters
attrAttribute to modify
stateState of attribtue
globalIs this setting global or specific to whole browser
void MultiWidgets::BrowserWidget::setDelegateLinks ( bool  delegate)

Setter for attribute delegate-links.

Parameters
delegatenew attribute value
void MultiWidgets::BrowserWidget::setDisplayFrame ( bool  display)

Sets whether or not we are displaying associated control frame.

Setter for attribute display-frame.

See Also
isDisplayingFrame
Parameters
displayDo we display frame or not?
displaynew attribute value
void MultiWidgets::BrowserWidget::setMinHandRadius ( float  radius)

Sets minimum radius for hands.

Setter for attribute min-hand-radius.

See Also
minHandRadius
Parameters
radiusminimum radius for hands
radiusnew attribute value
void MultiWidgets::BrowserWidget::setProgressBarColor ( const Radiant::Color color)

Sets the color of the progress bar.

Setter for attribute progressbar-color.

See Also
progressBarColor
Parameters
colorColor of the progress bar
colornew attribute value
void MultiWidgets::BrowserWidget::setProgressBarOpacity ( float  opacity)

Sets the opacity of the progress bar.

Setter for attribute progressbar-opacity.

See Also
progressBarOpacity
Parameters
opacityOpacity of the progress bar
opacitynew attribute value
void MultiWidgets::BrowserWidget::setProgressBarWidth ( float  width)

Sets the width of the progress bar.

Setter for attribute progressbar-width.

See Also
progressBarWidth
Parameters
widthWidth of the progress bar
widthnew attribute value
void MultiWidgets::BrowserWidget::setProxy ( const QString &  proxyUrl)

Setter for attribute proxy.

Parameters
proxyUrlnew attribute value
void MultiWidgets::BrowserWidget::setScrollBarColor ( const Radiant::Color color)

Sets the color of scrollbars.

Setter for attribute scrollbar-color.

See Also
scrollBarColor
Parameters
colornew color of the scrollbars
colornew attribute value
void MultiWidgets::BrowserWidget::setScrollBarOpacity ( float  opacity)

Sets the opacity of scroll bars.

Setter for attribute scrollbar-opacity.

See Also
scrollBarOpacity
Parameters
opacityOpacity of scrollbars
opacitynew attribute value
void MultiWidgets::BrowserWidget::setScrollBarWidth ( float  width)

Sets the width of the scrollbars.

Setter for attribute scrollbar-width.

See Also
scrollBarWidth
Parameters
widthWidth of the scrollbars
widthnew attribute value
void MultiWidgets::BrowserWidget::setShortcuts ( const QMap< uint64_t, QString > &  shortcuts)

Sets the marker based shortcuts to browser.

See Also
shortcuts
Parameters
shortcutsNew map for shortcuts
void MultiWidgets::BrowserWidget::setShowScrollBars ( bool  show)

Set the scrollbars of the browser visible.

Setter for attribute show-scrollbars.

See Also
isShowingScollBars
Parameters
showAre the scrollbars shown?
shownew attribute value
void MultiWidgets::BrowserWidget::setSingleFingerPageScrollEnabled ( bool  enabled)

Can enable widget to use single finger page scroll.

Setter for attribute single-finger-page-scroll.

Parameters
enabledIs single finger page scroll enabled?
enablednew attribute value
void MultiWidgets::BrowserWidget::setSource ( const QString &  source)

Sets the starting page of the browser.

Setter for attribute source.

See Also
source
Parameters
source
sourcenew attribute value
void MultiWidgets::BrowserWidget::setUserAgent ( const QString &  userAgent)

Setter for attribute user-agent.

Parameters
userAgentnew attribute value
void MultiWidgets::BrowserWidget::setUseTwoHandMovement ( bool  use)

Set widget to use two hands movements.

Setter for attribute use-two-hand-movement.

See Also
isUsingTwoHandMovement
Parameters
useIs widget using two hands movements?
usenew attribute value
QMap<uint64_t, QString> MultiWidgets::BrowserWidget::shortcuts ( ) const

Mapping from marker codes to favourite pages.

In CSS these are given as a string list.

Returns
The key-value map from marker codes to url-addresses
bool MultiWidgets::BrowserWidget::singleFingerPageScrollEnabled ( ) const

If this attribute is set to true, pages can be scrolled using single finger.

Otherwise more than one finger is needed for the scrolling. The advantage of disabling single-finger-page-scroll is that then single finger movements are interpreted as mouse drag which enables the usage of the pages such as Google maps.

See Also
setSingleFingerPageScrollEnabled
Returns
Is single finger page scroll enabled?
Current value of the single-finger-page-scroll attribute
QString MultiWidgets::BrowserWidget::source ( ) const

Starting page of the browser.

See Also
setSource
Returns
Current starting page
const QString & MultiWidgets::BrowserWidget::userAgent ( ) const

Custom user-agent string.

If set, the browser will send the specified user-agent string to the server when loading web pages instead of the standard user-agent provided by Qt. Default is not set.

Returns
Current value of the user-agent attribute