From ea9161b2f2a8aa96092aeb2c1eca5b2e2f26da14 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Fri, 6 Sep 2013 15:34:38 +0200 Subject: [PATCH] Added WSF_WIDGET_RAW_TEXT to render text via html encoding. Added WSF_WIDGET_COMPOSITE.extend_html_text (READABLE_STRING_8) that should replace the now obsolete "extend_text" Added WSF_WIDGET_COMPOSITE.extend_raw_text (READABLE_STRING_GENERAL), for text that need to be html encoded during html rendering. Made WSF_FORM_RAW_TEXT obsolete. --- library/server/wsf_html/form/wsf_form_div.e | 2 +- .../server/wsf_html/form/wsf_form_raw_text.e | 3 +- .../wsf_html/widget/wsf_widget_composite.e | 15 ++++++- .../wsf_html/widget/wsf_widget_raw_text.e | 41 +++++++++++++++++++ .../server/wsf_html/widget/wsf_widget_text.e | 3 +- 5 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 library/server/wsf_html/widget/wsf_widget_raw_text.e diff --git a/library/server/wsf_html/form/wsf_form_div.e b/library/server/wsf_html/form/wsf_form_div.e index e3205162..0d483669 100644 --- a/library/server/wsf_html/form/wsf_form_div.e +++ b/library/server/wsf_html/form/wsf_form_div.e @@ -32,7 +32,7 @@ feature {NONE} -- Initialization make_with_text (s: READABLE_STRING_8) do - make_with_item (create {WSF_FORM_RAW_TEXT}.make (s)) + make_with_item (create {WSF_WIDGET_TEXT}.make_with_text (s)) end make_with_item (i: WSF_WIDGET) diff --git a/library/server/wsf_html/form/wsf_form_raw_text.e b/library/server/wsf_html/form/wsf_form_raw_text.e index cdca2d24..9d7ef9fb 100644 --- a/library/server/wsf_html/form/wsf_form_raw_text.e +++ b/library/server/wsf_html/form/wsf_form_raw_text.e @@ -1,12 +1,13 @@ note description: "Summary description for {WSF_FORM_RAW_TEXT}." - author: "" date: "$Date$" revision: "$Revision$" class WSF_FORM_RAW_TEXT +obsolete "Use WSF_WIDGET_TEXT 2013-Sept-06" + inherit WSF_WIDGET_TEXT rename diff --git a/library/server/wsf_html/widget/wsf_widget_composite.e b/library/server/wsf_html/widget/wsf_widget_composite.e index 576f1c82..c9f51cdd 100644 --- a/library/server/wsf_html/widget/wsf_widget_composite.e +++ b/library/server/wsf_html/widget/wsf_widget_composite.e @@ -177,11 +177,24 @@ feature -- Change items.put_front (i) end - extend_text (t: READABLE_STRING_8) + extend_html_text (t: READABLE_STRING_8) + -- Extend a widget encapsulating html code `t' do extend (create {WSF_WIDGET_TEXT}.make_with_text (t)) end + extend_text (t: READABLE_STRING_8) + obsolete "Use extend_html_text (..) 2013-Sept-06" + do + extend_html_text (t) + end + + extend_raw_text (t: READABLE_STRING_GENERAL) + -- Extend a widget encapsulating html encoded text `t' + do + extend (create {WSF_WIDGET_RAW_TEXT}.make_with_text (t)) + end + feature {NONE} -- Implementation: Items items_by_type_from (a_container: ITERABLE [WSF_WIDGET]; a_type: TYPE [detachable ANY]): detachable ARRAYED_LIST [WSF_WIDGET] diff --git a/library/server/wsf_html/widget/wsf_widget_raw_text.e b/library/server/wsf_html/widget/wsf_widget_raw_text.e new file mode 100644 index 00000000..fb11c560 --- /dev/null +++ b/library/server/wsf_html/widget/wsf_widget_raw_text.e @@ -0,0 +1,41 @@ +note + description: "Widget embedding raw text, this will be html encoded before being rendered in target html" + date: "$Date$" + revision: "$Revision$" + +class + WSF_WIDGET_RAW_TEXT + +inherit + WSF_WIDGET + +create + make_with_text + +feature {NONE} -- Initialization + + make_with_text (a_text: READABLE_STRING_GENERAL) + do + text := a_text + end + +feature -- Access + + text: READABLE_STRING_GENERAL + -- Text to be html encoded into html + +feature -- Change + + set_text (a_text: like text) + do + text := a_text + end + +feature -- Conversion + + append_to_html (a_theme: WSF_THEME; a_html: STRING_8) + do + a_html.append (a_theme.html_encoded (text)) + end + +end diff --git a/library/server/wsf_html/widget/wsf_widget_text.e b/library/server/wsf_html/widget/wsf_widget_text.e index 513069e5..5dd8192c 100644 --- a/library/server/wsf_html/widget/wsf_widget_text.e +++ b/library/server/wsf_html/widget/wsf_widget_text.e @@ -1,6 +1,5 @@ note - description: "Summary description for {WSF_WIDGET_TEXT}." - author: "" + description: "Widget embedding html text/code, this will render as it is in target html" date: "$Date$" revision: "$Revision$"