Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "This class processes the scroll messages associated to a window." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2008-12-29 11:27:11 -0900 (Mon, 29 Dec 2008) $" revision: "$Revision: 76420 $" class interface WEL_SCROLLER create make (a_window: WEL_COMPOSITE_WINDOW; horizontal_size, vertical_size, line, page: INTEGER_32) -- Make a scroller associated to a_window using -- horizontal_size and vertical_size as the -- size of the scrollable area. line and page -- specify the scroll incrementation for a line and -- a page. require a_window_not_void: a_window /= Void a_window_exists: a_window.exists positive_horizontal_size: horizontal_size > 0 positive_vertical_size: vertical_size > 0 positive_line: line >= 0 valid_line: line < horizontal_size and then line < vertical_size positive_page: page >= 0 valid_page: page < horizontal_size and then page < vertical_size ensure window_set: window = a_window make_with_options (a_window: WEL_COMPOSITE_WINDOW; a_minimal_horizontal_position, a_maximal_horizontal_position, a_minimal_vertical_position, a_maximal_vertical_position, a_horizontal_line, a_horizontal_page, a_vertical_line, a_vertical_page: INTEGER_32) -- Make a scroller associated to a_window. -- a_minimal_horizontal_position and -- a_maximal_horizontal_position specify the -- horizontal scroll range. -- a_minimal_vertical_position and -- a_maximal_vertical_position specify the -- vertical scroll range. -- a_horizontal_line and a_horizontal_page specify -- the scroll incrementation for a horizontal line and -- page. -- a_vertical_line and a_vertical_page specify -- the scroll incrementation for a vertical line and -- page. require a_window_not_void: a_window /= Void a_window_exists: a_window.exists consistent_horizontal_range: a_minimal_horizontal_position < a_maximal_horizontal_position consistent_vertical_range: a_minimal_vertical_position < a_maximal_vertical_position positive_horizontal_line: a_horizontal_line >= 0 positive_vertical_line: a_vertical_line >= 0 positive_horizontal_page: a_horizontal_page >= 0 positive_vertical_page: a_vertical_page >= 0 ensure window_set: window = a_window minimal_horizontal_position_set: minimal_horizontal_position = a_minimal_horizontal_position maximal_horizontal_position_set: maximal_horizontal_position = a_maximal_horizontal_position minimal_vertical_position_set: minimal_vertical_position = a_minimal_vertical_position maximal_vertical_position_set: maximal_vertical_position = a_maximal_vertical_position feature -- Initialization make (a_window: WEL_COMPOSITE_WINDOW; horizontal_size, vertical_size, line, page: INTEGER_32) -- Make a scroller associated to a_window using -- horizontal_size and vertical_size as the -- size of the scrollable area. line and page -- specify the scroll incrementation for a line and -- a page. require a_window_not_void: a_window /= Void a_window_exists: a_window.exists positive_horizontal_size: horizontal_size > 0 positive_vertical_size: vertical_size > 0 positive_line: line >= 0 valid_line: line < horizontal_size and then line < vertical_size positive_page: page >= 0 valid_page: page < horizontal_size and then page < vertical_size ensure window_set: window = a_window make_with_options (a_window: WEL_COMPOSITE_WINDOW; a_minimal_horizontal_position, a_maximal_horizontal_position, a_minimal_vertical_position, a_maximal_vertical_position, a_horizontal_line, a_horizontal_page, a_vertical_line, a_vertical_page: INTEGER_32) -- Make a scroller associated to a_window. -- a_minimal_horizontal_position and -- a_maximal_horizontal_position specify the -- horizontal scroll range. -- a_minimal_vertical_position and -- a_maximal_vertical_position specify the -- vertical scroll range. -- a_horizontal_line and a_horizontal_page specify -- the scroll incrementation for a horizontal line and -- page. -- a_vertical_line and a_vertical_page specify -- the scroll incrementation for a vertical line and -- page. require a_window_not_void: a_window /= Void a_window_exists: a_window.exists consistent_horizontal_range: a_minimal_horizontal_position < a_maximal_horizontal_position consistent_vertical_range: a_minimal_vertical_position < a_maximal_vertical_position positive_horizontal_line: a_horizontal_line >= 0 positive_vertical_line: a_vertical_line >= 0 positive_horizontal_page: a_horizontal_page >= 0 positive_vertical_page: a_vertical_page >= 0 ensure window_set: window = a_window minimal_horizontal_position_set: minimal_horizontal_position = a_minimal_horizontal_position maximal_horizontal_position_set: maximal_horizontal_position = a_maximal_horizontal_position minimal_vertical_position_set: minimal_vertical_position = a_minimal_vertical_position maximal_vertical_position_set: maximal_vertical_position = a_maximal_vertical_position feature -- Access generating_type: TYPE [detachable WEL_SCROLLER] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void 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 horizontal_line: INTEGER_32 -- Number of horizontal scroll units per line horizontal_page: INTEGER_32 -- Number of scroll units per page require window_exists: window.exists horizontal_position: INTEGER_32 -- Current position of the horizontal scroll box require window_exists: window.exists maximal_horizontal_position: INTEGER_32 -- Maxium position of the horizontal scroll box require window_exists: window.exists maximal_vertical_position: INTEGER_32 -- Maxium position of the vertical scroll box require window_exists: window.exists minimal_horizontal_position: INTEGER_32 -- Minimum position of the horizontal scroll box require window_exists: window.exists minimal_vertical_position: INTEGER_32 -- Minimum position of the vertical scroll box require window_exists: window.exists Sb_both: INTEGER_32 = 3 -- Declared in Windows as SB_BOTH -- (from WEL_SB_CONSTANTS) Sb_bottom: INTEGER_32 = 7 -- Declared in Windows as SB_BOTTOM -- (from WEL_SB_CONSTANTS) Sb_ctl: INTEGER_32 = 2 -- Declared in Windows as SB_CTL -- (from WEL_SB_CONSTANTS) Sb_endscroll: INTEGER_32 = 8 -- Declared in Windows as SB_ENDSCROLL -- (from WEL_SB_CONSTANTS) Sb_horz: INTEGER_32 = 0 -- Declared in Windows as SB_HORZ -- (from WEL_SB_CONSTANTS) Sb_left: INTEGER_32 = 6 -- Declared in Windows as SB_LEFT -- (from WEL_SB_CONSTANTS) Sb_linedown: INTEGER_32 = 1 -- Declared in Windows as SB_LINEDOWN -- (from WEL_SB_CONSTANTS) Sb_lineleft: INTEGER_32 = 0 -- Declared in Windows as SB_LINELEFT -- (from WEL_SB_CONSTANTS) Sb_lineright: INTEGER_32 = 1 -- Declared in Windows as SB_LINERIGHT -- (from WEL_SB_CONSTANTS) Sb_lineup: INTEGER_32 = 0 -- Declared in Windows as SB_LINEUP -- (from WEL_SB_CONSTANTS) Sb_pagedown: INTEGER_32 = 3 -- Declared in Windows as SB_PAGEDOWN -- (from WEL_SB_CONSTANTS) Sb_pageleft: INTEGER_32 = 2 -- Declared in Windows as SB_PAGELEFT -- (from WEL_SB_CONSTANTS) Sb_pageright: INTEGER_32 = 3 -- Declared in Windows as SB_PAGERIGHT -- (from WEL_SB_CONSTANTS) Sb_pageup: INTEGER_32 = 2 -- Declared in Windows as SB_PAGEUP -- (from WEL_SB_CONSTANTS) Sb_right: INTEGER_32 = 7 -- Declared in Windows as SB_RIGHT -- (from WEL_SB_CONSTANTS) Sb_thumbposition: INTEGER_32 = 4 -- Declared in Windows as SB_THUMBPOSITION -- (from WEL_SB_CONSTANTS) Sb_thumbtrack: INTEGER_32 = 5 -- Declared in Windows as SB_THUMBTRACK -- (from WEL_SB_CONSTANTS) Sb_top: INTEGER_32 = 6 -- Declared in Windows as SB_TOP -- (from WEL_SB_CONSTANTS) Sb_vert: INTEGER_32 = 1 -- Declared in Windows as SB_VERT -- (from WEL_SB_CONSTANTS) Sbs_bottomalign: INTEGER_32 = 4 -- (from WEL_SBS_CONSTANTS) Sbs_horz: INTEGER_32 = 0 -- (from WEL_SBS_CONSTANTS) Sbs_leftalign: INTEGER_32 = 2 -- (from WEL_SBS_CONSTANTS) Sbs_rightalign: INTEGER_32 = 4 -- (from WEL_SBS_CONSTANTS) Sbs_sizebox: INTEGER_32 = 8 -- (from WEL_SBS_CONSTANTS) Sbs_sizeboxbottomrightalign: INTEGER_32 = 4 -- (from WEL_SBS_CONSTANTS) Sbs_sizeboxtopleftalign: INTEGER_32 = 2 -- (from WEL_SBS_CONSTANTS) Sbs_topalign: INTEGER_32 = 2 -- (from WEL_SBS_CONSTANTS) Sbs_vert: INTEGER_32 = 1 -- (from WEL_SBS_CONSTANTS) vertical_line: INTEGER_32 -- Number of vertical scroll units per line vertical_page: INTEGER_32 -- Number of scroll units per page require window_exists: window.exists vertical_position: INTEGER_32 -- Current position of the vertical scroll box require window_exists: window.exists window: WEL_COMPOSITE_WINDOW -- Window which has the scroller feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: WEL_SCROLLER): 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_SCROLLER): 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 ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b 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 instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "" (other: WEL_SCROLLER): 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 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 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)) valid_maximal_horizontal_position (a_position: INTEGER_32): BOOLEAN -- Is a_position valid for setting the `horizontal_position`. valid_maximal_vertical_position (a_position: INTEGER_32): BOOLEAN -- Is a_position valid for setting the `vertical_position`. feature -- Element change set_horizontal_line (unit: INTEGER_32) -- Set `horizontal_line` with unit. require positive_unit: unit >= 0 ensure horizontal_line_set: horizontal_line = unit set_horizontal_page (page_magnitude: INTEGER_32) -- Set `horizontal_page` with unit. require window_exists: window.exists positive_unit: page_magnitude >= 0 ensure horizontal_page_set: horizontal_page = page_magnitude set_horizontal_position (position: INTEGER_32) -- Set `horizontal_position` with position. require window_exists: window.exists position_small_enough: valid_maximal_horizontal_position (position) position_large_enough: position >= minimal_horizontal_position ensure horizontal_position_set: horizontal_position = position set_horizontal_range (minimum, maximum: INTEGER_32) -- Set horizontal_minimum_range and -- horizontal_maximal_range with minimum and -- maximum. require window_exists: window.exists consistent_range: minimum <= maximum ensure horizontal_minimum_range_set: minimal_horizontal_position = minimum horizontal_maximal_range_set: maximal_horizontal_position = maximum set_vertical_line (unit: INTEGER_32) -- Set `vertical_line` with unit. require positive_unit: unit >= 0 ensure vertical_line_set: vertical_line = unit set_vertical_page (page_magnitude: INTEGER_32) -- Set `vertical_page` with unit. require window_exists: window.exists positive_unit: page_magnitude >= 0 ensure vertical_page_set: vertical_page = page_magnitude set_vertical_position (position: INTEGER_32) -- Set `vertical_position` with position. require window_exists: window.exists position_small_enough: valid_maximal_vertical_position (position) position_large_enough: position >= minimal_vertical_position ensure vertical_position_set: vertical_position = position set_vertical_range (minimum, maximum: INTEGER_32) -- Set `minimal_vertical_position` and -- `maximal_vertical_position` with minimum and -- maximum. require window_exists: window.exists consistent_range: minimum <= maximum ensure minimal_vertical_position_set: minimal_vertical_position = minimum maximal_vertical_position_set: maximal_vertical_position = maximum feature -- Duplication copy (other: WEL_SCROLLER) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: WEL_SCROLLER) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: WEL_SCROLLER -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: WEL_SCROLLER) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: WEL_SCROLLER -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: WEL_SCROLLER -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable WEL_SCROLLER -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class horizontal_update (inc, position: INTEGER_32) -- Update the window and the horizontal scroll box with -- inc and position. require window_exists: window.exists position_small_enough: position <= maximal_horizontal_position position_large_enough: position >= minimal_horizontal_position ensure horizontal_position_set: horizontal_position = position on_horizontal_scroll (scroll_code, pos: INTEGER_32) -- Scroll the window horizontaly. require window_exists: window.exists on_vertical_scroll (scroll_code, pos: INTEGER_32) -- Scroll the window verticaly. require window_exists: window.exists vertical_update (inc, position: INTEGER_32) -- Update the window and the vertical scroll box with -- inc and position. require window_exists: window.exists position_small_enough: position <= maximal_vertical_position position_large_enough: position >= minimal_vertical_position ensure vertical_position_set: vertical_position = position feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- ScrollInfo Sif_all: INTEGER_32 = 23 -- Combination of SIF_PAGE, SIF_POS, SIF_RANGE, and SIF_TRACKPOS. -- (from WEL_SCROLL_BAR_CONSTANTS) Sif_disablenoscroll: INTEGER_32 = 8 -- This value is used only when setting a scroll bar's parameters. -- If the scroll bar's new parameters make the scroll bar -- unnecessary, disable the scroll bar instead of removing it. -- (from WEL_SCROLL_BAR_CONSTANTS) Sif_page: INTEGER_32 = 2 -- The nPage member contains the page size for a proportional scroll bar. -- (from WEL_SCROLL_BAR_CONSTANTS) Sif_pos: INTEGER_32 = 4 -- The nPos member contains the scroll box position, which is not -- updated while the user drags the scroll box. -- (from WEL_SCROLL_BAR_CONSTANTS) Sif_range: INTEGER_32 = 1 -- The nMin and nMax members contain the minimum and maximum -- values for the scrolling range. -- (from WEL_SCROLL_BAR_CONSTANTS) Sif_trackpos: INTEGER_32 = 16 -- The nTrackPos member contains the current position of the -- scroll box while the user is dragging it. -- (from WEL_SCROLL_BAR_CONSTANTS) valid_sif_constant (i: INTEGER_32): BOOLEAN -- Is i a valid Sif constant? -- (from WEL_SCROLL_BAR_CONSTANTS) valid_sif_mask (i: INTEGER_32): BOOLEAN -- is i a valid sif mask? -- (from WEL_SCROLL_BAR_CONSTANTS) invariant window_not_void: window /= Void horizontal_position_small_enough: window.exists implies horizontal_position <= maximal_horizontal_position horizontal_position_large_enough: window.exists implies horizontal_position >= minimal_horizontal_position vertical_position_small_enough: window.exists implies vertical_position <= maximal_vertical_position vertical_position_large_enough: window.exists implies vertical_position >= minimal_vertical_position consistent_horizontal_range: window.exists implies minimal_horizontal_position <= maximal_horizontal_position consistent_vertical_range: window.exists implies minimal_vertical_position <= maximal_vertical_position positive_horizontal_line: horizontal_line >= 0 positive_vertical_line: vertical_line >= 0 positive_horizontal_page: horizontal_page >= 0 positive_vertical_page: vertical_page >= 0 -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note 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 -- class WEL_SCROLLER
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: eiffel.org