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

<sect1 id="widgets">
<sect1info>
<title
>Vidinad</title>
</sect1info>

<title
>Vidinad</title>

<para
>&kommander;i dialoogi ehituskivideks on vidinad. Need sarnanevad kõigi muude &Qt; ja &kde; teekide vidinatega, ainult et neile on lisatud mõningaid võimalusi, et neil võiks olla <quote
>tekstiseosed</quote
>. See tähendab, et tekst seostatakse vidina olekuga või selle populatsioonipesaga. Olekute arv sõltub vidinast. Kui vidinal on ainult üks olek, nimetatakse seda vaikeolekuks. </para>

<note>
<para
>Dialoogil on &kommander;i teksti mõttes kaks eriolekut: initsialiseerimine ja hävitamine. Nagu nimed ütlevad, käivitatakse need vastavalt dialoogi initsialiseerimisel ja hävitamisel. Need kaitsevad avamisel niinimetatud <quote
>võidujooksu</quote
> (race) probleemide eest, mistõttu sa ei pea kogu aeg muretsema mingite spetsiaalsete sulgemisprotseduuride pärast.</para>
<para
>Peaakent (MainWindow) kasutava rakenduse korral (mis on loodud &Qt; Disaineriga) ei ole initsialiseerimise ja hävitamise olekuid, vaid signaale <emphasis
>initialize</emphasis
> ja <emphasis
>destroy</emphasis
> saab kasutada teabe hankimiseks rakenduse konstrueerimisel või sulgemisel.</para>
</note>

<para
>Allpool on ära toodud &kommander;i standardvidinad. Kõigil on hulk funktsioone, mida saab tundma õppida vidina funktsioone <guilabel
>Funktsioonisirvijas</guilabel
> uurides. Paljudel neist on ka signaalid ja pesad; nende meetodite kohta leiab teavet &Qt; ja &kde; API dokumentatsioonis. Iga &kommander;i vidina juures on märge selle baasvidina kohta. </para>

<variablelist>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="label.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Label </term>
<listitem>
<para
>Lihtne vidin, mis sisaldab teksti. Vidin võimaldab määrata ka pildi. </para>
<para
>&Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pixlabel.png" format="PNG"/>
</imageobject
></inlinemediaobject
> PixmapLabel </term>
<listitem>
<para
>Lihtne pildi- või tekstipealdist sisaldav vidin. Näidatava pildi määrab omadus pixmap. Teksti määrab omadus text. Korraga saab määrata ainult ühe neist omadusest. Kui scaledContents on tõene, skaleeritakse pilt vidina suurusele vastavaks. Teksti vorminduse saab määrata omadusga textFormat. </para>
<para
>&Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon. </para>
</listitem>
</varlistentry>


