[view] add SelectView

This commit is contained in:
2019-07-09 12:03:38 +03:00
parent 34cb98beb1
commit 61e74a3755
18 changed files with 247 additions and 57 deletions

View File

@@ -13,18 +13,19 @@ views:
geometry.padding.left: 5
geometry.margin.bottom: -3
buttonSkinId: tab
+onDataSelect: $code:function(id) switcher.change(id)
+onDataSelect: ~function(id) switcher.change(id)
data:
- "list"
- "tail"
- "data"
- "test_layout"
- "select"
selected: "list"
- id: switcher
$type: haxework.view.frame.FrameSwitcher
skinId: panel
animateFactory: { $class: haxework.animate.SlideAnimate }
+onSwitch: $this:onFrameSwitch
+onSwitch: ~onFrameSwitch
geometry.size.stretch: true
geometry.padding: 5
factory:
@@ -32,6 +33,7 @@ views:
_tail_: {$class: demo.form.TailForm}
_data_: {$class: demo.form.DataForm}
_test_layout_: {$class: demo.form.TestLayoutForm}
_select_: {$class: demo.form.SelectForm}
- $type: haxework.view.HGroupView
geometry.size.percent.width: 100
geometry.padding: 10
@@ -41,7 +43,7 @@ views:
geometry.padding: [25, 8]
skinId: button
text: Color
+onPress: "$code:choiceColor()"
+onPress: ~choiceColor()
# separator
- $type: haxework.view.SpriteView
geometry.size.stretch: true
@@ -57,4 +59,4 @@ views:
geometry.padding: [25, 8]
skinId: button
text: Cancel
+onPress: "$code:flash.system.System.exit(0)"
+onPress: ~flash.system.System.exit(0)

View File

@@ -8,6 +8,6 @@ views:
$type: haxework.view.DataView
layout:
$type: haxework.view.layout.VerticalLayout
factory: $this:factory
factory: ~factory
geometry.size.width: 100%
data: $r:any:data

View File

@@ -2,8 +2,8 @@
views:
- id: list
$type: haxework.view.list.VListView
+onItemSelect: $this:onItemSelect
factory: $this:factory
+onItemSelect: ~onItemSelect
factory: ~factory
geometry.size.stretch: true
scroll:
$type: haxework.view.list.VScrollBarView

View File

@@ -0,0 +1,9 @@
package demo.form;
import haxework.view.frame.FrameView;
@:template class SelectForm extends FrameView<Dynamic> {
public function new() {
super("select");
}
}

View File

@@ -0,0 +1,28 @@
---
geometry.padding: 10
layout.margin: 5
views:
- $type: haxework.view.SelectView<String>
layout.margin: 2
dataView.layout.margin: 1
labelSkinId: text
data:
- "value 1"
- "value 2"
- "value 3"
- "value 4"
selected: "value 1"
+onSelect: ~function(value) trace('select', value)
- $type: haxework.view.SelectView.SelectIdView<{id:Int,label:String}, Int>
layout.margin: 2
dataView.layout.margin: 1
labelSkinId: text
labelBuilder: ~function(item) return item.label
data:
- {id: 1, label: "item 1", $type: Dynamic}
- {id: 2, label: "item 2", $type: Dynamic}
- {id: 3, label: "item 3", $type: Dynamic}
- {id: 4, label: "item 4", $type: Dynamic}
selectedId: 1
+onSelect: ~function(value) trace('select', value)

View File

@@ -9,6 +9,6 @@ views:
layout:
$type: haxework.view.layout.TailLayout
margin: 2
factory: $this:factory
factory: ~factory
geometry.size.width: 100%
data: $r:any:data

View File

@@ -15,14 +15,14 @@ view:
$type: haxework.view.layout.TailLayout
vAlign: middle
margin: 5
factory: $this:colorViewFactory
factory: ~colorViewFactory
data:
- 0x33AA33
- 0xAA3333
- 0xFFCC55 # 0x555555
- 0xCC33AA
- 0x3333AA
+onDataSelect: $this:close
+onDataSelect: ~close
- $type: haxework.view.HGroupView
geometry.size.width: 100%
layout.hAlign: right
@@ -32,4 +32,4 @@ view:
geometry.padding: [25, 8]
skinId: button
text: Cancel
+onPress: $code:reject('cancel')
+onPress: ~reject('cancel')