indexing
description: "[
Grid items that do not redraw themselves.
The expose_actions are fired as `Current' must be redrawn, and provide the
drawable into which you must draw. The upper left corner of the item starts at
coordinates 0x0 in the passed drawable. All drawing Performed in the drawable is
clipped to width, height of Current. Note that the dimensions of the drawable area are
undefined, but are always be greater than width and height.
]"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2006-03-14 17:00:57 -0800 (Tue, 14 Mar 2006) $"
revision: "$Revision: 57469 $"
class interface
EV_GRID_DRAWABLE_ITEM
create
default_create
EV_ANY
require ANY
True
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_expose_action_agent (an_agent: PROCEDURE [ANY, TUPLE [EV_DRAWABLE]])
`Current'`an_agent'expose_actions
require
an_agent_not_void: an_agent /= Void
feature
background_color: EV_COLOR
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
column: EV_GRID_COLUMN
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
is_parented: is_parented
ensure EV_GRID_ITEM
column_not_void: Result /= Void
data: ANY
EV_ANY
foreground_color: EV_COLOR
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
generating_type: STRING_8
ANY
generator: STRING_8
ANY
height: INTEGER_32
`Current'
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
result_non_negative: Result >= 0
horizontal_indent: INTEGER_32
`Current'column
parentrow
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
not_parent_tree_enabled_implies_result_zero: not parent.is_tree_enabled implies Result = 0
parent_tree_enabled_implies_result_greater_or_equal_to_zero: parent.is_tree_enabled implies Result >= 0
parent: EV_GRID
`Current'
EV_GRID_ITEM
require EV_CONTAINABLE
not_destroyed: not is_destroyed
required_width: INTEGER_32
set_required_width
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
ensure EV_GRID_ITEM
result_non_negative: Result >= 0
row: EV_GRID_ROW
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
row_not_void: Result /= Void
tooltip: STRING_32
`Current'
`Result'`Void'`is_empty'
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
virtual_x_position: INTEGER_32
`Current'
parent
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
valid_result: parent /= Void implies Result >= 0 and Result <= parent.virtual_width - column.width + horizontal_indent
virtual_y_position: INTEGER_32
`Current'
parent
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
valid_result_when_parent_row_height_fixed: parent /= Void and then parent.is_row_height_fixed implies Result >= 0 and Result <= parent.virtual_height - parent.row_height
valid_result_when_parent_row_height_not_fixed: parent /= Void and then not parent.is_row_height_fixed implies Result >= 0 and Result <= parent.virtual_height - row.height
width: INTEGER_32
`Current'
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
ensure EV_GRID_ITEM
result_non_negative: Result >= 0
feature
frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
shallow_implies_deep: standard_equal (some, other) implies Result
both_or_none_void: (some = Void) implies (Result = (other = Void))
same_type: (Result and (some /= Void)) implies some.same_type (other)
symmetric: Result implies deep_equal (other, some)
frozen equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))
is_equal (other: like Current): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))
frozen standard_is_equal (other: like Current): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
same_type: Result implies same_type (other)
symmetric: Result implies other.standard_is_equal (Current)
feature
conforms_to (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
is_parented: BOOLEAN
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
is_selectable: BOOLEAN
enable_select
EV_SELECTABLE
require EV_SELECTABLE
not_destroyed: not is_destroyed
is_selected: BOOLEAN
EV_SELECTABLE
require EV_SELECTABLE
not_destroyed: not is_destroyed
ensure EV_SELECTABLE
bridge_ok: is_selectable implies Result = implementation.is_selected
same_type (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
definition: Result = (conforms_to (other) and other.conforms_to (Current))
feature
disable_select
EV_DESELECTABLE
require EV_DESELECTABLE
not_destroyed: not is_destroyed
ensure EV_DESELECTABLE
unselected: not is_selected
enable_select
is_selected
EV_SELECTABLE
require EV_SELECTABLE
not_destroyed: not is_destroyed
is_selectable: is_selectable
ensure EV_SELECTABLE
is_selected: is_selected
ensure_visible
`Current'parent
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: parent /= Void
ensure EV_GRID_ITEM
virtual_x_position_not_changed_if_indent_greater_or_equal_to_column_width: old (horizontal_indent > column.width) implies old virtual_x_position = virtual_x_position
virtual_x_position_not_changed_if_item_already_visible: old (virtual_x_position >= parent.virtual_x_position) and old (virtual_x_position + width <= parent.virtual_x_position + parent.viewable_width) implies old (virtual_x_position = virtual_x_position)
virtual_y_position_not_changed_if_item_already_visible: old (virtual_y_position >= parent.virtual_y_position) and old (virtual_y_position + height <= parent.virtual_y_position + parent.viewable_height) implies old (virtual_y_position = virtual_y_position)
row_visible_when_heights_fixed_in_parent: parent.is_row_height_fixed implies row.virtual_y_position >= parent.virtual_y_position and virtual_y_position + parent.row_height <= parent.virtual_y_position + (parent.viewable_height).max (parent.row_height)
row_visible_when_heights_not_fixed_in_parent: not parent.is_row_height_fixed implies row.virtual_y_position >= parent.virtual_y_position and virtual_y_position + row.height <= parent.virtual_y_position + (parent.viewable_height).max (row.height)
virtual_x_position_visible_if_indent_less_than_column_width: horizontal_indent < column.width implies virtual_x_position >= parent.virtual_x_position and virtual_x_position + width <= parent.virtual_x_position + (parent.viewable_width).max (width)
set_background_color (a_color: like background_color)
`a_color'background_color
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
ensure EV_GRID_ITEM
background_color_assigned: background_color = a_color
set_foreground_color (a_color: like foreground_color)
`a_color'foreground_color
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
ensure EV_GRID_ITEM
foreground_color_assigned: foreground_color = a_color
set_required_width (a_required_width: INTEGER_32)
`a_required_width'required_width
require
not_destroyed: not is_destroyed
a_required_width_non_negative: a_required_width >= 0
ensure
required_width_set: required_width = a_required_width
set_tooltip (a_tooltip: STRING_GENERAL)
`a_tooltip'tooltip
`Void'
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
ensure EV_GRID_ITEM
tooltip_reset: a_tooltip = Void implies tooltip = Void
tooltip_set: a_tooltip /= Void implies ((tooltip.same_type (a_tooltip) implies tooltip = a_tooltip) or not tooltip.same_type (a_tooltip) implies tooltip.is_equal (a_tooltip))
toggle
is_selected
EV_DESELECTABLE
require EV_DESELECTABLE
not_is_destroyed: not is_destroyed
can_be_selected: not is_selected implies is_selectable
ensure EV_DESELECTABLE
is_selected_changed: is_selected /= old is_selected
feature
expose_actions: ACTION_SEQUENCE [TUPLE [EV_DRAWABLE]]
ensure
not_void: Result /= Void
set_data (some_data: like data)
`some_data'data
EV_ANY
require EV_ANY
not_destroyed: not is_destroyed
ensure EV_ANY
data_assigned: data = some_data
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)
frozen deep_copy (other: like Current)
copy`other'deep_twin
ANY
require ANY
other_not_void: other /= Void
ensure ANY
deep_equal: deep_equal (Current, other)
frozen deep_twin: like Current
ANY
ensure ANY
deep_equal: deep_equal (Current, Result)
frozen standard_copy (other: like Current)
`other'
ANY
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_standard_equal: standard_is_equal (other)
frozen standard_twin: like Current
`other'
ANY
ensure ANY
standard_twin_not_void: Result /= Void
equal: standard_equal (Result, Current)
frozen twin: like Current
`Current'
twincopycopy
ANY
ensure ANY
twin_not_void: Result /= Void
is_equal: Result.is_equal (Current)
feature
frozen default: like Current
ANY
frozen default_pointer: POINTER
`POINTER'
`p'default
`p'`POINTER'
ANY
default_rescue
ANY
frozen do_nothing
ANY
feature
activate
`Current'`Current'
{EV_GRID}.pointer_double_press_actionsactivate
activate_action`Current'
{EV_GRID}.item_activate_actions
`Current'
{EV_GRID_EDITABLE_ITEM}.activate_action
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
deactivate
activate
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
redraw
`Current'
EV_GRID_ITEM
require EV_GRID_ITEM
not_destroyed: not is_destroyed
parented: is_parented
feature
destroy
`Current'
EV_ANY
ensure EV_ANY
is_destroyed: is_destroyed
feature
activate_actions: ACTION_SEQUENCE [TUPLE [EV_POPUP_WINDOW]]
activate`Current'{EV_GRID_EDITABLE_ITEM}.activate_action
`popup_window'
`activate_item'
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
result_not_void: Result /= Void
deactivate_actions: EV_NOTIFY_ACTION_SEQUENCE
`Current'
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
result_not_void: Result /= Void
deselect_actions: EV_NOTIFY_ACTION_SEQUENCE
`Current'
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
result_not_void: Result /= Void
drop_actions: EV_PND_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
not_void: Result /= Void
select_actions: EV_NOTIFY_ACTION_SEQUENCE
`Current'
EV_GRID_ITEM_ACTION_SEQUENCES
ensure EV_GRID_ITEM_ACTION_SEQUENCES
result_not_void: Result /= Void
feature
fixme (comment: STRING_8)
`comment'
REFACTORING_HELPER
require REFACTORING_HELPER
comment_not_void: comment /= Void
to_implement (comment: STRING_8)
`comment'
REFACTORING_HELPER
require REFACTORING_HELPER
comment_not_void: comment /= Void
to_implement_assertion (comment: STRING_8): BOOLEAN
`comment'
REFACTORING_HELPER
require REFACTORING_HELPER
comment_not_void: comment /= Void
feature
io: STD_FILES
ANY
out: STRING_8
ANYtagged_out
ANY
print (some: ANY)
`some'
ANY
frozen tagged_out: STRING_8
ANYout
ANY
feature
operating_environment: OPERATING_ENVIRONMENT
ANY
feature
is_destroyed: BOOLEAN
`Current'
EV_ANY
ensure EV_ANY
bridge_ok: Result = implementation.is_destroyed
invariant
EV_GRID_ITEM
parented_implies_height_equals_row_height_or_parent_row_height: (parent /= Void and then not parent.is_row_height_fixed implies height = row.height) or (parent /= Void and then parent.is_row_height_fixed implies height = parent.row_height)
parented_and_parent_has_no_tree_implies_width_equals_column_width: parent /= Void and then not parent.is_tree_enabled implies width = column.width
parented_and_row_is_subrow_implies_width_equals_column_width_less_indent: parent /= Void and row.parent_row /= Void implies width = (column.width - horizontal_indent).max (0)
EV_ANY
is_initialized: is_initialized
is_coupled: implementation /= Void and then implementation.interface = Current
default_create_called: default_create_called
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
EV_DESELECTABLE
not_selectable_therefore_not_selected: not is_selectable implies not is_selected
indexing
copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end EV_GRID_DRAWABLE_ITEM