+
Point of view
All features
class NCURSES_LIST [E_]
Summary
This class adds a list selection widget.
Direct parents
Inherit list: NCURSES_WIDGET, TRAVERSABLE
Class invariant
Overview
Creation features
{ANY}
Features
{ANY}
The TRAVERSABLE ability:
{ANY}
{NCURSES_WIDGET}
{}
{ANY}
{NCURSES_WIDGET}
{}
{ANY}
{ANY}
{}
{}
{}
{ANY}
Other features:
{ANY}
Agent-based features:
{ANY}
Printing:
{ANY}
{ANY}
{}
Agent-based features:
{ANY}
{}
Indexing:
{ANY}
left: INTEGER_32
writable attribute
{ANY}
require
  • ncurses.is_enabled
writable attribute
{ANY}
require
  • ncurses.is_enabled
width: INTEGER_32
writable attribute
{ANY}
require
  • ncurses.is_enabled
height: INTEGER_32
writable attribute
{ANY}
require
  • ncurses.is_enabled
refresh_later
effective procedure
{ANY}
add_first (string: STRING, elt: E_)
effective procedure
{ANY}
require
  • string /= Void
add_last (string: STRING, elt: E_)
effective procedure
{ANY}
require
  • string /= Void
add (string: STRING, elt: E_, index: INTEGER_32)
effective procedure
{ANY}
require
  • string /= Void
put (string: STRING, elt: E_, index: INTEGER_32)
effective procedure
{ANY}
require
  • string /= Void
select_item (index: INTEGER_32)
effective procedure
{ANY}
deselect_item (index: INTEGER_32)
effective procedure
{ANY}
is_selected (index: INTEGER_32): BOOLEAN
effective function
{ANY}
is_multiple_selection_allowed: BOOLEAN
writable attribute
{ANY}
allow_multiple_selection (b: BOOLEAN)
effective procedure
{ANY}
get_selection: HASHED_DICTIONARY[E_, INTEGER_32]
effective function
{ANY}
set_focus_on (index: INTEGER_32)
effective procedure
{ANY}
require
  • items.valid_index(index)
ensure
focused: INTEGER_32
writable attribute
{ANY}
count: INTEGER_32
effective function
{ANY}
Number of available items in the hoard.
See also is_empty
ensure
  • Result >= 0
lower: INTEGER_32
effective function
{ANY}
Minimum index.
See also upper, valid_index, item.
upper: INTEGER_32
effective function
{ANY}
Maximum index.
See also lower, valid_index, item.
is_empty: BOOLEAN
effective function
{ANY}
Is the hoard empty ?
See also count.
ensure
  • definition: Result = count = 0
item (i: INTEGER_32): E_
effective function
{ANY}
Item at the corresponding index i.
See also lower, upper, valid_index.
require
  • valid_index(i)
first: E_
effective function
{ANY}
The very first item.
See also last, item.
require
  • not is_empty
ensure
  • definition: Result = item(lower)
last: E_
effective function
{ANY}
The last item.
See also first, item.
require
  • not is_empty
ensure
  • definition: Result = item(upper)
new_iterator: ITERATOR[E_]
effective function
{ANY}
ensure
  • Result /= Void
  • Result.generation = generation
get_window: NCURSES_WINDOW
effective function
parent_resized
effective procedure
require
  • ncurses.is_enabled
effective procedure
{}
require
  • ncurses.is_enabled
  • p /= Void
  • x >= 0
  • y >= 0
  • x + w <= p.width
  • y + h <= p.height
