indexing description: "Ancestor to all buttons (check, push, etc.)." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2006-03-23 17:49:09 -0800 (Thu, 23 Mar 2006) $" revision: "$Revision: 57694 $" deferred class interface WEL_BUTTON feature -- Access color_3ddkshadow: INTEGER_32 is 21 -- Dark shadow for three-dimensional display elements. -- -- Declared in Windows as COLOR_3DDKSHADOW -- (from WEL_COLOR_CONSTANTS) color_3dface: INTEGER_32 is 15 -- Face color for three-dimensional display elements and -- for dialog box backgrounds. -- -- Declared in Windows as COLOR_3DFACE -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_btnface. -- (from WEL_COLOR_CONSTANTS) color_3dhighlight: INTEGER_32 is 20 -- Highlight color for three-dimensional display elements -- (for edges facing the light source.) -- -- Declared in Windows as COLOR_3DHILIGHT -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dhilight, Color_btnhilight and Color_btnhighlight. -- (from WEL_COLOR_CONSTANTS) color_3dhilight: INTEGER_32 is 20 -- Highlight color for three-dimensional display elements -- (for edges facing the light source.) -- -- Declared in Windows as COLOR_3DHILIGHT -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dhighlight, Color_btnhilight and Color_btnhighlight. -- (from WEL_COLOR_CONSTANTS) color_3dlight: INTEGER_32 is 22 -- Light color for three-dimensional display elements -- (for edges facing the light source.) -- -- Declared in Windows as COLOR_3DLIGHT -- (from WEL_COLOR_CONSTANTS) color_3dshadow: INTEGER_32 is 16 -- Shadow color for three-dimensional display elements -- (for edges facing away from the light source). -- -- Declared in Windows as COLOR_3DSHADOW -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_btnshadow. -- (from WEL_COLOR_CONSTANTS) color_activeborder: INTEGER_32 is 10 -- Active window border. -- -- Declared in Windows as COLOR_ACTIVEBORDER -- (from WEL_COLOR_CONSTANTS) color_activecaption: INTEGER_32 is 2 -- Active window title bar. -- -- Windows 98/Me, Windows 2000 or later: -- Specifies the left side color in the color gradient of an active -- window's title bar if the gradient effect is enabled. -- -- Declared in Windows as COLOR_ACTIVECAPTION -- (from WEL_COLOR_CONSTANTS) color_appworkspace: INTEGER_32 is 12 -- Background color of multiple document interface (MDI) applications. -- -- Declared in Windows as COLOR_APPWORKSPACE -- (from WEL_COLOR_CONSTANTS) color_background: INTEGER_32 is 1 -- Desktop. -- -- Declared in Windows as COLOR_BACKGROUND -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_desktop. -- (from WEL_COLOR_CONSTANTS) color_btnface: INTEGER_32 is 15 -- Face color for three-dimensional display elements and -- for dialog box backgrounds. -- -- Declared in Windows as COLOR_3DFACE -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dface. -- (from WEL_COLOR_CONSTANTS) color_btnhighlight: INTEGER_32 is 20 -- Highlight color for three-dimensional display elements -- (for edges facing the light source.) -- -- Declared in Windows as COLOR_3DHILIGHT -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dhilight, Color_3dhighlight and Color_btnhilight. -- (from WEL_COLOR_CONSTANTS) color_btnhilight: INTEGER_32 is 20 -- Highlight color for three-dimensional display elements -- (for edges facing the light source.) -- -- Declared in Windows as COLOR_3DHILIGHT -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dhilight, Color_3dhighlight and Color_btnhighlight. -- (from WEL_COLOR_CONSTANTS) color_btnshadow: INTEGER_32 is 16 -- Shadow color for three-dimensional display elements -- (for edges facing away from the light source). -- -- Declared in Windows as COLOR_3DSHADOW -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_3dshadow. -- (from WEL_COLOR_CONSTANTS) color_btntext: INTEGER_32 is 18 -- Text on push buttons. -- -- Declared in Windows as COLOR_BTNTEXT -- (from WEL_COLOR_CONSTANTS) color_captiontext: INTEGER_32 is 9 -- Text in caption, size box, and scroll bar arrow box. -- -- Declared in Windows as COLOR_CAPTIONTEXT -- (from WEL_COLOR_CONSTANTS) color_desktop: INTEGER_32 is 1 -- Desktop. -- -- Declared in Windows as COLOR_BACKGROUND -- Was declared in WEL_COLOR_CONSTANTS as synonym of Color_background. -- (from WEL_COLOR_CONSTANTS) color_gradientactivecaption: INTEGER_32 is 27 -- Windows 98/Me, Windows 2000 or later: -- Right side color in the color gradient of an active window's -- title bar. COLOR_ACTIVECAPTION specifies the left side color. -- Use SPI_GETGRADIENTCAPTIONS with the SystemParametersInfo -- function to determine whether the gradient effect is enabled. -- -- Declared in Windows as COLOR_GRADIENTACTIVECAPTION -- (from WEL_COLOR_CONSTANTS) color_gradientinactivecaption: INTEGER_32 is 28 -- Windows 98/Me, Windows 2000 or later: -- Right side color in the color gradient of an inactive window's -- title bar. COLOR_INACTIVECAPTION specifies the left side color. -- -- Declared in Windows as COLOR_GRADIENTINACTIVECAPTION -- (from WEL_COLOR_CONSTANTS) color_graytext: INTEGER_32 is 17 -- Grayed (disabled) text. This color is set to 0 if the current -- display driver does not support a solid gray color. -- -- Declared in Windows as COLOR_GRAYTEXT -- (from WEL_COLOR_CONSTANTS) color_highlight: INTEGER_32 is 13 -- Item(s) selected in a control. -- -- Declared in Windows as COLOR_HIGHLIGHT -- (from WEL_COLOR_CONSTANTS) color_highlighttext: INTEGER_32 is 14 -- Text of item(s) selected in a control. -- -- Declared in Windows as COLOR_HIGHLIGHTTEXT -- (from WEL_COLOR_CONSTANTS) color_hotlight: INTEGER_32 is 26 -- Windows 98/Me, Windows 2000 or later: -- Color for a hot-tracked item. Single clicking a hot-tracked -- item executes the item. -- -- Declared in Windows as COLOR_HOTLIGHT -- (from WEL_COLOR_CONSTANTS) color_inactiveborder: INTEGER_32 is 11 -- Inactive window border. -- -- Declared in Windows as COLOR_INACTIVEBORDER -- (from WEL_COLOR_CONSTANTS) color_inactivecaption: INTEGER_32 is 3 -- Inactive window caption. -- -- Windows 98/Me, Windows 2000 or later: -- Specifies the left side color in the color gradient of an inactive -- window's title bar if the gradient effect is enabled. -- -- Declared in Windows as COLOR_INACTIVECAPTION -- (from WEL_COLOR_CONSTANTS) color_inactivecaptiontext: INTEGER_32 is 19 -- Color of text in an inactive caption. -- -- Declared in Windows as COLOR_INACTIVECAPTIONTEXT -- (from WEL_COLOR_CONSTANTS) color_infobk: INTEGER_32 is 24 -- Background color for tooltip controls. -- -- Declared in Windows as COLOR_INFOBK -- (from WEL_COLOR_CONSTANTS) color_infotext: INTEGER_32 is 23 -- Text color for tooltip controls. -- -- Declared in Windows as COLOR_INFOTEXT -- (from WEL_COLOR_CONSTANTS) color_menu: INTEGER_32 is 4 -- Menu background. -- -- Declared in Windows as COLOR_MENU -- (from WEL_COLOR_CONSTANTS) color_menubar: INTEGER_32 is 30 -- Windows XP: -- The background color for the menu bar when menus appear as -- flat menus (see SystemParametersInfo). However, Color_menu -- continues to specify the background color of the menu popup. -- -- Declared in Windows as COLOR_MENUBAR -- (from WEL_COLOR_CONSTANTS) color_menuhilight: INTEGER_32 is 29 -- Windows XP: -- The color used to highlight menu items when the menu appears -- as a flat menu (see SystemParametersInfo). The highlighted -- menu item is outlined with COLOR_HIGHLIGHT. -- -- Declared in Windows as COLOR_MENUHILIGHT -- (from WEL_COLOR_CONSTANTS) color_menutext: INTEGER_32 is 7 -- Text in menus. -- -- Declared in Windows as COLOR_MENUTEXT -- (from WEL_COLOR_CONSTANTS) color_scrollbar: INTEGER_32 is 0 -- Scroll bar gray area. -- -- Declared in Windows as COLOR_SCROLLBAR -- (from WEL_COLOR_CONSTANTS) color_window: INTEGER_32 is 5 -- Window background. -- -- Declared in Windows as COLOR_WINDOW -- (from WEL_COLOR_CONSTANTS) color_windowframe: INTEGER_32 is 6 -- Window frame. -- -- Declared in Windows as COLOR_WINDOWFRAME -- (from WEL_COLOR_CONSTANTS) color_windowtext: INTEGER_32 is 8 -- Text in windows. -- -- Declared in Windows as COLOR_WINDOWTEXT -- (from WEL_COLOR_CONSTANTS) commands: WEL_COMMAND_MANAGER -- Command manager associated to the current window. -- (from WEL_WINDOW) default_processing: BOOLEAN -- (from WEL_RETURN_VALUE) font: WEL_FONT -- Font with which the control is drawing its text. -- (from WEL_CONTROL) require -- from WEL_CONTROL exists: exists ensure -- from WEL_CONTROL result_not_void: Result /= Void generating_type: STRING_8 -- Name of current object's generating type -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generating_type_not_empty: not Result.is_empty generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty has_return_value: BOOLEAN -- Should the window procedure return a value? -- (from WEL_RETURN_VALUE) id: INTEGER_32 -- Control id -- (from WEL_CONTROL) item: POINTER -- Generic Windows handle or structure pointer. -- Can be a HWND, HICON, RECT *, WNDCLASS *, etc... -- (from WEL_ANY) message_return_value: POINTER -- Return value of the window procedure. -- (from WEL_RETURN_VALUE) require -- from WEL_RETURN_VALUE has_return_value: has_return_value parent: WEL_WINDOW -- Parent window -- (from WEL_WINDOW) feature -- Comparison frozen deep_equal (some: ?ANY; other: like arg #1): BOOLEAN -- Are `some' and `other' either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from 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 (other /= Void and then some.same_type (other)) symmetric: Result implies deep_equal (other, some) frozen equal (some: ?ANY; other: like arg #1): BOOLEAN -- Are `some' and `other' either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other)) frozen is_deep_equal (other: WEL_BUTTON): BOOLEAN -- Are `Current' and `other' attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: WEL_BUTTON): BOOLEAN -- Is `other' attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from 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 -- Are `some' and `other' either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from 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: WEL_BUTTON): BOOLEAN -- Is `other' attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report absolute_x: INTEGER_32 -- Absolute x position -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW Result = window_rect.x absolute_y: INTEGER_32 -- Absolute y position -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW Result = window_rect.y background_brush: WEL_BRUSH -- Current window background color used to refresh the window when -- requested by the WM_ERASEBKGND windows message. -- By default there is no background -- (from WEL_WINDOW) ensure -- from WEL_WINDOW new_object: Result /= Void implies Result /= background_brush captured_window: WEL_WINDOW -- Current window which has been captured. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists window_captured: window_captured client_rect: WEL_RECT -- Client rectangle -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW result_not_void: Result /= Void command (message: INTEGER_32): WEL_COMMAND -- Command associated to `message' -- (from WEL_WINDOW) require -- from WEL_WINDOW positive_message: message >= 0 command_exists: command_exists (message) ensure -- from WEL_WINDOW result_not_void: Result /= Void command_argument (message: INTEGER_32): ANY -- Command argument associated to `message' -- (from WEL_WINDOW) require -- from WEL_WINDOW positive_message: message >= 0 command_exists: command_exists (message) command_exists (message: INTEGER_32): BOOLEAN -- Does a command associated to `message' exist? -- (from WEL_WINDOW) require -- from WEL_WINDOW positive_message: message >= 0 commands_enabled: BOOLEAN -- Is the commands execution enabled? -- (from WEL_WINDOW) conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of `other' (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void enabled: BOOLEAN -- Is the window enabled for mouse and keyboard input? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ex_style: INTEGER_32 -- Window ex_style -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists exists: BOOLEAN -- Does the item exist? -- (from WEL_ANY) require -- from WEL_COLOR_CONTROL True ensure -- from WEL_ANY Result = (item /= default_pointer) focused_window: WEL_WINDOW -- Current window which has the focus. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_capture: BOOLEAN -- Does this window have the capture? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_focus: BOOLEAN -- Does this window have the focus? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_heavy_capture: BOOLEAN -- Does this window have the heavy capture? -- (from WEL_WINDOW) has_horizontal_scroll_bar: BOOLEAN -- Does this window have a horizontal scroll bar? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_system_font: BOOLEAN -- Does the control use the system font? -- (from WEL_CONTROL) require -- from WEL_CONTROL exists: exists has_vertical_scroll_bar: BOOLEAN -- Does this window have a vertical scroll bar? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists heavy_capture_activated: BOOLEAN -- Is the heavy capture currently running? -- (i.e. is there a window in the current program -- with has_heavy_capture to True?) -- (from WEL_WINDOW) height: INTEGER_32 -- Window height -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists is_inside: BOOLEAN -- Is the current window inside another window? -- (from WEL_WINDOW) maximal_height: INTEGER_32 -- Maximal height allowed for the window -- (from WEL_WINDOW) ensure -- from WEL_WINDOW result_large_enough: Result >= minimal_height maximal_width: INTEGER_32 -- Maximal width allowed for the window -- (from WEL_WINDOW) ensure -- from WEL_WINDOW result_large_enough: Result >= minimal_width maximized: BOOLEAN -- Is the window maximized? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists minimal_height: INTEGER_32 -- Minimal height allowed for the window -- Zero by default. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW positive_result: Result >= 0 result_small_enough: Result <= maximal_height minimal_width: INTEGER_32 -- Minimal width allowed for the window -- Zero by default. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW positive_result: Result >= 0 result_small_enough: Result <= maximal_width minimized: BOOLEAN -- Is the window minimized? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists placement: WEL_WINDOW_PLACEMENT -- Window placement information -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW result_not_void: Result /= Void same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of `other'? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) shared: BOOLEAN -- Is item shared by another object? -- If False (by default), item will -- be destroyed by destroy_item. -- If True, item will not be destroyed. -- (from WEL_ANY) shown: BOOLEAN -- Is the window shown? -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists style: INTEGER_32 -- Window style -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists text: STRING_32 -- Window text -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW result_not_void: Result /= Void text_length: INTEGER_32 -- Text length -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW positive_result: Result >= 0 valid_color_constant (c: INTEGER_32): BOOLEAN -- Is `c' a valid color constant? -- (from WEL_COLOR_CONSTANTS) valid_hwnd_constant (c: POINTER): BOOLEAN -- Is `c' a valid hwnd constant? -- (from WEL_HWND_CONSTANTS) width: INTEGER_32 -- Window width -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists window_captured: BOOLEAN -- Has a window been captured? -- (from WEL_WINDOW) window_rect: WEL_RECT -- Window rectangle (absolute position) -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW result_not_void: Result /= Void x: INTEGER_32 -- Window x position -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW parent = Void implies Result = absolute_x y: INTEGER_32 -- Window y position -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW parent = Void implies Result = absolute_y feature -- Status setting disable -- Disable mouse and keyboard input -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW disabled: not enabled disable_commands -- Disable commands execution. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW commands_disabled: not commands_enabled disable_default_processing -- Disable default window processing. -- The standard window procedure will not be called for -- each messages received by the window and then the -- normal behavior will not occur. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW default_processing_disabled: not default_processing disable_drag_accept_files -- Disallow `Current' from being a file drag and drop target. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists enable -- Enable mouse and keyboard input. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW enabled: enabled enable_commands -- Enable commands execution. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW commands_enabled: commands_enabled enable_default_processing -- Enable default window processing. -- The standard window procedure will be called for -- each messages received by the window and then the -- normal behavior will occur. -- (from WEL_WINDOW) ensure -- from WEL_WINDOW default_processing_enabled: default_processing enable_drag_accept_files -- Allow `Current' to be a file drag and drop target. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists hide -- Hide the window -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW hidden: not shown maximize -- Maximize the window -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW maximized: maximized minimize -- Minimize the window and display its icon -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists ensure -- from WEL_WINDOW minimized: minimized release_capture -- Release the mouse capture after a call -- to set_capture. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_capture: has_capture ensure -- from WEL_WINDOW not_has_capture: not has_capture release_heavy_capture -- Release the mouse capture after a call -- to set_heavy_capture. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_heavy_capture: has_heavy_capture heavy_capture_activated: heavy_capture_activated ensure -- from WEL_WINDOW heavy_capture_set: not has_heavy_capture heavy_capture_deactivated: not heavy_capture_activated restore -- Restore the window to its -- original size and position after -- minimize or maximize -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists set_capture -- Set the mouse capture to the `Current' window. -- Once the window has captured the mouse, all -- mouse input is directed to this window, regardless -- of whether the cursor is over that window. Only -- one window can have the mouse capture at a time. -- -- Works only for windows in the same thread as your -- application. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists has_not_capture: not has_capture has_not_heavy_capture: not has_heavy_capture ensure -- from WEL_WINDOW has_capture: has_capture set_ex_style (an_ex_style: INTEGER_32) -- Set `an_ex_style' with ex_style. -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists set_focus -- Set the focus to `Current' -- (from WEL_WINDOW) require -- from WEL_WINDOW exists: exists set_heavy_capture -- Set the mouse capture to the `Current' window. -- Once the window has captured the mouse, all -- mouse input is directed to this window, regardless -- of whether the cursor is over that window. Only -- one window can have the mouse capture at a time. -- -- Works for ALL windows. -- (from WEL_WINDOW) require -- from