<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:uix="http://projectmallard.org/experimental/ui/" type="topic" id="text-fields" xml:lang="ru">

  <info>
    <credit type="author">
      <name>Алан Дэй (Allan Day)</name>
      <email>aday@gnome.org</email>
    </credit>
    <credit>
      <name>Калум Бенсон (Calum Benson)</name>
    </credit>
    <credit>
      <name>Адам Элман (Adam Elman)</name>
    </credit>
    <credit>
      <name>Сэт Никел (Seth Nickell)</name>
    </credit>
    <credit>
      <name>Колин Робертсон (Colin Robertson)</name>
    </credit>

    <link type="guide" xref="ui-elements"/>
    <uix:thumb mime="image/svg" src="figures/ui-elements/text-fields.svg"/>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  </info>

<title>Текстовые поля</title>

<p>Текстовое поле — это элемент интерфейса, предназначенный для ввода или изменения текста. Это один из основных элементов, применяющийся для поиска, изменения параметров, настройки учётной записи и т. п. До начала ввода в текстовом поле уже может содержаться некоторый текст, текстовое поле может содержать кнопки и значки.</p>

<media type="image" mime="image/svg" src="figures/ui-elements/text-fields.svg"/>

<section id="general-guidelines">
<title>Общие рекомендации</title>

<list>
<item><p>Размер текстового поля должен соответствовать предполагаемому размеру вводимого текста. Это позволит визуально оценить ожидаемое количество вводимых символов и не допустить переполнения поля.</p></item>
<item><p>В <link xref="dialogs#instant-and-explicit-apply">instant-apply dialog</link> проверяйте введённую в поле информацию, когда оно теряет фокус или закрывается окно. Не проверяйте введённые данные после каждого нажатия на клавишу. Исключение: если поле может содержать только фиксированное количество символов (например, шестнадцатиричный код цвета), проверяйте и применяйте значние по мере его ввода.</p></item>
<item><p>Если поле ввода может принимать только определённые символы (например, цифры), подавайте сигнал предупреждения, если пользователь пытается ввести недопустимый символ.</p></item>
<item><p>Нажатие на клавишу <key>Tab</key> в однострочном поле ввода обычно переводить фокус на следующий элемент управления, если поле ввода многострочное, то происходит вставка символа табуляции. В этом случае, чтобы перевести фокус ввода на следующий элемент управления, используется комбинация <keyseq><key>Ctrl</key><key>Tab</key></keyseq>.</p></item>
<item><p>Для вставки символа табуляции в однострочном поле ввода используется комбинация <keyseq><key>Ctrl</key><key>Tab</key></keyseq>. Но вставка символов табуляции в однострочных полях ввода требуется сравнительно редко.</p></item>
</list>

</section>

<section id="embedding-info-and-controls">
<title>Встраивание информации и элементов управления</title>

<p>В текстовые поля ввода можно включать различную информацию и элементы управления.</p>

<p>В текстовые поля ввода можно вставлять значки и кнопки, служащие в качестве дополнительных элементов управления, а также для отображения дополнительной информации.</p>

<list>
<item><p>С помощью значка в начале текстового поля можно показать, для чего оно используется. В этом случае текстовую метку для поля можно не применять. Классическим примером может послужить поле поиска, в котором значок поиска находится с левого края поля.</p></item>
<item><p>Если регистр вводимого текста имеет значение, в поле можно вставить предупреждающий значок, если включён режим ввода заглавных букв (Caps Lock). Значок предупреждения обычно должен появляться в поле справа.</p></item>
<item><p>Если поле предполагает удаление введённого в него текста, с правой стороны в поле можно поместить значок для удаления текста.</p></item>
<item><p>Значки в текстовом поле ввода (не важно, индикаторы или кнопки) должны выбираться из темы символических значков GNOME.</p></item>
</list>

<p>Заполните поле ввода предварительным текстом об использовании этого поля, если такая подсказка полезна для пользователя. Также как и в случае, когда принимается решение об отображении дополнительной информации, используйте предварительный текст в полях только если он действительно необходим.</p>

</section>

<section id="api-reference">
<title>API reference</title>

<list>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkEntry.html">GtkEntry</link></p></item>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkSearchEntry.html">GtkSearchEntry</link></p></item>
</list>

</section>
</page>
