Drag[en]gine Script Module DragonScript Script API  1.0
Desktop Class Reference

Desktop containing set of windows. More...

Inheritance diagram for Desktop:
Container Widget

Public Member Functions

void addWidget (Widget widget)
 Add window to desktop. More...
 
void addWidget (Widget widget, Object settings)
 Add window to desktop. More...
 
void addWindow (Window window)
 Add window to desktop. More...
 
void addWindow (Window window, Object settings)
 Add window to desktop. More...
 
bool allowsChildGrabFocus ()
 Container allows child widgets to grab the focus. More...
 
void clearFocusWidget ()
 
void dispose ()
 Disposes of widget. More...
 
void focusActiveWidgetOfTopWindow ()
 
MousePointerFactory getActiveMousePointer ()
 Active mouse pointer factory or null. More...
 
Window getActiveWindow ()
 Active window or null. More...
 
Desktop getDesktop ()
 
Point getDesktopPosition ()
 Widget position in desktop coordinates. More...
 
Widget getFocusWidget ()
 Focused widget or null. More...
 
Widget getHoverWidget ()
 Widget the mouse hovers above or null. More...
 
bool getIsMouseHidden ()
 Movement area of mouse pointer. More...
 
Widget getMouseCaptureWidget ()
 
Point getMouseLocation ()
 Location of mouse pointer. More...
 
MousePointer getMousePointerInstance ()
 Mouse pointer instance or null. More...
 
BorderSize getNoWindowBorder ()
 Area along the borders no window can occupy. More...
 
void giveUpFocus ()
 
bool isWidgetDeepEnabled (Widget widget)
 Size changed. More...
 
void layoutParent ()
 
Desktop new (int width, int height)
 Create desktop widget. More...
 
Desktop new (int x, int y, int width, int height)
 Create desktop widget. More...
 
void onButtonPress (MouseEvent event)
 
void onButtonRelease (MouseEvent event)
 
void onMouseMove (MouseEvent event)
 
void processEvent (Event event)
 
void removeAllWidgets ()
 Remove all windows from desktop. More...
 
void removeWidget (Widget widget)
 Remove window from desktop. More...
 
bool requestCaptureMouse (Widget widget)
 Request to capture the mouse for the specified widget. More...
 
void requestGrabFocus (Widget widget)
 
bool requestReleaseMouse (Widget widget)
 Request to release mouse capture. More...
 
void setActiveMousePointer (MousePointerFactory mousePointer)
 Set active mouse pointer or null. More...
 
void setIsMouseHidden (bool hidden)
 Set if mouse pointer is hidden. More...
 
void setMouseLocation (Point location)
 Set location of mouse pointer. More...
 
void setNoWindowBorder (BorderSize size)
 Set area along the borders no window can occupy. More...
 
void updateHoverWidget ()
 Update hover widget. More...
 
void warpCenterMouseIn (Widget widget)
 Warp mouse pointer centered inside widget. More...
 
void warpMouseIn (Widget widget, Point location)
 Warp mouse pointer relative to widget. More...
 
void warpMousePointer (Point location)
 Warp mouse pointer. More...
 
void windowToTop (Window window)
 
- Public Member Functions inherited from Container
void addWidget (Widget widget)
 
void addWidget (Widget widget, Object settings)
 
bool allowsChildGrabFocus ()
 
void dispose ()
 
void doLayout ()
 
Widget findLastFocusableWidget ()
 
void forEachWidget (Block ablock)
 
bool getAutoVisibleChildren ()
 
bool getBlockLayout ()
 Block layout calls. More...
 
int getContainerHeight ()
 
Point getContainerSize ()
 
int getContainerWidth ()
 
Layout getLayout ()
 
Point getMinimumSize ()
 
Point getMinimumSizeForHeight (int height)
 Minimum size of widget using reference widget height and variable width. More...
 
Point getMinimumSizeForWidth (int width)
 Minimum size of widget using reference widget width and variable height. More...
 
