ITI0011-13-HW3-Kimp: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Ago (arutelu | kaastöö)
Ago (arutelu | kaastöö)
 
(ei näidata sama kasutaja üht vahepealset redaktsiooni)
9. rida: 9. rida:
* 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.'''
* 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.
* Programm võimaldab joonistada suvalise arvu kujundeid.
* Joonistada peab saama ka '''punkti''' (hiire klikk ilma hiirt vahepeal liigutamata - joone algus- ja lõpp-punkt on samad).
* Akna '''parameetrite''' muutmisel - suurendamisel/vähendamisel, nihutamine, osaliselt või täielikult teiste akendega peitmine '''ei tohi''' joonistatud kujundeid '''visuaalselt rikkuda'''.
* 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>'''
* Programmist peab olema võimalik '''väljuda''' vajutades klahvi '''<escape>'''
17. rida: 18. rida:
== Lisaosa 3p ==
== Lisaosa 3p ==
* Programm võimaldab joonistatud '''kujundite liigutamist''' ...
* Programm võimaldab joonistatud '''kujundite liigutamist''' ...
** Hoides all '''<control>''' nuppu liigun kasutaja kujundile, mida soovib liigutada. Kõik järgneb tegevus toimub '''<control>''' nuppu all hoides.
** Hoides all '''<control>''' nuppu liigub kasutaja kujundile, mida soovib liigutada. Kõik järgnev tegevus toimub '''<control>''' nuppu all hoides.
** Sihtmärgiks olev kujund tõstetakse esile (highlight) '''eristades''' see teistest kontrastse värviga - näiteks '''punaselt'''.
** 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.
** 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.
** Liigutamine '''lõpeb''' hiirenupu vabastades. Hoides all <control> nuppu võib kasutaja jätkata kujundite liigutamist.
* ... ja '''kustutamist'''
* ... ja '''kustutamist'''
** Sarnaselt kujundi liigutamisele hoiab Kasutaja all '''<control>''' nuppu ja liigub hiirega kujundile, mida soovib kustutada. Kõik järgneb tegevus toimub '''<control>''' nuppu all hoides.
** Sarnaselt kujundi liigutamisele hoiab Kasutaja all '''<control>''' nuppu ja liigub hiirega kujundile, mida soovib kustutada. Kõik järgnev tegevus toimub '''<control>''' nuppu all hoides.
** Vastav kujund tuuakse esile kontrastse värviga - näiteks punane.
** Vastav kujund tuuakse esile kontrastse värviga - näiteks punane.
** Vajutades '''paremat hiirenuppu''' eemaldatakse kujund.
** Vajutades '''paremat hiirenuppu''' eemaldatakse kujund.

Viimane redaktsioon: 7. november 2013, kell 13:01

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.
  • Joonistada peab saama ka punkti (hiire klikk ilma hiirt vahepeal liigutamata - joone algus- ja lõpp-punkt on samad).
  • 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 liigub kasutaja kujundile, mida soovib liigutada. Kõik järgnev tegevus toimub <control> nuppu all hoides.
    • 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 liigub hiirega kujundile, mida soovib kustutada. Kõik järgnev tegevus toimub <control> nuppu all hoides.
    • 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.