[view] add SelectView
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
9
demo/src/demo/form/SelectForm.hx
Normal file
9
demo/src/demo/form/SelectForm.hx
Normal file
@@ -0,0 +1,9 @@
|
||||
package demo.form;
|
||||
|
||||
import haxework.view.frame.FrameView;
|
||||
|
||||
@:template class SelectForm extends FrameView<Dynamic> {
|
||||
public function new() {
|
||||
super("select");
|
||||
}
|
||||
}
|
||||
28
demo/src/demo/form/SelectForm.yaml
Normal file
28
demo/src/demo/form/SelectForm.yaml
Normal 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)
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user