mirror of https://github.com/buggins/dlangui.git
update readme
This commit is contained in:
parent
adac2b3c8d
commit
bd48e73bd3
56
README.md
56
README.md
|
@ -18,6 +18,8 @@ Alpha stage of development.
|
||||||
Widgets
|
Widgets
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
* Widget - base class for all widgets and widget containers, similar to Android's View
|
||||||
|
|
||||||
Currently implemented widgets:
|
Currently implemented widgets:
|
||||||
|
|
||||||
* TextWidget - simple static text (TODO: implement multiline formatting)
|
* TextWidget - simple static text (TODO: implement multiline formatting)
|
||||||
|
@ -30,10 +32,64 @@ Currently implemented widgets:
|
||||||
* VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts
|
* VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts
|
||||||
* HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts
|
* HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts
|
||||||
* ScrollBar - scroll bar
|
* ScrollBar - scroll bar
|
||||||
|
* TabControl - tabs widget, allows to select one of tabs
|
||||||
|
* TabHost - container for pages controlled by TabControl
|
||||||
|
* TabWidget - combination of TabControl and TabHost
|
||||||
|
|
||||||
Layouts
|
Layouts
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Similar to layouts in Android
|
||||||
|
|
||||||
|
* LinearLayout - layout children horizontally or vertically depending on orientation
|
||||||
|
* VerticalLayout - just a LinearLayout with vertical orientation
|
||||||
|
* HorizontalLayout - just a LinearLayout with vertical orientation
|
||||||
|
* FrameLayout - all children occupy the same place; usually onle one of them is visible
|
||||||
|
|
||||||
|
TODOs:
|
||||||
|
|
||||||
|
* TableLayout - layout children
|
||||||
|
|
||||||
|
List Views
|
||||||
|
----------
|
||||||
|
|
||||||
|
Lists are implemented similar to Android UI API.
|
||||||
|
|
||||||
|
* ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items
|
||||||
|
* ListAdapter - interface to provide data and widgets for ListWidget
|
||||||
|
* WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show
|
||||||
|
|
||||||
|
TODOs:
|
||||||
|
|
||||||
|
* Multicolumn lists
|
||||||
|
* Tree view
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
Resources like fonts and images use reference counting. For proper resource freeing, always destroy widgets implicitly.
|
||||||
|
|
||||||
|
* FontManager: provides access to fonts
|
||||||
|
* Images: .png or .jpg images; if filename ends with .9.png, it's autodetected as nine-patch image (see Android drawables description)
|
||||||
|
* StateDrawables: .xml file can describe list of other drawables to choose based on widget's State (.xml files from android themes can be used directly)
|
||||||
|
* imageCache allows to cache unpacked images
|
||||||
|
* drawableCache provides access by resource id (string, usually filename w/o extension) to drawables located in specified list of resource directories.
|
||||||
|
|
||||||
|
Styles and Themes
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Styles and themes are a bit similar to ones in Android API.
|
||||||
|
|
||||||
|
* Theme is a container for styles. TODO: load themes from XML.
|
||||||
|
* Styles are accessible in theme by string ID.
|
||||||
|
* Styles can be nested to form hiararchy - when some attribute is missing in style, value from base style will be used.
|
||||||
|
* State substyles are supported: allow to change widget appearance dynamically based on its state.
|
||||||
|
* Widgets use style attributes directly from assigned style. When some attribute is being changed in widget, it creates its own copy of base style,
|
||||||
|
which allows to modify some of attributes, while getting base style attributes if they are not changed in widget. This trick can minimize memory usage for widget attributes when
|
||||||
|
standard values are used.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Win32 builds
|
Win32 builds
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue