indexing
description: "Control window that contains one or more buttons. Each buttons sends a command message to the parent window when the user chooses it."
note: "The common controls dll (WEL_COMMON_CONTROLS_DLL) needs to be loaded to use this control."
status: "See notice at end of class."
date: "$Date$"
revision: "$Revision$"
class interface
WEL_TOOL_BAR
create
make (a_parent: WEL_WINDOW; an_id: INTEGER)
a_parent
an_id
require
a_parent_not_void: a_parent /= void
a_parent_exists: a_parent.exists
ensure
exists: exists
parent_set: parent = a_parent
id_set: id = an_id
feature
commands: WEL_COMMAND_MANAGER
WEL_WINDOW
default_processing: BOOLEAN
WEL_RETURN_VALUE
font: WEL_FONT
WEL_CONTROL
require WEL_CONTROL
exists: exists
ensure WEL_CONTROL
result_not_void: Result /= void
has_return_value: BOOLEAN
WEL_RETURN_VALUE
id: INTEGER
WEL_CONTROL
item: POINTER
WEL_ANY
message_return_value: INTEGER
WEL_RETURN_VALUE
require WEL_RETURN_VALUE
has_return_value: has_return_value
parent: WEL_WINDOW
WEL_WINDOW
feature
absolute_x: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
Result = window_rect.x
absolute_y: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
Result = window_rect.y
background_brush: WEL_BRUSH
WEL_WINDOW
ensure WEL_WINDOW
new_object: Result /= void implies Result /= background_brush
button_checked (command_id: INTEGER): BOOLEAN
command_id
require
exists: exists
button_count: INTEGER
require
exists: exists
ensure
positive_result: Result >= 0
button_enabled (command_id: INTEGER): BOOLEAN
command_id
require
exists: exists
button_hidden (command_id: INTEGER): BOOLEAN
command_id
require
exists: exists
button_indeterminate (command_id: INTEGER): BOOLEAN
command_id
require
exists: exists
button_pressed (command_id: INTEGER): BOOLEAN
command_id
require
exists: exists
button_rect (index: INTEGER): WEL_RECT
index
require
exists: exists
index_large_enough: index >= 0
index_small_enough: index < button_count
ensure
result_not_void: Result /= void
captured_window: WEL_WINDOW
WEL_WINDOW
require WEL_WINDOW
exists: exists
window_captured: window_captured
client_rect: WEL_RECT
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
result_not_void: Result /= void
command (message: INTEGER): WEL_COMMAND
message
WEL_WINDOW
require WEL_WINDOW
positive_message: message >= 0
command_exists: command_exists (message)
ensure WEL_WINDOW
result_not_void: Result /= void
command_argument (message: INTEGER): ANY
message
WEL_WINDOW
require WEL_WINDOW
positive_message: message >= 0
command_exists: command_exists (message)
command_exists (message: INTEGER): BOOLEAN
message
WEL_WINDOW
require WEL_WINDOW
positive_message: message >= 0
commands_enabled: BOOLEAN
WEL_WINDOW
enabled: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
ex_style: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
exists: BOOLEAN
item
WEL_ANY
ensure WEL_ANY
Result = (item /= default_pointer)
focused_window: WEL_WINDOW
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_bitmap: BOOLEAN
has_capture: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_focus: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_heavy_capture: BOOLEAN
WEL_WINDOW
has_horizontal_scroll_bar: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_system_font: BOOLEAN
WEL_CONTROL
require WEL_CONTROL
exists: exists
has_vertical_scroll_bar: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
heavy_capture_activated: BOOLEAN
has_heavy_capture
WEL_WINDOW
height: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
i_th_button (index: INTEGER): WEL_TOOL_BAR_BUTTON
index
require
exists: exists
index_large_enough: index >= 0
index_small_enough: index < button_count
ensure
result_not_void: Result /= void
is_inside: BOOLEAN
WEL_WINDOW
last_bitmap_index: INTEGER
add_bitmaps
last_string_index: INTEGER
add_strings
maximal_height: INTEGER
WEL_WINDOW
ensure WEL_WINDOW
result_large_enough: Result >= minimal_height
maximal_width: INTEGER
WEL_WINDOW
ensure WEL_WINDOW
result_large_enough: Result >= minimal_width
maximized: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
minimal_height: INTEGER
WEL_WINDOW
ensure WEL_WINDOW
positive_result: Result >= 0
result_small_enough: Result <= maximal_height
minimal_width: INTEGER
WEL_WINDOW
ensure WEL_WINDOW
positive_result: Result >= 0
result_small_enough: Result <= maximal_width
minimized: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
placement: WEL_WINDOW_PLACEMENT
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
result_not_void: Result /= void
shared: BOOLEAN
item
item
destroy_item
item
WEL_ANY
shown: BOOLEAN
WEL_WINDOW
require WEL_WINDOW
exists: exists
style: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
tooltip: WEL_TOOLTIP
require
tooltip_exists: tooltip_exists
tooltip_exists: BOOLEAN
require
exists: exists
width: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
window_captured: BOOLEAN
WEL_WINDOW
window_rect: WEL_RECT
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
result_not_void: Result /= void
x: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
parent = void implies Result = absolute_x
y: INTEGER
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
parent = void implies Result = absolute_y
feature
valid_hwnd_constant (c: POINTER): BOOLEAN
c
WEL_HWND_CONSTANTS
feature
check_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_is_checked: button_checked (command_id)
clear_indeterminate_state (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_not_indeterminate: not button_indeterminate (command_id)
disable
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
disabled: not enabled
disable_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_disabled: not button_enabled (command_id)
disable_commands
WEL_WINDOW
ensure WEL_WINDOW
commands_disabled: not commands_enabled
disable_default_processing
WEL_WINDOW
ensure WEL_WINDOW
default_processing_disabled: not default_processing
disable_hot_item
require
exists: exists
enable
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
enabled: enabled
enable_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_enabled: button_enabled (command_id)
enable_commands
WEL_WINDOW
ensure WEL_WINDOW
commands_enabled: commands_enabled
enable_default_processing
WEL_WINDOW
ensure WEL_WINDOW
default_processing_enabled: default_processing
enable_hot_item (command_id: INTEGER)
command_id
require
exists: exists
hide
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
hidden: not shown
hide_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_hidden: button_hidden (command_id)
maximize
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
maximized: maximized
minimize
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
minimized: minimized
press_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_pressed: button_pressed (command_id)
release_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_not_pressed: not button_pressed (command_id)
release_capture
set_capture
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_capture: has_capture
ensure WEL_WINDOW
not_has_capture: not has_capture
release_heavy_capture
set_heavy_capture
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_heavy_capture: has_heavy_capture
heavy_capture_activated: heavy_capture_activated
ensure WEL_WINDOW
heavy_capture_set: not has_heavy_capture
heavy_capture_deactivated: not heavy_capture_activated
restore
minimizemaximize
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_bitmap_size (a_width, a_height: INTEGER)
require
exists: exists
positive_width: a_width >= 0
positive_height: a_height >= 0
no_bitmap_present: not has_bitmap
set_button_size (a_width, a_height: INTEGER)
require
exists: exists
positive_width: a_width >= 0
positive_height: a_height >= 0
no_existing_buttons: button_count = 0
set_capture
Current
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_not_capture: not has_capture
has_not_heavy_capture: not has_heavy_capture
ensure WEL_WINDOW
has_capture: has_capture
set_ex_style (an_ex_style: INTEGER)
an_ex_styleex_style
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_focus
Current
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_heavy_capture
Current
WEL_WINDOW
require WEL_WINDOW
exists: exists
has_not_heavy_capture: not has_heavy_capture
heavy_capture_deactivated: not heavy_capture_activated
ensure WEL_WINDOW
heavy_capture_set: has_heavy_capture
heavy_capture_activated: heavy_capture_activated
set_identifier (index, an_id: INTEGER)
indexan_id
require
exists: exists
index_large_enough: index >= 0
index_small_enough: index < button_count
set_indeterminate_state (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_indeterminate: button_indeterminate (command_id)
set_shared
shared
WEL_ANY
ensure WEL_ANY
shared: shared
set_style (a_style: INTEGER)
stylea_style
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_tooltip (a_tooltip: WEL_TOOLTIP)
require
exists: exists
a_tooltip_not_void: a_tooltip /= void
a_tooltip_exists: a_tooltip.exists
ensure
tooltip_exists: tooltip_exists
tooltip_set: tooltip = a_tooltip
set_unshared
shared
WEL_ANY
ensure WEL_ANY
unshared: not shared
show
WEL_WINDOW
require WEL_WINDOW
exists: exists
show_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_shown: not button_hidden (command_id)
uncheck_button (command_id: INTEGER)
command_id
require
exists: exists
ensure
button_unchecked: not button_checked (command_id)
update_cached_style (new_ex_style, old_ex_style: INTEGER)
WEL_WINDOW
feature
add_bitmaps (tb_bitmap: WEL_TOOL_BAR_BITMAP; bitmap_count: INTEGER)
require
exists: exists
bitmap_not_void: tb_bitmap /= void
positive_bitmap_count: bitmap_count > 0
add_buttons (buttons: ARRAY [WEL_TOOL_BAR_BUTTON])
require
exists: exists
buttons_not_void: buttons /= void
buttons_not_empty: not buttons.is_empty
no_void_button: not buttons.has (void)
ensure
count_increased: button_count = old button_count + buttons.count
add_strings (strings: ARRAY [STRING])
require
exists: exists
string_not_void: strings /= void
strings_not_empty: not strings.is_empty
has_system_window_locked: BOOLEAN
WEL_WINDOW
insert_button (index: INTEGER; button: WEL_TOOL_BAR_BUTTON)
button
index
require
exists: exists
button_not_void: button /= void
index_large_enough: index >= 0
index_small_enough: index <= button_count
ensure
buttons_increased: button_count = old button_count + 1
lock_window_update
lock_window_update
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
has_system_window_locked
set_font (a_font: WEL_FONT)
fonta_font
WEL_CONTROL
require WEL_CONTROL
exists: exists
a_font_not_void: a_font /= void
a_font_exists: a_font.exists
ensure WEL_CONTROL
font_set: not has_system_font implies font.item = a_font.item
set_height (a_height: INTEGER)
heighta_height
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_item (an_item: POINTER)
iteman_item
WEL_ANY
ensure WEL_ANY
item_set: item = an_item
set_parent (a_parent: WEL_WINDOW)
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_placement (a_placement: WEL_WINDOW_PLACEMENT)
placementa_placement
WEL_WINDOW
require WEL_WINDOW
exists: exists
a_placement_not_void: a_placement /= void
set_timer (timer_id, time_out: INTEGER)
timer_id
time_out
on_timerkill_timer
WEL_WINDOW
require WEL_WINDOW
exists: exists
positive_timer_id: timer_id > 0
positive_time_out: time_out > 0
set_width (a_width: INTEGER)
widtha_width
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_x (a_x: INTEGER)
xa_x
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_y (a_y: INTEGER)
ya_y
WEL_WINDOW
require WEL_WINDOW
exists: exists
unlock_window_update
WEL_WINDOW
require WEL_WINDOW
exists: exists
feature
delete_button (index: INTEGER)
index
require
exists: exists
index_large_enough: index >= 0
index_small_enough: index < button_count
ensure
buttons_decreased: button_count = old button_count - 1
destroy
WEL_WINDOW
require WEL_WINDOW
exists: exists
ensure WEL_WINDOW
not_exists: not exists
dispose
Current
Current
WEL_ANY
feature
to_integer: INTEGER
item
WEL_ANY
ensure WEL_ANY
Result = cwel_pointer_to_integer (item)
feature
auto_size
require
exists: exists
bring_to_top
WEL_WINDOW
require WEL_WINDOW
exists: exists
default_process_notification (notification_code: INTEGER)
notification_code
process_notification
WEL_CONTROL
require WEL_CONTROL
exists: exists
disable_horizontal_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
disable_vertical_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
enable_horizontal_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
enable_vertical_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
go_to_next_group_item (a_parent: WEL_COMPOSITE_WINDOW; after: BOOLEAN)
a_parent
after
WEL_CONTROL
require WEL_CONTROL
valid_parent: a_parent /= void and then a_parent.exists
go_to_next_tab_item (a_parent: WEL_COMPOSITE_WINDOW; after: BOOLEAN)
after
WEL_CONTROL
require WEL_CONTROL
valid_parent: a_parent /= void and then a_parent.exists
hide_horizontal_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
hide_scroll_bars
WEL_WINDOW
require WEL_WINDOW
exists: exists
hide_vertical_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
insert_after (a_window: WEL_WINDOW)
a_window
WEL_WINDOW
require WEL_WINDOW
exists: exists
a_window_not_void: a_window /= void
a_window_not_current: a_window /= Current
a_window_exists: a_window.exists
invalidate
WEL_WINDOW
require WEL_WINDOW
exists: exists
invalidate_rect (rect: WEL_RECT; erase_background: BOOLEAN)
rect
erase_background
WEL_WINDOW
require WEL_WINDOW
exists: exists
rect_not_void: rect /= void
invalidate_region (region: WEL_REGION; erase_background: BOOLEAN)
region
erase_background
WEL_WINDOW
require WEL_WINDOW
exists: exists
region_not_void: region /= void
region_exists: region.exists
invalidate_without_background
WEL_WINDOW
require WEL_WINDOW
exists: exists
kill_timer (timer_id: INTEGER)
timer_id
set_timeron_timer
WEL_WINDOW
require WEL_WINDOW
exists: exists
positive_timer_id: timer_id > 0
move (a_x, a_y: INTEGER)
a_xa_y
WEL_WINDOW
require WEL_WINDOW
exists: exists
move_and_resize (a_x, a_y, a_width, a_height: INTEGER; repaint: BOOLEAN)
a_xa_y
a_widtha_height
WEL_WINDOW
require WEL_WINDOW
exists: exists
put_command (a_command: WEL_COMMAND; message: INTEGER; argument: ANY)
a_commandmessage
WEL_WINDOW
require WEL_WINDOW
a_command_not_void: a_command /= void
positive_message: message >= 0
ensure WEL_WINDOW
command_added: command (message) = a_command and command_argument (message) = argument
remove_command (message: INTEGER)
message
WEL_WINDOW
require WEL_WINDOW
positive_message: message >= 0
command_exists: command_exists (message)
ensure WEL_WINDOW
command_removed: not command_exists (message)
reposition
on_size
require
exists: exists
resize (a_width, a_height: INTEGER)
a_widtha_height
WEL_WINDOW
require WEL_WINDOW
exists: exists
scroll (a_x, a_y: INTEGER)
a_xa_y
WEL_WINDOW
require WEL_WINDOW
exists: exists
set_class_icon (new_icon: WEL_ICON)
WEL_WINDOW
set_class_small_icon (new_icon: WEL_ICON)
WEL_WINDOW
set_z_order (z_order: POINTER)
WEL_HWND_CONSTANTSz_order
WEL_WINDOW
require WEL_WINDOW
exists: exists
valid_hwnd_constant: valid_hwnd_constant (z_order)
show_horizontal_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
show_scroll_bars
WEL_WINDOW
require WEL_WINDOW
exists: exists
show_vertical_scroll_bar
WEL_WINDOW
require WEL_WINDOW
exists: exists
show_with_option (cmd_show: INTEGER)
cmd_show
WEL_SW_CONSTANTScmd_show
WEL_WINDOW
require WEL_WINDOW
exists: exists
parent_shown: parent /= void implies parent.exists and parent.shown
update
WEL_WINDOW
require WEL_WINDOW
exists: exists
validate
WEL_WINDOW
require WEL_WINDOW
exists: exists
validate_rect (rect: WEL_RECT)
rect
WEL_WINDOW
require WEL_WINDOW
exists: exists
rect_not_void: rect /= void
validate_region (region: WEL_REGION)
region
WEL_WINDOW
require WEL_WINDOW
exists: exists
region_not_void: region /= void
region_exists: region.exists
win_help (help_file: STRING; a_command, data: INTEGER)
help_file
a_command
WEL_HELP_CONSTANTSa_command
WEL_WINDOW
require WEL_WINDOW
exists: exists
help_file_not_void: help_file /= void
feature
set_default_processing (value: BOOLEAN)
WEL_RETURN_VALUE
ensure WEL_RETURN_VALUE
value_set: default_processing = value
set_message_return_value (value: INTEGER)
WEL_RETURN_VALUE
ensure WEL_RETURN_VALUE
has_return_value: has_return_value
value_set: message_return_value = value
feature
on_tbn_beginadjust
require
exists: exists
on_tbn_begindrag (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_custhelp
require
exists: exists
on_tbn_dropdown (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_endadjust
require
exists: exists
on_tbn_enddrag (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_getbuttoninfo (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_querydelete (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_queryinsert (info: WEL_NM_TOOL_BAR)
require
exists: exists
on_tbn_reset
require
exists: exists
on_tbn_toolbarchange
require
exists: exists
feature
register_current_window
Current
WEL_WINDOW
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
end -- WEL_TOOL_BAR