ensure
writable attribute
{}
items: FAST_ARRAY[NCURSES_LIST_ITEM[E_]]
writable attribute
{}
redraw_later
effective procedure
{ANY}
redraw_now
effective procedure
{ANY}
hidden: BOOLEAN
writable attribute
{ANY}
show
effective procedure
{ANY}
hide
effective procedure
{ANY}
is_children_drawing_disable: BOOLEAN
writable attribute
{ANY}
draw_children (b: BOOLEAN)
effective procedure
{ANY}
set_foreground_color (color: INTEGER_32)
effective procedure
{ANY}
set_background_color (color: INTEGER_32)
effective procedure
{ANY}
set_colors (foreground: INTEGER_32, background: INTEGER_32)
effective procedure
{ANY}
get_foreground_color: INTEGER_32
effective function
{ANY}
get_background_color: INTEGER_32
effective function
{ANY}
set_parent (p: NCURSES_WIDGET)
effective procedure
add_child (child: NCURSES_WIDGET)
effective procedure
delete
effective procedure
propagate_resize
effective procedure
require
screen_left: INTEGER_32
effective function
screen_top: INTEGER_32
effective function
writable attribute
writable attribute
dispose
effective procedure
{}
Action to be executed just before garbage collection reclaims an object.
dispose_children
effective procedure
{}
ncurses: NCURSES
once function
{ANY}
Access to the ncurses singleton.
invisible_cursor_mode: INTEGER_32
is 0
constant attribute
{ANY}
In this mode the cursor is invisible.
default_visible_cursor_mode: INTEGER_32
is 1
constant attribute
{ANY}
The default visible cursor mode.
special_visible_cursor_mode: INTEGER_32
is 2
constant attribute
{ANY}
In this mode cursor may blink in a more special or in a more visible way.
valid_cursor_visibility (code: INTEGER_32): BOOLEAN
effective function
{ANY}
ensure
key_escape: INTEGER_32
is 27
constant attribute
{}
key_return: INTEGER_32
is 10
constant attribute
{}
Below are integer equivalent for special "function" keys.
Is it necessary to keep all of them ?
key_min: INTEGER_32
{}
key_break: INTEGER_32
{}
key_sreset: INTEGER_32
{}
key_reset: INTEGER_32
{}
key_down: INTEGER_32
{}
The Down arrow of the keyboard.
key_up: INTEGER_32
{}
The Up arrow of the keyboard.
key_left: INTEGER_32
{}
The Left arrow of the keyboard.
key_right: INTEGER_32
{}
The Right arrow of the keyboard.
key_home: INTEGER_32
{}
key_backspace: INTEGER_32
{}
key_dl: INTEGER_32
{}
key_il: INTEGER_32
{}
key_dc: INTEGER_32
{}
key_ic: INTEGER_32
{}
key_eic: INTEGER_32
{}
key_clear: INTEGER_32
{}
key_eos: INTEGER_32
{}
key_eol: INTEGER_32
{}
key_sf: INTEGER_32
{}
key_sr: INTEGER_32
{}
key_next_page: INTEGER_32
{}
Also labeled "Page Down" on some keyboards.
key_previous_page: INTEGER_32
{}
Also labeled "Page Up" on some keyboards.
key_stab: INTEGER_32
{}
key_ctab: INTEGER_32
{}
key_catab: INTEGER_32
{}
key_enter: INTEGER_32
{}
key_print: INTEGER_32
{}
key_ll: INTEGER_32
{}
key_a1: INTEGER_32
{}
key_a3: INTEGER_32
{}
key_b2: INTEGER_32
{}
key_c1: INTEGER_32
{}
key_c3: INTEGER_32
{}
key_btab: INTEGER_32
{}
key_beg: INTEGER_32
{}
key_cancel: INTEGER_32
{}
key_close: INTEGER_32
{}
key_command: INTEGER_32
{}
key_copy: INTEGER_32
{}
key_create: INTEGER_32
{}
key_end: INTEGER_32
{}
key_exit: INTEGER_32
{}
key_find: INTEGER_32
{}
key_help: INTEGER_32
{}
key_mark: INTEGER_32
{}
key_message: INTEGER_32
{}
key_move: INTEGER_32
{}
key_next: INTEGER_32
{}
key_open: INTEGER_32
{}
key_options: INTEGER_32
{}
key_previous: INTEGER_32
{}
key_redo: INTEGER_32
{}
key_reference: INTEGER_32
{}
key_refresh: INTEGER_32
{}
key_replace: INTEGER_32
{}
key_restart: INTEGER_32
{}
key_resume: INTEGER_32
{}
key_save: INTEGER_32
{}
key_sbeg: INTEGER_32
{}
key_scancel: INTEGER_32
{}
key_scommand: INTEGER_32
{}
key_scopy: INTEGER_32
{}
key_screate: INTEGER_32
{}
key_sdc: INTEGER_32
{}
key_sdl: INTEGER_32
{}
key_select: INTEGER_32
{}
key_send: INTEGER_32
{}
key_seol: INTEGER_32
{}
key_sexit: INTEGER_32
{}
key_sfind: INTEGER_32
{}
key_shelp: INTEGER_32
{}
key_shome: INTEGER_32
{}
key_sic: INTEGER_32
{}
key_sleft: INTEGER_32
{}
key_smessage: INTEGER_32
{}
key_smove: INTEGER_32
{}
key_snext: INTEGER_32
{}
key_soptions: INTEGER_32
{}
key_sprevious: INTEGER_32
{}
key_sprint: INTEGER_32
{}
key_sredo: INTEGER_32
{}
key_sreplace: INTEGER_32
{}
key_sright: INTEGER_32
{}
key_srsume: INTEGER_32
{}
key_ssave: INTEGER_32
{}
key_ssuspend: INTEGER_32
{}
key_sundo: INTEGER_32
{}
key_suspend: INTEGER_32
{}
key_undo: INTEGER_32
{}
key_mouse: INTEGER_32
{}
key_resize: INTEGER_32
{}
key_event: INTEGER_32
{}
key_max: INTEGER_32
{}
key_f0: INTEGER_32
{}
key_f1: INTEGER_32
{}
key_f2: INTEGER_32
{}
key_f3: INTEGER_32
{}
key_f4: INTEGER_32
{}
key_f5: INTEGER_32
{}
key_f6: INTEGER_32
{}
key_f7: INTEGER_32
{}
key_f8: INTEGER_32
{}
key_f9: INTEGER_32
{}
key_f10: INTEGER_32
{}
key_f11: INTEGER_32
{}
key_f12: INTEGER_32
{}
key_function (num: INTEGER_32): INTEGER_32
{}
black_color: INTEGER_32
{}
red_color: INTEGER_32
{}
green_color: INTEGER_32
{}
yellow_color: INTEGER_32
{}
blue_color: INTEGER_32
{}
magenta_color: INTEGER_32
{}
cyan_color: INTEGER_32
{}
white_color: INTEGER_32
{}
space: INTEGER_32
once function
{}
return: INTEGER_32
once function
{}
upper_left_corner: INTEGER_32
{}
lower_left_corner: INTEGER_32
{}
upper_right_corner: INTEGER_32
{}
lower_right_corner: INTEGER_32
{}
left_tee: INTEGER_32
{}
right_tee: INTEGER_32
{}
bottom_tee: INTEGER_32
{}
top_tee: INTEGER_32
{}
horizontal_line: INTEGER_32
{}
vertical_line: INTEGER_32
{}
plus: INTEGER_32
{}
scanline1: INTEGER_32
{}
scanline9: INTEGER_32
{}
diamond: INTEGER_32
{}
checker_board: INTEGER_32
{}
degree: INTEGER_32
{}
plus_minus: INTEGER_32
{}
bullet: INTEGER_32
{}
left_arrow: INTEGER_32
{}
right_arrow: INTEGER_32
{}
down_arrow: INTEGER_32
{}
up_arrow: INTEGER_32
{}
board: INTEGER_32
{}
lantern: INTEGER_32
{}
block: INTEGER_32
{}
scanline3: INTEGER_32
{}
scanline7: INTEGER_32
{}
less_or_equal: INTEGER_32
{}
greater_or_equal: INTEGER_32
{}
{}
not_equal: INTEGER_32
{}
sterling: INTEGER_32
{}
enumerate: ENUMERATE[E_]
effective function
{ANY}
get_new_iterator: ITERATOR[E_]
frozen
effective function
{ANY}
This feature is obsolete: Use `new_iterator' instead. This historical SmartEiffel feature is badly named.
for_each (action: PROCEDURE[TUPLE[TUPLE 1[E_]]])
effective procedure
{ANY}
Apply action to every item of Current.
See also for_all, exists, aggregate.
require
  • action /= Void
for_all (test: FUNCTION[TUPLE[TUPLE 1[E_]]]): BOOLEAN
effective function
{ANY}
Do all items satisfy test?
See also for_each, exists, aggregate.
require
  • test /= Void
exists (test: FUNCTION[TUPLE[TUPLE 1[E_]]]): BOOLEAN
effective function
{ANY}
Does at least one item satisfy test?
See also for_each, for_all, aggregate.
require
  • test /= Void
aggregate (action: FUNCTION[TUPLE[TUPLE 2[E_, E_], E_]], initial: E_): E_
effective function
{ANY}
Aggregate all the elements starting from the initial value.
See also for_each, for_all, exists.
require
  • action /= Void
out_in_tagged_out_memory
effective procedure
{ANY}
Append terse printable representation of current object in tagged_out_memory.
require
  • locked: tagged_out_locked
ensure
  • still_locked: tagged_out_locked
  • not_cleared: tagged_out_memory.count >= old tagged_out_memory.count
  • append_only: old tagged_out_memory.twin.is_equal(tagged_out_memory.substring(1, old tagged_out_memory.count))
generation: INTEGER_32
writable attribute
{ANY}
next_generation
effective procedure
{}
ensure
do_all (action: ROUTINE[TUPLE[TUPLE 1[E_]]])
frozen
effective procedure
{ANY}
Apply action to every item of Current.
This feature is obsolete: Use `for_each` instead. This feature is not secure because it accepts a FUNCTION, the result of which is lost.
_inline_agent1 (a: ROUTINE[TUPLE[TUPLE 1[E_]]], e: E_)
frozen
effective procedure
{}
valid_index (i: INTEGER_32): BOOLEAN
effective function
{ANY}
True when i is valid (i.e., inside actual bounds).
See also lower, upper, item.
ensure