dlangui/lists.html

388 lines
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.lists</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.lists</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\lists.d -->
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>: <u>dlangui.widgets.lists.ListAdapter</u>;
</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="StringListAdapter"></a>class <u>StringListAdapter</u>: <u>dlangui.widgets.lists.ListAdapter</u>;
</big></dt>
<dd>List adapter providing strings only.<br><br>
<dl><dt><big><a name="StringListAdapter.this"></a>this();
</big></dt>
<dd>create empty string list adapter.<br><br>
</dd>
<dt><big><a name="StringListAdapter.this"></a>this(string[] <i>items</i>);
</big></dt>
<dd>Init with array of string resource IDs.<br><br>
</dd>
<dt><big><a name="StringListAdapter.this"></a>this(dstring[] <i>items</i>);
</big></dt>
<dd>Init with array of unicode strings.<br><br>
</dd>
<dt><big><a name="StringListAdapter.items"></a>@property ref UIStringCollection <u>items</u>();
</big></dt>
<dd>Access to <u>items</u> collection.<br><br>
</dd>
<dt><big><a name="StringListAdapter.itemCount"></a>@property int <u>itemCount</u>();
</big></dt>
<dd>returns number of widgets in list<br><br>
</dd>
<dt><big><a name="StringListAdapter.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="StringListAdapter.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="StringListAdapter.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="StringListAdapter.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="OnItemSelectedHandler"></a>interface <u>OnItemSelectedHandler</u>;
</big></dt>
<dd>interface - slot for onItemSelectedListener<br><br>
</dd>
<dt><big><a name="OnItemClickHandler"></a>interface <u>OnItemClickHandler</u>;
</big></dt>
<dd>interface - slot for onItemClickListener<br><br>
</dd>
<dt><big><a name="ListWidget"></a>class <u>ListWidget</u>: <u>dlangui.widgets.widget.WidgetGroup</u>, <u>dlangui.widgets.controls.OnScrollHandler</u>;
</big></dt>
<dd>List widget - shows content as hori<br><br>
<dl><dt><big><a name="ListWidget.onItemSelectedListener"></a>Signal!OnItemSelectedHandler <u>onItemSelectedListener</u>;
</big></dt>
<dd>Handle selection change.<br><br>
</dd>
<dt><big><a name="ListWidget.onItemClickListener"></a>Signal!OnItemSelectedHandler <u>onItemClickListener</u>;
</big></dt>
<dd>Handle item click.<br><br>
</dd>
<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.selectedItemIndex"></a>@property int <u>selectedItemIndex</u>();
</big></dt>
<dd>Selected item index.<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>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>