Files
EWF/examples/widgetapp/sample_page.e
2013-11-02 18:34:48 +01:00

139 lines
4.3 KiB
Plaintext

note
description: "Summary description for {SAMPLE_PAGE}."
author: ""
date: "$Date$"
revision: "$Revision$"
class
SAMPLE_PAGE
inherit
BASE_PAGE
redefine
initialize_controls
end
create
make
feature
initialize_controls
local
n1_container: WSF_FORM_ELEMENT_CONTROL [STRING]
n2_container: WSF_FORM_ELEMENT_CONTROL [STRING]
n3_container: WSF_FORM_ELEMENT_CONTROL [STRING]
n4_container: WSF_FORM_ELEMENT_CONTROL [STRING]
n5_container: WSF_FORM_ELEMENT_CONTROL [STRING]
cats_container: WSF_FORM_ELEMENT_CONTROL [LIST [STRING]]
source: INCREASING_PROGRESSSOURCE
do
Precursor
create form.make ("panel")
form.add_class ("form-horizontal")
--Number 1
create textbox1.make ("txtBox1", "1")
create n1_container.make ("Number1", textbox1)
n1_container.add_validator (create {WSF_DECIMAL_VALIDATOR}.make_decimal_validator ("Invalid Number"))
n1_container.add_validator (create {OWN_VALIDATOR}.make_own)
form.add_control (n1_container)
--Number 2
create textbox2.make ("txtBox2", "2")
create n2_container.make ("Number2", textbox2)
n2_container.add_validator (create {WSF_DECIMAL_VALIDATOR}.make_decimal_validator ("Invalid Number"))
form.add_control (n2_container)
--Flag autocomplete
create autocompletion1.make ("autocompletion1", create {FLAG_AUTOCOMPLETION}.make)
create n3_container.make ("Flag Autocomplete", autocompletion1)
form.add_control (n3_container)
--Contact autocomplete
create autocompletion2.make ("autocompletion2", create {CONTACT_AUTOCOMPLETION}.make)
create n4_container.make ("Contact Autocomplete", autocompletion2)
form.add_control (n4_container)
--Google autocomplete
create autocompletion3.make ("autocompletion4", create {GOOGLE_AUTOCOMPLETION}.make)
create n5_container.make ("Google Autocomplete", autocompletion3)
form.add_control (n5_container)
--Categories
create cklist.make ("categories")
cklist.add_control (create {WSF_CHECKBOX_CONTROL}.make ("net", "Network", "net"))
cklist.add_control (create {WSF_CHECKBOX_CONTROL}.make ("os", "Operating Systems", "os"))
cklist.add_control (create {WSF_CHECKBOX_CONTROL}.make ("fmfp", "Formal Methods and Functional Programming", "fmfp"))
create cats_container.make ("Categories", cklist)
cats_container.add_validator (create {WSF_MIN_VALIDATOR [STRING]}.make_min_validator (1, "Choose at least one category"))
cats_container.add_validator (create {WSF_MAX_VALIDATOR [STRING]}.make_max_validator (2, "Choose at most two category"))
form.add_control (cats_container)
--Button 1
create button1.make ("sample_button1", "Update")
button1.set_click_event (agent handle_click)
button1.add_class ("col-lg-offset-2")
form.add_control (button1)
--Button 2
create button2.make ("sample_button2", "Start Modal Grid")
button2.set_click_event (agent handle_click)
form.add_control (button2)
--Result
create result_html.make ("txtBox3", "p", "")
form.add_control (create {WSF_FORM_ELEMENT_CONTROL [STRING]}.make ("Result", result_html))
control.add_control (form)
--Progress bar
control.add_control (create {WSF_BASIC_CONTROL}.make_with_body ("h4", "", "Autoincrementing progressbar"))
create source.make
create progress.make_with_source ("progress1", source)
source.set_control (progress)
progress.set_isolation (true)
control.add_control (progress)
navbar.set_active (1)
end
handle_click
local
text: STRING
do
form.validate
if form.is_valid then
--progress.set_progress ((textbox1.text.to_integer_64 / textbox2.text.to_integer_64 * 100).ceiling)
text := textbox1.text + " + " + textbox2.text + " = " + (textbox1.text.to_integer_64 + textbox2.text.to_integer_64).out
text.append ("<ul>")
across
cklist.value as s
loop
text.append ("<li>" + s.item + "</li>")
end
text.append ("</ul>")
result_html.set_html (text)
else
show_alert ("VALIDATION ERROR")
end
end
process
do
end
button1: WSF_BUTTON_CONTROL
button2: WSF_BUTTON_CONTROL
textbox1: WSF_INPUT_CONTROL
textbox2: WSF_INPUT_CONTROL
autocompletion1: WSF_AUTOCOMPLETE_CONTROL
autocompletion2: WSF_AUTOCOMPLETE_CONTROL
autocompletion3: WSF_AUTOCOMPLETE_CONTROL
cklist: WSF_CHECKBOX_LIST_CONTROL
result_html: WSF_HTML_CONTROL
form: WSF_FORM_CONTROL
progress: WSF_PROGRESS_CONTROL
end