Widget getWidget (int index)
 
Widget getWidgetAt (Point position)
 Widget at coordinates or null if not found. More...
 
int getWidgetCount ()
 
void giveUpFocus ()
 
bool hasFocusWidget ()
 Focus widget is inside container somewhere. More...
 
bool hasWidget (Widget widget)
 
int indexOfWidget (Widget widget)
 
bool isChildVisible (Widget child)
 
bool isMouseInside ()
 Mouse is hovering over this widget. More...
 
void layoutParent ()
 
void moveWidget (Widget widget, int newPosition)
 
Container new ()
 
Container new (int x, int y, int width, int height)
 
Widget nextFocusWidgetAfter (Widget widget)
 Find next widget in the focus cycle that can grab the focus. More...
 
void notifyChildrenParentStateChanged ()
 Notify children about parent state change. More...
 
void onGuiThemeChanged ()
 
void onHidden (WidgetEvent event)
 Widget has been hidden. More...
 
void onPaddingChanged ()
 Padding changed. More...
 
void onParentStateChanged ()
 Parent state changed. More...
 
void onResize (WidgetEvent event)
 Size changed. More...
 
void onStateChanged (StateChangeEvent event)
 State changed. More...
 
Widget prevFocusWidgetAfter (Widget widget)
 Find previous widget in the focus cycle that can grab the focus. More...
 
void removeAllWidgets ()
 
void removeWidget (Widget widget)
 
void reorderChildCanvas ()
 
bool requestCaptureMouse (Widget widget)
 
bool requestReleaseMouse (Widget widget)
 
void runWhileBlockingLayout (Block ablock)
 Run block while layouting is blocked. More...
 
void setAutoVisibleChildren (bool autoVisible)
 
void setBlockLayout (bool blockLayout)
 Set block layout calls. More...
 
void setLayout (Layout layout)
 
void setMousePointer (MousePointerFactory mousePointer)
 Set mouse pointer to use. More...
 
- Public Member Functions inherited from Widget
void addDragListener (DragListener listener)
 
void addFocusListener (FocusListener listener)
 Add focus listener. More...
 
void addGamepadListener (GamepadListener listener)
 Add gamepad listener. More...
 
void addKeyListener (KeyListener listener)
 
void addMouseListener (MouseListener listener)
 
void addStateChangeListener (StateChangeListener listener)
 Add state change listener. More...
 
void addWidgetListener (WidgetListener listener)
 Add widget listener. More...
 
bool canGrabFullFocus ()
 
void captureMouse ()
 
void design ()
 Design widget using WidgetDesigner. More...
 
void dispose ()
 
Widget findFocusableWidget ()
 
Widget findLastFocusableWidget ()
 
CanvasCreator getBackgroundCanvasCreator ()
 Background canvas creator or null to use background color. More...
 
Border getBorder ()
 
BorderSize getBorderSize ()
 
RectArea getBoundary ()
 Rectangulare boundary of the widget. More...
 
RectArea getBoundaryWithBorder ()
 Rectangulare boundary of the widget including border. More...
 
bool getCanFocus ()
 
CanvasView getCanvasBackground ()
 
CanvasView getCanvasContent ()
 
CanvasView getCanvasWidget ()
 
ColorMatrix getColorTransformation ()
 Color transformation. More...
 
WidgetDesigner getDesigner ()
 Designer. More...
 
String getDesignerSelector ()
 Designer selector. More...
 
Desktop getDesktop ()
 
Point getDesktopPosition ()
 Widget position in desktop coordinates. More...
 
bool getEnabled ()
 
MousePointerFactory getFirstMousePointer ()
 First assigned mouse pointer. More...
 
Font getFont ()
 
GuiTheme getGuiTheme ()
 Gui theme to use for this widget. More...
 
bool getHasFocus ()
 
int getHeight ()
 Height of widget. More...
 
