123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- deferred class IUP_WIDGET_TEXT_SELECTION
- -- Commands to handle the attributes related with selection.
- inherit
- IUP_WIDGET_INTERNALS
-
- feature {ANY}
- set_selection (col1, col2: INTEGER)
- -- Selection interval in characters. Where col1 and col2 are integer
- -- numbers corresponding to the selection's interval. col2 correspond to
- -- the character after the last selected character.
- -- The first position is "1".
- -- In Windows, when changing the selection the caret position is also
- -- changed.
- local
- str: STRING
- do
- str := col1.out
- str.append_string(":")
- str.append_string(col2.out)
-
- iup_open.set_attribute(Current, "SELECTION", str)
- end
- get_selection: TUPLE[INTEGER, INTEGER]
- -- Selection interval in characters. Returns "0, 0" if there is no
- -- selection.
- local
- str: STRING
- do
- str := iup_open.get_attribute(Current, "SELECTION")
- if not str.is_empty then
- Result := components_of(str, ':')
- else
- Result := [0, 0]
- end
- end
- set_selection_pos (col1, col2: INTEGER)
- -- (non inheritable): Same as SELECTION but using a zero based character
- -- index. Useful for indexing the VALUE string. See the Notes above if
- -- using UTF-8 strings in GTK.
- local
- str: STRING
- do
- create str.make_from_string(col1.out)
- str.append_string(":")
- str.append_string(col2.out)
-
- iup_open.set_attribute(Current, "SELECTIONPOS", str)
- end
- get_selection_pos: TUPLE[INTEGER, INTEGER]
- -- (non inheritable): Same as SELECTION but using a zero based character
- -- index. Returns "0, 0" if there is no selection.
- local
- str: STRING
- do
- str := iup_open.get_attribute(Current, "SELECTIONPOS")
- if not str.is_empty then
- Result := components_of(str, ':')
- else
- Result := [0, 0]
- end
- end
- end
- -- The MIT License (MIT)
- -- Copyright (c) 2016, 2019, 2020 by German A. Arias
- -- Permission is hereby granted, free of charge, to any person obtaining a copy
- -- of this software and associated documentation files (the "Software"), to deal
- -- in the Software without restriction, including without limitation the rights
- -- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- -- copies of the Software, and to permit persons to whom the Software is
- -- furnished to do so, subject to the following conditions:
- --
- -- The above copyright notice and this permission notice shall be included in
- -- all copies or substantial portions of the Software.
- --
- -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- -- SOFTWARE.
|