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

Scrollable list of elements of same size. More...

Inheritance diagram for ListBox:
Container RangeModelNotifier ListModelNotifier Widget

Public Member Functions

void addSelectionNotifier (ListSelectionNotifier notifier)
 Add list selection notifier. More...
 
bool allowsChildGrabFocus ()
 Container allows child widgets to grab the focus. More...
 
void contentChanged (ListModel listModel, int fromIndex, int toIndex)
 Content of the model changed. More...
 
void dispose ()
 Dispose of widget. More...
 
void elementsAdded (ListModel listModel, int fromIndex, int toIndex)
 Elements added. More...
 
void elementsRemoved (ListModel listModel, int fromIndex, int toIndex)
 Elements removed. More...
 
Widget findFocusableWidget ()
 First widget that can grab the focus or null if absent. More...
 
Widget findLastFocusableWidget ()
 Last widget that can grab the focus or null if absent. More...
 
int getElementAt (int x, int y)
 Index of element at position or -1 if not found. More...
 
int getElementAt (Point position)
 Index of the element at position or -1 if not found. More...
 
ListElementRenderer getElementRenderer ()
 List element renderer. More...
 
int getFirstElement ()
 Index of the first visible element. More...
 
RangeModel getHorizontalRangeModel ()
 Horizontal range model for viewports to synchronize the horizontal scrollbar. More...
 
Point getMinimumSize ()
 Minimal size of widget. More...
 
Point getMinimumSizeForWidth (int width)
 Minimum size of widget using reference widget width and variable height. More...
 
ListModel getModel ()
 List model. More...
 
int getNumberDisplayLines ()
 Number of lines to display. More...
 
int getSelectedElement ()
 Index of selected item or -1 if none is selected. More...
 
int getType ()
 List type. More...
 
RangeModel getVerticalRangeModel ()
 Vertical range model for viewports to synchronize the vertical scrollbar. More...
 
bool hasFocusWidget ()
 Focus widget is inside container somewhere. More...
 
void makeElementVisible (int index)
 Make element fully visible by adjusting scroll position if required. More...
 
void makeSelectedElementVisible ()
 Make selected element fully visible by adjusting scroll position if required. More...
 
ListBox new ()
 Create list box. More...
 
ListBox new (ListModel model)
 Create list box using model. More...
 
ListBox new (ListModel model, ListElementRenderer renderer)
 Create list box using model and element renderer. More...
 
Widget nextFocusWidgetAfter (Widget widget)
 Find next widget in the focus cycle that can grab the focus. More...
 
void onButtonPress (MouseEvent event)
 Mouse button pressed. More...
 
void onButtonRelease (MouseEvent event)
 Mouse button released. More...
 
void onGuiThemeChanged ()
 Gui theme changed. More...
 
void onKeyPress (KeyEvent event)
 Key pressed. More...
 
void onMouseMove (MouseEvent event)
 Mouse moved. More...
 
void onResize (WidgetEvent event)
 Size changed. More...
 
Widget prevFocusWidgetAfter (Widget widget)
 Find previous widget in the focus cycle that can grab the focus. More...
 
void rangeChanged (RangeModel rangeModel)
 Range properties changed. More...
 
void removeSelectionNotifier (ListSelectionNotifier notifier)
 Remove list selection notifier. More...
 
void setElementRenderer (ListElementRenderer renderer)
 Set list element renderer. More...
 
void setModel (ListModel model)
 Set list model. More...
 
void setNumberDisplayLines (int lines)
 Set number of lines to display. More...
 
void setSelectedElement (int index)
 Set index of selected item or -1 if none is selected. More...
 
void setType (int type)
 Set list type. More...
 
void valueChanged (RangeModel rangeModel)
 Value changed. More...
 
- 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...
 
int getPaddingBottom ()
 
int getPaddingHeight ()
 Height gain of padding. More...
 
int getPaddingLeft ()
 