RangeModel getHorizontalRangeModel ()
 Horizontal range model for viewports to synchronize the horizontal scrollbar. More...
 
Point getMinimumSize ()
 
Point getMinimumSizeForHeight (int height)
 Minimum size of widget using reference widget height and variable width. More...
 
Point getMinimumSizeForWidth (int width)
 Minimum size of widget using reference widget width and variable height. More...
 
Point getMinimumSizeWithBorder ()
 
Point getMinimumSizeWithBorderForHeight (int height)
 Minimum size of widget with border using reference height. More...
 
Point getMinimumSizeWithBorderForWidth (int width)
 Minimum size of widget with border for reference width. More...
 
MousePointerFactory getMousePointer ()
 Mouse pointer to use. More...
 
BorderSize getPadding ()
 Padding. More...
 
Container getParent ()
 
Point getPosition ()
 Position of the widget. More...
 
bool getProtectBackgroundCanvasCreator ()
 Protect custom set background canvas creator. More...
 
bool getProtectBorder ()
 Protect custom set border. More...
 
bool getProtectFont ()
 Protect custom set font. More...
 
bool getProtectMinimumSize ()
 Protect custom set minimumsize. More...
 
bool getProtectMousePointer ()
 Protect custom set mouse pointer. More...
 
bool getProtectPadding ()
 Protect custom set padding. More...
 
bool getProtectTextColor ()
 Protect custom set text color. More...
 
Point getRelativePosition (Container parent)
 Widget position in parent widget coordinates. More...
 
Point getScreenPosition ()
 Widget position in screen coordinates. More...
 
RectArea getScreenRectArea ()
 
Point getSetMinimumSize ()
 
Point getSize ()
 Size of the widget. More...
 
Color getTextColor ()
 Text color. More...
 
String getThemeSelector ()
 Gui theme selector or null if not used. More...
 
float getTotalTransparency ()
 
TexMatrix2 getTransformation ()
 
float getTransparency ()
 
RangeModel getVerticalRangeModel ()
 Vertical range model for viewports to synchronize the vertical scrollbar. More...
 
bool getVisible ()
 
Widget getWidgetAt (Point position)
 Widget at coordinates or null if not found. More...
 
int getWidth ()
 Width of widget. More...
 
Window getWindow ()
 
Point getWindowPosition ()
 Widget position in window coordinates. More...
 
int getX ()
 X position of widget. More...
 
int getY ()
 Y position of widget. More...
 
void grabFocus ()
 
bool hasParent (Container container)
 
bool isDesignerSet ()
 Custom designer is set. More...
 
bool isFullEnabled ()
 Widget and all parent widgets are enabled. More...
 
bool isGuiThemeSet ()
 
bool isMinimumSizeSet ()
 
bool isMouseInside ()
 Mouse is hovering over this widget. More...
 
bool isPointInside (Point position)
 
bool isTransformationSet ()
 
void layoutParent ()
 
Widget new ()
 Create widget. More...
 
Widget new (int x, int y, int width, int height)
 Create widget with initial location and size. More...
 
Widget nextFocusWidget ()
 Find next widget in the focus cycle that can grab the focus. More...
 
void notifyBorderParametersChanged ()
 
void onButtonPress (MouseEvent event)
 
void onButtonRelease (MouseEvent event)
 
void onDesignerChanged ()
 Designer changed. More...
 
void onDesignerSelectorChanged ()
 Designer selector changed. More...
 
void onDispose (WidgetEvent event)
 Window is disposing. More...
 
void onDragDrop (DragEvent event)
 
void onDragEnter (DragEvent event)
 
void onDragLeave (DragEvent event)
 
void onDragOver (DragEvent event)
 
void onFocusLost (FocusEvent event)
 Widget lost focus. More...
 
void onFocusReceived (FocusEvent event)
 Widget received focus. More...
 
void onGamepadAxisMoved (GamepadEvent event)
 Gamepad axis has been moved. More...
 
