Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "Eiffel Vision file open dialog. Mswindows implementation." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2014-05-15 16:07:27 -0800 (Thu, 15 May 2014) $" revision: "$Revision: 95074 $" class interface EV_FILE_SAVE_DIALOG_IMP create make -- Initialize Current. -- (from EV_FILE_DIALOG_IMP) require -- from EV_ANY_I True ensure -- from EV_ANY_I is_initialized: get_state_flag (Is_initialized_flag) feature -- Initialization wel_make -- Make and setup the structure -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True feature -- Access blocking_window: detachable EV_WINDOW -- Window this dialog is a transient for. -- (from EV_STANDARD_DIALOG_IMP) file_extension_offset: INTEGER_32 -- Specifies the offset from the beginning of the path -- to the file name extension in the string file_name. -- (from WEL_FILE_DIALOG) require -- from WEL_FILE_DIALOG selected: selected ensure -- from WEL_FILE_DIALOG result_greater_than_or_equal_to_one: Result >= 1 file_name_offset: INTEGER_32 -- Specifies the offset from the beginning of the path -- to the file name in the string file_name. -- (from WEL_FILE_DIALOG) require -- from WEL_FILE_DIALOG selected: selected ensure -- from WEL_FILE_DIALOG result_greater_than_or_equal_to_one: Result >= 1 wel_file_path: PATH -- Full file path of selected file. -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True ensure -- from WEL_FILE_DIALOG result_not_void: Result /= Void wel_file_title: STRING_32 -- Title of the selected file (without path). -- (from WEL_FILE_DIALOG) require -- from WEL_FILE_DIALOG selected: selected ensure -- from WEL_FILE_DIALOG result_not_void: Result /= Void filter: STRING_32 -- Filter currently applied to file list. -- (from EV_FILE_DIALOG_IMP) filter_index: INTEGER_32 -- Index of the selected filter -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True require -- from WEL_FILE_DIALOG selected: selected ensure -- from WEL_FILE_DIALOG positive_result: Result >= 0 filters: ARRAYED_LIST [TUPLE [filter: READABLE_STRING_GENERAL; text: READABLE_STRING_GENERAL]] -- All filters currently applied to file list. -- First element represents the filter e.g "*.txt". -- Second element represents the displayed text -- e.g. "Text files (*.txt)". -- (from EV_FILE_DIALOG_I) flags: INTEGER_32 -- Dialog box creation flags. -- Can be a combination of the values defined in -- class WEL_OFN_CONSTANTS. -- (from WEL_FILE_DIALOG) full_file_path: PATH -- Full path name of currently selected file including path. -- (from EV_FILE_DIALOG_IMP) require -- from EV_FILE_DIALOG_I True generating_type: TYPE [detachable EV_FILE_SAVE_DIALOG_IMP] -- 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 item: POINTER -- Generic Windows handle or structure pointer. -- Can be a HWND, HICON, RECT *, WNDCLASS *, etc... -- (from WEL_ANY) Max_file_name_length: INTEGER_32 = 1024 -- Maximum file name length -- (from WEL_FILE_DIALOG) multiple_file_paths: ARRAYED_LIST [PATH] -- return the full path name of all selected files. -- (from WEL_FILE_DIALOG) require -- from WEL_FILE_DIALOG multiple_files_flag_set: has_flag ({WEL_OFN_CONSTANTS}.ofn_allowmultiselect) has_explorer_flag: has_flag ({WEL_OFN_CONSTANTS}.ofn_explorer) ensure -- from WEL_FILE_DIALOG result_not_void: Result /= Void start_path: PATH -- Base directory where browsing will start. -- (from EV_FILE_DIALOG_IMP) title: STRING_32 -- Title of the current dialog -- (from WEL_FILE_DIALOG) require -- from EV_STANDARD_DIALOG_I True ensure -- from WEL_FILE_DIALOG result_not_void: Result /= Void feature -- Measurement dpi: NATURAL_32 -- Window dpi. -- (from EV_POSITIONED_I) Structure_size: INTEGER_32 -- Size to allocate (in bytes) -- (from WEL_FILE_DIALOG) ensure -- from WEL_STRUCTURE positive_result: Result > 0 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: EV_FILE_SAVE_DIALOG_IMP): 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) 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: EV_FILE_SAVE_DIALOG_IMP): 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 exists: BOOLEAN -- Does the `item` exist? -- (from WEL_ANY) ensure -- from WEL_ANY Result = (item /= default_pointer) flag_set (flags, mask: INTEGER_32): BOOLEAN -- Is mask set in `flags`? -- (from WEL_BIT_OPERATIONS) has_flag (a_flags: INTEGER_32): BOOLEAN -- Is a_flags set in `flags`? -- See class WEL_OFN_CONSTANTS for a_flags values. -- (from WEL_FILE_DIALOG) is_destroyed: BOOLEAN -- Is Current no longer usable? -- (from EV_ANY_I) 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)) selected: BOOLEAN -- Has the user selected something (file, color, etc.)? -- If True, the Ok button has been chosen. If False, -- the Cancel button has been chosen. -- (from WEL_STANDARD_DIALOG) selected_button: detachable IMMUTABLE_STRING_32 -- Label of last clicked button. -- (from EV_STANDARD_DIALOG_IMP) selected_filter_index: INTEGER_32 -- One based index of selected filter within `filters`, or -- zero if no filters set. -- (from EV_FILE_DIALOG_IMP) require -- from EV_FILE_DIALOG_I True ensure -- from EV_FILE_DIALOG_I result_zero_when_no_filters: filters.is_empty implies Result = 0 valid_result_when_filters_set: not filters.is_empty implies Result >= 1 and Result <= filters.count 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) feature -- Status setting hide -- Request that Current not be displayed even when its parent is. -- If successful, make is_show_requested False. -- (from EV_STANDARD_DIALOG_IMP) require -- from EV_STANDARD_DIALOG_I not_destroyed: not is_destroyed set_blocking_window (a_window: detachable EV_WINDOW) -- Set as transient for a_window. -- (from EV_STANDARD_DIALOG_IMP) set_shared -- Set `shared` to True. -- (from WEL_ANY) ensure -- from WEL_ANY shared: shared set_unshared -- Set `shared` to False. -- (from WEL_ANY) ensure -- from WEL_ANY unshared: not shared feature -- Element change add_flag (a_flags: INTEGER_32) -- Add a_flags to `flags`. -- See class WEL_OFN_CONSTANTS for a_flags values. -- (from WEL_FILE_DIALOG) ensure -- from WEL_FILE_DIALOG has_flag: has_flag (a_flags) remove_flag (a_flags: INTEGER_32) -- Remove a_flags from `flags`. -- See class WEL_OFN_CONSTANTS for a_flags values. -- (from WEL_FILE_DIALOG) ensure -- from WEL_FILE_DIALOG has_not_flag: not has_flag (a_flags) set_default_extension (extension: READABLE_STRING_GENERAL) -- Set the default extension with extension. -- This extension will be automatically added to the -- file name if the user fails to type an extension. -- (from WEL_FILE_DIALOG) require -- from WEL_FILE_DIALOG extension_not_void: extension /= Void set_default_title -- Set the title bar with the default value ("Save As" -- or "Open") -- (from WEL_FILE_DIALOG) ensure -- from WEL_FILE_DIALOG default_title_set: title.is_empty wel_set_file_path (a_file_path: PATH) -- Set file_path with a_file_path and initialize -- the file name edit control. -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True require -- from WEL_FILE_DIALOG a_file_path_not_void: a_file_path /= Void ensure -- from WEL_FILE_DIALOG file_name_set: wel_file_path ~ a_file_path set_filter (a_filter: READABLE_STRING_GENERAL) -- Set a_filter as new filter. -- (from EV_FILE_DIALOG_IMP) require -- from EV_FILE_DIALOG_I a_filter_not_void: a_filter /= Void ensure -- from EV_FILE_DIALOG_I assigned: filter.same_string_general (a_filter) wel_set_filter (filter_names, filter_patterns: ARRAY [READABLE_STRING_GENERAL]) -- Set the file type combo box. -- filter_names is an array of string containing -- the filter names and filter_patterns is an -- array of string containing the filter patterns. -- Example: -- filter_names = <<"Text file", "All file">> -- filter_patterns = <<"*.txt", "*.*">> -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True require -- from WEL_FILE_DIALOG filter_names_not_void: filter_names /= Void filter_patterns_not_void: filter_patterns /= Void same_count: filter_names.count = filter_patterns.count wel_set_filter_index (a_filter_index: INTEGER_32) -- Set `filter_index` with a_filter_index. -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True require -- from WEL_FILE_DIALOG positive_filter_index: a_filter_index >= 0 ensure -- from WEL_FILE_DIALOG filter_index_set: filter_index = a_filter_index set_flags (a_flags: INTEGER_32) -- Set `flags` with a_flags. -- See class WEL_OFN_CONSTANTS for a_flags values. -- (from WEL_FILE_DIALOG) ensure -- from WEL_FILE_DIALOG flags_set: flags = a_flags set_full_file_path (a_path: PATH) -- Make a_path the selected file. -- (from EV_FILE_DIALOG_IMP) require -- from EV_FILE_DIALOG_I a_path_not_void: a_path /= Void wel_set_initial_path (directory: PATH) -- Set the initial directory with directory. -- (from WEL_FILE_DIALOG) require -- from EV_FILE_DIALOG_IMP True require -- from WEL_FILE_DIALOG directory_not_void: directory /= Void set_initial_path_as_current -- Set the initial directory as the current one. -- (from WEL_FILE_DIALOG) set_item (an_item: POINTER) -- Set `item` with an_item -- (from WEL_ANY) ensure -- from WEL_ANY item_set: item = an_item set_start_path (a_path: PATH) -- Make a_path the base directory. -- (from EV_FILE_DIALOG_IMP) require -- from EV_FILE_DIALOG_I a_path_not_void: a_path /= Void ensure -- from EV_FILE_DIALOG_I assigned: start_path ~ a_path set_title (a_title: READABLE_STRING_GENERAL) -- Set `title` with a_title and use this string to -- display the title. -- (from WEL_FILE_DIALOG) require -- from EV_STANDARD_DIALOG_I a_title_not_void: a_title /= Void require -- from WEL_FILE_DIALOG a_title_not_void: a_title /= Void ensure -- from WEL_FILE_DIALOG title_set: title.same_string_general (a_title) feature -- Removal dispose -- Destroy the inner structure of Current. -- -- This function should be called by the GC when the -- object is collected or by the user if Current is -- no more usefull. -- (from WEL_ANY) require -- from DISPOSABLE True require -- from EV_STANDARD_DIALOG_IMP True feature -- Duplication frozen deep_copy (other: EV_FILE_SAVE_DIALOG_IMP) -- 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: EV_FILE_SAVE_DIALOG_IMP -- 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: EV_FILE_SAVE_DIALOG_IMP) -- 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: EV_FILE_SAVE_DIALOG_IMP -- 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: EV_FILE_SAVE_DIALOG_IMP -- 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 activate (a_parent: WEL_COMPOSITE_WINDOW) -- Activate the dialog box (modal mode) with -- a_parent as owner. -- (from WEL_SAVE_FILE_DIALOG) require -- from WEL_STANDARD_DIALOG exists: exists a_parent_not_void: a_parent /= Void a_parent_exists: a_parent.exists require -- from EV_STANDARD_DIALOG_IMP a_parent_not_void: a_parent /= Void a_parent_exists: a_parent.exists clear_flag (flags, mask: INTEGER_32): INTEGER_32 -- Clear the mask in `flags` -- (from WEL_BIT_OPERATIONS) ensure -- from WEL_BIT_OPERATIONS flag_unset: not flag_set (Result, mask) copy (other: EV_FILE_SAVE_DIALOG_IMP) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from WEL_STRUCTURE) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen default: detachable EV_FILE_SAVE_DIALOG_IMP -- 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 structure_initialize -- Fill Current with zeros. -- (from WEL_STRUCTURE) require -- from WEL_STRUCTURE exists: exists initialize_with_character (a_character: CHARACTER_8) -- Fill current with a_character. -- (from WEL_STRUCTURE) require -- from WEL_STRUCTURE exists: exists is_equal (other: EV_FILE_SAVE_DIALOG_IMP): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from WEL_STRUCTURE) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result memory_copy (source_pointer: POINTER; length: INTEGER_32) -- Copy length bytes from source_pointer to `item`. -- (from WEL_STRUCTURE) require -- from WEL_STRUCTURE length_small_enough: length <= Structure_size length_large_enough: length > 0 exists: exists set_flag (flags, mask: INTEGER_32): INTEGER_32 -- Set the mask in `flags` -- (from WEL_BIT_OPERATIONS) ensure -- from WEL_BIT_OPERATIONS flag_set: flag_set (Result, mask) feature -- Implementation show_modal_to_window (a_window: EV_WINDOW) -- Show the window and wait until the user closed it. -- (from EV_FILE_DIALOG_IMP) require -- from EV_STANDARD_DIALOG_I True feature -- Button Texts Ev_abort: IMMUTABLE_STRING_32 -- Text displayed on "abort" buttons. -- (from EV_DIALOG_NAMES) Ev_cancel: IMMUTABLE_STRING_32 -- Text displayed on "cancel" buttons. -- (from EV_DIALOG_NAMES) Ev_ignore: IMMUTABLE_STRING_32 -- Text displayed on "ignore" buttons. -- (from EV_DIALOG_NAMES) Ev_no: IMMUTABLE_STRING_32 -- Text displayed on "no" buttons. -- (from EV_DIALOG_NAMES) Ev_ok: IMMUTABLE_STRING_32 -- Text displayed on "ok" buttons. -- (from EV_DIALOG_NAMES) Ev_open: IMMUTABLE_STRING_32 -- Text displayed on "open" buttons. -- (from EV_DIALOG_NAMES) Ev_print: IMMUTABLE_STRING_32 -- Text displayed on "print" buttons. -- (from EV_DIALOG_NAMES) Ev_retry: IMMUTABLE_STRING_32 -- Text displayed on "retry" buttons. -- (from EV_DIALOG_NAMES) Ev_save: IMMUTABLE_STRING_32 -- Text displayed on "save" buttons. -- (from EV_DIALOG_NAMES) Ev_yes: IMMUTABLE_STRING_32 -- Text displayed on "yes" buttons. -- (from EV_DIALOG_NAMES) feature -- Event handling cancel_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when user cancels. -- (from EV_STANDARD_DIALOG_ACTION_SEQUENCES_I) ensure -- from EV_STANDARD_DIALOG_ACTION_SEQUENCES_I not_void: Result /= Void ok_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when user clicks OK. -- (from EV_STANDARD_DIALOG_ACTION_SEQUENCES_I) ensure -- from EV_STANDARD_DIALOG_ACTION_SEQUENCES_I not_void: Result /= Void 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 -- Titles Ev_confirmation_dialog_title: IMMUTABLE_STRING_32 -- Title of EV_CONFIRMATION_DIALOG. -- (from EV_DIALOG_NAMES) Ev_error_dialog_title: IMMUTABLE_STRING_32 -- Title of EV_ERROR_DIALOG. -- (from EV_DIALOG_NAMES) Ev_information_dialog_title: IMMUTABLE_STRING_32 -- Title of EV_INFORMATION_DIALOG. -- (from EV_DIALOG_NAMES) Ev_question_dialog_title: IMMUTABLE_STRING_32 -- Title of EV_QUESTION_DIALOG. -- (from EV_DIALOG_NAMES) Ev_warning_dialog_title: IMMUTABLE_STRING_32 -- Title of EV_WARNING_DIALOG. -- (from EV_DIALOG_NAMES) feature height: INTEGER_32 -- Vertical size in pixels. minimum_height: INTEGER_32 -- Minimum vertical size in pixels. minimum_width: INTEGER_32 -- Minimum horizontal size in pixels. screen_x: INTEGER_32 -- Horizontal offset relative to screen. screen_y: INTEGER_32 -- Vertical offset relative to screen. set_height (a: INTEGER_32) -- Set the vertical size to a_height. require -- from EV_POSITIONABLE_I a_height_positive_or_zero: a >= 0 ensure -- from EV_POSITIONABLE_I height_assigned: height = minimum_height or else height = a set_position (a, b: INTEGER_32) -- Set horizontal offset to parent to a_x. -- Set vertical offset to parent to a_y. ensure -- from EV_POSITIONABLE_I x_position_assigned: x_position = a y_position_assigned: y_position = b set_size (a, b: INTEGER_32) -- Set the horizontal size to a_width. -- Set the vertical size to a_height. require -- from EV_POSITIONABLE_I a_width_positive_or_zero: a >= 0 a_height_positive_or_zero: b >= 0 ensure -- from EV_POSITIONABLE_I width_assigned: width = minimum_width or else width = a height_assigned: height = minimum_height or else height = b set_width (a: INTEGER_32) -- Set the horizontal size to a_width. require -- from EV_POSITIONABLE_I a_width_positive_or_zero: a >= 0 ensure -- from EV_POSITIONABLE_I width_assigned: width = minimum_width or else width = a set_x_position (a: INTEGER_32) -- Set horizontal offset to parent to a_x. ensure -- from EV_POSITIONABLE_I x_position_assigned: x_position = a set_y_position (a: INTEGER_32) -- Set vertical offset to parent to a_y. ensure -- from EV_POSITIONABLE_I y_position_assigned: y_position = a width: INTEGER_32 -- Horizontal size in pixels. x_position: INTEGER_32 -- Horizontal offset relative to parent `x_position` in pixels. y_position: INTEGER_32 -- Vertical offset relative to parent `y_position` in pixels. invariant -- from EV_FILE_DIALOG_I filters_not_void: filters /= Void -- from EV_ANY_I interface_coupled: is_usable implies interface /= Void and then attached_interface.implementation = Current base_make_called: is_usable implies base_make_called -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) -- from EV_POSITIONED_I minimum_width_positive_or_zero: is_usable implies minimum_width >= 0 minimum_height_positive_or_zero: is_usable implies minimum_height >= 0 -- from WEL_FILE_DIALOG str_file_name_not_void: str_file_name /= Void str_file_name_exists: str_file_name.Exists str_file_title_not_void: str_file_title /= Void str_file_title_exists: str_file_title.Exists str_title_not_void: str_title /= Void str_title_exists: str_title.Exists note copyright: "Copyright (c) 1984-2012, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., 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 EV_FILE_SAVE_DIALOG_IMP
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

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