int getPaddingRight ()
 
Point getPaddingSize ()
 Size gain of padding. More...
 
int getPaddingTop ()
 
int getPaddingWidth ()
 Width gain of padding. 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 onGuiThemeChanged ()
 
void onHidden (WidgetEvent event)
 Widget has been hidden. 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 (MousePointer mousePointer)
 
void setPadding (int left, int top, int right, int bottom)
 
void setPadding (int padding)
 
void setPadding (BorderSize borderSize)
 Set padding from border size. More...
 
- Public Member Functions inherited from Widget
void addDragListener (DragListener listener)
 
void addFocusListener (FocusListener listener)
 Add focus 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 dispose ()
 
Widget findFocusableWidget ()
 
Widget findLastFocusableWidget ()
 
CanvasCreator getBackgroundCanvasCreator ()
 Background canvas creator or null to use background color. More...
 
Color getBackgroundColor ()
 
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...
 
Desktop getDesktop ()
 
Point getDesktopPosition ()
 Widget position in desktop coordinates. More...
 
bool getEnabled ()
 
MousePointer getFirstMousePointer ()
 
Font getFont ()
 
Color getForegroundColor ()
 
GuiTheme getGuiTheme ()
 
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 getMinimumSizeForHeightWithBorder (int height)
 Minimum size of widget with border 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 getMinimumSizeForWidthWithBorder (int width)
 Minimum size of widget with border using reference widget width and variable height. More...
 
Point getMinimumSizeWithBorder ()
 
MousePointer getMousePointer ()
 
Container getParent ()
 
Point getPosition ()
 Position of the widget. 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...
 
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 isBackgroundColorSet ()
 
bool isFontSet ()
 
bool isForegroundColorSet ()
 
bool isGuiThemeSet ()
 
bool isMinimumSizeSet ()
 
bool isMouseInside ()
 Mouse is hovering over this widget. More...
 
bool isPointInside (Point position)
 
bool isTransformationSet ()
 
void layoutParent ()
 
Widget new ()
 
Widget new (int x, int y, int width, int height)
 
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 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 onGuiThemeChanged ()
 
void onHidden (WidgetEvent event)
 Widget has been hidden. More...
 
void onKeyPress (KeyEvent event)
 
void onKeyRelease (KeyEvent event)
 
void onKeyType (KeyEvent event)
 
void onMouseEnter (MouseEvent event)
 
void onMouseLeave (MouseEvent event)
 
void onMouseMove (MouseEvent event)
 
void onReposition (WidgetEvent event)
 Position changed. More...
 
void onResize (WidgetEvent event)
 Size changed. More...
 
void onSetBackgroundColor ()
 
void onSetFont ()
 
void onSetForegroundColor ()
 
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 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 setBackgroundColor (Color color)
 
void setBorder (Border border)
 
void setCanFocus (bool canFocus)
 
void setColorTransformation (ColorMatrix transformation)
 Set color transformation. More...
 
void setEnabled (bool enabled)
 
void setFont (Font font)
 
void setForegroundColor (Color color)
 
void setGuiTheme (GuiTheme theme)
 
void setHasFocus (bool hasFocus)
 
void setHeight (int height)
 Set height of widget. More...
 
void setMinimumSize (Point size)
 
void setMousePointer (MousePointer mousePointer)
 
void setParent (Container parent)
 
void setPosition (Point position)
 Set position of widget. More...
 
void setSize (Point size)
 Set size of widget. 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...
 

Public Attributes

final int HORIZONTAL_WAP = 2
 displays the elements in as many rows fitting into the list height and as many columns required for the entire list. More...
 
final int VERTICAL = 0
 Displays the elements as a single column list from top to bottom. More...
 
final int VERTICAL_WRAP = 1
 displays the elements in as many columns fitting into the list width and as many rows required for the entire list. More...
 

Protected Member Functions

void checkModel ()
 Check if model is dirty and update parameters if required. More...
 
int getElementHeight ()
 Element height. More...
 
int getElementWidth ()
 Element width. More...
 
void notifyAllSelChanged ()
 Notify listeners selection changed. More...
 
void recalcVisibleElements ()
 Recalculate number of visible elements. More...
 
void updateElementSize ()
 Update element size. More...
 
void updateRangeModels ()
 Update range model. More...
 
void updateRenderWidgets ()
 Update render widgets if required. More...
 

Detailed Description

Scrollable list of elements of same size.

Elements are created using a ListElementRenderer to properly display ListModel content. List can be displayed in three different ways. VERTICAL displays the elements as a single column list from top to bottom. VERTICAL_WRAP displays the elements in as many columns fitting into the list width and as many rows required for the entire list. HORIZONTAL_WAP displays the elements in as many rows fitting into the list height and as many columns required for the entire list. VERTICAL is best suited for common lists the user can select values from fitting into a single column scrolling up and down. VERTICAL_WRAP and HORIZONTAL_WAP are best suited to display larger lists or lists with more square like elements lik file listings with file type icons.

Member Function Documentation

§ addSelectionNotifier()

void addSelectionNotifier ( ListSelectionNotifier  notifier)

Add list selection notifier.

§ allowsChildGrabFocus()

bool allowsChildGrabFocus ( )

Container allows child widgets to grab the focus.

§ checkModel()

void checkModel ( )
protected

Check if model is dirty and update parameters if required.

§ contentChanged()

void contentChanged ( ListModel  listModel,
int  fromIndex,
int  toIndex 
)

Content of the model changed.

Parameters
listModelListModel sending the notification
fromIndexIndex of first changed element.
toIndexIndex of last changed element.

Implements ListModelNotifier.

§ dispose()

void dispose ( )

Dispose of widget.

§ elementsAdded()

void elementsAdded ( ListModel  listModel,
int  fromIndex,
int  toIndex 
)

Elements added.

Parameters
listModelListModel sending the notification
fromIndexIndex of first added element.
toIndexIndex of last added element.

Implements ListModelNotifier.

§ elementsRemoved()

void elementsRemoved ( ListModel  listModel,
int  fromIndex,
int  toIndex 
)

Elements removed.

Parameters
listModelListModel sending the notification
fromIndexIndex of first removed element.
toIndexIndex of last removed element.

Implements ListModelNotifier.

§ findFocusableWidget()

Widget findFocusableWidget ( )

First widget that can grab the focus or null if absent.

§ findLastFocusableWidget()

Widget findLastFocusableWidget ( )

Last widget that can grab the focus or null if absent.

§ getElementAt() [1/2]

int getElementAt ( int  x,
int  y 
)

Index of element at position or -1 if not found.

§ getElementAt() [2/2]

int getElementAt ( Point  position)

Index of the element at position or -1 if not found.

§ getElementHeight()

int getElementHeight ( )
protected

Element height.

§ getElementRenderer()

ListElementRenderer getElementRenderer ( )

List element renderer.

§ getElementWidth()

int getElementWidth ( )
protected

Element width.

§ getFirstElement()

int getFirstElement ( )

Index of the first visible element.

§ getHorizontalRangeModel()

RangeModel getHorizontalRangeModel ( )

Horizontal range model for viewports to synchronize the horizontal scrollbar.

If this widget has no reasonable horizontal range model it should return null.

§ getMinimumSize()

Point getMinimumSize ( )

Minimal size of widget.

§ getMinimumSizeForWidth()

Point getMinimumSizeForWidth ( int  width)

Minimum size of widget using reference widget width and variable height.

Default implementation uses getMinimumSize().

§ getModel()

ListModel getModel ( )

List model.

§ getNumberDisplayLines()

int getNumberDisplayLines ( )

Number of lines to display.

§ getSelectedElement()

int getSelectedElement ( )

