ultimatepp/uppsrc/CtrlLib/src.tpp/LineEdit$en-us.tpp
cbpporter c8ea2aef33 CtrlLib documentation update
git-svn-id: svn://ultimatepp.org/upp/trunk@1004 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-03-23 20:17:58 +00:00

316 lines
No EOL
13 KiB
C++

topic "LineEdit";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,0#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[{_}
[ {{10000@3 [s0;%% [*@(229)4 LineEdit]]}}&]
[s3; &]
[s1;:LineEdit`:`:class: [@(0.0.255)3 class][3 _][*3 LineEdit][3 _:_][@(0.0.255)3 public][3 _][*@3;3 T
extCtrl]&]
[s9;%% &]
[s3; &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Protected Method List]]}}&]
[s3; &]
[s5;:LineEdit`:`:HighlightLine`(int`,Vector`<LineEdit`:`:Highlight`>`&`,int`): [@(0.0.255) v
irtual] [@(0.0.255) void]_[* HighlightLine]([@(0.0.255) int]_[*@3 line],
[_^Vector^ Vector][@(0.0.255) <][_^LineEdit`:`:Highlight^ Highlight][@(0.0.255) >`&]_[*@3 h
], [@(0.0.255) int]_[*@3 pos])&]
[s2;%% This method can be overridden to add syntax highlighting to
the LineEdit. It is called once for each line painted on the
screen. [%-*@3 line] is the line index (first line is 0), [%-*@3 h]
represents character cells in the line; client code should change
this array to achieve the highlighting, [%-*@3 pos] is the index
of character from the beginning of text. [%-*@3 h] initially contains
one more space character than is the count of characters in the
line; this additional character can be used to set the appearance
of the rest of line after the last character. You also add more
characters to the [%-*@3 h]. Default implementation is empty.&]
[s3;%% &]
[s4; &]
[s5;:LineEdit`:`:NewScrollPos`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* NewScrollPos](
)&]
[s2;%% Called when scrollbar gets new position. Default implementation
is empty.&]
[s3; &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
[s3; &]
[s5;:LineEdit`:`:GetFontSize`(`)const: [_^Size^ Size]_[* GetFontSize]()_[@(0.0.255) const]&]
[s2;%% Returns the size of font character cell (LineEdit expects
monospace glyphs `- the width of character is constant).&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetGPos`(int`,int`)const: [@(0.0.255) int]_[* GetGPos]([@(0.0.255) int]_[*@3 l
n], [@(0.0.255) int]_[*@3 cl])_[@(0.0.255) const]&]
[s2;%% Returns `"graphical`" position of [%-*@3 ln] line and [%-*@3 cl]
column. This takes into account any tabulator characters int
the line.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetMousePos`(Point`)const: [@(0.0.255) int]_[* GetMousePos]([_^Point^ Poin
t]_[*@3 p])_[@(0.0.255) const]&]
[s2;%% Get the the offset of character placed at [%-*@3 p].&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetColumnLine`(int`)const: [_^Point^ Point]_[* GetColumnLine]([@(0.0.255) i
nt]_[*@3 pos])_[@(0.0.255) const]&]
[s2;%% Returns the line and column for the character at [%-*@3 pos]
accounting for any tabulators. Column is x member of resulting
Point, line is y.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetColumnLinePos`(Point`)const: [@(0.0.255) int]_[* GetColumnLinePos]([_^Point^ P
oint]_[*@3 pos])_[@(0.0.255) const]&]
[s2;%% Returns the position for given column and line [%-*@3 pos].
Does account for tabulators.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetIndexLine`(int`)const: [_^Point^ Point]_[* GetIndexLine]([@(0.0.255) in
t]_[*@3 pos])_[@(0.0.255) const]&]
[s2;%% Returns the line and index of character in the line for the
given [%-*@3 pos]. Does not account for tabulators.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetIndexLinePos`(Point`)const: [@(0.0.255) int]_[* GetIndexLinePos]([_^Point^ P
oint]_[*@3 pos])_[@(0.0.255) const]&]
[s2;%% Returns the position for given column and line [%-*@3 pos].
Does not account for tabulators.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:ScrollUp`(`): [@(0.0.255) void]_[* ScrollUp]()&]
[s2;%% Scrolls the text single line up.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:ScrollDown`(`): [@(0.0.255) void]_[* ScrollDown]()&]
[s2;%% Scrolls the text single line down.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetLineScreenRect`(int`)const: [_^Rect^ Rect]_[* GetLineScreenRect]([@(0.0.255) i
nt]_[*@3 line])_[@(0.0.255) const]&]
[s2;%% Gets the absolute screen rectangle position of [%-*@3 line].&]
[s5;K:`:`:LineEdit`:`:TopCursor`(`): [@(0.0.255) void][@(64) _]TopCursor[@(64) ()]&]
[s2;%% Scrolls the text to place the line with cursor is first in
the view.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:CenterCursor`(`): [@(0.0.255) void]_[* CenterCursor]()&]
[s2;%% Scrolls the text to place the line with cursor at the center
of the view.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:MoveUpDown`(int`,bool`): [@(0.0.255) void]_[* MoveUpDown]([@(0.0.255) int]_
[*@3 n], [@(0.0.255) bool]_[*@3 sel]_`=_[@(0.0.255) false])&]
[s2;%% Moves the cursor [%-*@3 n] lines up ([%-*@3 n] is negative) or
down. If [%-*@3 sel] is true, selects characters between starting
and ending cursor position.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:MoveLeft`(bool`): [@(0.0.255) void]_[* MoveLeft]([@(0.0.255) bool]_[*@3 sel]_
`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveRight`(bool`): [@(0.0.255) void]_[* MoveRight]([@(0.0.255) bool]_[*@3 se
l]_`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveUp`(bool`): [@(0.0.255) void]_[* MoveUp]([@(0.0.255) bool]_[*@3 sel]_`=_
[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveDown`(bool`): [@(0.0.255) void]_[* MoveDown]([@(0.0.255) bool]_[*@3 sel]_
`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MovePageUp`(bool`): [@(0.0.255) void]_[* MovePageUp]([@(0.0.255) bool]_[*@3 s
el]_`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MovePageDown`(bool`): [@(0.0.255) void]_[* MovePageDown]([@(0.0.255) bool]_
[*@3 sel]_`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveHome`(bool`): [@(0.0.255) void]_[* MoveHome]([@(0.0.255) bool]_[*@3 sel]_
`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveEnd`(bool`): [@(0.0.255) void]_[* MoveEnd]([@(0.0.255) bool]_[*@3 sel]_`=
_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveTextBegin`(bool`): [@(0.0.255) void]_[* MoveTextBegin]([@(0.0.255) boo
l]_[*@3 sel]_`=_[@(0.0.255) false])&]
[s5;:LineEdit`:`:MoveTextEnd`(bool`): [@(0.0.255) void]_[* MoveTextEnd]([@(0.0.255) bool]_[*@3 s
el]_`=_[@(0.0.255) false])&]
[s2;%% [%- Moves the cursor in specified direction (Home/End are beginning/end
of line). ]If [%-*@3 sel] is true, selects characters between starting
and ending cursor position.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:InsertChar`(dword`,int`,bool`): [@(0.0.255) bool]_[* InsertChar]([_^dword^ d
word]_[*@3 key], [@(0.0.255) int]_[*@3 count]_`=_[@3 1], [@(0.0.255) bool]_[*@3 canoverwrite]_
`=_[@(0.0.255) false])&]
[s2;%% Inserts [%-*@3 count ]characters [%-*@3 key] at cursor position.
If [%-*@3 canoverwrite] is true, overwrite mode (as set by user
pressing Insert key) can be used.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:DeleteChar`(`): [@(0.0.255) void]_[* DeleteChar]()&]
[s2;%% Deletes character at cursor position.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:Backspace`(`): [@(0.0.255) void]_[* Backspace]()&]
[s2;%% If character is not first in the text, deletes it and moves
cursor one position back.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:DeleteLine`(`): [@(0.0.255) void]_[* DeleteLine]()&]
[s2;%% Deletes a line with cursor (if it is not the only line in
the text).&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:CutLine`(`): [@(0.0.255) void]_[* CutLine]()&]
[s2;%% Stores a line to clipboard and calls DeleteLine.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetScrollPos`(`)const: [_^Point^ Point]_[* GetScrollPos]()_[@(0.0.255) con
st]&]
[s2;%% Returns the actual scroll position.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetPageSize`(`): [_^Size^ Size]_[* GetPageSize]()&]
[s2;%% Returns the current view size in character cells.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:SetScrollPos`(Point`): [@(0.0.255) void]_[* SetScrollPos]([_^Point^ Point]_
[*@3 p])&]
[s2;%% Sets the scroll position of view, e.g. to the value obtained
by GetScrollPos.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetEditPos`(`)const: [_^LineEdit`:`:EditPos^ EditPos]_[* GetEditPos]()_[@(0.0.255) c
onst]&]
[s2;%% Returns the edit position in the text to be restored later.
Edit position comprises cursor and scrollbar positions.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:SetEditPos`(const LineEdit`:`:EditPos`&`): [@(0.0.255) void]_[* SetEditP
os]([@(0.0.255) const]_[_^LineEdit`:`:EditPos^ LineEdit`::EditPos][@(0.0.255) `&]_[*@3 pos
])&]
[s2;%% Sets the edit position obtained by calling GetEditPos. If
cursor is not in the view after restoring, view is scrolled so
that it is by calling ScrollIntoCursor.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:SetEditPosSb`(const LineEdit`:`:EditPos`&`): [@(0.0.255) void]_[* SetEdi
tPosSb]([@(0.0.255) const]_[_^LineEdit`:`:EditPos^ LineEdit`::EditPos][@(0.0.255) `&]_[*@3 p
os])&]
[s2;%% Sets the edit position obtained by calling GetEditPos. Unlike
SetEditPos, no scrolls are performed to get cursor into the view.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:ScrollIntoCursor`(`): [@(0.0.255) void]_[* ScrollIntoCursor]()&]
[s2;%% Performs minimal scroll to get the cursor into the view. `"Minimal`"
means that if cursor is `"before`" the view, view is scrolled
to move cursor to the first line, if it is `"after`", it is moved
to the last line.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetCaretPoint`(`)const: [_^Point^ Point]_[* GetCaretPoint]()_[@(0.0.255) c
onst]&]
[s2;%% Returns the current caret position.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:Clear`(`): [@(0.0.255) void]_[* Clear]()&]
[s2;%% Sets the text empty.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:OverWriteMode`(bool`): [@(0.0.255) void]_[* OverWriteMode]([@(0.0.255) boo
l]_[*@3 o]_`=_[@(0.0.255) true])&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:IsOverWriteMode`(`)const: [@(0.0.255) bool]_[* IsOverWriteMode]()_[@(0.0.255) c
onst]&]
[s2;%% In OverWriteMode mode, input characters replace the content
instead of being inserted.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:RefreshChars`(bool`(`*`)`(int c`)`): [@(0.0.255) void]_[* RefreshChars](
[@(0.0.255) bool]_(`*[*@3 predicate])([@(0.0.255) int]_c))&]
[s2;%% Calls [%-*@3 predicate] for all characters in current view and
when it returns true refreshes (schedules for repainting) character
cell. It is useful for advanced code editors (e.g. refreshing
color of braces in TheIDE editor).&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:TabSize`(int`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* TabSize]([@(0.0.255) i
nt]_[*@3 n])&]
[s2;%% Sets the tabulator size.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetTabSize`(`)const: [@(0.0.255) int]_[* GetTabSize]()_[@(0.0.255) const]&]
[s2;%% Returns current tabulator size.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:BorderColumn`(int`,Color`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* Borde
rColumn]([@(0.0.255) int]_[*@3 col], [_^Color^ Color]_[*@3 c]_`=_SColorFace())&]
[s2;%% Displays a border column of width [%-*@3 col] and color [%-*@3 c].&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:SetFont`(Font`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* SetFont]([_^Font^ F
ont]_[*@3 f])&]
[s2;%% Sets the font. HighlightLine can replace this font, however,
the size of character cell is determined by this font (note that
CJK ideograms are two character cells wide). Font should be monospaced.
Returns `*this. Default font is Courier(16).&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:GetFont`(`)const: [_^Font^ Font]_[* GetFont]()_[@(0.0.255) const]&]
[s2;%% Returns the font.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:NoHorzScrollbar`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* NoHorzSc
rollbar]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% In this mode horizontal scrollbar is never shown. Default
is off.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:ShowTabs`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* ShowTabs]([@(0.0.255) b
ool]_[*@3 st]_`=_[@(0.0.255) true])&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:IsShowTabs`(`)const: [@(0.0.255) bool]_[* IsShowTabs]()_[@(0.0.255) const]&]
[s2;%% In this mode widget displays tabulators with faint graphics.
Default is off.&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:WithCutLine`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* WithCutLine](
[@(0.0.255) bool]_[*@3 b])&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:NoCutLine`(`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* NoCutLine]()&]
[s2;%% In this mode widget calls CutLine when user presses Ctrl`+Y
or Ctrl`+L. Default is on.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@3 [s0;%% [*@(229)4 LineEdit`::Highlight]]}}&]
[s3; &]
[s1;:LineEdit`:`:Highlight`:`:struct: [@(0.0.255)3 struct][3 _][*3 Highlight][3 _:_][@(0.0.255)3 p
ublic][3 _][*@3;3 Moveable][@(0.0.255)3 <][*3 Highlight][@(0.0.255)3 >][3 _]&]
[s9; This structure defines syntax highlighting properties of single
character cell. &]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3; &]
[s5;:LineEdit`:`:Highlight`:`:paper: [_^Color^ Color]_[* paper]&]
[s3;%% &]
[s4; &]
[s5;:LineEdit`:`:Highlight`:`:ink: [_^Color^ Color]_[* ink]&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:Highlight`:`:font: [_^Font^ Font]_[* font]&]
[s3; &]
[s4; &]
[s5;:LineEdit`:`:Highlight`:`:chr: [_^wchar^ wchar]_[* chr]&]
[s3;%% &]
[s4; &]
[s5;:LineEdit`:`:Highlight`:`:operator`=`=`(const LineEdit`:`:Highlight`&`)const: [@(0.0.255) b
ool]_[* operator`=`=]([@(0.0.255) const]_[_^LineEdit`:`:Highlight^ Highlight][@(0.0.255) `&
]_[*@3 h])_[@(0.0.255) const]&]
[s2;%% Equality comparison.&]
[s3; &]
[s0; ]