<?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>