aboutsummaryrefslogtreecommitdiff
path: root/logic/stage.gd
diff options
context:
space:
mode:
Diffstat (limited to 'logic/stage.gd')
-rw-r--r--logic/stage.gd99
1 files changed, 5 insertions, 94 deletions
diff --git a/logic/stage.gd b/logic/stage.gd
index dc42273..12457c9 100644
--- a/logic/stage.gd
+++ b/logic/stage.gd
@@ -1,11 +1,10 @@
-extends ScrollContainer
+extends TouchVerticalContainer
class_name Stage
signal save # (database_entry: Dictionary)
signal discard # ()
const FILTERS_FILE_PATH: String = "user://filters.csv"
-const POINTER_VELOCITY_DECAYING_FACTOR: float = 2.5
var staged_entry := {}
var filters := {
@@ -44,8 +43,6 @@ var filters := {
"xpto_29": null,
},
}
-var is_pointer_dragging := false
-var pointer_drag_velocity := 0.0
onready var process_id := get_node("controls/process_id") as LineEdit
onready var surgery_id := get_node("controls/surgery_id") as LineEdit
@@ -62,40 +59,16 @@ onready var is_urgency := get_node("controls/is_urgency") as Button
onready var notes := get_node("controls/notes") as LineEdit
onready var save_button := get_node("controls/save") as Button
onready var discard_button := get_node("controls/discard") as Button
-onready var v_scroll_bar := get_v_scrollbar() as VScrollBar
+
+
+func _init():
+ exclude_controls = ["date_picker", "save", "discard"]
func _ready():
save_button.connect("pressed", self, "save_action")
discard_button.connect("pressed", self, "discard_action")
- for it in get_node("controls").get_children():
- it = it as Control
- match it.name:
- "date_picker", "save", "discard":
- pass
-
- _:
- var drag_sensor = PointerInputSensor.new()
- it.add_child(drag_sensor)
-
- drag_sensor.name = "drag_sensor"
- drag_sensor.anchor_right = 1.0
- drag_sensor.anchor_bottom = 1.0
-
- drag_sensor.connect("on_press", self, "pointer_input_handler")
- drag_sensor.connect("on_drag", self, "pointer_input_handler")
- drag_sensor.connect("on_end_drag", self, "pointer_input_handler")
- drag_sensor.connect("on_click", self, "pointer_input_handler")
-
- it.connect("focus_entered", drag_sensor, "set_mouse_filter", [Control.MOUSE_FILTER_IGNORE])
- it.connect("focus_entered", drag_sensor, "mouse_default_cursor_shape", [Control.CURSOR_IBEAM])
- it.connect("focus_exited", drag_sensor, "set_mouse_filter", [Control.MOUSE_FILTER_STOP])
- it.connect("focus_exited", drag_sensor, "mouse_default_cursor_shape", [Control.CURSOR_ARROW])
-
- if it is LineEdit:
- it.connect("focus_exited", it, "deselect")
-
var auto_place := place.get_node("auto") as Button
auto_place.connect("pressed", self, "auto_populate", ["place"])
@@ -112,14 +85,6 @@ func auto_selected(index: int, field: String):
field_input.caret_position = field_input.text.length()
-
-func _process(delta: float):
- # Apply drag movement inertia.
- if is_pointer_dragging == false && abs(pointer_drag_velocity) > 0.5:
- pointer_drag_velocity *= clamp((1.0 - POINTER_VELOCITY_DECAYING_FACTOR * delta), 0.0, 1.0)
- v_scroll_bar.value -= pointer_drag_velocity * delta
-
-
func save_action():
self.visible = false
emit_signal("save", get_stage())
@@ -167,60 +132,6 @@ func get_stage() -> Dictionary:
return staged_entry
-func pointer_input_handler(pointer: PointerInputSensor.PointerInputData):
- match pointer.action:
- PointerInputSensor.PointerInputAction.ON_PRESS:
- is_pointer_dragging = true
-
- PointerInputSensor.PointerInputAction.ON_DRAG:
- is_pointer_dragging = true
- pointer_drag_velocity = pointer.velocity.y
- v_scroll_bar.value -= pointer.relative_position.y
-
- PointerInputSensor.PointerInputAction.ON_END_DRAG:
- is_pointer_dragging = false
-
- PointerInputSensor.PointerInputAction.ON_CLICK:
-
- # @DAM Try this approach on the TouchItemList
-
- var target: Control = pointer.target.get_parent()
- var position := target.get_global_mouse_position() - target.rect_global_position
-
- var button: Button = target.get_node("auto")
- if button != null && button.get_rect().has_point(position):
- button.grab_focus()
-# button.emit_signal("button_down")
- button.emit_signal("pressed")
-# button.emit_signal("button_up")
- else:
- target.grab_focus()
- return
-
-
- var event_touch := InputEventScreenTouch.new()
- event_touch.index = 0
- event_touch.position = position
-
- var event_mouse := InputEventMouseButton.new()
- event_mouse.button_index = BUTTON_LEFT
- event_mouse.button_mask = BUTTON_MASK_LEFT
- event_mouse.position = position
-
- event_mouse.pressed = true
- event_touch.pressed = true
- target._gui_input(event_mouse)
- target._gui_input(event_touch)
-
- target.grab_focus()
-
- event_mouse.pressed = false
- event_touch.pressed = false
- target._gui_input(event_mouse)
- target._gui_input(event_touch)
-
-
-
func load_filters(file_path: String = FILTERS_FILE_PATH):
var file := File.new()
file.open(file_path, File.READ_WRITE)