<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="widgets">
<sect1info>
<title
>Віджети</title>
<authorgroup>
<author
><firstname
></firstname
> <surname
></surname
> <affiliation
><address
> <email
></email>
</address
></affiliation>
</author>

<othercredit role="translator"
><firstname
>Юрій</firstname
><surname
>Чорноіван</surname
><affiliation
><address
><email
>yurchor@ukr.net</email
></address
></affiliation
><contrib
>Переклад українською</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>Віджети</title>

<para
>Будівельними блоками, з яких складається діалогове вікно &kommander; є віджети. Ці віджети подібні до будь-яких інших віджетів у бібліотеках &Qt; і &kde;, а крім того мають додаткові функціональні можливості, за допомогою яких можна здійснювати <quote
>пов’язування тексту</quote
> з віджетами. Текст можна пов’язати зі станом віджета або його слотом наповнення. Кількість станів залежить від віджета. Якщо у віджета є лише один стан, цей стан називається типовим. </para>

<para
>Текст віджета, ля-ля</para>

<para
>У діалоговому вікні є два особливих стани для тексту &kommander;. Це стани Initiate і Destroy. Ці стани викликаються під час ініціалізації діалогового вікна і його знищення. За допомогою цих станів програма уникає так званих <quote
>расових</quote
> проблем під час відкриття нових вікон. Це також означає, що вам не потрібно використовувати будь-які особливі процедури під час закриття вікна для знищення всіх даних віджетів.</para>


