Module dlangui.widgets.scroll
This module contains base implementation of scrolling capabilities for widgets
ScrollWidgetBase
- abstract scrollable widget (used as a base for other widgets with scrolling)
ScrollWidget
- widget which can scroll its content (directly usable class)
Synopsis
import dlangui .widgets .scroll;
// Scroll view example
ScrollWidget scroll = new ScrollWidget("SCROLL1");
scroll .layoutWidth(FILL_PARENT) .layoutHeight(FILL_PARENT);
WidgetGroup scrollContent = new VerticalLayout("CONTENT");
scrollContent .layoutWidth(FILL_PARENT) .layoutHeight(FILL_PARENT);
TableLayout table2 = new TableLayout("TABLE2");
table2 .colCount = 2;
// headers
table2 .addChild((new TextWidget(null, "Parameter Name"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new TextWidget(null, "Edit Box to edit parameter"d)) .alignment(Align .Left | Align .VCenter));
// row 1
table2 .addChild((new TextWidget(null, "Parameter 1 name"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit1", "Text 1"d)) .layoutWidth(FILL_PARENT));
// row 2
table2 .addChild((new TextWidget(null, "Parameter 2 name bla bla"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit2", "Some text for parameter 2 blah blah blah"d)) .layoutWidth(FILL_PARENT));
// row 3
table2 .addChild((new TextWidget(null, "Param 3"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 3 value"d)) .layoutWidth(FILL_PARENT));
// row 4
table2 .addChild((new TextWidget(null, "Param 4"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 4 value shdjksdfh hsjdfas hdjkf hdjsfk ah"d)) .layoutWidth(FILL_PARENT));
// row 5
table2 .addChild((new TextWidget(null, "Param 5 - edit text here - blah blah blah"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 5 value"d)) .layoutWidth(FILL_PARENT));
// row 6
table2 .addChild((new TextWidget(null, "Param 6 - just to fill content widget"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 5 value"d)) .layoutWidth(FILL_PARENT));
// row 7
table2 .addChild((new TextWidget(null, "Param 7 - just to fill content widget"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 5 value"d)) .layoutWidth(FILL_PARENT));
// row 8
table2 .addChild((new TextWidget(null, "Param 8 - just to fill content widget"d)) .alignment(Align .Right | Align .VCenter));
table2 .addChild((new EditLine("edit3", "Parameter 5 value"d)) .layoutWidth(FILL_PARENT));
table2 .margins(Rect(10,10,10,10)) .layoutWidth(FILL_PARENT);
scrollContent .addChild(table2);
scrollContent .addChild(new TextWidget(null, "Now - some buttons"d));
scrollContent .addChild(new ImageTextButton("btn1", "fileclose", "Close"d));
scrollContent .addChild(new ImageTextButton("btn2", "fileopen", "Open"d));
scrollContent .addChild(new TextWidget(null, "And checkboxes"d));
scrollContent .addChild(new CheckBox("btn1", "CheckBox 1"d));
scrollContent .addChild(new CheckBox("btn2", "CheckBox 2"d));
scroll .contentWidget = scrollContent;
Classes
Name | Description |
---|---|
ScrollWidget
|
Widget which can show content of widget group with optional scrolling |
ScrollWidgetBase
|
Abstract scrollable widget |
Enums
Name | Description |
---|---|
ScrollBarMode
|
Scroll bar visibility mode. |
Authors
Vadim Lopatin, coolreader.org@gmail.com
Copyright
Vadim Lopatin, 2014
License
Boost License 1.0