# Vidinad

&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 tekstiseosed. 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.

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 võidujooksu (race) probleemide eest, mistõttu sa ei pea kogu aeg muretsema mingite spetsiaalsete sulgemisprotseduuride pärast.

Peaakent (MainWindow) kasutava rakenduse korral (mis on loodud &Qt; Disaineriga) ei ole initsialiseerimise ja hävitamise olekuid, vaid signaale initialize ja destroy saab kasutada teabe hankimiseks rakenduse konstrueerimisel või sulgemisel.

Allpool on ära toodud &kommander;i standardvidinad. Kõigil on hulk funktsioone, mida saab tundma õppida vidina funktsioone Funktsioonisirvijas 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.

Label

- Lihtne vidin, mis sisaldab teksti. Vidin võimaldab määrata ka pildi.

  &Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon.

PixmapLabel

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

  &Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon.

LineEdit

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

  Tekstikastil on üks olek - seega vaikeolek.

  Tekstikasti vidina tekst on redaktoris sisalduv tekst.

  &kde; tekstipealdistest kõneleb lähemalt KLineEditi dokumentatsioon.

TextEdit

- Lihtne mitmerealine tekstiredaktor.

  &kde; mitmerealistest tekstiredaktoritest kõneleb lähemalt KTextEditi dokumentatsioon.

TextBrowser

- Lihtne tekstibrauser hüperlinkide navigeerimisega.

  Täpsemalt kõneleb sellest KTextBrowseri dokumentatsioon.

ListBox

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

  Loendikastil on ainult üks olek - seega vaikeolek.

  Loendikasti vidina tekst on loendikastis leiduvad elemendid. @selectedWidgetText tagastab ainult parajasti valitud elemendid.

  Täpsemalt kõneleb sellest KListBoxi dokumentatsioon.

ComboBox

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

  Liitkastil on üks olek - seega vaikeolek.

  Liitkasti vidina tekst on valitud elemendi tekst.

  Täpsemalt kõneleb sellest KComboBoxi dokumentatsioon.

TreeWidget

- Vidin, mis pakub loendit puukujulisena. Lisada saab alamelemente ja mitmeveerulisi andmeid. Praegu ei saa veel muuta veerge. Järglassõlme lisamiseks kasuta eraldajana /. Veeruandmete lisamiseks kasuta veergude vahel paomärgiga tabulaatorimärki \t.

  Täpsemalt kõneleb sellest KListView' dokumentatsioon.

Table

- Tabelividin, mis toetab lahtrites erinevaid vidinaid.

  Täpsemalt kõneleb sellest QTable'i dokumentatsioon.

ExecButton

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

  Käivitamisnupul on üks olek - seega vaikeolek.

  Käivitamisnupuga pole seostatud mingit vidina teksti.

  Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon.

CloseButton

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

  Sulgemisnupul on üks olek - seega vaikeolek.

  Sulgemisnupuga pole seotud mingit vidina teksti.

  Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon.

Konsole

- Vidin, mis haarab skriptide väljundi tekstibrauseris. Vaikeolek käivitatakse ning vidinas näidatakse nende (sisemiste või väliste) käskude väljundit.

FileSelector

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

  Failivalijal on üks olek - niisiis vaikeolek.

  Failivalija vidina tekst on tekstikastis sisalduv tekst (kasutaja valitud fail).

CheckBox

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

  Märkekastil on kolm olekut: märgitud, poolmärgitud ja märkimata.

  Märkekasti vidina tekst on tekstiomaduse väärtus.

  Täpsemalt kõneleb sellest KCheckBoxi dokumentatsioon.

RadioButton

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

  Raadionupul on kaks olekut: märgitud ja märkimata.

  Raadionupuga pole seostatud mingit vidina teksti.

  Täpsemalt kõneleb sellest KRadioButtoni dokumentatsioon.

ButtonGroup

- 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).

  Nupugrupil on üks olek - seega on see vaikeolek.

  Nupugrupi vidina tekst kujutab endast iga nupu tekstiseoseid sellises järjekorras, nagu nad nupugrupis esinevad.

GroupBox

- Konteinervidin, mis sisaldab muid vidinaid. Raami saab kohendada omadusega lineWidth. Tiitli saab lisada tiitliomadust määrates.

  Grupikastil on üks olek - seega vaikeolek.

  Grupikasti vidina tekst on kõigi selles sisalduvate vidinate tekstiseosed üheskoos. Need on järjekorras, nagu nad esinevad grupikastis.