<variablelist>
<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="buttongroup.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ButtonGroup </term>
<listitem>
<para
>Контейнер для створення груп кнопок. Необов’язковий заголовок можна встановити за допомогою властивості title. Вигляд рамки можна налаштувати за допомогою властивості lineWidth. Групу кнопок можна зробити ексклюзивною встановленням властивості exclusive у значення true. Ексклюзивність групи кнопок полягатиме у тому, що якщо буде натиснуто одну з кнопок, всі інші кнопки буде вимкнено. Це не стосується позначок варіантів (radio buttons), які завжди є взаємно виключними, навіть якщо група і не є ексклюзивною. Позначки варіантів можна зробити невиключними за допомогою властивості radioButtonExclusive. (Автор не певен, чи насправді спрацює зміна цієї властивості.) </para>
<para
>ButtonGroup завжди перебуває у одному стані, типовому.</para>
<para
>Текстом віджета ButtonGroup є тексти, пов’язані з кожною з кнопок групи, за порядком їх появи у ButtonGroup. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="checkbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CheckBox </term>
<listitem>
<para
>Поле, яке можна позначити, або з якого можна зняти позначку. Існує також стан напівпозначеності, якщо значення властивості tristate рівне true. Мітку, пов’язану з CheckBox можна встановити за допомогою властивості text. Якщо встановити значення властивості checked, CheckBox від початку буде позначено. </para>
<para
>У віджета CheckBox є 3 стани, checked, semichecked і unchecked. </para>
<para
>Текстом віджета CheckBox є значення його властивості text. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CloseButton </term>
<listitem>
<para
>Кнопка, яка у разі натискання виконує пов’язаний з нею текст, а потім закриває діалогове вікно. Напис на кнопці визначається властивістю text. Вивід від команди пов’язаного тексту буде спрямовано до stdout, якщо значенням властивості writeStdout є true. Кнопка може бути типовою дією діалогового вікна, якщо властивість default встановлено у значення true. </para>
<para
>CloseButton завжди перебуває у одному стані, типовому. </para>
<para
>З CloseButton не пов’язано ніякого тексту віджета. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="combobox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ComboBox </term>
<listitem>
<para
>ComboBox є віджетом вибору, у якому поєднано властивості кнопки з властивостями контекстного меню. У цьому віджеті буде показано поточний вибір користувача зі списку варіантів за мінімального використання простору у вікні. Пункти додаються до списку за допомогою вікна редагування. Якщо властивість editable буде встановлено у значення true, користувач зможе вводити довільні рядки у поле віджета. </para>
<para
>ComboBox завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета ComboBox є текст вибраного пункту. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ExecButton </term>
<listitem>
<para
>Кнопка, яка у разі натискання виконуватиме команду з пов’язаного з нею тексту. Напис на кнопці визначатиметься властивістю text. Вивід від команди пов’язаного тексту буде спрямовано до stdout, якщо значенням властивості writeStdout є true. Кнопка може бути типовою дією діалогового вікна, якщо властивість default встановлено у значення true. </para>
<para
>ExecButton завжди перебуває у одному стані, типовому. </para>
<para
>З ExecButton не пов’язано ніякого тексту віджета. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> FileChooser </term>
<listitem>
<para
>У віджеті FileChooser поєднано віджет LineEdit з кнопкою, яка у разі натискання відкриває перед користувачем діалогове вікно вибору файлів/тек. Назву вибраного файла або теки буде збережено у  LineEdit. Тип віджета FileChooser можна встановити за допомогою властивості selectionType. Серед можливих типів: Open, Save і Directory. Якщо встановити для властивості selectionOpenMutliple значення true, користувач зможе обрати декілька файлів або тек. Заголовок вікна FileChooser можна встановити за допомогою властивості selectionCaption. Значення цієї властивості буде показано у смужці заголовка діалогового вікна. Якщо заголовка не буде вказано, у заголовку буде показано тип діалогового вікна вибору. Обмежити перелік файлів, які буде показано у діалоговому вікні можна за допомогою властивості selectionFilter. </para>
<para
>FileChooser завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета FileChooser є текст, який міститься у LineEdit (файл, обраний користувачем). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="groupbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> GroupBox </term>
<listitem>
<para
>Віджет-контейнер, який містить у собі інші віджети. Вигляд рамки можна налаштувати за допомогою властивості lineWidth. Заголовок можна встановити за допомогою властивості title. </para>
<para
>GroupBox завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета GroupBox є пов’язані тексти для кожного з віджетів, що містяться у цьому віджеті. Порядок текстів визначатиметься порядком, у якому з’являтимуться віджети у GroupBox. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> LineEdit </term>
<listitem>
<para
>Віджет LineEdit є однорядковим текстовим редактором. За його допомогою користувач може вводити і змінювати окремий рядок тексту. Початковий текст віджета можна встановити за допомогою властивості text віджета. Можна вимкнути можливість редагування віджета за допомогою властивості readOnly. Існує 3 режими віджета: Normal, NoEcho і Password. Режим можна встановити за допомогою властивості echoMode. </para>
<para
>LineEdit завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета LineEdit є текст, що міститься у полі редагування. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ListBox </term>
<listitem>
<para
>Віджет ListBox є списком пунктів, які користувач може обирати. У звичайному стані може бути обрано один або жодного пункту. Таку поведінку віджета можна змінити за допомогою властивості selectionMode. Додавати пункти до ListBox можна за допомогою вікна редагування. </para>
<para
>ListBox завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета ListBox є пункти, які містяться у ListBox. Функція @selectedWidgetText поверне текст лише вибраних у поточний момент віджетів. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ListView </term>
<listitem>
<para
>Тепер цей віджет доступний і у &kommander;. Його функціональні можливості збігаються з віджетом ієрархічного перегляду, отже, вам слід звернутися до довідки з цього віджета. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pixlabel.png" format="PNG"/>
</imageobject
></inlinemediaobject
> PixmapLabel </term>
<listitem>
<para
>Простий віджет, який містить зображення або текстову мітку. Растрове зображення, яке буде показано, можна встановити за допомогою властивості pixmap. Текст визначається властивістю text. Ви можете встановлювати лише одну з цих властивостей одночасно (Здається, немає редактора, який встановлює їх одночасно). Якщо значенням властивості scaledContents є true масштаб зображення буде змінено згідно розмірів віджета. Формат тексту можна встановити за допомогою властивості textFormat. </para>
<para
>Цей віджет не увімкнено у &kommander;, з ним не пов’язано жодних станів або тексту віджета. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="radiobutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RadioButton </term>
<listitem>
<para
>Поле для позначки, позначку у якому можна встановити або зняти, зазвичай, цей віджет використовують у межах ButtonGroup для створення панелі ексклюзивного вибору. Мітку, пов’язану з цим віджетом, можна встановити за допомогою властивості text. Від початку позначити віджет можна за допомогою встановлення властивості checked у значення true. Якщо всі віджети RadioButton у ButtonGroup мають значення властивості checked рівні true, позначеним буде лише останній з цих віджетів. </para>
<para
>RadioButton має 2 стани: позначено і не позначено. </para>
<para
>З RadioButton не пов’язано ніякого тексту віджета.. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="richtextedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RichTextEditor </term>
<listitem>
<para
>Цей віджет є віджетом текстового редактора, який надає вам можливість простого форматування тексту. </para>
<para
>RichTextEditor завжди перебуває у одному стані, типовому. </para>
<para
>Текст віджета RichTextEditor є текстом, що міститься у полі редактора, разом з позначками форматування. Виділений текст можна отримати за допомогою спеціальної функції @selectedWidgetText. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="spinbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> SpinBoxInt </term>
<listitem>
<para
>Віджет, за допомогою якого користувач може змінювати ціле число натисканням кнопок зі стрілочками вгору і вниз або введенням значення у поле. Мінімальне і максимальне значення для віджета можна встановити за допомогою властивостей minValue і maxValue. Властивість specialValueText використовується для встановлення текстового значення, яке буде показано замість мінімального значення. </para>
<para
>Цей віджет завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета SpinBoxInt є поточне показане у віджеті ціле число. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="frame.png" format="PNG"/>
</imageobject
></inlinemediaobject
> SubDialog </term>
<listitem>
<para
>Кнопка, після натискання якої буде відкрито інше діалогове вікно &kommander;. Діалогове вікно, яке буде відкрито можна вказати за допомогою властивості kmdrFile. Якщо властивість default матиме значення true, діалогове вікно буде відкрито після натискання клавіші &Enter;, коли поточне діалогове вікно перебуває у фокусі. Автор вважає, що ви можете використовувати цей віджет як контейнер. Роботу над цим віджетом ще не завершено. </para>
<para
>SubDialog завжди перебуває у одному стані, типовому. </para>
<para
>Текстом віджета SubDialog є пов’язаний текст діалогового вікна, яке буде відкрито. </para>
<note
><para
>Цей віджет мав містити діалогове вікно, що вважається неприйнятним у новій концепції проекту. Чи слід залишити текстом &kommander; значення <function
>@dialog()</function
>, чи може взагалі позбутися його? У поточному стані віджет не вкладається у концепцію програми.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="tabwidget.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TabWidget </term>
<listitem>
<para
>Віджет, за допомогою якого у вікні створюються вкладки, кожна з яких може містити інші віджети. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="multilineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextEdit </term>
<listitem>
<para
>Простий багаторядковий текстовий редактор. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="label.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextLabel </term>
<listitem>
<para
>Простий віджет, який містить фрагмент тексту. За допомогою цього віджета ви можете вказати і растрове зображення. Гаразд, редактор повідомить, що обидва ці значення є QLabels. Навіщо нам тоді потрібні 2 віджети, які виглядають однаково, але мають різні назви? — За розкладом має бути виправлено у A7. </para>
<para
>У Alpha 6 цей віджет увімкнено частково, його можна встановити за допомогою зовнішніх викликів DCOP. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TreeWidget </term>
<listitem>
<para
>Віджет списку у формі деревоподібної ієрархії. У Alpha 6 цей віджет повністю увімкнено для додавання або вилучення пунктів. Ви можете додавати дочірні пункти і дані, що складаються з декількох стовпчиків. Поточним обмеженням є неможливість зміни стовпчиків. Для додавання дочірнього вузла скористайтеся роздільником <quote
>/</quote
>. Для додавання даних у стовпчиках використовуйте екранований символ табуляції <quote
>\t</quote
>, вставлений між стовпчиками. </para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
