<html><head> <META http-equiv="content-type" content="text/html; charset=utf-8"> <title>dlangui.widgets.lists</title> </head><body> <h1>dlangui.widgets.lists</h1> <!-- Generated by Ddoc from src/dlangui/widgets/lists.d --> DLANGUI library. <br><br> This module contains list widgets implementation. <br><br> Similar to <u>lists</u> implementation in Android UI API. <br><br> <b>Synopsis:</b><br> <pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>lists</u>; </pre> <br><br> <b>License:</b><br> Boost License 1.0 <br><br> <b>Authors:</b><br> Vadim Lopatin, coolreader.org@gmail.com<br><br> <dl><dt><big><a name="ListAdapter"></a>interface <u>ListAdapter</u>; </big></dt> <dd>list widget adapter provides items for list widgets<br><br> <dl><dt><big><a name="ListAdapter.itemCount"></a>abstract @property int <u>itemCount</u>(); </big></dt> <dd>returns number of widgets in list<br><br> </dd> <dt><big><a name="ListAdapter.itemWidget"></a>abstract Widget <u>itemWidget</u>(int <i>index</i>); </big></dt> <dd>return list item widget by item <i>index</i><br><br> </dd> <dt><big><a name="ListAdapter.itemState"></a>abstract uint <u>itemState</u>(int <i>index</i>); </big></dt> <dd>return list item's state flags<br><br> </dd> <dt><big><a name="ListAdapter.setItemState"></a>abstract uint <u>setItemState</u>(int <i>index</i>, uint <i>flags</i>); </big></dt> <dd>set one or more list item's state <i>flags</i>, returns updated state<br><br> </dd> <dt><big><a name="ListAdapter.resetItemState"></a>abstract uint <u>resetItemState</u>(int <i>index</i>, uint <i>flags</i>); </big></dt> <dd>reset one or more list item's state <i>flags</i>, returns updated state<br><br> </dd> </dl> </dd> <dt><big><a name="WidgetListAdapter"></a>class <u>WidgetListAdapter</u>: dlangui.widgets.lists.ListAdapter; </big></dt> <dd>List adapter for simple list of widget instances<br><br> <dl><dt><big><a name="WidgetListAdapter.widgets"></a>@property ref WidgetList <u>widgets</u>(); </big></dt> <dd>list of <u>widgets</u> to display<br><br> </dd> <dt><big><a name="WidgetListAdapter.itemCount"></a>@property int <u>itemCount</u>(); </big></dt> <dd>returns number of widgets in list<br><br> </dd> <dt><big><a name="WidgetListAdapter.itemWidget"></a>Widget <u>itemWidget</u>(int <i>index</i>); </big></dt> <dd>return list item widget by item <i>index</i><br><br> </dd> <dt><big><a name="WidgetListAdapter.itemState"></a>uint <u>itemState</u>(int <i>index</i>); </big></dt> <dd>return list item's state flags<br><br> </dd> <dt><big><a name="WidgetListAdapter.setItemState"></a>uint <u>setItemState</u>(int <i>index</i>, uint <i>flags</i>); </big></dt> <dd>set one or more list item's state <i>flags</i>, returns updated state<br><br> </dd> <dt><big><a name="WidgetListAdapter.resetItemState"></a>uint <u>resetItemState</u>(int <i>index</i>, uint <i>flags</i>); </big></dt> <dd>reset one or more list item's state <i>flags</i>, returns updated state<br><br> </dd> </dl> </dd> <dt><big><a name="ListWidget"></a>class <u>ListWidget</u>: dlangui.widgets.widget.WidgetGroup, dlangui.widgets.controls.OnScrollHandler; </big></dt> <dd>List<br><br> <dl><dt><big><a name="ListWidget.orientation"></a>@property Orientation <u>orientation</u>(); </big></dt> <dd>returns linear layout <u>orientation</u> (Vertical, Horizontal)<br><br> </dd> <dt><big><a name="ListWidget.orientation"></a>@property ListWidget <u>orientation</u>(Orientation <i>value</i>); </big></dt> <dd>sets linear layout <u>orientation</u><br><br> </dd> <dt><big><a name="ListWidget._firstVisibleItem"></a>protected int <u>_firstVisibleItem</u>; </big></dt> <dd>first visible item index<br><br> </dd> <dt><big><a name="ListWidget._scrollPosition"></a>protected int <u>_scrollPosition</u>; </big></dt> <dd>scroll position - offset of scroll area<br><br> </dd> <dt><big><a name="ListWidget._maxScrollPosition"></a>protected int <u>_maxScrollPosition</u>; </big></dt> <dd>maximum scroll position<br><br> </dd> <dt><big><a name="ListWidget._clientRc"></a>protected Rect <u>_clientRc</u>; </big></dt> <dd>client area rectangle (counting padding, margins, and scrollbar)<br><br> </dd> <dt><big><a name="ListWidget._totalSize"></a>protected int <u>_totalSize</u>; </big></dt> <dd>total height of all items for Vertical orientation, or width for Horizontal<br><br> </dd> <dt><big><a name="ListWidget._hoverItemIndex"></a>protected int <u>_hoverItemIndex</u>; </big></dt> <dd>item with Hover state, -1 if no such item<br><br> </dd> <dt><big><a name="ListWidget._selectedItemIndex"></a>protected int <u>_selectedItemIndex</u>; </big></dt> <dd>item with Selected state, -1 if no such item<br><br> </dd> <dt><big><a name="ListWidget._selectOnHover"></a>protected bool <u>_selectOnHover</u>; </big></dt> <dd>when <b>true</b>, mouse hover selects underlying item<br><br> </dd> <dt><big><a name="ListWidget.selectOnHover"></a>@property bool <u>selectOnHover</u>(); </big></dt> <dd>when <b>true</b>, mouse hover selects underlying item<br><br> </dd> <dt><big><a name="ListWidget.selectOnHover"></a>@property ListWidget <u>selectOnHover</u>(bool <i>select</i>); </big></dt> <dd>when <b>true</b>, mouse hover selects underlying item<br><br> </dd> <dt><big><a name="ListWidget._clickOnButtonDown"></a>protected bool <u>_clickOnButtonDown</u>; </big></dt> <dd>if <b>true</b>, generate itemClicked on mouse down instead mouse up event<br><br> </dd> <dt><big><a name="ListWidget.itemRectNoScroll"></a>Rect <u>itemRectNoScroll</u>(int <i>index</i>); </big></dt> <dd>returns rectangle for item (not scrolled, first item starts at 0,0)<br><br> </dd> <dt><big><a name="ListWidget.itemRect"></a>Rect <u>itemRect</u>(int <i>index</i>); </big></dt> <dd>returns rectangle for item (scrolled)<br><br> </dd> <dt><big><a name="ListWidget.itemByPosition"></a>int <u>itemByPosition</u>(int <i>pos</i>); </big></dt> <dd>returns item index by 0-based offset from top/left of list content<br><br> </dd> <dt><big><a name="ListWidget._ownAdapter"></a>protected bool <u>_ownAdapter</u>; </big></dt> <dd>when <b>true</b>, need to destroy adapter on list destroy<br><br> </dd> <dt><big><a name="ListWidget.adapter"></a>@property ListAdapter <u>adapter</u>(); </big></dt> <dd>get <u>adapter</u><br><br> </dd> <dt><big><a name="ListWidget.adapter"></a>@property ListWidget <u>adapter</u>(ListAdapter <u>adapter</u>); </big></dt> <dd>set <u>adapter</u><br><br> </dd> <dt><big><a name="ListWidget.ownAdapter"></a>@property ListWidget <u>ownAdapter</u>(ListAdapter <i>adapter</i>); </big></dt> <dd>set <i>adapter</i>, which will be owned by list (destroy will be called for <i>adapter</i> on widget destroy)<br><br> </dd> <dt><big><a name="ListWidget.itemCount"></a>@property int <u>itemCount</u>(); </big></dt> <dd>returns number of widgets in list<br><br> </dd> <dt><big><a name="ListWidget.itemWidget"></a>Widget <u>itemWidget</u>(int <i>index</i>); </big></dt> <dd>return list item widget by item <i>index</i><br><br> </dd> <dt><big><a name="ListWidget.itemEnabled"></a>bool <u>itemEnabled</u>(int <i>index</i>); </big></dt> <dd>returns <b>true</b> if item with corresponding <i>index</i> is enabled<br><br> </dd> <dt><big><a name="ListWidget.selectionChanged"></a>protected void <u>selectionChanged</u>(int <i>index</i>, int <i>previouslySelectedItem</i> = -1); </big></dt> <dd>override to handle change of selection<br><br> </dd> <dt><big><a name="ListWidget.itemClicked"></a>protected void <u>itemClicked</u>(int <i>index</i>); </big></dt> <dd>override to handle mouse up on item<br><br> </dd> <dt><big><a name="ListWidget.handleFocusChange"></a>protected void <u>handleFocusChange</u>(bool <i>focused</i>); </big></dt> <dd>override to handle focus changes<br><br> </dd> <dt><big><a name="ListWidget.makeSelectionVisible"></a>void <u>makeSelectionVisible</u>(); </big></dt> <dd>ensure selected item is visible (scroll if necessary)<br><br> </dd> <dt><big><a name="ListWidget.makeItemVisible"></a>void <u>makeItemVisible</u>(int <i>itemIndex</i>); </big></dt> <dd>ensure item is visible<br><br> </dd> <dt><big><a name="ListWidget.moveSelection"></a>bool <u>moveSelection</u>(int <i>direction</i>, bool <i>wrapAround</i> = true); </big></dt> <dd>move selection<br><br> </dd> <dt><big><a name="ListWidget.onScrollEvent"></a>bool <u>onScrollEvent</u>(AbstractSlider <i>source</i>, ScrollEvent <i>event</i>); </big></dt> <dd>handle scroll <i>event</i><br><br> </dd> <dt><big><a name="ListWidget.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>); </big></dt> <dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br> </dd> <dt><big><a name="ListWidget.layout"></a>void <u>layout</u>(Rect <i>rc</i>); </big></dt> <dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br> </dd> <dt><big><a name="ListWidget.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>); </big></dt> <dd>Draw widget at its position to buffer<br><br> </dd> <dt><big><a name="ListWidget.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>); </big></dt> <dd>list navigation using keys<br><br> </dd> <dt><big><a name="ListWidget.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>); </big></dt> <dd>process mouse <i>event</i>; return <b>true</b> if <i>event</i> is processed by widget.<br><br> </dd> </dl> </dd> </dl> <hr><small>Page generated by <a href="http://dlang.org/ddoc.html">Ddoc</a>. Vadim Lopatin, 2014 </small> </body></html>