TabWidget

- Vidin, mis pakub mitu kaarti, mis kõik võivad sisaldada omakorda vidinaid.

  Täpsemalt kõneleb sellest KTabWidgeti dokumentatsioon.

SpinBoxInt

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

  Sellel vidinal on ainult üks olek - seega vaikeolek.

  Kerimiskasti vidina tekst on parajasti näidatav täisarv.

  Täpsemalt kõneleb sellest QSpinBoxi dokumentatsioon.

Slider

- Vidin, mis pakub rõhtsat või püstist liugurit.

  Täpsemalt kõneleb sellest QSlideri dokumentatsioon.

RichText redaktor

- See vidin pakub tekstiredaktori, mis võimaldab lihtsamat teksti vormindamist.

  RichText redaktoril on üks olek - seega vaikeolek.

  RichText redaktori vidina tekst on redaktori vormindatud tekst. Valitud teksti võib tagastada @selectedWidgetText.

StatusBar

- Vidin, mis näitab olekuteavet ja asub tavaliselt dialoogi allosas.

  Täpsemalt kõneleb sellest KStatusBari dokumentatsioon.

ProgressBar

- Vidin, mis näitab edenemisteavet.

  Täpsemalt kõneleb sellest KProgressi dokumentatsioon.

ScriptObject

- 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 execute. Mainitud meetodiga võib skriptiobjektile edastada ka argumente ning kasutatakse skriptiobjekti sees kui @Self.item(0), @Self.item(1), jne., kui kasutad vana parserit, või Self.item(0, Self.item(1), jne., kui kasutad uut parserit.

  Funktsiooniga execute saab ühendada ka signaale, nii et see käitub siis kui pesa.

Timer

- 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 intervall millisekundites ja vali, kas see tuleb käivitada üks kord (singleShot) või mitte. Ühenda signaal timeout pesaga, mis käivitada määratud aja möödumisel.

  Taimerit ei käivitata vaikimisi, selleks tuleb käivitada funktsioon execute.

  Täpsemalt kõneleb sellest QTimeri dokumentatsioon.

DatePicker

- Vidin kuupäeva valimiseks. Vaikimisi kuupäeva saab määrata omadusega date või funktsiooniga setText ISO vormingus: YYYY-MM-DD.

  Vidina tekst on parajasti näidatav kuupäev.

  Täpsemalt kõneleb sellest KDatePickeri dokumentatsioon.

  Kommander 1.3 uus omadus.

AboutDialog

- See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. See sisaldab teavet rakenduse, autori ja litsentsi kohta. Infodialoogi näidatakse funktsiooni execute väljakutsumisel.

  Enne kõiki teisi, ka enne funktsiooni execute, tuleb välja kutsuda funktsioon initialize.

  Kommander 1.3 uus omadus.

FontDialog

- See on pseudovidin, mida saab kasutada fondi valimise dialoogi avamiseks. Vaikefondi saab määrata funktsiooniga setFont, valitud fondi omadused hankida funktsioonidega family, pointSize, bold, italic. Dialoogi näidatakse funktsiooni execute väljakutsumisel.

  Kommander 1.3 uus omadus.

PopupMenu

- Pseudovidin, mida saab kasutada menüü näitamiseks. Menüükirjete lisamiseks kasuta funktsioone insert... Kui kasutaja klõpsad menüükirjele, käivitatakse määratud executeWidget'i funktsioon execute. Menüükirjed võib ühendada hüpikmenüü enda funktsiooniga execute, millisel juhul käivitatakse tekst, mis on seostatud olekuga default. 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 keyvaluecombo.kmdr. Selle leiab redaktori menüüs Tööriistad näidete dialoogis.

  Menüü näitamiseks kasuta pesa popup. Tavaliselt on see ühendatud teise vidina signaaliga contextMenuRequested.

  Menüü võib sisaldada teisi PopupMenu alammenüüsid.

  Kommander 1.3 uus omadus.

ToolBox

- Konteinervidin nagu TabWidget. Sel on mitu kaarti, mis kõik võivad sisaldada teisi vidinaid.

  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 `addWidget`. Võimaluse korral lisame näite 1.3 väljalaskele - seda võib kontrollida veebileheküljel.

  Täpsemalt kõneleb sellest QToolBoxi dokumentatsioon.

  Kommander 1.3 uus omadus.