void onGamepadButtonPressed (GamepadEvent event)
 Gamepad button has been pressed. More...
 
void onGamepadButtonReleased (GamepadEvent event)
 Gamepad button has been released. More...
 
void onGuiThemeChanged ()
 
void onHidden (WidgetEvent event)
 Widget has been hidden. More...
 
void onKeyPress (KeyEvent event)
 
void onKeyRelease (KeyEvent event)
 
void onMouseEnter (MouseEvent event)
 
void onMouseLeave (MouseEvent event)
 
void onMouseMove (MouseEvent event)
 
void onMouseWheel (MouseEvent event)
 Mouse wheel has moved. More...
 
void onPaddingChanged ()
 Padding changed. More...
 
void onParentStateChanged ()
 Parent state changed. More...
 
void onReposition (WidgetEvent event)
 Position changed. More...
 
void onResize (WidgetEvent event)
 Size changed. More...
 
void onSetBackgroundColor ()
 
void onSetFont ()
 
void onSetTextColor ()
 Text color changed. More...
 
void onShown (WidgetEvent event)
 Widget has been shown. More...
 
void onStateChanged (StateChangeEvent event)
 State changed. More...
 
Widget prevFocusWidget ()
 Find previous widget in the focus cycle that can grab the focus. More...
 
void processEvent (Event event)
 
void releaseMouse ()
 
void removeDragListener (DragListener listener)
 
void removeFocusListener (FocusListener listener)
 Remove focus listener. More...
 
void removeGamepadListener (GamepadListener listener)
 
void removeKeyListener (KeyListener listener)
 
void removeMouseListener (MouseListener listener)
 
void removeStateChangeListener (StateChangeListener listener)
 Remove state change listener. More...
 
void removeWidgetListener (WidgetListener listener)
 Remove widget listener. More...
 
void requestGrabFocus (Widget widget)
 
void sendEvent (Event event)
 
void sendEventToListeners (Event event, bool sendToParent)
 Send event to all appropriate listeners for events of its kind. More...
 
void setBackgroundCanvasCreator (CanvasCreator creator)
 Set background canvas creator or null to use background color. More...
 
void setBorder (Border border)
 
void setCanFocus (bool canFocus)
 
void setColorTransformation (ColorMatrix transformation)
 Set color transformation. More...
 
void setDesigner (WidgetDesigner designer)
 Set designer. More...
 
void setDesignerSelector (String selector)
 Set designer selector. More...
 
void setEnabled (bool enabled)
 
void setFont (Font font)
 
void setGuiTheme (GuiTheme theme)
 
void setHasFocus (bool hasFocus)
 
void setHeight (int height)
 Set height of widget. More...
 
void setMinimumSize (Point size)
 
void setMousePointer (MousePointerFactory mousePointer)
 Set mouse pointer to use. More...
 
void setPadding (BorderSize padding)
 Set padding. More...
 
void setParent (Container parent)
 
void setPosition (Point position)
 Set position of widget. More...
 
void setProtectBackgroundCanvasCreator (bool protect)
 Set protect custom set background canvas creator. More...
 
void setProtectBorder (bool protect)
 Set protect custom set border. More...
 
void setProtectFont (bool protect)
 Set protect custom set font. More...
 
void setProtectMinimumSize (bool protect)
 Set protect custom set minimumsize. More...
 
void setProtectMousePointer (bool protect)
 Set protect custom set mouse pointer. More...
 
void setProtectPadding (bool protect)
 Set protect custom set padding. More...
 
void setProtectTextColor (bool protect)
 Set protect custom set text color. More...
 
void setSize (Point size)
 Set size of widget. More...
 
void setTextColor (Color color)
 Set text color. More...
 
void setThemeSelector (String selector)
 Set gui theme selector or null if not used. More...
 
void setTransformation (TexMatrix2 transformation)
 
void setTransparency (float transparency)
 
void setVisible (bool visible)
 