Index of selected item or -1 if none is selected.

§ getType()

int getType ( )

List type.

§ getVerticalRangeModel()

RangeModel getVerticalRangeModel ( )

Vertical range model for viewports to synchronize the vertical scrollbar.

If this widget has no reasonable vertical range model it should return null.

§ hasFocusWidget()

bool hasFocusWidget ( )

Focus widget is inside container somewhere.

§ makeElementVisible()

void makeElementVisible ( int  index)

Make element fully visible by adjusting scroll position if required.

§ makeSelectedElementVisible()

void makeSelectedElementVisible ( )

Make selected element fully visible by adjusting scroll position if required.

§ new() [1/3]

ListBox new ( )

Create list box.

§ new() [2/3]

ListBox new ( ListModel  model)

Create list box using model.

§ new() [3/3]

ListBox new ( ListModel  model,
ListElementRenderer  renderer 
)

Create list box using model and element renderer.

§ nextFocusWidgetAfter()

Widget nextFocusWidgetAfter ( Widget  widget)

Find next widget in the focus cycle that can grab the focus.

§ notifyAllSelChanged()

void notifyAllSelChanged ( )
protected

Notify listeners selection changed.

§ onButtonPress()

void onButtonPress ( MouseEvent  event)

Mouse button pressed.

§ onButtonRelease()

void onButtonRelease ( MouseEvent  event)

Mouse button released.

§ onGuiThemeChanged()

void onGuiThemeChanged ( )

Gui theme changed.

Called if setGuiTheme is used or parent changed.

Warning
You have to super-call this method since it is used a bit differently than the other callback methods.

§ onKeyPress()

void onKeyPress ( KeyEvent  event)

Key pressed.

§ onMouseMove()

void onMouseMove ( MouseEvent  event)

Mouse moved.

§ onResize()

void onResize ( WidgetEvent  event)

Size changed.

§ prevFocusWidgetAfter()

Widget prevFocusWidgetAfter ( Widget  widget)

Find previous widget in the focus cycle that can grab the focus.

§ rangeChanged()

void rangeChanged ( RangeModel  rangeModel)

Range properties changed.

Implements RangeModelNotifier.

§ recalcVisibleElements()

void recalcVisibleElements ( )
protected

Recalculate number of visible elements.

§ removeSelectionNotifier()

void removeSelectionNotifier ( ListSelectionNotifier  notifier)

Remove list selection notifier.

§ setElementRenderer()

void setElementRenderer ( ListElementRenderer  renderer)

Set list element renderer.

§ setModel()

void setModel ( ListModel  model)

Set list model.

§ setNumberDisplayLines()

void setNumberDisplayLines ( int  lines)

Set number of lines to display.

§ setSelectedElement()

void setSelectedElement ( int  index)

Set index of selected item or -1 if none is selected.

§ setType()

void setType ( int  type)

Set list type.

§ updateElementSize()

void updateElementSize ( )
protected

Update element size.

§ updateRangeModels()

void updateRangeModels ( )
protected

Update range model.

§ updateRenderWidgets()

void updateRenderWidgets ( )
protected

Update render widgets if required.

§ valueChanged()

void valueChanged ( RangeModel  rangeModel)

Value changed.

Implements RangeModelNotifier.

Member Data Documentation

§ HORIZONTAL_WAP

final int HORIZONTAL_WAP = 2

displays the elements in as many rows fitting into the list height and as many columns required for the entire list.

best suited to display larger lists or lists with more square like elements lik file listings with file type icons.

§ VERTICAL

final int VERTICAL = 0

Displays the elements as a single column list from top to bottom.

best suited for common lists the user can select values from fitting into a single column scrolling up and down.

§ VERTICAL_WRAP

final int VERTICAL_WRAP = 1

displays the elements in as many columns fitting into the list width and as many rows required for the entire list.

best suited to display larger lists or lists with more square like elements lik file listings with file type icons.


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