Napsautus: Hiiren painikkeella tehtävä nopea painallus (painike alas + painike ylös). Napsautus tehdään jonkin graafisen objektin päällä (esim puun solmu).
Näppäin-napsautus: Napsautus samanaikaisesti, kun jokin näppäimistön näppäin alaspainettuna.Napsautus tehdään jonkin graafisen objektin päällä (esim puun solmu).
Kaksoisnapsautus: Hiiren napsautus nopeasti kaksi ketaa peräkkäin. Napsautukset tehdään jonkin graafisen objektin päällä (esim puun solmu).
Vedä ja tiputa: Hiiren painikkeen alaspainaminen, hiiren siirto ja painikkeen vapautus. Hiiren painike painetaan alas jonkin graafisen objektin päällä, siirretään hiiren kursori jonkin graafisen objektin päälle ja vapautetaan hiiren painike. Hiiren siirron aikana valittu objekti "seuraa" hiiren kursoria.
Näppäin-vedä ja tiputa: Kuten vedä ja tiputa, mutta hiiren painikkeen alaspainamisen aikana on jokin näppäimistön näppäin alaspainettuna.
Lisäksi joidenkin semanttisten rakenteiden (esim. punamustapuu) tiettyjä operaatioita varten joudutaan mahdollisesti käyttämään popup-valikoita, joista niihin liittyviä monimutkaisempia operaatioita voidaan toteuttaa.
Se, miten esitysmuotojen alkiot ja niiden taustalla olevat tietorakenteet
reagoivat käyttöliittymässä suoritettuihin operaatioihin,
riippuu tietorakenteiden esitysmuodoille määritellystä semantiikasta.
Järjestelmän kullekin tietorakenteille määritellään jokin seuraavanlaisista siirtosemantiikoista:
Move: Alkio siirtyy tietorakenteesta toiseen. Se siis häviää toisesta, ja siirtyy toiseen tietorakenteeseen.
Copy: Alkio kopioituu toiseen tietorakenteeseen.
Swap: Alkio siirtyy toiseen tietorakenteeseen. Paikasta johon alkio siirtyy, siirtyy puolestaan alkio takaisin siirretyn alkion lähtöpaikkaan. Tietorakenteiden alkiot siis vaihtavat paikkaa.
Alla olevassa kuvassa on havainnollistettu eri siirtosemantiikkoja.
Kuva 1: Erilaiset siirtosemantiikat.
Siirtosemantiikka ja muu semanttinen merkitys käyttöliittymän tietorakenteiden esitysmuotojen objektehin kohdistuville käyttöliittymätoiminnoille on "sisäänrakennettu" esitysmuotojen toteutukseen.
Tarkka semantiikka käyttöliittymän tietorakenteiden muokkaamiseen liittyville käyttöliittymätoiminnoille määritellään useimpien tietorakenteiden osalta projektin tulevissa vaiheissa. Toistaiseksi keskitytään määrittämään semantiikka tarkkaan joidenkin tärkeimpien (prioriteettitaso 1 vaatimusmäärittelyssä) tietorakenteiden osalta. Nämä määritelmät löytyvät jäljempänä tästä dokumentista (kohta 3 ->)
Yleistäen semantiikoista voi sanoa että käyttöliittymän
napsautus -operaatio valitsee objektin ja vedä ja tiputa -toiminnolla
siirretään objekteja (alkioita) esitysmuotojen välillä.
Näppäin-napsautuksella, näppäin-vedä ja tiputa
-operaatiolla ja kaksoisnapsautuksella suoritetaan jokin monimutkaisempi
toimenpide. Kaikkien tietorakenteiden kohdalla käyttöliittymän
perusoperaatiot eivät tule riittämään. Esimerkiksi
joissain semanttisissa rakenteissa (esim punamustapuu) niihin liittyviä
moninaisia toimintoja voidaan valita esimerkiksi popup-valikosta, joka
saadaan näkyviin esim. kaksoisnapsautuksella.
Taulukkoon tulee pystyä lisäämään alkioita ja siitä tulee pystyä poistamaan alkioita. Lisäksi taulukon alkio tulee pystyä valitsemaan.
Seuraavassa on esitetty taulukko-tietorakenteen muokkaamiseen tarvittavat toiminnot, niiden toteuttamiseksi tarvittavat käyttöliittymätoiminnot, käyttäjän tavoite, toiminnon vaikutukset tietorakenteisiin ja esitysmuotoihin sekä operaation "käänteisoperaatio". Esitysten muoto on seuraava:
Toiminto: tarvittava käyttöliittymätoiminto:
[ehtoja]
1. Tavoite: Selitys eli mitä käyttäjä tekee
/ haluaa tehdä
2. Vaikutus: Vaikutus tietorakenteeseen -> vaikutus esitysmuotoihin
3. Käänteisoperaatio: Käänteisoperaatio tai operaation
vaikutuksen "peruutus"
Muita termejä:
Maaliesitysmuoto: Tietorakenteen esitysmuoto, jonka aikioon vedä
ja tiputa toiminnon tiputa-osatoiminto kohdistuu.
Maalialkio: Maaliesitysmuodon alkio, johon vedä ja tiputa toiminnon
tiputa-osatoiminto kohdistuu.
Taulukon alkion merkintä: Napsautuksella:
1. Tavoite: Taulukon alkio merkitään "hilight"
2. Vaikutus: Ei vaikutusta tietorakenteeseen -> Taulukossa kevyt korostus
alkiolle.
3. Käänteisoperaatio: Merkityn alkion "merkintä" uudelleen
tai mikä tahansa käyttöliittymän esitysmuotojen objektiin
kohdistuva operaatio
Alkion lisäys: avaimen tuominen alkioon vedä
ja tiputa -toiminnolla:
1. Tavoite: Alkiolle annetaan avain eli "sisältö"
2. Vaikutus: Tietorakenteen "indeksi" (alkio) saa avaimen ->
esitysmuototaulukkon alkioon ko.avain
3.Käänteisoperaatiotio: Saman indeksin alkion lukeminen
Alkion lukeminen: avain "siirretään" solmusta vedä
ja tiputa -toiminnolla:
1. Tavoite: Solmun sisältö "kopioidaan" johonkin näytön
esitysmuotoon
2 Vaikutus: Ei vaikutusta tietorakenteeseen -> Esityamuototaulukossa
kevyt häivytys alkiolle
3. Käänteisoperaatio: Ei ole atomista käänteisoperaatiota.
(toiminnon voi peruuttaa Edit-valikon Undo-komennolla)
Binääripuun solmut on myös kyettävä merkitsemään läpikäydyiksi, jotta kyetään havainnollistamaan jonkin algoritmin etenemistä puussa.Binääripuun muokkaamiseen tarvittava toiminnallisuus on siis varsin monipuolista. Binääripuu tulee voida kasvattaa juuresta, sen solmuihin tulee voida antaa avain, solmusta tulee voida poistaa avain, sen vasemmaksi / oikeaksi alipuuksi tulee voida asettaa jokin binääripuu ja sen solmut tulee voida merkitä läpikäydyiksi. Solmuja tulee myös voida poistaa rakenteellisesti. Joissain toiminnoissa vaikutus riippuu myös muille tietorakenteiden esitysmuodoille määritellystä siirtosemantiikasta.
Esitysnuotona binääripuulle voidaan käyttää
talukkoa ja puuta.
Binääripuun esitysmuodot toteuttavat "Move" -siirtosemantiikkaa.
Seuraavassa on esitetty binääripuun muokkaamiseen tarvittavat toiminnot, niiden toteuttamiseksi tarvittavat käyttöliittymätoiminnot, käyttäjän tavoite, toiminnon vaikutukset tietorakenteisiin ja esitysmuotoihin sekä operaation "käänteisoperaatio". Esitysten muoto on seuraava:
Toiminto: tarvittava käyttöliittymätoiminto:
[ehtoja]
1. Tavoite: Selitys eli mitä käyttäjä tekee
/ haluaa tehdä
2. Vaikutus: Vaikutus tietorakenteeseen -> vaikutus esitysmuotoihin
3. Käänteisoperaatio: Käänteisoperaatio tai operaation
vaikutuksen "peruutus"
Muita termejä:
Maaliesitysmuoto: Tietorakenteen esitysmuoto, jonka aikioon vedä
ja tiputa toiminnon tiputa-osatoiminto kohdistuu.
Maalialkio: Maaliesitysmuodon alkio, johon vedä ja tiputa toiminnon
tiputa-osatoiminto kohdistuu.
Solmun merkintä: Napsautuksella:
1. Tavoite: Puun solmu merkitään "hilight"
2. Vaikutus: Ei vaikutusta tietorakenteeseen -> Taulukossa kevyt korostus
alkiolle, esitysmuotopuussa kevyt korostus solmulle.
3. Käänteisoperaatio: Merkityn solmun "merkintä" uudelleen
tai mikä tahansa käyttöliittymän esitysmuotojen objektiin
kohdistuva operaatio
Avaimen lisäys: avaimen tuominen solmuun vedä
ja tiputa -toiminnolla:
1. Tavoite: Solmulle annetaan avain eli "sisältö"
2. Vaikutus: Tietorakenteen solmu saa avaimen ja sille muodostuu "tyhjät"
(undefined" -olio) oikea ja vasen lapsi -> taulukkoon solmua vastaavaan
alkioon ko.avain ja kaksi uutta tyhjää alkiota, esitysmuotopuuhun
solmulle avain ja oikea ja vasen lapsisolmu, jotka "tyhjiä".
3. Käänteisoperaatio: Saman solmun vaimen lukeminen
Avaimen lukeminen (= rakenteellinen poisto): avain "siirretään"
solmusta vedä ja tiputa -toiminnolla: [vain binääripuun
toiseksi alimman tason solmut]
1. Tavoite: Solmun sisältö "siirretään" johonkin
näytön esitysmuotoon
2. Vaikutus: Tietorakenteen solmu sekä sen tyhjät alipuut
(vasen ja oikea lapsisolmu) poistuu (rakenteelliseti) -> Taulukosta poistuu
solmua vastaava alkio ja sen "tyhjät" lapsialkiot, esitysmuotopuusta
poistuu solmu ja sen "tyhjät" alipuut (lapsisolmut)
3. Käänteisoperaatio: Saman avaimen lisäys solmuun
Solmun merkintä läpikäydyksi: kaksoisnapsautuksella:
1. Tavoite: Solmu merkitään läpikäydyksi
esim. havainnollistamaan algoritmin toimintaa
2. Vaikutus: Ei vaikutusta tietorakenteeseen -> Taulukossa vahva korostus
alkiolle, esitysmuotopuussa vahva korostus solmulle.
3. Käänteisoperaatio: Solmun uudelleenmerkintä kaksoisnapautuksella
Alipuun liittäminen solmuun: alipuu tuodaan esitysmuodon
solmuun vedä ja tiputa toiminnolla:
1. Tavoite: Puuhun liitetään alipuu jonkin solmun "välityksellä"
2. Vaikutus:Alipuu liittyy puun valittuun solmuun -> Taulukkoon ja/tai
esitysmuotopuuhun liitetään ko.alipuu.
3. Käänteisoperaatio: Solmuun liitetyn alipuun lukeminen
Alipuun lukeminen: Alipuu "siirretään" esitysmuodosta
Näppäin-vedä ja tiputa -toiminnolla "Control" -näppäin
alaspainettuna:
1. Tavoite: Alipuu siirretään johonkin näytön
esitysmuotoon
2. Vaikutus: Alipuu poituu binääripuusta -> taulukosta ja/tai
esitysmuotopuusta poitetaan ko. alipuu.
3. Käänteisoperaatio: Saman alipuun liittäminen samaan
solmuun