void setWidth (int width)
 Set width of widget. More...
 
void setX (int x)
 Set X position of widget. More...
 
void setY (int y)
 Set Y Position of widget. More...
 
void stopRepeatEventTimer ()
 
void updateCanvasBackground ()
 Update background canvas content. More...
 

Protected Member Functions

Window getTrackDecoration ()
 Decoration whose state is tracked or null. More...
 
int getTrackDecorationAreaHover ()
 Tracked decoration area the mouse hovers above. More...
 
void setHoverWidget (Widget widget, MouseEvent event)
 Set widget the mouse hovers above. More...
 
void setTrackDecoration (Window window)
 Set decoration whose state is tracked or null. More...
 
void setTrackDecorationAreaHover (int areaHover)
 Set tracked decoration area the mouse hovers above. More...
 
- Protected Member Functions inherited from Widget
WidgetDesigner getDesignerFromTheme ()
 Get designer from gui theme. More...
 

Detailed Description

Desktop containing set of windows.

Provides typical desktop support like handling window interaction, focus and hover widget as well as mouse pointer handling.

Todo:
Add support to set mouse pointers for different situations:
  • normal mouse pointer
  • resizing mouse pointes: 8 pointers for each direction these also have to go into a new DefaultDesktopDesigner class. change the mouse pointer depending on the situation. mouse pointers should have only the responsibility to provide and update a canvas. complex logic like showing additional widgets like the InfoMousePointer does have to be moved into MouseListener which update widgets matching the mouse pointer position. this separates extended logic from basic design which can be done using XML. It also allows to attach logic to a MousePointer without the need to alter the instance itself.

Member Function Documentation

◆ addWidget() [1/2]

void addWidget ( Widget  widget)

Add window to desktop.

◆ addWidget() [2/2]

void addWidget ( Widget  widget,
Object  settings 
)

Add window to desktop.

◆ addWindow() [1/2]

void addWindow ( Window  window)

Add window to desktop.

To add windows use this function rather than addWidget.

◆ addWindow() [2/2]

void addWindow ( Window  window,
Object  settings 
)

Add window to desktop.

To add windows use this function rather than addWidget.

◆ allowsChildGrabFocus()

bool allowsChildGrabFocus ( )

Container allows child widgets to grab the focus.

◆ clearFocusWidget()

void clearFocusWidget ( )

Clears the focus widget.

◆ dispose()

void dispose ( )

Disposes of widget.

◆ focusActiveWidgetOfTopWindow()

void focusActiveWidgetOfTopWindow ( )

Focus the active widget of the top window if possible.

◆ getActiveMousePointer()

MousePointerFactory getActiveMousePointer ( )

Active mouse pointer factory or null.

◆ getActiveWindow()

Window getActiveWindow ( )

Active window or null.

◆ getDesktop()

Desktop getDesktop ( )

Retrieves the desktop or null if this widget is not part of a desktop. The default implementation forwards the request to the parent with the Desktop or a subclass thereof intercepting.

◆ getDesktopPosition()

Point getDesktopPosition ( )

Widget position in desktop coordinates.

◆ getFocusWidget()

Widget getFocusWidget ( )

Focused widget or null.

◆ getHoverWidget()

Widget getHoverWidget ( )

Widget the mouse hovers above or null.

◆ getIsMouseHidden()

bool getIsMouseHidden ( )

Movement area of mouse pointer.

Set movement area of the mouse pointer. Mouse pointer is hidden.

◆ getMouseCaptureWidget()

Widget getMouseCaptureWidget ( )

Retrieves the widget having captured the mouse.

◆ getMouseLocation()

Point getMouseLocation ( )

Location of mouse pointer.

◆ getMousePointerInstance()

MousePointer getMousePointerInstance ( )

Mouse pointer instance or null.

◆ getNoWindowBorder()

BorderSize getNoWindowBorder ( )

Area along the borders no window can occupy.

◆ getTrackDecoration()

