The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Perl" / Оглавление документа
Виджеты для редакции

Иерархия наследования

Object
   +--- Widget
         +--- Editable

Виджеты редактирования - базовый класс всех виджетов этого типа. Этот класс
не нуждается в применении функции new() и только обеспечивает обычные
функциональные возможности к тексту widgets. Все виджеты, в которых можно
редактировать текст, позволяют выделять область текста при помощи функции:

$editable->select_region( $start, $end );

где выделенный текст содержит те символы, которые отмечены с $start и до(не
включая) $end. Если $end отрицательно, то происходит обратный отсчет с конца
текста.

Текст может быть вставлен на определенную позицию при помощи функции

$editable->insert_text( $new_text, $position ); 

$new_text - текст, который вставляется, $position - позиция, начиная от
которой происходит вставление текста.

Символы могут быть удалены при помощи функции

$editable->delete_text( $start, $pos );

где $start - начальная позиция удаляемого текста и $pos - конечная позиция
удаляемого текста. Если $pos < 0, тогда отсчет удаляемых символов ведется от
конца текста.

Вытащить текст из положения "от" и "до" можно при помощи функции

$editable->get_chars( $start, $end ); 

Чтобы взять весь текст, находящийся в виджете нужно использовать

$editable->get_chars( 0, -1 );

Если текст выделен, то его можно скопировать в клипбоард при помощи функции

$editable->cut_clipboard(); 

При копировании текста в клипбоард берутся выделенные символы, помещаются в
клипбоарде и только после этого удаляются из виджета.

Текст в клипбоарде модет быть вставлен в виджет при помощи

$editable->paste_clipboard();

текст будет вставлен в месте, где находится курсор.

Для удаления текста используется функция

$editable->delete_selection(); 

Положение курсора может быть установлено или изменено при помощи функций

$editable->get_position(); 

$editable->set_position( $position ); 

Текстовый виджет может находится в двух состояниях "для чтения" и "для
редакции", эти состояния определяются функцией

$editable-> set_editable ($is_editable);

где $is_editable принимает значения "истина" или "ложь".

Текстовые редактируемые виджеты имеют множество сигналов:

'changed'
'insert-text'
'delete-text'
'activate'
'set-editable'
'move-cursor'
'move-word'
'move-page'
'move-to-row'
'move-to-column'
'kill-char'
'kill-word'
'kill-line'
'cut-clipboard'
'copy-clipboard'
'paste-clipboard'

Как работают эти сигналы - очевидно из их названия, если у Вас возникнут
вопросы относительно их применения - читайте описание Gtk. Например чтобы
посать сигнал 'changed' необходимо вызвать функцию $editable->changed().




Партнёры:
PostgresPro
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру