allow drag scrolling
This commit is contained in:
parent
63da634e7d
commit
757ce4a72e
3 changed files with 17 additions and 5 deletions
|
|
@ -227,14 +227,10 @@ class UiAdventure{
|
||||||
Control.set_size(item, -1, 12)
|
Control.set_size(item, -1, 12)
|
||||||
Control.set_allow_input(item, true)
|
Control.set_allow_input(item, true)
|
||||||
Control.set_id(item, "Person %(i) : %(Human.get_name(adventurer))")
|
Control.set_id(item, "Person %(i) : %(Human.get_name(adventurer))")
|
||||||
System.print(Strings.get(Control.get_id(item)))
|
|
||||||
Control.set_events(item) {|event|
|
Control.set_events(item) {|event|
|
||||||
if(UI.event_cancelled(_ent, event.id)) return
|
if(UI.event_cancelled(_ent, event.id)) return
|
||||||
if(!Util.valid_event(event)) return
|
if(!Util.valid_event(event)) return
|
||||||
if(event.type == UIEvent.press){
|
if(event.type == UIEvent.press){
|
||||||
System.print("entity: %(Strings.get(Control.get_id(item)))")
|
|
||||||
System.print("focussed: %(UI.get_focused(_ent))")
|
|
||||||
System.print("event: %(event)")
|
|
||||||
_ui.ui_mode = Ui.Info
|
_ui.ui_mode = Ui.Info
|
||||||
_ui.info.page.value = UiInfo.human
|
_ui.info.page.value = UiInfo.human
|
||||||
_game.focus.value = adventurer
|
_game.focus.value = adventurer
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,23 @@ class UiScrollBox{
|
||||||
UILayout.set_margin(ent, childContainer, 1, 1, 7, 2) //don't include border, fix bottom bug, freedom to side slider
|
UILayout.set_margin(ent, childContainer, 1, 1, 7, 2) //don't include border, fix bottom bug, freedom to side slider
|
||||||
Control.set_clip(childContainer, true)
|
Control.set_clip(childContainer, true)
|
||||||
UILayout.set_contain(ent, childContainer, UILayoutContain.column | UILayoutContain.start) //|
|
UILayout.set_contain(ent, childContainer, UILayoutContain.column | UILayoutContain.start) //|
|
||||||
|
Control.set_allow_input(childContainer, true)
|
||||||
|
Control.set_events(childContainer){ |event|
|
||||||
|
if(event.type == UIEvent.press) {
|
||||||
|
Control.set_state_data(childContainer, true)
|
||||||
|
UI.capture(childContainer)
|
||||||
|
}
|
||||||
|
if(event.type == UIEvent.release) {
|
||||||
|
Control.set_state_data(childContainer, false)
|
||||||
|
UI.uncapture(childContainer)
|
||||||
|
}
|
||||||
|
if(event.type == UIEvent.move && Control.get_state_data(childContainer)){
|
||||||
|
var state = Control.get_state_data(box)
|
||||||
|
var scrollPos = state["position"]
|
||||||
|
scrollPos = scrollPos + event.y_rel + 128
|
||||||
|
set_position(box, scrollPos)
|
||||||
|
}
|
||||||
|
}
|
||||||
state["childContainer"] = childContainer
|
state["childContainer"] = childContainer
|
||||||
|
|
||||||
var alignmentChild = Control.create(ent)
|
var alignmentChild = Control.create(ent)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ class Event{
|
||||||
}
|
}
|
||||||
} else if(id is Fn){
|
} else if(id is Fn){
|
||||||
var removed = false
|
var removed = false
|
||||||
System.print(_listeners.keys)
|
|
||||||
for(index in _listeners.keys){
|
for(index in _listeners.keys){
|
||||||
if(_listeners[index] == id){
|
if(_listeners[index] == id){
|
||||||
//! this might lead to problems because I'm modifying the thing I'm iterating over
|
//! this might lead to problems because I'm modifying the thing I'm iterating over
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue