TbtkScriptTextViewObject
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. pas:class:: TbtkScriptTextViewObject
Класс, реализующий API для управления курсором, позиционирования прокрутки на конкретной линии и работы с выделением текста в текстовых
редакторах. Реализуется на уровне GUI-контроллера фрейма выборки. Доступ осуществляется через :pas:class:`TbtkScriptControllerObject.Text`
.. warning:: |not_supported|
.. pas:attribute:: CursorLine: Integer
Номер линии, на который находится курсор. Чтение/Запись.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
ShowMessage('Cursor is on line: ' + IntToStr(Selection.Controller.Text.CursorLine));
.. pas:attribute:: CursorPos: Integer
Позиция курсора относительно начала текста. Чтение/Запись.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
ShowMessage('Cursor position: ' + IntToStr(Selection.Controller.Text.CursorPos) );
.. pas:attribute:: TopLine: Integer
Номер строки, которая отображается в редакторе самой первой.
Чтение/Запись.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
s := InputBox('Change line', 'Switch from line ' +
IntToStr(Selection.Controller.Text.TopLine) + ' to line:','')
Selection.Controller.Text.TopLine := StrToInt(s);
end
.. pas:attribute:: SelLength: Integer
Длина выделенного текста в символах в текущем редакторе. Чтение/Запись.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
Selection.Controller.Text.SelStart := StrToInt(InputBox('Select text', 'From', ''));
Selection.Controller.Text.SelLength := StrToInt(InputBox('Select text', 'Length', ''));
end
.. pas:attribute:: SelStart: Integer
Позиция относительно начала текста, с которой начинается выделение
текста. Чтение/Запись.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
ShowMessage('Selection starts at ' + IntToStr(Selection.Controller.Text.SelStart));
.. pas:attribute:: SelText: String
Выделенный текст в текущем редакторе. Чтение/Запись. Если выделение
отсутствует, при присвоении свойства происходит вставка текста в место
установки курсора.
:rtype: String
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
ShowMessage(Selection.Controller.Text.SelText);
.. pas:method:: MoveCursorTo(Line, Col: Integer)
Переместить курсор в указанную позицию в редакторе ввода.
:param Integer Line:
номер линии, на которую будет перемещен курсор
:param Integer Col:
позиция относительно начала линии, на которую будет перемещен курсор.
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
line := InputBox('','line','');
col := InputBox('','column','');
Selection.Controller.Text.MoveCursorTo(line, col);
end;
.. pas:method:: GetPosByLine(LineNo: Integer; CursorAlign: TbtkLineCursorAlign): Integer
Возвращает позицию относительно начала текста, которая соответствует
заданной линии и расположению курсора относительно линии
:param Integer LineNo:
номер линии
:param TbtkLineCursorAlign CursorAlign:
выравнивание курсора:
lcaStart
курсор в начале строки
lcaEnd
курсор в конце строки.
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
i := InputBox('', 'Line num','');
ShowMessage('Pos at the beginning of line ' + i + ' ' +
IntToStr(Selection.Controller.Text.GetPosByLine(StrToInt(i),
lcaStart)));
end;
.. pas:method:: GetLineByPos(Pos: Integer): Integer
Возвращает номер линии в редакторе ввода, которой соответствует позиция
относительно начала текста.
:param Integer Pos:
позиция в тексте
:rtype: Integer
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
pos := InputBox('','position','');
ShowMessage('Position ' + pos + ' is on line no: ' +
IntToStr(Selection.Controller.Text.GetLineByPos(StrToInt(pos))));
end;
.. pas:method:: ShowCursor(CursorAlign: TbtkShowCursorAlign)
Выровнять положение линии с курсором относительно экрана.
:param TbtkShowCursorAlign CursorAlign:
выравнивание курсора:
scaStart
вверху экрана
scaMiddle
посредине экрана
scaEnd
внизу экрана.
.. code-block:: delphi
:caption: Пример использования
if Assigned(Selection.Controller.Text) then
begin
Selection.Controller.Text.CursorLine := 50;
Selection.Controller.Text.ShowCursor(scaMiddle);
end;
TbtkLineCursorAlign
*********************
.. pas:class:: TbtkLineCursorAlign
Перечисление. Позиция курсора относительно строки.
.. warning:: |not_supported|
.. pas:attribute:: lcaEnd
Курсор в конце строки
.. pas:attribute:: lcaStart
Курсор в начале строки
TbtkShowCursorAlign
**********************
.. pas:class:: TbtkShowCursorAlign
Перечисление. Положение линии с курсором относительно экрана
.. warning:: |not_supported|
.. pas:attribute:: scaEnd
Линия с курсором внизу экрана
.. pas:attribute:: scaMiddle
Линия с курсором посредине экрана
.. pas:attribute:: scaStart
Линия с курсором вверху экрана