ITI0011-13-HW3-Kimp: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Ago (arutelu | kaastöö)
Resümee puudub
Ago (arutelu | kaastöö)
Resümee puudub
43. rida: 43. rida:
* Kasutaja saab tegevusi korrata vajutades '''<space>''' (tühik) klahvi.
* Kasutaja saab tegevusi korrata vajutades '''<space>''' (tühik) klahvi.
* Korrata saab vaid neid tegevusi, mis on tagasi võetud.
* Korrata saab vaid neid tegevusi, mis on tagasi võetud.
* '''Lisaks''' peavad undo ja redo jaoks olema realiseeritud nupud (vabalt valitud paiknemisega). Üks nupp teeb redo, teine teeb undo.


Selle lisaosa tegemine on triviaalne, kui puhverdamise lisaosa on sobivalt tehtud.
Selle lisaosa tegemine on triviaalne, kui puhverdamise lisaosa on sobivalt tehtud.

Redaktsioon: 31. oktoober 2013, kell 15:19

Tagasi ITI0011 lehele.

Joonistamisprogramm Kimp

Tuleb kirjutada graafilise kasutajaliidesega joonistamis-programm. Programm võimaldab kasutajal hiirega vabakäe kujundeid joonistada ja kujunditega teatud operatsioone sooritada.

Põhiosa 5p

  • Programm kuvab kasutajale graafilise kasutajaliidese (akna) ja sellel vabakäe kujundeid joonistada
  • Joonistamise alustamiseks kasutaja vajutab ja hoiab all vasakut hiire nuppu. Hiirt lohistades kuvab programm hiire liikumise trajektoori joonega. Kujundi joonistamine lõpeb vasaku hiirenupu vabastamisega.
  • Programm võimaldab joonistada suvalise arvu kujundeid.
  • Akna parameetrite muutmisel - suurendamisel/vähendamisel, nihutamine, osaliselt või täielikult teiste akendega peitmine ei tohi joonistatud kujundeid visuaalselt rikkuda.
  • Programmist peab olema võimalik väljuda vajutades klahvi <escape>
    • Enne väljumist kuvab programm dialoogakna, küsides kasutajalt kinnitust
    • Vajutades kinnitamise dialoogaknas klahvi <escape> - programmi väljumine katkestatakse
    • Vajutades <enter> lõpetab programm täielikult

Lisaosa 3p

  • Programm võimaldab joonistatud kujundite liigutamist ...
    • Hoides all <control> nuppu näitab kasutaja kujundile, mida soovib liigutada.
    • Sihtmärgiks olev kujund tõstetakse esile (highlight) eristades see teistest kontrastse värviga - näiteks punaselt.
    • Vajutades alla vasaku hiirenupu algab kujundi liigutamine. Programm liigutab kujundit vastavalt hiire lohistamise trajektoorile.
    • Liigutamine lõpeb hiirenupu vabastades. Hoides all <control> nuppu võib kasutaja jätkata kujundite liigutamist.
  • ... ja kustutamist
    • Sarnaselt kujundi liigutamisele hoiab Kasutaja all <control> nuppu ja näitab hiirega kujundile, mida soovib kustutada.
    • Vastav kujund tuuakse esile kontrastse värviga - näiteks punane.
    • Vajutades paremat hiirenuppu eemaldatakse kujund.

Lisaosa 2p

  • Programm puhverdab Kasutaja tegevused, et saaks tagasi võtta (i.k. undo)
    • Kujundi lisamine/joonistamine
    • Kujundi liigutamine
    • Kujundi kustutamine
  • Kasutaja saab tegevusi tagasi võtta vajutades <escape> klahvi.
  • <escape> võtab tegevusi tagasi seni, kuni neid on. Kui rohkem tegevusi tagasi võtta ei saa, alustatakse programmist väljumist kuvades kinnituse dialoogakna sarnaselt põhiosale
  • Selle lisaosa tegemine eeldab, et kujundi liigutamine ja kustutamine on realiseeritud.
    • Kui kujundi liigutamine ja kustutamine ei ole realieeritud, võib saada redo+undo eest kokku 1 punkti.

Lisaosa 1p

  • Lisaks puhvrist tagasivõtmisele (undo) on võimalik tegevusi korrata (i.k. redo). Kui kasutaja on mõned tegevused tagasi võtnud, saab need samad tegevused uuesti teha
    • Kujundi lisamine/joonistamine
    • Kujundi liigutamine
    • Kujundi kustutamine
  • Kasutaja saab tegevusi korrata vajutades <space> (tühik) klahvi.
  • Korrata saab vaid neid tegevusi, mis on tagasi võetud.
  • Lisaks peavad undo ja redo jaoks olema realiseeritud nupud (vabalt valitud paiknemisega). Üks nupp teeb redo, teine teeb undo.

Selle lisaosa tegemine on triviaalne, kui puhverdamise lisaosa on sobivalt tehtud.