<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> LineEdit </term>
<listitem>
<para
>Tekstikast on ührealine tekstiredaktor. See lubab kasutajal sisestada ja muuta ühtainust tekstirida. Omadusega text saab määrata redaktori esialgse teksti. Omadusega readOnly saab vidina määrata ainult vaadatavaks, mitte muudetavaks. Vidinal võib olla kolm režiimi: normaalne (Normal), kajata (NoEcho) ja parool (Password). Režiimi saab määrata omadusega echoMode. </para>
<para
>Tekstikastil on üks olek - seega vaikeolek. </para>
<para
>Tekstikasti vidina tekst on redaktoris sisalduv tekst. </para>
<para
>&kde; tekstipealdistest kõneleb lähemalt KLineEditi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="multilineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextEdit </term>
<listitem>
<para
>Lihtne mitmerealine tekstiredaktor. </para>
<para
>&kde; mitmerealistest tekstiredaktoritest kõneleb lähemalt KTextEditi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="textbrowser.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextBrowser </term>
<listitem>
<para
>Lihtne tekstibrauser hüperlinkide navigeerimisega. </para>
<para
>Täpsemalt kõneleb sellest KTextBrowseri dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ListBox </term>
<listitem>
<para
>Loendikasti vidin pakub välja valitavate elementide loendi. Tavaliselt saab valida ühe elemendi või mitte ühtegi. Seda saab muuta omadusega selectionMode. Elemendid lisatakse loendikasti redigeerimisaknas. </para>
<para
>Loendikastil on ainult üks olek - seega vaikeolek. </para>
<para
>Loendikasti vidina tekst on loendikastis leiduvad elemendid. @selectedWidgetText tagastab ainult parajasti valitud elemendid. </para>
<para
>Täpsemalt kõneleb sellest KListBoxi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="combobox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ComboBox </term>
<listitem>
<para
>Liitkast on valikuvidin, mis ühendab endas nupu ja hüpikmenüü. See näitab kasutajale valikute nimekirjast parajasti sobivat valikut minimaalse ruumiga. Elemente saab nimekirja lisada redigeerimisaknas. Kui redigeerimisomadus on määratud tõeseks, saab kasutaja oma suva järgi kasti stringe sisestada. </para>
<para
>Liitkastil on üks olek - seega vaikeolek. </para>
<para
>Liitkasti vidina tekst on valitud elemendi tekst. </para>
<para
>Täpsemalt kõneleb sellest KComboBoxi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TreeWidget </term>
<listitem>
<para
>Vidin, mis pakub loendit puukujulisena. Lisada saab alamelemente ja mitmeveerulisi andmeid. Praegu ei saa veel muuta veerge. Järglassõlme lisamiseks kasuta eraldajana <quote
>/</quote
>. Veeruandmete lisamiseks kasuta veergude vahel paomärgiga tabulaatorimärki <quote
>\t</quote
>. </para>
<para
>Täpsemalt kõneleb sellest KListView' dokumentatsioon. </para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="table.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Table </term>
<listitem>
<para
>Tabelividin, mis toetab lahtrites erinevaid vidinaid. </para>
<para
>Täpsemalt kõneleb sellest QTable'i dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ExecButton </term>
<listitem>
<para
>Nupp, millele klõpsates käivitatakse selle tekstiseos. Nupu pealdise saab määrata omadusega text. Tekstiseose väljund saadetakse standardväljundise, kui omadus writeStdout on määratud tõeseks. Nupp võib olla dialoogi vaiketoiming, kui vaikeväärtuse omadus on määratud tõeseks. </para>
<para
>Käivitamisnupul on üks olek - seega vaikeolek. </para>
<para
>Käivitamisnupuga pole seostatud mingit vidina teksti. </para>
<para
>Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="closebutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CloseButton </term>
<listitem>
<para
>Nupp, millel klõpsates käivitatakse selle tekstiseos ja seejärel suletakse dialoog. Nupu pealdise saab määrata omadusega text. Tekstiseose väljund saadetakse standardväljundisse, kui omadus writeStdout on määratud tõeseks. Nupp võib olla dialoogi vaiketoiming, kui vaikeväärtuse omadus on määratud tõeseks. </para>
<para
>Sulgemisnupul on üks olek - seega vaikeolek. </para>
<para
>Sulgemisnupuga pole seotud mingit vidina teksti. </para>
<para
>Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="konsole.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Konsole </term>
<listitem>
<para
>Vidin, mis haarab skriptide väljundi tekstibrauseris. Vaikeolek käivitatakse ning vidinas näidatakse nende (sisemiste või väliste) käskude väljundit. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> FileSelector </term>
<listitem>
<para
>Failivalija vidin kombineerib tekstikasti nupuga, millel klõpsates saab kasutaja avada dialoogi failide/kataloogide valimiseks. Valitud fail/kataloog salvestatakse tekstikastis. Failivalija tüüp määratakse omadusega selectionType. Võimalikud variandid on Open (avamine), Save (salvestamine) ja Directory (kataloog). Mitut faili/kataloogi on võimalik valida, kui määrata tõeseks omadus selectionOpenMultiple. Failivalija pealdise võib määrata omadusega selectionCaption. See on näidatava dialoogiakna tiitel. Kui pealdist ei määrata, näidatakse tiitliribal valikutüüpi. Dialoogis näidatavaid faile saab piirata omadusega selectionFilter. </para>
<para
>Failivalijal on üks olek - niisiis vaikeolek. </para>
<para
>Failivalija vidina tekst on tekstikastis sisalduv tekst (kasutaja valitud fail). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="checkbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CheckBox </term>
<listitem>
<para
>Nupp, mida saab sisse ja välja lülitada. See võib olla ka poolmärgitud, kui kolmeolekuline omadus on märgitud tõeseks. Märkekastiga seotud pealdis määratakse kindlaks omadusegatext. Märgitud omaduse määramine paneb märkekasti algselt märgitud olekusse. </para>
<para
>Märkekastil on kolm olekut: märgitud, poolmärgitud ja märkimata. </para>
<para
>Märkekasti vidina tekst on tekstiomaduse väärtus. </para>
<para
>Täpsemalt kõneleb sellest KCheckBoxi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="radiobutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RadioButton </term>
<listitem>
<para
>Nupp, mida võib märkida või märke eemaldada, tavaliselt kasutatakse nupugrupis välistava valiku langetamiseks. Nupuga seostatud teksti määrab tekstiomadus. Nupu saab initsialiseerida märgituna, kui anda omadusele checked tõene väärtus. Kui nupugrupis peaks kõigil raadionuppudel olema omadus checked märgitud tõeseks, märgitakse tegelikult ära viimane nupp. </para>
<para
>Raadionupul on kaks olekut: märgitud ja märkimata. </para>
<para
>Raadionupuga pole seostatud mingit vidina teksti. </para>
<para
>Täpsemalt kõneleb sellest KRadioButtoni dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="buttongroup.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ButtonGroup </term>
<listitem>
<para
>Konteiner mitme nupu organiseerimiseks ühe grupina. Tiitliomadusega saab soovi korral määrata nupugrupi nime. Raami saab kohendada omadusega lineWidth. Nupugrupi võib määrata välistavaks, kui anda vastavale omadusele väärtus 'tõene'. See tähendab, et kui grupis klõpsatakse mingit nuppu, see aktiveeritakse ning teised nupud deaktiveeritakse. Erandiks on siinkohal raadionupud, mis on alati vastastikku välistavad isegi juhul, kui gruppi ei ole välistavaks määratud. Raadinuppe saab määrata mittevälistavaks omadusega radioButtonExclusive (aga tegelikult pole ma eriti kindel, et see omadus üldse midagi teeb). </para>
<para
>Nupugrupil on üks olek - seega on see vaikeolek.</para>
<para
>Nupugrupi vidina tekst kujutab endast iga nupu tekstiseoseid sellises järjekorras, nagu nad nupugrupis esinevad. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="groupbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> GroupBox </term>
<listitem>
<para
>Konteinervidin, mis sisaldab muid vidinaid. Raami saab kohendada omadusega lineWidth. Tiitli saab lisada tiitliomadust määrates. </para>
<para
>Grupikastil on üks olek - seega vaikeolek. </para>
<para
>Grupikasti vidina tekst on kõigi selles sisalduvate vidinate tekstiseosed üheskoos. Need on järjekorras, nagu nad esinevad grupikastis. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="tabwidget.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TabWidget </term>
<listitem>
<para
>Vidin, mis pakub mitu kaarti, mis kõik võivad sisaldada omakorda vidinaid. </para>
<para
>Täpsemalt kõneleb sellest KTabWidgeti dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="spinbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> SpinBoxInt </term>
<listitem>
<para
>See vidin lubab kasutajal muuta täisarvulist väärtust kas üles ja alla osutavaid nooli vajutades või arvu kasti sisestades. Vidina miinimum- ja maksimumväärtuse saab määrata omadustega minValue ja maxValue. Omadusega specialValueText saab määrata miinimumväärtuse asemel näidatava tekstilise väärtuse. </para>
<para
>Sellel vidinal on ainult üks olek - seega vaikeolek. </para>
<para
>Kerimiskasti vidina tekst on parajasti näidatav täisarv. </para>
<para
>Täpsemalt kõneleb sellest QSpinBoxi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="slider.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Slider </term>
<listitem>
<para
>Vidin, mis pakub rõhtsat või püstist liugurit. </para>
<para
>Täpsemalt kõneleb sellest QSlideri dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="richtextedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RichText redaktor </term>
<listitem>
<para
>See vidin pakub tekstiredaktori, mis võimaldab lihtsamat teksti vormindamist. </para>
<para
>RichText redaktoril on üks olek - seega vaikeolek. </para>
<para
>RichText redaktori vidina tekst on redaktori vormindatud tekst. Valitud teksti võib tagastada @selectedWidgetText. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="statusbar.png" format="PNG"/>
</imageobject
></inlinemediaobject
> StatusBar </term>
<listitem>
<para
>Vidin, mis näitab olekuteavet ja asub tavaliselt dialoogi allosas. </para>
<para
>Täpsemalt kõneleb sellest KStatusBari dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="progress.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ProgressBar </term>
<listitem>
<para
>Vidin, mis näitab edenemisteavet. </para>
<para
>Täpsemalt kõneleb sellest KProgressi dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="shellscript.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ScriptObject </term>
<listitem>
<para
>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. Seda võib pidada mõnes mõttes funktsiooniks. Skriptiobjektis on kood, mille saab dialoogist alati käivitada, kutsudes selle välja funktsiooniga <emphasis
>execute</emphasis
>. Mainitud meetodiga võib skriptiobjektile edastada ka argumente ning kasutatakse skriptiobjekti sees kui <emphasis
>@Self.item(0), @Self.item(1), jne.</emphasis
>, kui kasutad vana parserit, või <emphasis
>Self.item(0, Self.item(1), jne.</emphasis
>, kui kasutad uut parserit. </para>
<para
>Funktsiooniga <emphasis
>execute</emphasis
> saab ühendada ka signaale, nii et see käitub siis kui pesa. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="timer.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Timer </term>
<listitem>
<para
>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. Seda saab kasutada toimingu teostamiseks määratud aja järel kas üks kord või regulaarselt. Määra <guilabel
>intervall</guilabel
> millisekundites ja vali, kas see tuleb käivitada üks kord (<guilabel
>singleShot</guilabel
>) või mitte. Ühenda signaal <emphasis
>timeout</emphasis
> pesaga, mis käivitada määratud aja möödumisel. </para>
<para
>Taimerit ei käivitata vaikimisi, selleks tuleb käivitada funktsioon <emphasis
>execute</emphasis
>. </para>
<para
>Täpsemalt kõneleb sellest QTimeri dokumentatsioon. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="datepicker.png" format="PNG"/>
</imageobject
></inlinemediaobject
> DatePicker </term>
<listitem>
<para
>Vidin kuupäeva valimiseks. Vaikimisi kuupäeva saab määrata omadusega <guilabel
>date</guilabel
> või funktsiooniga <emphasis
>setText</emphasis
> ISO vormingus: <emphasis
>YYYY-MM-DD</emphasis
>. </para>
<para
>Vidina tekst on parajasti näidatav kuupäev. </para>
<para
>Täpsemalt kõneleb sellest KDatePickeri dokumentatsioon. </para>
<note
><para
>Kommander 1.3 uus omadus.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="kommander.png" format="PNG"/>
</imageobject
></inlinemediaobject
> AboutDialog </term>
<listitem>
<para
>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. See sisaldab teavet rakenduse, autori ja litsentsi kohta. Infodialoogi näidatakse funktsiooni <emphasis
>execute</emphasis
> väljakutsumisel. <warning
><para
>Enne kõiki teisi, ka enne funktsiooni <emphasis
>execute</emphasis
>, tuleb välja kutsuda funktsioon <emphasis
>initialize</emphasis
>.</para
></warning>
</para>
<note
><para
>Kommander 1.3 uus omadus.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="kfontcombo.png" format="PNG"/>
</imageobject
></inlinemediaobject
> FontDialog </term>
<listitem>
<para
>See on pseudovidin, mida saab kasutada fondi valimise dialoogi avamiseks. Vaikefondi saab määrata funktsiooniga <emphasis
>setFont</emphasis
>, valitud fondi omadused hankida funktsioonidega <emphasis
>family, pointSize, bold, italic</emphasis
>. Dialoogi näidatakse funktsiooni <emphasis
>execute</emphasis
> väljakutsumisel. </para>
<note
><para
>Kommander 1.3 uus omadus.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="contents.png" format="PNG"/>
</imageobject
></inlinemediaobject
> PopupMenu </term>
<listitem>
<para
>Pseudovidin, mida saab kasutada menüü näitamiseks. Menüükirjete lisamiseks kasuta funktsioone <emphasis
>insert...</emphasis
> Kui kasutaja klõpsad menüükirjele, käivitatakse määratud <emphasis
>executeWidget</emphasis
>'i funktsioon <emphasis
>execute</emphasis
>. Menüükirjed võib ühendada hüpikmenüü enda funktsiooniga <emphasis
>execute</emphasis
>, millisel juhul käivitatakse tekst, mis on seostatud olekuga <emphasis
>default</emphasis
>. Menüükirjeid lisades võib omistada neile indeksi ja käsitleda kõiki menüüelemente menüüvidinas nõudena, mis edastatakse samale indeksile. Kui soovid teada, kuidas see käib, uuri rakendusega kaasa pandud näidet <link linkend="example-key-value"
>keyvaluecombo.kmdr</link
>. Selle leiab redaktori menüüs Tööriistad näidete dialoogis. </para>
<para
>Menüü näitamiseks kasuta pesa <emphasis
>popup</emphasis
>. Tavaliselt on see ühendatud teise vidina signaaliga <emphasis
>contextMenuRequested</emphasis
>.</para>
<para
>Menüü võib sisaldada teisi PopupMenu alammenüüsid.</para>
<note
><para
>Kommander 1.3 uus omadus.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="toolbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ToolBox </term>
<listitem>
<para
>Konteinervidin nagu TabWidget. Sel on mitu kaarti, mis kõik võivad sisaldada teisi vidinaid. </para>
<warning
><para
>Sel vidinal on redaktoriviga, mis ei mõjuta selle kasutamist käivitamisel, küll aga kasutamist redaktoris. Kui püüad redaktoris lisada dialoogile kaarte, muutub see loetamatuks. Nii et seda ei tasu teha. Kui soovid kasutada tööriistakasti, täida palun vidin lennult, kasutades käsku <command
>addWidget</command
>. Võimaluse korral lisame näite 1.3 väljalaskele - seda võib kontrollida veebileheküljel.</para
></warning>
<para
>Täpsemalt kõneleb sellest QToolBoxi dokumentatsioon.</para>
<note
><para
>Kommander 1.3 uus omadus.</para
></note>
</listitem>
</varlistentry>


</variablelist>
</sect1>
