indexing
description: "Box container for display elements"
date: "$Date$"
revision: "$Revision$"
deferred class interface
DV_BOX
feature
make
make_without_borders
set_default
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)
cursor: EV_DYNAMIC_LIST_CURSOR [EV_WIDGET]
EV_DYNAMIC_LIST
ensure then EV_DYNAMIC_LIST
bridge_ok: Result.is_equal (implementation.cursor)
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
first: like item
CHAIN
require CHAIN
not_empty: not is_empty
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)
has (v: like item): BOOLEAN
v
object_comparison
CHAIN
ensure CONTAINER
not_found_in_empty: Result implies not is_empty
has_recursive (an_item: like item): BOOLEAN
an_item
an_item
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
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
i_th (i: INTEGER): EV_WIDGET
i
EV_DYNAMIC_LIST
require TABLE
valid_key: valid_index (k)
ensure then EV_DYNAMIC_LIST
bridge_ok: Result.is_equal (implementation.i_th (i))
frozen id_object (an_id: INTEGER): IDENTIFIED
an_id
IDENTIFIED
ensure IDENTIFIED
consistent: Result = void or else Result.object_id = an_id
index: INTEGER
EV_DYNAMIC_LIST
ensure then EV_DYNAMIC_LIST
bridge_ok: Result = implementation.index
index_of (v: like item; i: INTEGER): INTEGER
iv
EV_DYNAMIC_LIST
require LINEAR
positive_occurrences: i > 0
ensure LINEAR
non_negative_result: Result >= 0
ensure then EV_DYNAMIC_LIST
bridge_ok: Result = implementation.index_of (v, i)
is_parent_recursive (a_widget: EV_WIDGET): BOOLEAN
a_widgetparentparentparent
EV_WIDGET
require EV_DYNAMIC_LIST
a_list_not_void: a_list /= void
require EV_WIDGET
not_destroyed: not is_destroyed
item: EV_WIDGET
EV_DYNAMIC_LIST
require TRAVERSABLE
not_off: not off
require ACTIVE
readable: readable
require EV_CONTAINER
not_destroyed: not is_destroyed
readable: readable
ensure EV_CONTAINER
bridge_ok: Result = implementation.item
ensure then EV_DYNAMIC_LIST
not_void: Result /= void
bridge_ok: Result.is_equal (implementation.item)
last: like item
CHAIN
require CHAIN
not_empty: not is_empty
frozen object_id: INTEGER
IDENTIFIED
ensure IDENTIFIED
valid_id: id_object (Result) = Current
sequential_occurrences (v: EV_WIDGET): INTEGER
v
object_comparison
LINEAR
ensure BAG
non_negative_occurrences: Result >= 0
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
target_name: STRING
Current
EV_ABSTRACT_PICK_AND_DROPABLE
infix "@" (i: INTEGER): like item
i
CHAINi_th
CHAIN
require TABLE
valid_key: valid_index (k)
feature
client_height: INTEGER
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
ensure EV_CONTAINER
bridge_ok: Result = implementation.client_height
client_width: INTEGER
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
ensure EV_CONTAINER
bridge_ok: Result = implementation.client_width
count: INTEGER
EV_DYNAMIC_LIST
ensure then EV_DYNAMIC_LIST
bridge_ok: Result = implementation.count
height: INTEGER
minimum_height
EV_POSITIONED
require EV_POSITIONED
not_destroyed: not is_destroyed
ensure EV_POSITIONED
bridge_ok: Result = implementation.height
index_set: INTEGER_INTERVAL
CHAIN
ensure INDEXABLE
not_void: Result /= void
ensure then CHAIN
count_definition: Result.count = count
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
occurrences (v: like item): INTEGER
v
object_comparison
CHAIN
ensure BAG
non_negative_occurrences: Result >= 0
occurrences (v: like item): INTEGER
v
object_comparison
CHAIN
ensure BAG
non_negative_occurrences: 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
is_equal (other: like Current): BOOLEAN
other
LIST
require ANY
other_not_void: other /= void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
ensure then LIST
indices_unchanged: index = old index and other.index = old other.index
true_implies_same_size: Result implies count = other.count
feature
after: BOOLEAN
LIST
before: BOOLEAN
LIST
border_width: INTEGER
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
ensure EV_BOX
bridge_ok: Result = implementation.border_width
positive: Result >= 0
exhausted: BOOLEAN
LINEAR
ensure LINEAR
exhausted_when_off: off implies Result
Extendible: BOOLEAN is True
DYNAMIC_CHAIN
Full: BOOLEAN is False
EV_DYNAMIC_LIST
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
is_default_non_expand: BOOLEAN
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_empty: BOOLEAN
FINITE
is_homogeneous: BOOLEAN
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
ensure EV_BOX
bridge_ok: Result = implementation.is_homogeneous
is_inserted (v: EV_WIDGET): BOOLEAN
v
COLLECTION
is_item_expanded (an_item: EV_WIDGET): BOOLEAN
an_item
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
has_an_item: has (an_item)
ensure EV_BOX
bridge_ok: Result = implementation.is_item_expanded (an_item)
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
isfirst: BOOLEAN
CHAIN
ensure CHAIN
valid_position: Result implies not is_empty
islast: BOOLEAN
CHAIN
ensure CHAIN
valid_position: Result implies not is_empty
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
off: BOOLEAN
CHAIN
padding: INTEGER
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
ensure EV_BOX
bridge_ok: Result = implementation.padding
positive: Result >= 0
prunable: BOOLEAN
DYNAMIC_CHAIN
readable: BOOLEAN
SEQUENCE
require ACTIVE
True
require EV_CONTAINER
not_destroyed: not is_destroyed
valid_cursor (p: CURSOR): BOOLEAN
p
pEV_DYNAMIC_LIST_CURSOR
Current
EV_DYNAMIC_LIST
ensure then EV_DYNAMIC_LIST
bridge_ok: Result = implementation.valid_cursor (p)
valid_cursor_index (i: INTEGER): BOOLEAN
i
CHAIN
ensure CHAIN
valid_cursor_index_definition: Result = ((i >= 0) and (i <= count + 1))
valid_index (i: INTEGER): BOOLEAN
i
CHAIN
ensure then INDEXABLE
only_if_in_index_set: Result implies ((i >= index_set.lower) and (i <= index_set.upper))
ensure then CHAIN
valid_index_definition: Result = ((i >= 1) and (i <= count))
writable: BOOLEAN
SEQUENCE
require ACTIVE
True
require EV_CONTAINER
not_destroyed: not is_destroyed
feature
center_pointer
Current
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
disable_borders
disable_capture
EV_WIDGET
require EV_WIDGET
not_destroyed: not is_destroyed
ensure EV_WIDGET
not_has_capture: not has_capture
disable_default_expand
ensure
is_default_non_expand: is_default_non_expand
disable_homogeneous
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
ensure EV_BOX
not_is_homogeneous: not is_homogeneous
disable_item_expand (an_item: EV_WIDGET)
an_item
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
has_an_item: has (an_item)
ensure EV_BOX
not_an_item_expanded: not is_item_expanded (an_item)
disable_padding
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_borders
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_default_expand
ensure
is_default_expand: not is_default_non_expand
enable_homogeneous
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
ensure EV_BOX
is_homogeneous: is_homogeneous
enable_item_expand (an_item: EV_WIDGET)
an_item
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
has_an_item: has (an_item)
ensure EV_BOX
an_item_expanded: is_item_expanded (an_item)
enable_padding
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
merge_radio_button_groups (other: EV_CONTAINER)
Currentother
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
other_not_void: other /= void
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_border_width (value: INTEGER)
valueborder_width
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
positive_value: value >= 0
ensure EV_BOX
border_width_assigned: border_width = value
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_padding (value: INTEGER)
valuepadding
EV_BOX
require EV_BOX
not_destroyed: not is_destroyed
positive_value: value >= 0
ensure EV_BOX
padding_assigned: padding = value
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
back
EV_DYNAMIC_LIST
require BILINEAR
not_before: not before
finish
CHAIN
ensure then CHAIN
at_last: not is_empty implies islast
forth
EV_DYNAMIC_LIST
require LINEAR
not_after: not after
ensure then LIST
moved_forth: index = old index + 1
go_i_th (i: INTEGER)
i
EV_DYNAMIC_LIST
require CHAIN
valid_cursor_index: valid_cursor_index (i)
ensure CHAIN
position_expected: index = i
go_to (p: CURSOR)
p
EV_DYNAMIC_LIST
require CURSOR_STRUCTURE
cursor_position_valid: valid_cursor (p)
move (i: INTEGER)
i
EV_DYNAMIC_LIST
ensure CHAIN
too_far_right: (old index + i > count) implies exhausted
too_far_left: (old index + i < 1) implies exhausted
expected_index: (not exhausted) implies (index = old index + i)
search (v: like item)
itemv
v
exhausted
object_comparison
BILINEAR
ensure LINEAR
object_found: (not exhausted and object_comparison) implies equal (v, item)
item_found: (not exhausted and not object_comparison) implies v = item
start
EV_DYNAMIC_LIST
ensure then CHAIN
at_first: not is_empty implies isfirst
ensure then EV_DYNAMIC_LIST
empty_implies_after: is_empty implies after
feature
append (s: SEQUENCE [EV_WIDGET])
s
SEQUENCE
require SEQUENCE
argument_not_void: s /= void
ensure SEQUENCE
new_count: count >= old count
fill (other: CONTAINER [EV_WIDGET])
other
other
COLLECTION
require COLLECTION
other_not_void: other /= void
extendible
force (v: like item)
v
SEQUENCE
require SEQUENCE
extendible: extendible
ensure then SEQUENCE
new_count: count = old count + 1
item_inserted: has (v)
merge_left (other: like Current)
other
other
EV_DYNAMIC_LIST
require DYNAMIC_CHAIN
extendible: extendible
not_before: not before
other_exists: other /= void
ensure DYNAMIC_CHAIN
new_count: count = old count + old other.count
new_index: index = old index + old other.count
other_is_empty: other.is_empty
ensure then DYNAMIC_LIST
other_empty: other.is_empty
merge_right (other: like Current)
other
other
EV_DYNAMIC_LIST
require DYNAMIC_CHAIN
extendible: extendible
not_after: not after
other_exists: other /= void
ensure DYNAMIC_CHAIN
new_count: count = old count + old other.count
same_index: index = old index
other_is_empty: other.is_empty
ensure then DYNAMIC_LIST
other_empty: other.is_empty
put (v: like item)
v
replace
CHAIN
require COLLECTION
extendible: extendible
require EV_CONTAINER
not_destroyed: not is_destroyed
writable: writable
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: v /= Current
v_not_parent_of_current: not is_parent_recursive (v)
v_not_window: not v.conforms_to (create {EV_WINDOW})
ensure COLLECTION
item_inserted: is_inserted (v)
ensure then SET
in_set_already: old has (v) implies (count = old count)
added_to_set: not old has (v) implies (count = old count + 1)
ensure then CHAIN
same_count: count = old count
ensure EV_CONTAINER
has_v: has (v)
put (v: like item)
v
replace
CHAIN
require COLLECTION
extendible: extendible
require EV_CONTAINER
not_destroyed: not is_destroyed
writable: writable
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: v /= Current
v_not_parent_of_current: not is_parent_recursive (v)
v_not_window: not v.conforms_to (create {EV_WINDOW})
ensure COLLECTION
item_inserted: is_inserted (v)
ensure then SET
in_set_already: old has (v) implies (count = old count)
added_to_set: not old has (v) implies (count = old count + 1)
ensure then CHAIN
same_count: count = old count
ensure EV_CONTAINER
has_v: has (v)
put_front (v: like item)
v
EV_DYNAMIC_LIST
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
extendible: extendible
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
v_is_first: v = first
count_increased: count = old count + 1
cursor_not_moved: (index = old index + 1) or (before and old before)
put_i_th (v: like item; i: INTEGER)
iv
EV_DYNAMIC_LIST
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
valid_index: i > 0 and i <= count
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
item_replaced: v = i_th (i)
not_has_old_item: not has (old i_th (i))
old_item_parent_void: (old i_th (i)).parent = void
count_same: count = old count
cursor_not_moved: index = old index
put_left (v: like item)
v
EV_DYNAMIC_LIST
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
extendible: extendible
not_before: not before
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
v_at_index_plus_one: v = i_th (index - 1)
count_increased: count = old count + 1
cursor_not_moved: index = old index + 1
put_right (v: like item)
v
EV_DYNAMIC_LIST
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
extendible: extendible
not_after: not after
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
v_at_index_plus_one: v = i_th (index + 1)
count_increased: count = old count + 1
cursor_not_moved: index = old index
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
replace (v: like item)
v
EV_DYNAMIC_LIST
require EV_CONTAINER
not_destroyed: not is_destroyed
writable: writable
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: v /= Current
v_not_parent_of_current: not is_parent_recursive (v)
v_not_window: not v.conforms_to (create {EV_WINDOW})
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
writable: writable
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_CONTAINER
has_v: has (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
item_replaced: v = item
not_has_old_item: not has (old item)
old_item_parent_void: (old item).parent = void
count_same: count = old count
cursor_not_moved: index = old index
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)
swap (i: INTEGER)
i
EV_DYNAMIC_LIST
require CHAIN
not_off: not off
valid_index: valid_index (i)
ensure CHAIN
swapped_to_item: item = old i_th (i)
swapped_from_item: i_th (i) = old item
feature
prune (v: like item)
v
v
EV_DYNAMIC_LIST
require COLLECTION
prunable: prunable
ensure then SET
removed_count_change: old has (v) implies (count = old count - 1)
not_removed_no_count_change: not old has (v) implies (count = old count)
item_deleted: not has (v)
ensure then EV_DYNAMIC_LIST
not_has_v: not has (v)
had_item_implies_parent_void: old has (v) implies v.parent = void
had_item_implies_count_decreased: old has (v) implies count = old count - 1
had_item_and_was_after_implies_index_decreased: (old after and old has (v)) implies index = old index - 1
dl_prune (v: like item)
v
exhausted
DYNAMIC_CHAIN
require COLLECTION
prunable: prunable
prune_all (v: like item)
v
object_comparison
exhausted
DYNAMIC_CHAIN
require COLLECTION
prunable
ensure COLLECTION
no_more_occurrences: not has (v)
ensure then DYNAMIC_CHAIN
is_exhausted: exhausted
remove
after
EV_DYNAMIC_LIST
require ACTIVE
prunable: prunable
writable: writable
ensure then DYNAMIC_LIST
after_when_empty: is_empty implies after
ensure then EV_DYNAMIC_LIST
v_removed: not has (old item)
parent_void: (old item).parent = void
count_decreased: count = old count - 1
index_same: index = old index
remove_left
EV_DYNAMIC_LIST
require DYNAMIC_CHAIN
left_exists: index > 1
require else DYNAMIC_LIST
not_before: not before
ensure DYNAMIC_CHAIN
new_count: count = old count - 1
new_index: index = old index - 1
ensure then EV_DYNAMIC_LIST
left_neighbor_removed: not has (old i_th (index - 1))
parent_void: (old i_th (index - 1)).parent = void
index_decreased: index = old index - 1
remove_right
EV_DYNAMIC_LIST
require DYNAMIC_CHAIN
right_exists: index < count
ensure DYNAMIC_CHAIN
new_count: count = old count - 1
same_index: index = old index
ensure then EV_DYNAMIC_LIST
right_neighbor_removed: not has (old i_th (index + 1))
parent_void: (old i_th (index + 1)).parent = void
index_same: index = old index
wipe_out
EV_DYNAMIC_LIST
require COLLECTION
prunable
ensure COLLECTION
wiped_out: is_empty
ensure then DYNAMIC_LIST
is_before: before
feature
linear_representation: LINEAR [EV_WIDGET]
LINEAR
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
extend (widget: EV_WIDGET)
widget
require EV_CONTAINER
not_destroyed: not is_destroyed
extendible: extendible
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: v /= Current
v_not_parent_of_current: not is_parent_recursive (v)
v_not_window: not v.conforms_to (create {EV_WINDOW})
require EV_DYNAMIC_LIST
not_destroyed: not is_destroyed
extendible: extendible
v_not_void: v /= void
v_parent_void: v.parent = void
v_not_current: not same (v)
v_not_parent_of_current: not is_parent_recursive (v)
ensure EV_CONTAINER
has_v: has (v)
ensure EV_DYNAMIC_LIST
parent_is_current: v.parent = Current
v_is_last: v = last
count_increased: count = old count + 1
cursor_not_moved: (index = old index) or (after and old after)
extend_cell
extend_separator
propagate_background_color
background_color
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
ensure EV_CONTAINER
background_color_propagated: background_color_propagated
propagate_foreground_color
foreground_color
EV_CONTAINER
require EV_CONTAINER
not_destroyed: not is_destroyed
ensure EV_CONTAINER
foreground_color_propagated: foreground_color_propagated
set_default_border_width (new_border_width: INTEGER)
new_border_width
set_default_padding (new_padding: INTEGER)
new_padding
feature
destroy
Current
EV_ANY
ensure EV_ANY
is_destroyed: is_destroyed
feature
same (other: EV_ANY): BOOLEAN
otherCurrent
EV_DYNAMIC_LIST
feature
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
new_item_actions: EV_NEW_ITEM_ACTION_SEQUENCE
EV_CONTAINER_ACTION_SEQUENCES
ensure EV_CONTAINER_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
do_all (action: PROCEDURE [ANY, TUPLE [EV_WIDGET]])
action
action
LINEAR
require TRAVERSABLE
action_exists: action /= void
do_if (action: PROCEDURE [ANY, TUPLE [EV_WIDGET]]; test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN])
actiontest
actiontest
LINEAR
require TRAVERSABLE
action_exists: action /= void
test_exits: test /= void
for_all (test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN]): BOOLEAN
test
LINEAR
require TRAVERSABLE
test_exits: test /= void
there_exists (test: FUNCTION [ANY, TUPLE [EV_WIDGET], BOOLEAN]): BOOLEAN
test
LINEAR
require TRAVERSABLE
test_exits: test /= 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_CONTAINER
client_width_within_bounds: is_usable implies client_width >= 0 and client_width <= width
client_height_within_bounds: is_usable implies client_height >= 0 and client_height <= height
all_radio_buttons_connected: is_usable implies all_radio_buttons_connected
parent_of_items_is_current: is_usable implies parent_of_items_is_current
items_unique: is_usable implies items_unique
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
LIST
before_definition: before = (index = 0)
after_definition: after = (index = count + 1)
CHAIN
non_negative_index: index >= 0
index_small_enough: index <= count + 1
off_definition: off = ((index = 0) or (index = count + 1))
isfirst_definition: isfirst = ((not is_empty) and (index = 1))
islast_definition: islast = ((not is_empty) and (index = count))
item_corresponds_to_index: (not off) implies (item = i_th (index))
index_set_has_same_count: index_set.count = count
ACTIVE
writable_constraint: writable implies readable
empty_constraint: is_empty implies (not readable) and (not writable)
INDEXABLE
index_set_not_void: index_set /= void
BILINEAR
not_both: not (after and before)
before_constraint: before implies off
LINEAR
after_constraint: after implies off
TRAVERSABLE
empty_constraint: is_empty implies off
FINITE
empty_definition: is_empty = (count = 0)
non_negative_count: count >= 0
DYNAMIC_CHAIN
extendible: extendible
indexing
library: "[
EiffelStore: library of reusable components for ISE Eiffel.
]"
status: "[
Copyright (C) 1986-2001 Interactive Software Engineering Inc.
All rights reserved. Duplication and distribution prohibited.
May be used only with ISE Eiffel, under terms of user license.
Contact ISE for any other use.
]"
source: "[
Interactive Software Engineering Inc.
ISE Building
360 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Electronic mail <info@eiffel.com>
Customer support http://support.eiffel.com
]"
info: "[
For latest info see award-winning pages: http://eiffel.com
]"
end -- DV_BOX