5.6.5. Rajoitettu vuorovaikutus (modal interaction)

Yleensä käyttäjä pystyy määrittelemään, mitä toimintoja hän valitsee käyttöliittymässä ja missä järjestyksessä. Joissakin tapauksissa on kui tenkin parempi rajoittaa käyttettävissä olevia toimintoja tai määritellä, missä järjestyksessä ne tehdään. Tk:ssa on kaksi tapaa rajoitettuun vuorovaikutukseen: grab ja tkwait-komennot. 

Esimerkiksi komennolla

grab set .ikkuna

voidaan rajata käyttäjän toiminnot väliaikaisesti ikkunaan .ikkuna. Hyvä esimerkki tästä on dialogi-ikkuna. tkwait -komennon avulla voidaan pysäyttää sovelluksen muu suorittaminen, kunnes tietty toiminto suoritetaan.

Esimerkiksi komennolla

tkwait window .ikkuna

määrätään, että suoritus jatkuu vasta, kun ohjain .ikkuna on tuhottu.

Seuraavassa esimerkissä käyttäjän mahdollisuudet käsitellä sovellusta on rajattu ylätason ikkunaan .top.

proc aliohjelma {} {

toplevel .top

button .top.b -text "Exit" -command {destroy .top}

pack .top.b

grab set .top ;# rajataan käyttömahdollisuudet .top-ikkunaan

}

aliohjelma

tkwait window .top ;# odotetaan, että ikkuna .top tuhotaan

puts "kissa"

Sana "kissa" tulostetaan ruudulle vasta, kun toplevel-ikkuna on tuhottu komennolla destroy .top. 


previous gif next gif


Luk-tutkielma: Tcl/Tk -opiksi ja iloksi.