X-Git-Url: http://nitlanguage.org diff --git a/lib/app/ui.nit b/lib/app/ui.nit index c23d9cd..0c7d524 100644 --- a/lib/app/ui.nit +++ b/lib/app/ui.nit @@ -18,9 +18,8 @@ module ui import app_base # Platform variations -# TODO: move on the platform once qualified names are understand in the condition import linux::ui is conditional(linux) -import android::ui is conditional(android) # FIXME it should be conditional to `android::platform` +import android::ui is conditional(android) import ios::ui is conditional(ios) redef class App @@ -118,6 +117,9 @@ class CompositeControl # Is `item` in `self`? fun has(item: Control): Bool do return items.has(item) + # Remove all items from `self` + fun clear do for item in items.to_a do remove item + redef fun on_create do for i in items do i.on_create redef fun on_start do for i in items do i.on_start @@ -158,6 +160,28 @@ abstract class TextView # # By default, or if set to `null`, no text is shown. var text: nullable Text is writable, abstract, autoinit + + # Set the relative size of the text + # + # A value of 1.0, the default, use the platform default text size. + # Values under 1.0 set a smaller text size, and over 1.0 a larger size. + # + # Implementation varies per platform, and some controls may be unaffected + # depending on the customization options of each platform. + # For consistent results, it is recommended to use only on instances + # of `Label` and `size` should be either 0.5, 1.0 or 1.5. + fun size=(size: nullable Float) is autoinit do end + + # Align the text horizontally + # + # Use 0.0 to align left (the default), 0.5 to align in the center and + # 1.0 to align on the right. + # + # Implementation varies per platform, and some controls may be unaffected + # depending on the customization options of each platform. + # For consistent results, it is recommended to use only on instances + # of `Label` and `size` should be either 0.0, 0.5 or 1.0. + fun align=(center: nullable Float) is autoinit do end end # A control for the user to enter custom `text` @@ -178,6 +202,14 @@ class Label super TextView end +# Toggle control with two states and a label +class CheckBox + super TextView + + # Is this control in the checked/on state? + var is_checked = false is writable +end + # A `Button` press event class ButtonPressEvent super AppEvent