indexing
description: "EiffelVision text area. To query multiple lines of text from the user."
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
class interface
EV_TEXT
create
frozen default_create
EV_ANY
ensure then EV_ANY
is_coupled: implementation /= void
is_initialized: is_initialized
default_create_called_set: default_create_called
is_in_default_state: is_in_default_state
make_with_text (txt: STRING)
Currenttxttext
require
txt_not_void: txt /= void
feature
frozen default_create
EV_ANY
ensure then EV_ANY
is_coupled: implementation /= void
is_initialized: is_initialized
default_create_called_set: default_create_called
is_in_default_state: is_in_default_state
feature
accept_cursor: EV_CURSOR
Result
pebble
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.accept_cursor
actual_drop_target_agent: FUNCTION [ANY, TUPLE [INTEGER, INTEGER], EV_ABSTRACT_PICK_AND_DROPABLE]
VoidCurrent
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.actual_drop_target_agent
background_color: EV_COLOR
EV_COLORIZABLE
require EV_COLORIZABLE
not_destroyed: not is_destroyed
ensure EV_COLORIZABLE
bridge_ok: Result.is_equal (implementation.background_color)
data: ANY
EV_ANY
deny_cursor: EV_CURSOR
Result
pebble
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.deny_cursor
foreground_color: EV_COLOR
EV_COLORIZABLE
require EV_COLORIZABLE
not_destroyed: not is_destroyed
ensure EV_COLORIZABLE
bridge_ok: Result.is_equal (implementation.foreground_color)
help_context: FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT]
EV_HELP_CONTEXTABLE
require EV_HELP_CONTEXTABLE
not_destroyed: not is_destroyed
ensure EV_HELP_CONTEXTABLE
bridge_ok: Result = implementation.help_context
frozen id_object (an_id: INTEGER): IDENTIFIED
an_id
IDENTIFIED
ensure IDENTIFIED
consistent: Result = void or else Result.object_id = an_id
is_parent_recursive (a_widget: EV_WIDGET): BOOLEAN
a_widgetparentparentparent
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
line (i: INTEGER): STRING
Resulti
require
not_destroyed: not is_destroyed
valid_line_index: valid_line_index (i) and then (i = line_count implies last_line_not_empty)
ensure
result_not_void: Result /= void
frozen object_id: INTEGER
IDENTIFIED
ensure IDENTIFIED
valid_id: id_object (Result) = Current
parent: EV_CONTAINER
Current
EV_WIDGET
require EV_CONTAINABLE
not_destroyed: not is_destroyed
ensure then EV_WIDGET
bridge_ok: Result = implementation.parent
pebble: ANY
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.pebble
pebble_function: FUNCTION [ANY, TUPLE, ANY]
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.pebble_function
pebble_positioning_enabled: BOOLEAN
True
pebble_x_positionpebble_y_position
False
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.pebble_positioning_enabled
pebble_x_position: INTEGER
Current
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.pebble_x_position
pebble_y_position: INTEGER
Current
EV_PICK_AND_DROPABLE
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.pebble_y_position
pointer_position: EV_COORDINATE
Current
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
is_show_requested: is_show_requested
pointer_style: EV_CURSOR
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
selected_text: STRING
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result.is_equal (implementation.selected_text)
target_name: STRING
Current
EV_ABSTRACT_PICK_AND_DROPABLE
text: STRING
Current
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: equal (Result, implementation.text)
not_void_implies_cloned: Result /= void implies Result /= implementation.text
text_length: INTEGER
text
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.text_length
tooltip: STRING
Current
EV_TOOLTIPABLE
require EV_TOOLTIPABLE
not_destroyed: not is_destroyed
ensure EV_TOOLTIPABLE
bridge_ok: (Result = void and implementation.tooltip = void) or Result.is_equal (implementation.tooltip)
feature
height: INTEGER
minimum_height
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.height
minimum_height: INTEGER
height
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.minimum_height
positive_or_zero: Result >= 0
minimum_width: INTEGER
width
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.minimum_width
positive_or_zero: Result >= 0
screen_x: INTEGER
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.screen_x
screen_y: INTEGER
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.screen_y
width: INTEGER
minimum_width
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.width
x_position: INTEGER
x_position
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.x_position
y_position: INTEGER
y_position
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.y_position
feature
caret_position: INTEGER
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.caret_position
current_line_number: INTEGER
require
not_destroyed: not is_destroyed
ensure
valid_line_index: valid_line_index (Result)
first_position_from_line_number (i: INTEGER): INTEGER
i
require
not_destroyed: not is_destroyed
valid_line: valid_line_index (i) and then (i = line_count implies last_line_not_empty)
ensure
valid_caret_position: valid_caret_position (i)
has_capture: BOOLEAN
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.has_capture
has_focus: BOOLEAN
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.has_focus
has_selection: BOOLEAN
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.has_selection
is_displayed: BOOLEAN
Current
True
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.is_displayed
is_editable: BOOLEAN
text
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.is_editable
is_sensitive: BOOLEAN
EV_SENSITIVE
require EV_SENSITIVE
not_destroyed: not is_destroyed
ensure EV_SENSITIVE
bridge_ok: Result = implementation.user_is_sensitive
is_show_requested: BOOLEAN
Current
is_displayed
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
bridge_ok: Result = implementation.is_show_requested
last_position_from_line_number (i: INTEGER): INTEGER
i
require
not_destroyed: not is_destroyed
valid_line: valid_line_index (i) and then (i = line_count implies last_line_not_empty)
ensure
valid_caret_position: valid_caret_position (i)
line_count: INTEGER
Current
require
not_destroyed: not is_destroyed
ensure
result_greater_zero: Result > 0
mode_is_drag_and_drop: BOOLEAN
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.mode_is_drag_and_drop
mode_is_pick_and_drop: BOOLEAN
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.mode_is_pick_and_drop
mode_is_target_menu: BOOLEAN
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure then EV_PICK_AND_DROPABLE
bridge_ok: Result = implementation.mode_is_target_menu
selection_end: INTEGER
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
has_selection: has_selection
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.selection_end
within_range: Result >= 1 and Result <= text_length
consistent_with_selection_start: Result >= selection_start
selection_start: INTEGER
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
has_selection: has_selection
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.selection_start
within_range: Result >= 1 and Result <= text_length
consistent_with_selection_end: selection_end >= Result
valid_caret_position (pos: INTEGER): BOOLEAN
pos
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
bridge_ok: Result = implementation.valid_caret_position (pos)
feature
center_pointer
Current
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
disable_capture
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
not_has_capture: not has_capture
disable_edit
Current
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
is_editable: not is_editable
disable_pebble_positioning
Falsepebble_positioning_enabled
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
pebble_positioning_updated: not pebble_positioning_enabled
disable_sensitive
EV_SENSITIVE
require EV_SENSITIVE
not_destroyed: not is_destroyed
ensure EV_SENSITIVE
is_unsensitive: not is_sensitive
enable_capture
disable_capture
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
is_displayed: is_displayed
ensure EV_WIDGET
has_capture: has_capture
enable_edit
Current
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
is_editable: is_editable
enable_pebble_positioning
Truepebble_positioning_enabled
pebble_x_positionpebble_y_position
Current
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
pebble_positioning_updated: pebble_positioning_enabled
enable_sensitive
EV_SENSITIVE
require EV_SENSITIVE
not_destroyed: not is_destroyed
ensure EV_SENSITIVE
is_sensitive: (parent = void or parent_is_sensitive) implies is_sensitive
hide
Current
is_show_requestedFalse
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
not_is_show_requested: not is_show_requested
remove_pebble
pebbleVoidpebble_function
EV_PICK_AND_DROPABLE
ensure EV_ABSTRACT_PICK_AND_DROPABLE
pebble_removed: pebble = void and pebble_function = void
set_accept_cursor (a_cursor: EV_CURSOR)
a_cursor
pebble
EV_PICK_AND_DROPABLE
ensure EV_ABSTRACT_PICK_AND_DROPABLE
accept_cursor_assigned: accept_cursor.is_equal (a_cursor)
set_actual_drop_target_agent (an_agent: like actual_drop_target_agent)
an_agentactual_drop_target_agent
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
an_agent_not_void: an_agent /= void
ensure EV_WIDGET
assigned: actual_drop_target_agent = an_agent
set_caret_position (a_caret_position: INTEGER)
a_caret_posiitoncaret_position
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
valid_caret_position: valid_caret_position (a_caret_position)
is_editable: is_editable
ensure EV_TEXT_COMPONENT
caret_position_assigned: caret_position = a_caret_position
set_default_colors
EV_COLORIZABLE
require EV_COLORIZABLE
not_destroyed: not is_destroyed
set_deny_cursor (a_cursor: EV_CURSOR)
a_cursor
EV_PICK_AND_DROPABLE
ensure EV_ABSTRACT_PICK_AND_DROPABLE
deny_cursor_assigned: deny_cursor.is_equal (a_cursor)
set_drag_and_drop_mode
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
drag_and_drop_set: mode_is_drag_and_drop
set_focus
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
is_displayed: is_displayed
is_sensitive: is_sensitive
ensure EV_WIDGET
has_focus: has_focus
set_pebble (a_pebble: like pebble)
a_pebblepebble
set_pebble_function
EV_PICK_AND_DROPABLE
require EV_ABSTRACT_PICK_AND_DROPABLE
a_pebble_not_void: a_pebble /= void
ensure EV_ABSTRACT_PICK_AND_DROPABLE
pebble_assigned: pebble = a_pebble
set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY])
a_functionpebble
pebble
a_function
FUNCTIONANYTUPLEINTEGERINTEGERANY
set_pebble
EV_PICK_AND_DROPABLE
require EV_ABSTRACT_PICK_AND_DROPABLE
a_function_not_void: a_function /= void
a_function_takes_two_integer_open_operands: a_function.valid_operands ([1, 1])
ensure EV_ABSTRACT_PICK_AND_DROPABLE
pebble_function_assigned: pebble_function = a_function
set_pebble_position (a_x, a_y: INTEGER)
Current
True
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
pebble_position_assigned: pebble_x_position = a_x and pebble_y_position = a_y
set_pick_and_drop_mode
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
pick_and_drop_set: mode_is_pick_and_drop
set_target_menu_mode
EV_PICK_AND_DROPABLE
require EV_PICK_AND_DROPABLE
not_destroyed: not is_destroyed
ensure EV_PICK_AND_DROPABLE
target_menu_mode_set: mode_is_target_menu
set_target_name (a_name: STRING)
a_nametarget_name
EV_ABSTRACT_PICK_AND_DROPABLE
require EV_ABSTRACT_PICK_AND_DROPABLE
a_name_not_void: a_name /= void
ensure EV_ABSTRACT_PICK_AND_DROPABLE
target_name_assigned: a_name /= target_name and a_name.is_equal (target_name)
show
Current
True
is_show_requestedTrue
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
is_show_requested: is_show_requested
feature
append_text (a_text: STRING)
a_texttext
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
text_not_void: a_text /= void
no_carriage_returns: not a_text.has ('%R')
ensure EV_TEXT_COMPONENT
text_appended: check_text_modification (old text, a_text)
caret_not_moved: old caret_position = caret_position
insert_text (a_text: STRING)
a_textcaret_position
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
text_not_void: a_text /= void
no_carriage_returns: not a_text.has ('%R')
ensure EV_TEXT_COMPONENT
text_insert_correctly: text.is_equal ((old text).substring (1, (old caret_position - 1)) + a_text + (old text).substring ((old caret_position), (old text.count)))
caret_not_moved: old caret_position = caret_position
prepend_text (a_text: STRING)
a_texttext
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
text_not_void: a_text /= void
no_carriage_returns: not a_text.has ('%R')
ensure EV_TEXT_COMPONENT
text_prepended: text.is_equal (a_text + old text)
caret_not_moved: old caret_position = caret_position
remove_help_context
EV_APPLICATION.help_key
EV_HELP_CONTEXTABLE
require EV_HELP_CONTEXTABLE
not_destroyed: not is_destroyed
help_context_not_void: help_context /= void
ensure EV_HELP_CONTEXTABLE
no_help_context: help_context = void
remove_text
textVoid
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
text_removed: text = void
remove_tooltip
tooltipVoid
EV_TOOLTIPABLE
require EV_TOOLTIPABLE
not_destroyed: not is_destroyed
ensure EV_TOOLTIPABLE
tooltip_removed: tooltip = void
set_background_color (a_color: like background_color)
a_colorforeground_color
EV_COLORIZABLE
require EV_COLORIZABLE
not_destroyed: not is_destroyed
a_color_not_void: a_color /= void
ensure EV_COLORIZABLE
background_color_assigned: background_color.is_equal (a_color)
set_data (some_data: like data)
some_datadata
EV_ANY
require EV_ANY
not_destroyed: not is_destroyed
ensure EV_ANY
data_assigned: data = some_data
set_foreground_color (a_color: like foreground_color)
a_colorforeground_color
EV_COLORIZABLE
require EV_COLORIZABLE
not_destroyed: not is_destroyed
a_color_not_void: a_color /= void
ensure EV_COLORIZABLE
foreground_color_assigned: foreground_color.is_equal (a_color)
set_help_context (an_help_context: like help_context)
an_help_contexthelp_context
EV_HELP_CONTEXTABLE
require EV_HELP_CONTEXTABLE
not_destroyed: not is_destroyed
an_help_context_not_void: an_help_context /= void
ensure EV_HELP_CONTEXTABLE
help_context_assigned: help_context.is_equal (an_help_context)
set_minimum_height (a_minimum_height: INTEGER)
a_minimum_heightminimum_height
heighta_minimim_height
minimum_height
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
a_minimum_height_positive: a_minimum_height > 0
ensure EV_WIDGET
minimum_height_assigned: minimum_height = a_minimum_height
set_minimum_size (a_minimum_width, a_minimum_height: INTEGER)
a_minimum_heightminimum_height
a_minimum_widthminimum_width
widthheight
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
a_minimum_width_positive: a_minimum_width > 0
a_minimum_height_positive: a_minimum_height > 0
ensure EV_WIDGET
minimum_width_assigned: minimum_width = a_minimum_width
minimum_height_assigned: minimum_height = a_minimum_height
set_minimum_width (a_minimum_width: INTEGER)
a_minimum_widthminimum_width
widtha_minimim_width
minimum_width
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
a_minimum_width_positive: a_minimum_width > 0
ensure EV_WIDGET
minimum_width_assigned: minimum_width = a_minimum_width
set_pointer_style (a_cursor: like pointer_style)
a_cursorpointer_style
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
a_cursor_not_void: a_cursor /= void
ensure EV_WIDGET
pointer_style_assigned: pointer_style.is_equal (a_cursor)
set_text (a_text: STRING)
a_texttext
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
text_not_void: a_text /= void
no_carriage_returns: not a_text.has ('%R')
a_text_not_empty: not a_text.is_empty
ensure EV_TEXT_COMPONENT
text_set: check_text_modification (void, a_text)
set_tooltip (a_tooltip: STRING)
a_tooltiptooltip
EV_TOOLTIPABLE
require EV_TOOLTIPABLE
not_destroyed: not is_destroyed
tooltip: a_tooltip /= void
a_tooltip_not_empty: not a_tooltip.is_empty
ensure EV_TOOLTIPABLE
tooltip_assigned: a_tooltip.is_equal (tooltip) and tooltip /= a_tooltip
feature
set_minimum_width_in_characters (nb: INTEGER)
nb
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
valid_nb: nb > 0
ensure EV_TEXT_COMPONENT
minimum_width_in_characters_assigned: old minimum_width < minimum_width implies minimum_width >= maximum_character_width * nb
feature
copy (other: like Current)
other
EV_ANY
require ANY
other_not_void: other /= void
type_identity: same_type (other)
ensure ANY
is_equal: is_equal (other)
feature
copy_selection
selected_text
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
has_selection: has_selection
ensure EV_TEXT_COMPONENT
selection_copied: clipboard_content.is_equal (selected_text)
text_unchanged: text.is_equal (old text)
caret_not_moved: caret_position = old caret_position
cut_selection
selected_text
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
has_selection: has_selection
is_editable: is_editable
ensure EV_TEXT_COMPONENT
selection_in_clipboard: clipboard_content.is_equal (old selected_text)
selection_cut: text.is_equal ((old text).substring (1, old selection_start - 1) + (old text).substring (old selection_end + 1, (old text).count))
delete_selection
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
has_selection: has_selection
is_editable: is_editable
ensure EV_TEXT_COMPONENT
has_no_selection: not has_selection
selection_deleted: text.is_equal ((old text).substring (1, old selection_start - 1) + (old text).substring (old selection_end + 1, (old text).count))
deselect_all
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
ensure EV_TEXT_COMPONENT
not_has_selection: not has_selection
paste (a_position: INTEGER)
clipboarda_position
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
a_position_within_range: a_position >= 1 and a_position <= text_length + 1
is_editable: is_editable
ensure EV_TEXT_COMPONENT
text_pasted_correctly: text.is_equal ((old text).substring (1, a_position - 1) + clipboard_content + ((old text).substring (a_position, ((old text).count))))
caret_position_consistent: old caret_position <= a_position implies caret_position = old caret_position
caret_position_consistent: old caret_position > a_position implies caret_position = old caret_position + clipboard_content.count
put_new_line
caret_position
require
not_destroyed: not is_destroyed
scroll_to_line (i: INTEGER)
iCurrent
require
not_destroyed: not is_destroyed
valid_line_index: valid_line_index (i) and then (i = line_count implies last_line_not_empty)
search (str: STRING; start: INTEGER): INTEGER
strstart
require
not_destroyed: not is_destroyed
valid_string: str /= void
select_all
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
positive_length: text_length > 0
ensure EV_TEXT_COMPONENT
has_selection: has_selection
selection_start_set: selection_start = 1
selection_end_set: selection_end = text_length
select_lines (first_line, last_line: INTEGER)
first_linelast_line
require
not_destroyed: not is_destroyed
valid_line_index: valid_line_index (first_line) and valid_line_index (last_line)
ensure
has_selection: has_selection
select_region (start_pos, end_pos: INTEGER)
start_posend_pos
EV_TEXT_COMPONENT
require EV_TEXT_COMPONENT
not_destroyed: not is_destroyed
start_within_range: start_pos >= 1 and start_pos <= text_length
end_within_range: end_pos >= 1 and end_pos <= text_length
ensure EV_TEXT_COMPONENT
has_selection: (start_pos /= end_pos) implies has_selection
selection_start_set: selection_start = start_pos
selection_end_set: selection_end = end_pos
feature
destroy
Current
EV_ANY
ensure EV_ANY
is_destroyed: is_destroyed
feature
last_line_not_empty: BOOLEAN
valid_line_index (i: INTEGER): BOOLEAN
i
feature
change_actions: EV_NOTIFY_ACTION_SEQUENCE
text
EV_TEXT_COMPONENT_ACTION_SEQUENCES
ensure EV_TEXT_COMPONENT_ACTION_SEQUENCES
not_void: Result /= void
conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
ensure EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
not_void: Result /= void
drop_actions: EV_PND_ACTION_SEQUENCE
EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
ensure EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
not_void: Result /= void
focus_in_actions: EV_FOCUS_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
focus_out_actions: EV_FOCUS_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
key_press_actions: EV_KEY_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
key_press_string_actions: EV_KEY_STRING_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
key_release_actions: EV_KEY_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pick_actions: EV_PND_START_ACTION_SEQUENCE
pebble
EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
ensure EV_PICK_AND_DROPABLE_ACTION_SEQUENCES
not_void: Result /= void
pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
resize_actions: EV_GEOMETRY_ACTION_SEQUENCE
EV_WIDGET_ACTION_SEQUENCES
ensure EV_WIDGET_ACTION_SEQUENCES
not_void: Result /= void
feature
is_destroyed: BOOLEAN
Current
EV_ANY
ensure EV_ANY
bridge_ok: Result = implementation.is_destroyed
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
EV_TEXT_COMPONENT
text_not_void_implies_text_not_empty: is_usable and text /= void implies text.count > 0
EV_WIDGET
pointer_position_not_void: is_usable and is_show_requested implies pointer_position /= void
is_displayed_implies_show_requested: is_usable and then is_displayed implies is_show_requested
parent_contains_current: is_usable and then parent /= void implies parent.has (Current)
EV_PICK_AND_DROPABLE
user_interface_modes_mutually_exclusive: mode_is_pick_and_drop.to_integer + mode_is_drag_and_drop.to_integer + mode_is_target_menu.to_integer = 1
EV_ANY
is_initialized: is_initialized
is_coupled: implementation /= void and then implementation.interface = Current
default_create_called: default_create_called
EV_COLORIZABLE
background_color_not_void: is_usable implies background_color /= void
foreground_color_not_void: is_usable implies foreground_color /= void
EV_POSITIONED
width_not_negative: is_usable implies width >= 0
height_not_negative: is_usable implies height >= 0
minimum_width_not_negative: is_usable implies minimum_width >= 0
minimum_height_not_negative: is_usable implies minimum_height >= 0
end -- EV_TEXT