GtkEntry
GtkEntry — Поле ввода текста в одну строку
Функции
| void | gtk_entry_set_icon_tooltip_markup () |
| char * | gtk_entry_get_icon_tooltip_markup () |
| void | gtk_entry_set_icon_drag_source () |
| int | gtk_entry_get_current_icon_drag_source () |
| void | gtk_entry_get_icon_area () |
| void | gtk_entry_set_input_purpose () |
| GtkInputPurpose | gtk_entry_get_input_purpose () |
| void | gtk_entry_set_input_hints () |
| GtkInputHints | gtk_entry_get_input_hints () |
| gboolean | gtk_entry_grab_focus_without_selecting () |
| void | gtk_entry_set_extra_menu () |
| GMenuModel * | gtk_entry_get_extra_menu () |
Свойства
| gboolean | activates-default | Чтение / Запись |
| PangoAttrList * | attributes | Чтение / Запись |
| GtkEntryBuffer * | buffer | Чтение / Запись / Создание |
| GtkEntryCompletion * | completion | Чтение / Запись |
| gboolean | enable-emoji-completion | Чтение / Запись |
| GMenuModel * | extra-menu | Чтение / Запись |
| gboolean | has-frame | Чтение / Запись |
| char * | im-module | Чтение / Запись |
| GtkInputHints | input-hints | Чтение / Запись |
| GtkInputPurpose | input-purpose | Чтение / Запись |
| guint | invisible-char | Чтение / Запись |
| gboolean | invisible-char-set | Чтение / Запись |
| int | max-length | Чтение / Запись |
| gboolean | overwrite-mode | Чтение / Запись |
| char * | placeholder-text | Чтение / Запись |
| gboolean | primary-icon-activatable | Чтение / Запись |
| GIcon * | primary-icon-gicon | Чтение / Запись |
| char * | primary-icon-name | Чтение / Запись |
| GdkPaintable * | primary-icon-paintable | Чтение / Запись |
| gboolean | primary-icon-sensitive | Чтение / Запись |
| GtkImageType | primary-icon-storage-type | Чтение |
| char * | primary-icon-tooltip-markup | Чтение / Запись |
| char * | primary-icon-tooltip-text | Чтение / Запись |
| double | progress-fraction | Чтение / Запись |
| double | progress-pulse-step | Чтение / Запись |
| int | scroll-offset | Чтение |
| gboolean | secondary-icon-activatable | Чтение / Запись |
| GIcon * | secondary-icon-gicon | Чтение / Запись |
| char * | secondary-icon-name | Чтение / Запись |
| GdkPaintable * | secondary-icon-paintable | Чтение / Запись |
| gboolean | secondary-icon-sensitive | Чтение / Запись |
| GtkImageType | secondary-icon-storage-type | Чтение |
| char * | secondary-icon-tooltip-markup | Чтение / Запись |
| char * | secondary-icon-tooltip-text | Чтение / Запись |
| gboolean | show-emoji-icon | Чтение / Запись |
| PangoTabArray * | tabs | Чтение / Запись |
| guint | text-length | Чтение |
| gboolean | truncate-multiline | Чтение / Запись |
| gboolean | visibility | Чтение / Запись |
Сигналы
| void | activate | Действие |
| void | icon-press | Выполнить последним |
| void | icon-release | Выполнить последним |
Типы и значения
| struct | GtkEntry |
| struct | GtkEntryClass |
| enum | GtkEntryIconPosition |
| enum | GtkInputPurpose |
| enum | GtkInputHints |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkEntry
Реализованные интерфейсы
GtkEntry реализует GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkEditable и GtkCellEditable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Виджет GtkEntry — это виджет для ввода текста в одну строку. По умолчанию поддерживается довольно большой набор сочетаний клавиш. Если введённый текст длиннее, чем выделенная для виджета область, виджет будет прокручиваться так, чтобы позиция курсора была видна.
При использовании поля ввода для паролей и другой конфиденциальной информации его можно перевести в «режим пароля» с помощью gtk_entry_set_visibility(). В этом режиме введённый текст отображается с помощью «невидимого» символа. По умолчанию GTK выбирает лучший невидимый символ, доступный в текущем шрифте, но его можно изменить с помощью gtk_entry_set_invisible_char().
GtkEntry имеет возможность отображать информацию о прогрессе или активности за текстом. Чтобы заставить поле ввода отображать такую информацию, используйте gtk_entry_set_progress_fraction() или gtk_entry_set_progress_pulse_step().
Кроме того, GtkEntry может отображать значки с обеих сторон поля ввода. Эти значки могут быть активируемыми по клику, могут быть настроены как источники перетаскивания и иметь всплывающие подсказки. Чтобы добавить значок, используйте gtk_entry_set_icon_from_gicon() или одну из различных других функций, которые устанавливают значок из имени значка или рисоваемого элемента. Чтобы запустить действие при нажатии пользователем на значок, подключитесь к сигналу «icon-press». Чтобы разрешить операции перетаскивания со значка, используйте gtk_entry_set_icon_drag_source(). Чтобы установить подсказку всплывающего текста на значке, используйте gtk_entry_set_icon_tooltip_text() или соответствующую функцию для разметки.
Обратите внимание, что функциональность или информация, доступная только по клику на значке в поле ввода, может быть недоступна для пользователей, которые не могут использовать мышь или другое указывающее устройство. Поэтому рекомендуется, чтобы такая функциональность также была доступна другими способами, например, через контекстное меню поля ввода.
Узлы CSS
GtkEntry имеет основной узел с именем entry. В зависимости от свойств поля ввода могут появляться стили .read-only и .flat. Стили .warning и .error также могут использоваться с полями ввода.
Когда в поле ввода отображаются значки, добавляются подузлы с именем image и стилем .left или .right, в зависимости от того, где появляется значок.
Когда в поле ввода отображается прогресс, добавляется подузел с именем progress. Узел имеет стиль .pulse, когда отображаемый прогресс пульсирует.
См. GtkText для всех подузлов, добавляемых к узлу текста в различных ситуациях.
GtkEntry как GtkBuildable
Реализация GtkEntry интерфейса GtkBuildable поддерживает пользовательский элемент <attributes>, который поддерживает любое количество элементов <attribute>. Элемент <attribute> имеет атрибуты с именами «name», «value», «start» и «end» и позволяет указать значения PangoAttribute для этой метки.
Пример фрагмента определения пользовательского интерфейса, определяющего атрибуты Pango:
entry[.flat][.warning][.error] ├── text[.readonly] ├── image.left ├── image.right ╰── [progress[.pulse]]
Атрибуты start и end указывают диапазон символов, к которому применяется атрибут Pango. Если start и end не указаны, атрибут применяется ко всему тексту. Обратите внимание, что указание диапазонов не имеет большого смысла с переводимыми атрибутами. Вместо этого используйте разметку, встроенную в переводимый контент.
Универсальность
GtkEntry использует роль GTK_ACCESSIBLE_ROLE_TEXT_BOX.
Функции
gtk_entry_new ()
GtkWidget *
gtk_entry_new (void); Создаёт новое поле ввода.
Возвращает
новое GtkEntry.
gtk_entry_new_with_buffer ()
GtkWidget *
gtk_entry_new_with_buffer (GtkEntryBuffer *buffer); Создаёт новое поле ввода с заданным буфером текста.
Параметры
buffer | Буфер, который следует использовать для нового GtkEntry. |
Возвращает
новое GtkEntry.
gtk_entry_get_buffer ()
GtkEntryBuffer *
gtk_entry_get_buffer (GtkEntry *entry); Получает объект GtkEntryBuffer, хранящий текст этого виджета.
Параметры
entry | объект GtkEntry. |
gtk_entry_set_buffer ()
void gtk_entry_set_buffer (GtkEntry *entry,GtkEntryBuffer *buffer);
Устанавливает объект GtkEntryBuffer, хранящий текст этого виджета.
Параметры
entry | объект GtkEntry. | |
buffer | объект GtkEntryBuffer. |
gtk_entry_get_text_length ()
guint16
gtk_entry_get_text_length (GtkEntry *entry); Возвращает текущую длину текста в entry .
Это эквивалентно получению entry 's GtkEntryBuffer и вызову gtk_entry_buffer_get_length() для него.
Параметры
entry | объект GtkEntry. |
Возвращает
текущее число символов в GtkEntry, или 0, если символов нет.
gtk_entry_set_visibility ()
void gtk_entry_set_visibility (GtkEntry *entry,gboolean visible);
Устанавливает видимость содержимого поля ввода. Когда видимость установлена в FALSE, символы отображаются как невидимые, и также отображаются так при копировании текста из виджета в другое место.
По умолчанию GTK выбирает наилучший невидимый символ, доступный в текущем шрифте, но его можно изменить с помощью gtk_entry_set_invisible_char().
Обратите внимание, что вам, вероятно, нужно установить “input-purpose” на GTK_INPUT_PURPOSE_PASSWORD или GTK_INPUT_PURPOSE_PIN, чтобы сообщить методам ввода о назначении этого поля ввода, помимо установки видимости на FALSE.
Параметры
entry | объект GtkEntry | |
visible |
|
gtk_entry_get_visibility ()
gboolean
gtk_entry_get_visibility (GtkEntry *entry); Возвращает видимость текста в entry. См. gtk_entry_set_visibility().
Параметры
entry | объект GtkEntry |
Возвращает
TRUE, если текст сейчас виден
gtk_entry_set_invisible_char ()
void gtk_entry_set_invisible_char (GtkEntry *entry,gunichar ch);
Устанавливает символ, используемый вместо реального текста, когда gtk_entry_set_visibility() был вызван для установки видимости текста в FALSE. Т.е. это символ, используемый в режиме «пароль», чтобы показать пользователю, сколько символов было введено. По умолчанию GTK выбирает наилучший невидимый символ, доступный в текущем шрифте. Если вы установите невидимый символ в 0, то пользователю вообще не будет предоставляться никакой обратной связи; на экране не будет отображаться ни один символ во время ввода.
Параметры
entry | объект GtkEntry | |
ch | символ Юникода |
gtk_entry_get_invisible_char ()
gunichar
gtk_entry_get_invisible_char (GtkEntry *entry); Возвращает символ, отображаемый вместо реальных символов для полей ввода с видимостью, установленной в false. См. gtk_entry_set_invisible_char().
Параметры
entry | объект GtkEntry |
Возвращает
текущий невидимый символ или 0, если поле ввода вообще не отображает невидимый текст.
gtk_entry_unset_invisible_char ()
void
gtk_entry_unset_invisible_char (GtkEntry *entry); Снимает установку невидимого символа, ранее установленного с помощью gtk_entry_set_invisible_char(). Так что снова используется невидимый символ по умолчанию.
Параметры
entry | объект GtkEntry |
gtk_entry_set_max_length ()
void gtk_entry_set_max_length (GtkEntry *entry,int max);
Устанавливает максимальную допустимую длину содержимого виджета. Если текущее содержимое длиннее заданной длины, то оно будет усечено для соответствия.
Это эквивалентно получению entry 's GtkEntryBuffer и вызову gtk_entry_buffer_set_max_length() для него.
Параметры
entry | объект GtkEntry | |
max | максимальная длина поля ввода, или 0 для отсутствия максимальной длины (кроме максимальной длины полей ввода). Передаваемое значение будет ограничено диапазоном 0-65536. |
gtk_entry_get_max_length ()
int
gtk_entry_get_max_length (GtkEntry *entry); Возвращает максимальную допустимую длину текста в entry . См. gtk_entry_set_max_length().
Это эквивалентно получению entry 's GtkEntryBuffer и вызову gtk_entry_buffer_get_max_length() для него.
Параметры
entry | объект GtkEntry |
Возвращает
максимальное допустимое количество символов в GtkEntry, или 0, если максимальная длина не задана.
gtk_entry_set_activates_default ()
void gtk_entry_set_activates_default (GtkEntry *entry,gboolean setting);
Если setting равно TRUE, нажатие клавиши Ввод в entry активирует виджет по умолчанию для окна, содержащего поле ввода. Обычно это означает закрытие диалогового окна, содержащего поле ввода, поскольку виджет по умолчанию обычно является одной из кнопок диалогового окна.
Параметры
entry | a GtkEntry | |
setting |
|
gtk_entry_get_activates_default ()
gboolean
gtk_entry_get_activates_default (GtkEntry *entry); Возвращает значение, установленное с помощью gtk_entry_set_activates_default().
Параметры
entry | a GtkEntry |
Возвращаемое значение
TRUE, если поле ввода активирует виджет по умолчанию
gtk_entry_set_has_frame ()
void gtk_entry_set_has_frame (GtkEntry *entry,gboolean setting);
Устанавливает, имеет ли поле ввода рамку с фаской.
Параметры
entry | a GtkEntry | |
setting | новое значение |
gtk_entry_get_has_frame ()
gboolean
gtk_entry_get_has_frame (GtkEntry *entry); Возвращает значение, установленное с помощью gtk_entry_set_has_frame().
Параметры
entry | a GtkEntry |
Возвращаемое значение
наличие рамки с фаской у поля ввода
gtk_entry_set_alignment ()
void gtk_entry_set_alignment (GtkEntry *entry,float xalign);
Устанавливает выравнивание содержимого поля ввода. Это контролирует горизонтальное позиционирование содержимого, когда отображаемый текст короче ширины поля ввода.
Параметры
entry | a GtkEntry | |
xalign | Горизонтальное выравнивание от 0 (слева) до 1 (справа). Обратное значение для раскладки RTL |
gtk_entry_get_alignment ()
float
gtk_entry_get_alignment (GtkEntry *entry); Возвращает значение, установленное с помощью gtk_entry_set_alignment().
Параметры
entry | a GtkEntry |
Возвращаемое значение
выравнивание
gtk_entry_set_placeholder_text ()
void gtk_entry_set_placeholder_text (GtkEntry *entry,const char *text);
Устанавливает текст, который будет отображаться в entry, когда он пуст. Это можно использовать для визуального указания ожидаемого содержимого GtkEntry.
Параметры
entry | a GtkEntry | |
text | строка, которая будет отображаться, когда | [nullable] |
gtk_entry_get_placeholder_text ()
const char *
gtk_entry_get_placeholder_text (GtkEntry *entry); Возвращает текст, который будет отображаться, когда entry пуст и не имеет фокуса.
Параметры
entry | a GtkEntry |
Возвращаемое значение
указатель на текст заполнителя в виде строки. Эта строка указывает на внутренне выделенную память в виджете и не должна освобождаться, модифицироваться или храниться. Если текст заполнителя не был задан, будет возвращено значение NULL.
[transfer none][nullable]
gtk_entry_set_overwrite_mode ()
void gtk_entry_set_overwrite_mode (GtkEntry *entry,gboolean overwrite);
Устанавливает режим перезаписи текста при вводе в GtkEntry.
Параметры
entry | a GtkEntry | |
overwrite | новое значение |
gtk_entry_get_overwrite_mode ()
gboolean
gtk_entry_get_overwrite_mode (GtkEntry *entry); Возвращает значение, установленное с помощью gtk_entry_set_overwrite_mode().
Параметры
entry | a GtkEntry |
Возвращаемое значение
режим перезаписи текста при вводе.
gtk_entry_set_attributes ()
void gtk_entry_set_attributes (GtkEntry *entry,PangoAttrList *attrs);
Устанавливает PangoAttrList; атрибуты в списке применяются к тексту поля ввода.
Параметры
entry | a GtkEntry | |
attrs |
gtk_entry_get_attributes ()
PangoAttrList *
gtk_entry_get_attributes (GtkEntry *entry); Возвращает список атрибутов, установленный для поля ввода с помощью gtk_entry_set_attributes(), если таковой был.
Параметры
entry | a GtkEntry |
Возвращаемое значение
список атрибутов или NULL, если он не был задан.
[transfer none][nullable]
gtk_entry_set_completion ()
void gtk_entry_set_completion (GtkEntry *entry,GtkEntryCompletion *completion);
Устанавливает completion в качестве вспомогательного объекта автодополнения для использования с entry. Вся дальнейшая настройка механизма автодополнения выполняется в completion с помощью API GtkEntryCompletion. Автодополнение отключено, если completion установлено в NULL.
Параметры
entry | Объект GtkEntry | |
completion | Объект GtkEntryCompletion или | [allow-none] |
gtk_entry_get_completion ()
GtkEntryCompletion *
gtk_entry_get_completion (GtkEntry *entry); Возвращает объект вспомогательного автодополнения, который в настоящее время используется entry.
Параметры
entry | Объект GtkEntry |
Возвращаемое значение
Объект вспомогательного автодополнения, который в настоящее время используется entry.
[nullable][transfer none]
gtk_entry_set_progress_fraction ()
void gtk_entry_set_progress_fraction (GtkEntry *entry,double fraction);
Заставляет индикатор выполнения строки заполнить заданную долю полосы. Доля должна быть в диапазоне от 0,0 до 1,0 включительно.
Параметры
entry | объект GtkEntry | |
fraction | доля выполненной задачи |
gtk_entry_get_progress_fraction ()
double
gtk_entry_get_progress_fraction (GtkEntry *entry); Возвращает текущую долю завершенной задачи. См. gtk_entry_set_progress_fraction().
Параметры
entry | объект GtkEntry |
Возвращаемое значение
значение от 0,0 до 1,0
gtk_entry_set_progress_pulse_step ()
void gtk_entry_set_progress_pulse_step (GtkEntry *entry,double fraction);
Устанавливает долю от общей ширины поля ввода, на которую передвигается блок индикатора выполнения при каждом вызове gtk_entry_progress_pulse().
Параметры
entry | объект GtkEntry | |
fraction | значение в диапазоне от 0,0 до 1,0 |
gtk_entry_get_progress_pulse_step ()
double
gtk_entry_get_progress_pulse_step (GtkEntry *entry); Возвращает шаг импульса, установленный с помощью gtk_entry_set_progress_pulse_step().
Параметры
entry | объект GtkEntry |
Возвращаемое значение
значение от 0,0 до 1,0
gtk_entry_progress_pulse ()
void
gtk_entry_progress_pulse (GtkEntry *entry); Указывает, что выполнено некоторое продвижение, но вы не знаете, насколько большое. Заставляет индикатор выполнения ввода перейти в режим «активности», где блок прыгает влево и вправо. Каждый вызов gtk_entry_progress_pulse() перемещает блок немного (величина перемещения за один импульс определяется значением gtk_entry_set_progress_pulse_step()).
Параметры
entry | объект GtkEntry |
gtk_entry_reset_im_context ()
void
gtk_entry_reset_im_context (GtkEntry *entry); Сбрасывает контекст метода ввода для поля ввода, если это необходимо.
Это может потребоваться в случае, когда изменение буфера может сбить поведение текущего метода ввода.
Параметры
entry | объект GtkEntry |
gtk_entry_set_tabs ()
void gtk_entry_set_tabs (GtkEntry *entry,PangoTabArray *tabs);
Устанавливает PangoTabArray; отступы в массиве применяются к тексту поля ввода.
Параметры
entry | объект GtkEntry | |
tabs | массив PangoTabArray. | [nullable] |
gtk_entry_get_tabs ()
PangoTabArray *
gtk_entry_get_tabs (GtkEntry *entry); Получает отступы, установленные для поля ввода с помощью gtk_entry_set_tabs(), если таковые имеются.
Параметры
entry | объект GtkEntry |
Возвращаемое значение
отступы или NULL, если они не были установлены.
[nullable][transfer none]
gtk_entry_set_icon_from_paintable ()
void gtk_entry_set_icon_from_paintable (GtkEntry *entry,GtkEntryIconPosition icon_pos,GdkPaintable *paintable);
Устанавливает значок, отображаемый в указанной позиции, используя GdkPaintable.
Если paintable равно NULL, значок не будет отображен в указанной позиции.
Параметры
entry | объект GtkEntry | |
icon_pos | Позиция значка | |
paintable | Объект GdkPaintable или | [allow-none] |
gtk_entry_set_icon_from_icon_name ()
void gtk_entry_set_icon_from_icon_name (GtkEntry *entry,GtkEntryIconPosition icon_pos,const char *icon_name);
Устанавливает значок, отображаемый в поле ввода в указанной позиции из текущей темы значков.
Если имя значка неизвестно, вместо него будет отображаться значок «разбитого изображения».
Если icon_name равно NULL, значок в указанной позиции не будет отображаться.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция, в которой нужно установить значок | |
icon_name | Имя значка или | [allow-none] |
gtk_entry_set_icon_from_gicon ()
void gtk_entry_set_icon_from_gicon (GtkEntry *entry,GtkEntryIconPosition icon_pos,GIcon *icon);
Устанавливает значок, отображаемый в поле ввода в указанной позиции из текущей темы значков. Если значок неизвестен, отображается значок «разбитого изображения».
Если icon равно NULL, значок в указанной позиции не будет отображаться.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция, в которой нужно установить значок | |
icon | Устанавливаемый значок или | [allow-none] |
gtk_entry_get_icon_storage_type ()
GtkImageType gtk_entry_get_icon_storage_type (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Получает тип представления, используемый значком для хранения данных изображения. Если значок не имеет данных изображения, возвращаемое значение будет GTK_IMAGE_EMPTY.
Параметры
entry | a GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
используемое представление изображения
gtk_entry_get_icon_paintable ()
GdkPaintable * gtk_entry_get_icon_paintable (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Возвращает GdkPaintable, используемый для значка.
Если для значка не использовался GdkPaintable, возвращается NULL.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
A GdkPaintable или NULL, если для данной позиции не установлен значок или установленный значок не является GdkPaintable.
[transfer none][nullable]
gtk_entry_get_icon_name ()
const char * gtk_entry_get_icon_name (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Возвращает имя значка, используемого для значка, или NULL, если значок отсутствует или был установлен другим методом (например, с помощью paintable или gicon).
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
Имя значка или NULL, если значок не установлен или не был установлен из имени значка.
[nullable]
gtk_entry_get_icon_gicon ()
GIcon * gtk_entry_get_icon_gicon (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Возвращает GIcon, используемый для значка, или NULL, если значок отсутствует или был установлен другим методом (например, с помощью paintable или имени значка).
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
A GIcon или NULL, если значок не установлен или не является GIcon.
[transfer none][nullable]
gtk_entry_set_icon_activatable ()
void gtk_entry_set_icon_activatable (GtkEntry *entry,GtkEntryIconPosition icon_pos,gboolean activatable);
Устанавливает, является ли значок активируемым.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка | |
activatable |
|
gtk_entry_get_icon_activatable ()
gboolean gtk_entry_get_icon_activatable (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Возвращает, является ли значок активируемым.
Параметры
entry | a GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
TRUE, если значок активируемый.
gtk_entry_set_icon_sensitive ()
void gtk_entry_set_icon_sensitive (GtkEntry *entry,GtkEntryIconPosition icon_pos,gboolean sensitive);
Устанавливает чувствительность для указанного значка.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка | |
sensitive | Указывает, должен ли значок отображаться как чувствительный или нечувствительный |
gtk_entry_get_icon_sensitive ()
gboolean gtk_entry_get_icon_sensitive (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Возвращает, отображается ли значок как чувствительный или нечувствительный.
Параметры
entry | a GtkEntry | |
icon_pos | Позиция значка |
Возвращаемое значение
TRUE, если значок чувствительный.
gtk_entry_get_icon_at_pos ()
int gtk_entry_get_icon_at_pos (GtkEntry *entry,int x,int y);
Находит значок в заданной позиции и возвращает его индекс. Координаты позиции задаются относительно левого верхнего угла entry. Если x, y не находится внутри значка, возвращается -1. Эта функция предназначена для использования в обработчике сигнала “query-tooltip”.
Параметры
entry | a GtkEntry | |
x | координата x позиции, которую нужно найти, относительно | |
y | координата y позиции, которую нужно найти, относительно |
Возвращает
индекс значка в заданной позиции или -1
gtk_entry_set_icon_tooltip_text ()
void gtk_entry_set_icon_tooltip_text (GtkEntry *entry,GtkEntryIconPosition icon_pos,const char *tooltip);
Устанавливает tooltip в качестве содержимого подсказки для значка в указанной позиции.
Используйте NULL для tooltip, чтобы удалить существующую подсказку.
См. также gtk_widget_set_tooltip_text() и gtk_entry_set_icon_tooltip_markup().
Если вы сбрасываете подсказку виджета с помощью gtk_widget_set_tooltip_text() или gtk_widget_set_tooltip_markup(), это устанавливает GtkWidget:has-tooltip в FALSE, что также подавляет подсказки значков. Вы можете решить это, вызвав gtk_widget_set_has_tooltip(), чтобы установить GtkWidget:has-tooltip обратно в TRUE, или установка хотя бы одной непустой подсказки для любого значка дает тот же результат.
Параметры
entry | a GtkEntry | |
icon_pos | позиция значка | |
tooltip | содержимое подсказки для значка или | [allow-none] |
gtk_entry_get_icon_tooltip_text ()
char * gtk_entry_get_icon_tooltip_text (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Получает содержимое подсказки для значка в указанной позиции в entry.
Параметры
entry | a GtkEntry | |
icon_pos | позиция значка |
Возвращает
текст подсказки или NULL. Освободите возвращенную строку с помощью g_free(), когда закончите.
[nullable]
gtk_entry_set_icon_tooltip_markup ()
void gtk_entry_set_icon_tooltip_markup (GtkEntry *entry,GtkEntryIconPosition icon_pos,const char *tooltip);
Устанавливает tooltip в качестве содержимого подсказки для значка в указанной позиции. Предполагается, что tooltip размечен с помощью языка разметки текста Pango.
Используйте NULL для tooltip, чтобы удалить существующую подсказку.
См. также gtk_widget_set_tooltip_markup() и gtk_entry_set_icon_tooltip_text().
Параметры
entry | a GtkEntry | |
icon_pos | позиция значка | |
tooltip | содержимое подсказки для значка или | [allow-none] |
gtk_entry_get_icon_tooltip_markup ()
char * gtk_entry_get_icon_tooltip_markup (GtkEntry *entry,GtkEntryIconPosition icon_pos);
Получает содержимое подсказки для значка в указанной позиции в entry.
Параметры
entry | a GtkEntry | |
icon_pos | позиция значка |
Возвращает
текст подсказки или NULL. Освободите возвращенную строку с помощью g_free(), когда закончите.
[nullable]
gtk_entry_set_icon_drag_source ()
void gtk_entry_set_icon_drag_source (GtkEntry *entry,GtkEntryIconPosition icon_pos,GdkContentProvider *provider,GdkDragAction actions);
Настраивает значок в заданной позиции так, чтобы GTK запускал операцию перетаскивания, когда пользователь щелкает и перетаскивает значок.
Параметры
entry | a GtkEntry | |
icon_pos | позиция значка | |
provider | ||
actions | битовая маска допустимых действий перетаскивания |
gtk_entry_get_current_icon_drag_source ()
int
gtk_entry_get_current_icon_drag_source
(GtkEntry *entry); Возвращает индекс значка, который является источником текущей операции DND, или -1.
Параметры
entry | a GtkEntry |
Возвращает
индекс значка, который является источником текущей операции DND, или -1.
gtk_entry_get_icon_area ()
void gtk_entry_get_icon_area (GtkEntry *entry,GtkEntryIconPosition icon_pos,GdkRectangle *icon_area);
Получает область, где рисуется значок entry в icon_pos. Эта функция полезна при рисовании чего-либо в поле entry в обратном вызове отрисовки.
Если запись не реализована или не имеет значка в заданной позиции, icon_area заполняется нулями. В противном случае icon_area будет заполнено распределением значка относительно распределения entry.
Параметры
entry | A GtkEntry | |
icon_pos | Позиция значка | |
icon_area | Место возврата для области значка. | [out] |
gtk_entry_set_input_purpose ()
void gtk_entry_set_input_purpose (GtkEntry *entry,GtkInputPurpose purpose);
Устанавливает свойство “input-purpose”, которое может использоваться экранными клавиатурами и другими методами ввода для настройки их поведения.
Параметры
entry | a GtkEntry | |
purpose | цель |
gtk_entry_get_input_purpose ()
GtkInputPurpose
gtk_entry_get_input_purpose (GtkEntry *entry); Получает значение свойства “input-purpose”.
Параметры
entry | a GtkEntry |
gtk_entry_set_input_hints ()
void gtk_entry_set_input_hints (GtkEntry *entry,GtkInputHints hints);
Устанавливает свойство “input-hints”, что позволяет методам ввода уточнять свое поведение.
Параметры
entry | a GtkEntry | |
hints | настройки |
gtk_entry_get_input_hints ()
GtkInputHints
gtk_entry_get_input_hints (GtkEntry *entry); Получает значение свойства “input-hints”.
Параметры
entry | a GtkEntry |
gtk_entry_grab_focus_without_selecting ()
gboolean
gtk_entry_grab_focus_without_selecting
(GtkEntry *entry); Приводит к тому, что entry получает фокус клавиатуры.
Он ведет себя как gtk_widget_grab_focus(), за исключением того, что он не выделяет содержимое поля ввода. Вызывайте эту функцию только для особых полей ввода, в которых пользователь обычно не хочет заменять весь текст, например, для полей поиска по мере ввода.
Параметры
entry | a GtkEntry |
Возвращаемое значение
TRUE, если фокус теперь находится внутри self
gtk_entry_set_extra_menu ()
void gtk_entry_set_extra_menu (GtkEntry *entry,GMenuModel *model);
Устанавливает модель меню для добавления при построении контекстного меню для entry .
Параметры
entry | a GtkEntry | |
model | a GMenuModel. | [allow-none] |
gtk_entry_get_extra_menu ()
GMenuModel *
gtk_entry_get_extra_menu (GtkEntry *entry); Получает модель меню, установленную с помощью gtk_entry_set_extra_menu().
Параметры
entry | a GtkEntry |
Возвращаемое значение
модель меню.
[transfer none][nullable]
Типы и значения
struct GtkEntry
struct GtkEntry;
struct GtkEntryClass
struct GtkEntryClass {
GtkWidgetClass parent_class;
/* Action signals
*/
void (* activate) (GtkEntry *entry);
};
Структура класса для GtkEntry. Все виртуальные функции имеют реализацию по умолчанию. Производные классы могут установить указатели на виртуальные функции для обработчиков сигналов на NULL, но должны сохранить get_text_area_size и get_frame_size не-NULL; либо использовать реализацию по умолчанию, либо предоставить пользовательскую.
Члены
| Обработчик класса для сигнала “activate”. Реализация по умолчанию активирует действие gtk.activate-default. |
перечисление GtkEntryIconPosition
Указывает сторону поля ввода, на которой размещён значок.
Члены
GTK_ENTRY_ICON_PRIMARY | В начале поля ввода (в зависимости от направления текста). | |
GTK_ENTRY_ICON_SECONDARY | В конце поля ввода (в зависимости от направления текста). |
перечисление GtkInputPurpose
Описывает основное назначение поля ввода. Эта информация полезна для экранных клавиатур и подобных методов ввода, чтобы определить, какие клавиши должны быть представлены пользователю.
Обратите внимание, что назначение не предназначено для установления полностью строгих правил относительно допустимых символов и не заменяет валидацию ввода. Хорошо, если экранная клавиатура позволяет пользователю переопределять ограничение на набор символов, которое выражено назначением. Приложение должно проверять содержимое поля ввода, даже если оно указало назначение.
Разница между GTK_INPUT_PURPOSE_DIGITS и GTK_INPUT_PURPOSE_NUMBER заключается в том, что первый принимает только цифры, а второй также некоторые знаки препинания (такие как запятые или точки, плюс, минус) и «e» или «E», как в 3.14E+000.
Это перечисление может быть расширено в будущем; методы ввода должны интерпретировать неизвестные значения как «свободный формат».
Члены
GTK_INPUT_PURPOSE_FREE_FORM | Разрешены любые символы | |
GTK_INPUT_PURPOSE_ALPHA | Разрешены только буквы | |
GTK_INPUT_PURPOSE_DIGITS | Разрешены только цифры | |
GTK_INPUT_PURPOSE_NUMBER | Поле ожидает числа | |
GTK_INPUT_PURPOSE_PHONE | Поле ожидает номер телефона | |
GTK_INPUT_PURPOSE_URL | Поле ожидает URL | |
GTK_INPUT_PURPOSE_EMAIL | Поле ожидает адрес электронной почты | |
GTK_INPUT_PURPOSE_NAME | Поле ожидает имя человека | |
GTK_INPUT_PURPOSE_PASSWORD | Как | |
GTK_INPUT_PURPOSE_PIN | Как | |
GTK_INPUT_PURPOSE_TERMINAL | Разрешены любые символы, в том числе управляющие коды |
перечисление GtkInputHints
Описывает подсказки, которые могут быть учтены методами ввода или приложениями. Обратите внимание, что методы ввода могут уже настроить своё поведение в соответствии с GtkInputPurpose поля ввода.
При использовании этих флагов ожидается здравый смысл — смешивание GTK_INPUT_HINT_LOWERCASE с любыми флагами для верхнего регистра не имеет смысла.
Это перечисление может быть расширено в будущем; методы ввода должны игнорировать неизвестные значения.
Члены
GTK_INPUT_HINT_NONE | Не предлагается никакого специального поведения | |
GTK_INPUT_HINT_SPELLCHECK | Предлагается проверка на опечатки | |
GTK_INPUT_HINT_NO_SPELLCHECK | Предлагается не проверять на опечатки | |
GTK_INPUT_HINT_WORD_COMPLETION | Предлагается автодополнение слов | |
GTK_INPUT_HINT_LOWERCASE | Предлагается преобразовать весь текст в нижний регистр | |
GTK_INPUT_HINT_UPPERCASE_CHARS | Предлагается сделать весь текст заглавным | |
GTK_INPUT_HINT_UPPERCASE_WORDS | Предлагается сделать заглавной первую букву каждого слова | |
GTK_INPUT_HINT_UPPERCASE_SENTENCES | Предлагается сделать заглавной первую букву каждого предложения | |
GTK_INPUT_HINT_INHIBIT_OSK | Предлагается не показывать экранную клавиатуру (например, для калькулятора, у которого уже есть все клавиши). | |
GTK_INPUT_HINT_VERTICAL_WRITING | Текст расположен вертикально | |
GTK_INPUT_HINT_EMOJI | Предлагается предложить поддержку Emoji | |
GTK_INPUT_HINT_NO_EMOJI | Предлагается не предлагать поддержку Emoji | |
GTK_INPUT_HINT_PRIVATE | Запрос о том, что метод ввода не должен обновлять персонализированные данные (такие как история ввода) |
Подробное описание свойств
Свойство “activates-default”
“activates-default” gboolean
Определяет, активировать ли виджет по умолчанию (например, кнопку по умолчанию в диалоговом окне), при нажатии клавиши Enter.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “attributes”
“attributes” PangoAttrList *
Список атрибутов Pango для применения к тексту в поле ввода.
Это преимущественно полезно для изменения размера или начертания текста.
Атрибуты PangoAttribute start_index и end_index должны ссылаться на текст в GtkEntryBuffer, т.е. без строки предварительного редактирования.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “buffer”
“buffer” GtkEntryBuffer *
Объект буфера текста, который фактически хранит текст в поле ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись / Создание
Свойство “completion”
“completion” GtkEntryCompletion *
Вспомогательный объект автодополнения для использования с полем ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “enable-emoji-completion”
“enable-emoji-completion” gboolean
Включить ли предложения замены эмодзи.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “extra-menu”
“extra-menu” GMenuModel *
Модель меню, содержимое которой будет добавлено к контекстному меню.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “has-frame”
“has-frame” gboolean
FALSE удаляет внешнюю рамку поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “im-module”
“im-module” char *
Модуль IM (метода ввода), который следует использовать для этого поля ввода. См. GtkIMContext.
Указание значения, отличного от NULL, переопределяет системное значение модуля IM. См. свойство GtkSettings “gtk-im-module”.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “input-hints”
“input-hints” GtkInputHints
Дополнительные подсказки (помимо “input-purpose”), которые позволяют методам ввода точно настроить свое поведение.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “input-purpose”
“input-purpose” GtkInputPurpose
Назначение этого поля ввода.
Это свойство может быть использовано экранными клавиатурами и другими методами ввода для корректировки их поведения.
Обратите внимание, что установка назначения в GTK_INPUT_PURPOSE_PASSWORD или GTK_INPUT_PURPOSE_PIN независима от установки “visibility”.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: GTK_INPUT_PURPOSE_FREE_FORM
Свойство “invisible-char”
“invisible-char” guint
Символ, используемый для маскирования содержимого поля ввода (в режиме «пароль»).
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: '*'
Свойство “invisible-char-set”
“invisible-char-set” gboolean
Установлен ли символ маскирования для GtkEntry.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “max-length”
“max-length” int
Максимальное количество символов для этого поля ввода. Ноль, если максимальное количество не ограничено.
Владелец: GtkEntry
Флаги: Чтение / Запись
Допустимые значения: [0,65535]
Значение по умолчанию: 0
Свойство “overwrite-mode”
“overwrite-mode” gboolean
Заменяет ли текст при наборе в поле ввода GtkEntry.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “placeholder-text”
“placeholder-text” char *
Текст, который отображается в поле ввода GtkEntry, когда оно пустое и не фокусируется.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “primary-icon-activatable”
“primary-icon-activatable” gboolean
Является ли иконка основного значка активной.
GTK генерирует сигналы “icon-press” и “icon-release” только для чувствительных, активируемых иконок.
Чувствительные, но не активируемые значки могут использоваться для чисто информативных целей.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “primary-icon-gicon”
“primary-icon-gicon” GIcon *
Иконка GIcon для использования в качестве основной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “primary-icon-name”
“primary-icon-name” char *
Имя иконки для использования в качестве основной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “primary-icon-paintable”
“primary-icon-paintable” GdkPaintable *
Объект GdkPaintable для использования в качестве основной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “primary-icon-sensitive”
“primary-icon-sensitive” gboolean
Чувствительна ли основная иконка.
Нечувствительная иконка выглядит серой. GTK не генерирует сигналы “icon-press” и “icon-release”, и не позволяет выполнять перетаскивание с нечувствительных иконок.
Иконка должна быть нечувствительной, если действие, которое будет выполнено при щелчке, в данный момент недоступно.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “primary-icon-storage-type”
“primary-icon-storage-type” GtkImageType
Представление, используемое для основной иконки поля ввода.
Владелец: GtkEntry
Флаги: Чтение
Значение по умолчанию: GTK_IMAGE_EMPTY
Свойство “primary-icon-tooltip-markup”
“primary-icon-tooltip-markup” char *
Содержимое всплывающей подсказки на основной иконке, которое форматируется с помощью языка разметки текста Pango.
См. также gtk_entry_set_icon_tooltip_markup().
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “primary-icon-tooltip-text”
“primary-icon-tooltip-text” char *
Содержимое всплывающей подсказки на основной иконке.
См. также gtk_entry_set_icon_tooltip_text().
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “progress-fraction”
“progress-fraction” double
Текущая доля задачи, которая выполнена.
Владелец: GtkEntry
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
Свойство “progress-pulse-step”
“progress-pulse-step” double
Доля ширины поля ввода, на которую смещается блок прогресса при каждом вызове gtk_entry_progress_pulse().
Владелец: GtkEntry
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
Свойство “scroll-offset”
“scroll-offset” int
Количество пикселей поля ввода, сдвинутых влево.
Владелец: GtkEntry
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “secondary-icon-activatable”
“secondary-icon-activatable” gboolean
Является ли иконка дополнительного значка активной.
GTK генерирует сигналы “icon-press” и “icon-release” только для чувствительных, активируемых иконок.
Чувствительные, но не активируемые значки могут использоваться для чисто информативных целей.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “secondary-icon-gicon”
“secondary-icon-gicon” GIcon *
Иконка GIcon для использования в качестве дополнительной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “secondary-icon-name”
“secondary-icon-name” char *
Имя иконки для использования в качестве дополнительной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “secondary-icon-paintable”
“secondary-icon-paintable” GdkPaintable *
Объект GdkPaintable для использования в качестве дополнительной иконки для поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “secondary-icon-sensitive”
“secondary-icon-sensitive” gboolean
Определяет, является ли вторичный значок активным.
Неактивный значок выглядит серым. GTK не генерирует сигналы “icon-press” и “icon-release”, и не позволяет выполнять перетаскивание из неактивных значков.
Значок следует установить в неактивное состояние, если действие, которое он бы вызвал при нажатии, в данный момент недоступно.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “secondary-icon-storage-type”
“secondary-icon-storage-type” GtkImageType
Представление, используемое для вторичного значка поля ввода.
Владелец: GtkEntry
Флаги: Чтение
Значение по умолчанию: GTK_IMAGE_EMPTY
Свойство “secondary-icon-tooltip-markup”
“secondary-icon-tooltip-markup” char *
Содержание всплывающей подсказки для вторичного значка, форматированное с помощью языка разметки текста Pango.
См. также gtk_entry_set_icon_tooltip_markup().
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “secondary-icon-tooltip-text”
“secondary-icon-tooltip-text” char *
Содержание всплывающей подсказки для вторичного значка.
См. также gtk_entry_set_icon_tooltip_text().
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “show-emoji-icon”
“show-emoji-icon” gboolean
Определяет, отображать ли значок эмодзи.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “tabs”
“tabs” PangoTabArray *
Список позиций отступов табуляции для применения к тексту поля ввода.
Владелец: GtkEntry
Флаги: Чтение / Запись
Свойство “text-length”
“text-length” guint
Длина текста в GtkEntry.
Владелец: GtkEntry
Флаги: Чтение
Допустимые значения: <= 65535
Значение по умолчанию: 0
Свойство “truncate-multiline”
“truncate-multiline” gboolean
При значении TRUE, вставленный многострочный текст усекается до первой строки.
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “visibility”
“visibility” gboolean
Значение FALSE отображает «невидимый символ» вместо фактического текста (режим пароля).
Владелец: GtkEntry
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Подробности сигналов
Сигнал “activate”
void user_function (GtkEntry *self, gpointer user_data)
Сигнал ::activate пересылается от сигнала “activated”, который является сигналом для нажатия клавиши Enter.
Параметры
self | Виджет, на котором генерируется сигнал | |
user_data | Данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “icon-press”
void user_function (GtkEntry *entry, GtkEntryIconPosition icon_pos, gpointer user_data)
Сигнал ::icon-press генерируется при нажатии на активный значок.
Параметры
entry | Поле ввода, на котором генерируется сигнал | |
icon_pos | Позиция нажатого значка | |
user_data | Данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнять последним
Сигнал “icon-release”
void user_function (GtkEntry *entry, GtkEntryIconPosition icon_pos, gpointer user_data)
Сигнал ::icon-release генерируется при отпускании кнопки мыши над активным значком.
Параметры
entry | Поле ввода, на котором генерируется сигнал | |
icon_pos | Позиция нажатого значка | |
user_data | Данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнять последним
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkEntry.html