Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "Objects that represent a line in the editor." legal: "See notice at end of class." status: "See notice at end of class." author: "Christophe Bonnard / Arnaud PICHERY [ aranud@mail.dotcom.fr] " date: "$Date: 2023-04-13 23:05:15 -0800 (Thu, 13 Apr 2023) $" revision: "$Revision: 106761 $" class interface VIEWER_LINE create make_empty_line -- Create an empty line. make (a_windows_style: BOOLEAN) -- Create an empty line. make_windows_style -- Create an empty line in Windows style. make_unix_style -- Create an empty line in Unix style. feature -- Access eol_token: EDITOR_TOKEN_EOL -- Last token of the line. first_token: EDITOR_TOKEN -- First token in the line (margin tokens discarded) ensure same_curr_token: old curr_token = curr_token generating_type: TYPE [VIEWER_LINE] -- 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 index: INTEGER_32 -- index of item in tree -- (from TREE_ITEM) require -- from TREE_ITEM is_valid: is_valid is_highlighted: BOOLEAN key: TREE_KEY [VIEWER_LINE] -- Tree Key of Current -- (from TREE_ITEM) next: VIEWER_LINE -- next item -- Void if Current is the last item. -- (from TREE_ITEM) number_token: EDITOR_TOKEN_LINE_NUMBER -- Token containing the line number information for the line. previous: VIEWER_LINE -- previous item -- Void if Current is the last item. -- (from TREE_ITEM) real_first_token: EDITOR_TOKEN -- First token in the line (takes into account MARGIN_TOKENs) tree: B_345_TREE -- (from TREE_ITEM) wide_indentation: STRING_32 -- Create a string containing the same indentation as ref_line. -- New instance created at each call. ensure indentation_not_void: Result /= Void feature -- Comparison frozen deep_equal (a: 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: 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: VIEWER_LINE): 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: VIEWER_LINE): 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: 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: VIEWER_LINE): 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 is_valid: BOOLEAN -- Is current item valid in the tree? -- (from TREE_ITEM) 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)) feature -- Element change append_token (tok: EDITOR_TOKEN) -- Insert tok just before the eol token. require eol_token_not_void: eol_token /= Void insert_token (tok: EDITOR_TOKEN; pos: INTEGER_32) -- Insert tok to right at position require tok_not_void: tok /= Void not_has_tok: not has_token (tok) pos_valid: pos <= count set_key (k: like key) -- Make k the value of `key`. -- (from TREE_ITEM) set_next (ti: VIEWER_LINE) -- Make ti the next item. -- (from TREE_ITEM) set_previous (ti: VIEWER_LINE) -- Make ti the previous item. -- (from TREE_ITEM) set_tree (t: like tree) -- Make t the value of `tree`. -- (from TREE_ITEM) set_width (a_width: INTEGER_32) -- Make `width` equal to a_width. feature -- Removal delete -- Supress Current. -- If Current is the only line of `tree`, prompt `tree` so. -- (from TREE_ITEM) require -- from TREE_ITEM key_not_void: key /= Void unlink -- link `previous` to `next`. used in deletion. -- (from TREE_ITEM) require -- from TREE_ITEM tree_not_void: tree /= Void feature -- Duplication copy (other: VIEWER_LINE) -- 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: VIEWER_LINE) -- 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: VIEWER_LINE -- 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: VIEWER_LINE) -- 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: VIEWER_LINE -- 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: VIEWER_LINE -- 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: VIEWER_LINE -- 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 feature -- Basic Operations add_left (other: VIEWER_LINE) -- add other to the left of Current -- (from TREE_ITEM) require -- from TREE_ITEM other_not_void: other /= Void key_not_void: key /= Void ensure -- from TREE_ITEM other_has_key: other.key /= Void other_has_tree: other.tree /= Void add_right (other: VIEWER_LINE) -- add other to the right of Current -- (from TREE_ITEM) require -- from TREE_ITEM other_not_void: other /= Void key_not_void: key /= Void ensure -- from TREE_ITEM other_has_key: other.key /= Void other_has_tree: other.tree /= Void link_left (other: VIEWER_LINE) -- Add other to the left of current. -- Change links -- (from TREE_ITEM) require -- from TREE_ITEM tree_set: tree /= Void link_right (other: VIEWER_LINE) -- Add other to the right of current. -- Change links -- (from TREE_ITEM) require -- from TREE_ITEM tree_set: tree /= Void feature -- Initialisation make (a_windows_style: BOOLEAN) -- Create an empty line. make_unix_style -- Create an empty line in Unix style. make_windows_style -- Create an empty line in Windows style. 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: 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 -- Query has_token (tok: EDITOR_TOKEN): BOOLEAN -- Does this line contain tok ? feature -- Status Report after: BOOLEAN -- Are we after the end of the line ? character_length: INTEGER_32 -- Character length of current line including the EOL character. count: INTEGER_32 -- Number of tokens in current empty: BOOLEAN -- Is Current empty (as a line)? forth -- Move `curr_token` to it's right brother. require not_after: not after item: EDITOR_TOKEN -- Current item require not_after: not after start -- Set `curr_token` to `real_first_token` wide_image: STRING_32 -- string representation of the line. ensure result_not_void: Result /= Void wide_image_from_cursor_to_end (text_cursor: VIEWER_CURSOR): STRING_32 -- Substring of the line starting at the cursor -- position (included) and ending at the end of the line require text_cursor.line = Current ensure result_not_void: Result /= Void wide_image_from_start_to_cursor (text_cursor: VIEWER_CURSOR): STRING_32 -- Substring of the line starting at the beggining of -- the line and ending at the cursor position (not -- included) require text_cursor.line = Current ensure result_not_void: Result /= Void wide_substring_image_by_character (start_char, end_char: INTEGER_32): STRING_32 -- Substring of the line starting at start_char and -- ending at end_char - included ensure result_not_void: Result /= Void width: INTEGER_32 -- x position of last pixel of the string feature -- Status Setting set_highlighted (a_flag: BOOLEAN) -- Highlight update_token_information -- Update token information require eol_token_not_void: eol_token /= Void invariant real_first_token_set: real_first_token /= Void eol_token_set: eol_token /= Void -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2023, 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 VIEWER_LINE
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

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