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: 2017-05-05 09:08:38 -0800 (Fri, 05 May 2017) $" revision: "$Revision: 100342 $" class interface EDITOR_LINE create make_empty_line -- Create an empty line. -- (from VIEWER_LINE) make (a_windows_style: BOOLEAN) -- Create an empty line. -- (from VIEWER_LINE) make_from_lexer (lexer: EDITOR_SCANNER) -- Create a line using token from lexer. -- Defaults to Unix EOL style. require lexer_exists: lexer /= Void make_unix_style -- Create an empty line in Unix style. -- (from VIEWER_LINE) make_windows_style -- Create an empty line in Windows style. -- (from VIEWER_LINE) make_from_lexer_and_style (lexer: EDITOR_SCANNER; a_windows_style: BOOLEAN) -- Create a line using token from lexer in a_windows_style. require lexer_exists: lexer /= Void feature -- Initialization make_from_lexer (lexer: EDITOR_SCANNER) -- Create a line using token from lexer. -- Defaults to Unix EOL style. require lexer_exists: lexer /= Void make_from_lexer_and_style (lexer: EDITOR_SCANNER; a_windows_style: BOOLEAN) -- Create a line using token from lexer in a_windows_style. require lexer_exists: lexer /= Void feature -- Access eol_token: EDITOR_TOKEN_EOL -- Last token of the line. -- (from VIEWER_LINE) first_token: EDITOR_TOKEN -- First token in the line (margin tokens discarded) -- (from VIEWER_LINE) ensure -- from VIEWER_LINE same_curr_token: old curr_token = curr_token generating_type: TYPE [EDITOR_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 -- (from VIEWER_LINE) key: TREE_KEY [EDITOR_LINE] -- Tree Key of Current -- (from TREE_ITEM) next: EDITOR_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. -- (from VIEWER_LINE) previous: EDITOR_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) -- (from VIEWER_LINE) 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. -- (from VIEWER_LINE) ensure -- from VIEWER_LINE 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: EDITOR_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: EDITOR_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: EDITOR_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. -- (from VIEWER_LINE) require -- from VIEWER_LINE eol_token_not_void: eol_token /= Void insert_token (tok: EDITOR_TOKEN; pos: INTEGER_32) -- Insert tok to right at position -- (from VIEWER_LINE) require -- from VIEWER_LINE 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: EDITOR_LINE) -- Make ti the next item. -- (from TREE_ITEM) set_previous (ti: EDITOR_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. -- (from VIEWER_LINE) 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 -- Transformation rebuild_from_lexer (lexer: EDITOR_SCANNER; in_v_string: BOOLEAN) -- Rebuild Current using token from lexer.  If lexer is scanning a line that is part of -- a verbatim string then in_v_string should be True. -- EOL style defaults to Unix. rebuild_from_lexer_and_style (lexer: EDITOR_SCANNER; in_v_string: BOOLEAN; a_windows_style: BOOLEAN) -- Rebuild Current using token from lexer.  If lexer is scanning a line that is part of -- a verbatim string then in_v_string should be True. -- EOL style is windows style, when a_windows_style is set, otherwise unix style. replace_beginning_from_lexer (lexer: EDITOR_SCANNER; t_after: EDITOR_TOKEN) -- Replace tokens before t_after by tokens from lexer. require lexer_exists: lexer /= Void t_after_exists: t_after /= Void replace_from_lexer (lexer: EDITOR_SCANNER; t_before, t_after: EDITOR_TOKEN) -- Replace tokens between t_before and t_after -- by tokens from lexer. require lexer_exists: lexer /= Void t_before_exists: t_before /= Void t_after_exists: t_after /= Void feature -- Duplication copy (other: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_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: EDITOR_LINE) -- Add other to the left of current. -- Change links -- (from TREE_ITEM) require -- from TREE_ITEM tree_set: tree /= Void link_right (other: EDITOR_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. -- (from VIEWER_LINE) make_unix_style -- Create an empty line in Unix style. -- (from VIEWER_LINE) make_windows_style -- Create an empty line in Windows style. -- (from VIEWER_LINE) 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 ? -- (from VIEWER_LINE) feature -- Status Report after: BOOLEAN -- Are we after the end of the line ? -- (from VIEWER_LINE) character_length: INTEGER_32 -- Character length of current line including the EOL character. -- (from VIEWER_LINE) count: INTEGER_32 -- Number of tokens in current -- (from VIEWER_LINE) empty: BOOLEAN -- Is Current empty (as a line)? -- (from VIEWER_LINE) forth -- Move `curr_token` to it's right brother. -- (from VIEWER_LINE) require -- from VIEWER_LINE not_after: not after item: EDITOR_TOKEN -- Current item -- (from VIEWER_LINE) require -- from VIEWER_LINE not_after: not after start -- Set `curr_token` to `real_first_token` -- (from VIEWER_LINE) wide_image: STRING_32 -- string representation of the line. -- (from VIEWER_LINE) ensure -- from VIEWER_LINE result_not_void: Result /= Void dummy2 (text_cursor: VIEWER_CURSOR): STRING_32 -- Substring of the line starting at the cursor -- position (included) and ending at the end of the line -- (from VIEWER_LINE) require -- from VIEWER_LINE text_cursor.line = Current ensure -- from VIEWER_LINE result_not_void: Result /= Void dummy1 (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) -- (from VIEWER_LINE) require -- from VIEWER_LINE text_cursor.line = Current ensure -- from VIEWER_LINE 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 -- (from VIEWER_LINE) ensure -- from VIEWER_LINE result_not_void: Result /= Void width: INTEGER_32 -- x position of last pixel of the string -- (from VIEWER_LINE) feature -- Status Report auto_indented: BOOLEAN -- Was this line auto-indented by the editor (i.e. extra tabs were added when created)? end_of_verbatim_string: BOOLEAN -- Is current the end of a verbatim string? part_of_verbatim_string: BOOLEAN -- Is Current part of a verbatim string, i.e part of a string which covers more than one line? -- Redefine this and have the lexer set this flag so you can tell if indeed this is the case. -- Required because gobo lexer works line by line.  Defult: False start_of_verbatim_string: BOOLEAN -- Is current the start of a verbatim string? wide_image_from_cursor_to_end (text_cursor: TEXT_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: TEXT_CURSOR): STRING_32 -- Substring of the line starting at the beginning of -- the line and ending at the cursor position (not -- included) require text_cursor.line = Current ensure result_not_void: Result /= Void feature -- Status Setting set_auto_indented (a_flag: BOOLEAN) -- Set `auto_indented` to a_flag ensure value_set: auto_indented = a_flag set_end_of_verbatim_string (a_flag: BOOLEAN) -- Set `end_of_verbatim_string` to a_flag ensure value_set: end_of_verbatim_string = a_flag set_highlighted (a_flag: BOOLEAN) -- Highlight -- (from VIEWER_LINE) set_part_of_verbatim_string (a_flag: BOOLEAN) -- Set `part_of_verbatim_string` to a_flag ensure value_set: part_of_verbatim_string = a_flag set_start_of_verbatim_string (a_flag: BOOLEAN) -- Set `start_of_verbatim_string` to a_flag ensure value_set: start_of_verbatim_string = a_flag update_token_information -- Update token information -- (from VIEWER_LINE) require -- from VIEWER_LINE eol_token_not_void: eol_token /= Void invariant -- from VIEWER_LINE 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-2017, 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 EDITOR_LINE
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

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