indexing
description: "Abstraction for objects that have a text label."
status: "See notice at end of class"
keywords: "text, label, font, name, property"
date: "$Date$"
revision: "$Revision$"
deferred class interface
EV_TEXTABLE
feature
alignment: EV_TEXT_ALIGNMENT
require
not_destroyed: not is_destroyed
ensure
alignment_not_void: Result /= void
data: ANY
EV_ANY
text: STRING
require
not_destroyed: not is_destroyed
ensure
bridge_ok: equal (Result, implementation.text)
not_void_implies_cloned: Result /= void implies Result /= implementation.text
feature
align_text_center
text
require
not_destroyed: not is_destroyed
ensure
alignment_set: alignment.is_center_aligned
align_text_left
text
require
not_destroyed: not is_destroyed
ensure
alignment_set: alignment.is_left_aligned
align_text_right
text
require
not_destroyed: not is_destroyed
ensure
alignment_set: alignment.is_right_aligned
feature
remove_text
textVoid
require
not_destroyed: not is_destroyed
ensure
text_removed: text = void
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_text (a_text: STRING)
a_texttext
require
not_destroyed: not is_destroyed
a_text_not_void: a_text /= void
a_text_not_empty: not a_text.is_empty
ensure
text_cloned: text.is_equal (a_text) and then text /= a_text
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
destroy
Current
EV_ANY
ensure EV_ANY
is_destroyed: is_destroyed
feature
is_destroyed: BOOLEAN
Current
EV_ANY
ensure EV_ANY
bridge_ok: Result = implementation.is_destroyed
invariant
text_not_void_implies_text_not_empty: is_usable and text /= void implies text.count > 0
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
EV_ANY
is_initialized: is_initialized
is_coupled: implementation /= void and then implementation.interface = Current
default_create_called: default_create_called
end -- EV_TEXTABLE