Window getTrackDecoration ( )
protected

Decoration whose state is tracked or null.

◆ getTrackDecorationAreaHover()

int getTrackDecorationAreaHover ( )
protected

Tracked decoration area the mouse hovers above.

◆ giveUpFocus()

void giveUpFocus ( )

Notifies that the current focus widget can no longer hold the focus.

◆ isWidgetDeepEnabled()

bool isWidgetDeepEnabled ( Widget  widget)

Size changed.

Determines if a widget is enabled checking the parents too.

◆ layoutParent()

void layoutParent ( )

Layout parent if existing. Modified version to not layout of Desktop. Desktop widgets have a fixed size and do not change size if their windows change in any way. Prevents triggering parent layout calls wasting time. On the other hand check for condition changes altering stored widgets

◆ new() [1/2]

Desktop new ( int  width,
int  height 
)

Create desktop widget.

◆ new() [2/2]

Desktop new ( int  x,
int  y,
int  width,
int  height 
)

Create desktop widget.

◆ onButtonPress()

void onButtonPress ( MouseEvent  event)

Notification that a mouse button has been pressed.

◆ onButtonRelease()

void onButtonRelease ( MouseEvent  event)

Notification that a mouse button has been released.

◆ onMouseMove()

void onMouseMove ( MouseEvent  event)

Notification that the mouse has moved.

◆ processEvent()

void processEvent ( Event  event)

Sends an Event to the focus widget or drop it.

◆ removeAllWidgets()

void removeAllWidgets ( )

Remove all windows from desktop.

◆ removeWidget()

void removeWidget ( Widget  widget)

Remove window from desktop.

◆ requestCaptureMouse()

bool requestCaptureMouse ( Widget  widget)

Request to capture the mouse for the specified widget.

◆ requestGrabFocus()

void requestGrabFocus ( Widget  widget)

Request to focus the specified widget.

◆ requestReleaseMouse()

bool requestReleaseMouse ( Widget  widget)

Request to release mouse capture.

Returns
true if the widget is the capture widget otherwise false.

◆ setActiveMousePointer()

void setActiveMousePointer ( MousePointerFactory  mousePointer)

Set active mouse pointer or null.

If factory changes a new mouse pointer instance is created if not null.

◆ setHoverWidget()

void setHoverWidget ( Widget  widget,
MouseEvent  event 
)
protected

Set widget the mouse hovers above.

If widget is different than the old one enter and leave messages are send.

◆ setIsMouseHidden()

void setIsMouseHidden ( bool  hidden)

Set if mouse pointer is hidden.

◆ setMouseLocation()

void setMouseLocation ( Point  location)

Set location of mouse pointer.

Location is clamped to the mouse movement area.

◆ setNoWindowBorder()

void setNoWindowBorder ( BorderSize  size)

Set area along the borders no window can occupy.

◆ setTrackDecoration()

void setTrackDecoration ( Window  window)
protected

Set decoration whose state is tracked or null.

◆ setTrackDecorationAreaHover()

void setTrackDecorationAreaHover ( int  areaHover)
protected

Set tracked decoration area the mouse hovers above.

◆ updateHoverWidget()

void updateHoverWidget ( )

Update hover widget.

Call if the hover widget is removed from the desktop.

◆ warpCenterMouseIn()

void warpCenterMouseIn ( Widget  widget)

Warp mouse pointer centered inside widget.

Use this method if you move the moue pointer directly as otherwise the appropriate messages are not send.

◆ warpMouseIn()

void warpMouseIn ( Widget  widget,
Point  location 
)

Warp mouse pointer relative to widget.

Use this method if you move the moue pointer directly as otherwise the appropriate messages are not send.

◆ warpMousePointer()

void warpMousePointer ( Point  location)

Warp mouse pointer.

Use this method if you move the moue pointer directly as otherwise the appropriate messages are not send.

◆ windowToTop()

void windowToTop ( Window  window)

Moves the window to the top.


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