From 16c89180d26fc01156bc994464034450e68e2787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Severin=20M=C3=BCnger?= Date: Mon, 2 Sep 2013 03:44:30 +0200 Subject: [PATCH] Added generalized input control similiar to text --- examples/widgetapp/widget.coffee | 2 +- .../server/wsf_html/webcontrol/wsf_button_control.e | 4 ++-- .../server/wsf_html/webcontrol/wsf_multi_control.e | 12 ++++++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/examples/widgetapp/widget.coffee b/examples/widgetapp/widget.coffee index 1332d862..5b288b79 100644 --- a/examples/widgetapp/widget.coffee +++ b/examples/widgetapp/widget.coffee @@ -54,7 +54,7 @@ class WSF_TEXT_CONTROL extends WSF_CONTROL window.states[@control_name]['text'] = state.text @$el.val(state.text) -#map class name to effectiv class +#map class name to effective class typemap = "WSF_BUTTON_CONTROL":WSF_BUTTON_CONTROL "WSF_TEXT_CONTROL":WSF_TEXT_CONTROL diff --git a/library/server/wsf_html/webcontrol/wsf_button_control.e b/library/server/wsf_html/webcontrol/wsf_button_control.e index a5ef003e..7ef5bd1a 100644 --- a/library/server/wsf_html/webcontrol/wsf_button_control.e +++ b/library/server/wsf_html/webcontrol/wsf_button_control.e @@ -16,10 +16,10 @@ create feature {NONE} - make_button (n: STRING; v: STRING) + make_button (n: STRING; t: STRING) do make (n) - text := v + text := t end feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- STATE MANAGEMENT diff --git a/library/server/wsf_html/webcontrol/wsf_multi_control.e b/library/server/wsf_html/webcontrol/wsf_multi_control.e index 6a44db0f..a7c7029b 100644 --- a/library/server/wsf_html/webcontrol/wsf_multi_control.e +++ b/library/server/wsf_html/webcontrol/wsf_multi_control.e @@ -30,6 +30,13 @@ feature {NONE} controls := create {LINKED_LIST [WSF_CONTROL]}.make; end + make_with_controls (n: STRING; c: LINKED_LIST [WSF_CONTROL]) + do + control_name := n + controls := c + create state_changes.make + end + feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- STATE MANAGEMENT load_state (new_states: JSON_OBJECT) @@ -45,6 +52,11 @@ feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- STATE MANAGEMENT set_state (new_state: JSON_OBJECT) do + across + controls as c + loop + c.item.set_state (new_state) + end end read_state (states: JSON_OBJECT)