Második beadandó feladatok

A feladat egy widget létrehozása, egy számbeállító vagy egy kiválasztó widget. A beadandóra szünettel együtt négy hét áll rendelkezésre.

A leadási határidő: ápr. 22, reggel 8 óra.

A választási lehetőség az egyes widgetek megjelenítésében és működésében van.

1. számbeállító widget

  • 1.a. számot ábrázoló kijelző, mellette egy növelő és egy csökkentő gomb.
  • 1.b. húzható kapcsoló, a két szélén egyesével léptető gombokkal
  • 1.c. számjegyenként egy-egy növelő és csökkentő gomb
  • 1.d. tetszőleges egyéb, előre megbeszélt vizualizáció, ami nem kizárólag billentyűzetről olvas számjegyeket
  • 2. kiválasztó widget

  • 2.a. menü, a kiválasztott elem más (háttér)színű (a képen a felső esetet kell megoldani, ahol csak egy elem lehet kiválasztva)
  • 2.b. legördülő menü, a kiválaszott elem látszik csak, egérgombra legördül egy menü, a kiválasztás után a menü eltűnik, és a kiválasztott elem veszi át a helyet. Valamivel jelezni kell a legördítés lehetőségét (általában lefelé mutató háromszög)
  • 2.c. rádiógomb. A kiválasztott elem előtt nem üres a doboz/karika (mindig csak egy lehet kiválasztva, de lehetséges, hogy egyik sem!)
  • 2.d. a kiválasztott elem látszik csak, egér fölévitelekor megjelenik az előző/következő két-három lehetőség függőlegesen, ami az egérgörgővel görgethető. ( ilyesmi, csak ennyire nem kell animálni)
  • 2.e. tetszőleges egyéb, előre megbeszélt vizualizáció
  • Közös követelmények

    (ebből van több):
  • A beadandónak tartalmaznia kell a widgetet, egy őswidget osztályt, egy tesztelő main.cpp programocskát, ami a képernyőre teszi a widget két példányát, és egy billentyű nyomására (eseményciklusban közvetlenül is szabad elkapni) az aktuálisan beállított értékeket ellenőrzésképpen megjeleníti vagy fájlba írja
  • A beadandó maximális pontot akkor kaphat, ha a widgetek egy előre lefordított könyvtárban vannak, amiket ebben az állapotban használ a tesztelő főprogram. Ebben az esetben a .cbp fájl is feltöltendő a forráskód mellé.
  • a tesztprogramnak, vagy a könyvtárnak a része az a mechanizmus, amelyik egyszerre kezel tetszőleges számú ilyen widgetet, kihasználva a polimorfizmust
  • a számbeállító widgetnek intervallumot lehet adni konstruktorban, amiből nem enged kimenni
  • a számbeállító widgeteknek kezelniük kell a le-föl és pageup-pagedown billentyűket.
  • a kiválasztó widget vector<string>-a paraméterrel hozható létre, és van metódusa új választási lehetőség felvételére. A sorrend tetszőleges a választási lehetőségek között.
  • a méretváltoztató widgetek kis és nagy méretét is meg lehessen adni
  • a kiválasztó widgetben görgetni kell a túl sok lehetőséget, ha nem fér el a választék a widgetnek megadott területen
  • az "egyéb" vizualizációs lehetőségeket a gyakorlatvezetővel egyeztetni kell
  • Emlékeztető: a későbbiekben ezt a komponenst újra és újra fel kell majd használnod, tehát nem érdemes kapkodni vagy összecsapni, mert akkor később meggyűlhet vele a bajod. Igyekezz olyan működési stratégiát kitalálni, amit a későbbiekben is szívesen használsz majd.