Implementácia prototypu
Prototyp bol navrhnutý iba na demonštráciu charakteristických vlastností vyvíjaného produktu. Jeho hlavným cieľom je zoznámiť používateľa s ovládaním ako aj správaním sa celého programu. Väčšina ovládacích prvkov je ešte nefunkčná.

Implementačné prostredie
Produkt je vyvíjaný vo vývojovom prostredí MS Visual C++ 5.0TM s využitím prvkov Win32 SDK. Na preloženie programu je teda nutné prostredie MS WindowsTM verzie 4.0 a viac (Windows 9x, Windows NT 4.x a viac). Prototyp zatiaľ nepoužíva knižnicu DirectX.

Štruktúra prototypu
Keďže prototyp zatiaľ nevyužíva vlastnosti DirectX, jednotlivé obrazovky sú štandardné okná zväčšené na veľkosť obrazovky. Aby sa charakter ešte viac priblížil k full-screen módu podporovanému knižnicou DirectX, aktívne okno je vždy pred všetkými ostatnými oknami. Budúci vzhľad jednotlivých okien a rozloženie jednotlivých ovládacích prvkov je znázornený bitmapami. Z ovládacích prvkov sú zatiaľ aktívne iba tlačidlá, postačujúce pre prechádzanie jednotlivými časťami (oknami) programu. Pre kompaktnejší celkový vzhľad bolo nutné navrhnúť vlastné ovládacie prvky.

Ovládacie prvky
Každý typ ovládacích prvkov je reprezentovaný svojou vlastnou triedou (v zmysle koncepcie Win32 SDK a tvorby vlastných typov okien a ovládacích prvkov). Pred ich použitím je teda nutné zaregistrovať príslušnú triedu. Samotné vytvorenie ovládacích prvkov je podobné ako u štandardných typov, pribudli parametre pre zadanie bitmáp so vzhľadmi pri jednotlivých stavoch prvku, prípadne parametre nutné k udaniu citlivých zón. Každý prvok môže mať vlastný identifikátor a vlastný handler okna.

Prvky sa navonok správajú ako štandardnné preddefinované komponenty. Komunikujú s ostatnými oknami pomocou správ. Typy správ závisia od typu ovládacieho prvku. Správy a ich parametre sú totožné so správami štandardných prvkov, niektoré prvky navyše využívajú správy ďaľších prvkov. Všetky prvky majú nastavený príznak NOTIFY, t. j. pri každej udalosti, ktorú dokážu spracovať a môže byť dôležitá pre ostatné okná alebo prvky, vyšlú tzv. notofikačnú správu. Napríklad pri stlačení ľavého tlačidla myši nad ovládacím prvkom typu tlačidlo, vyšle sa správa BN_PUSHED, prípadne BN_CLICKED, v závislosti od štýlu (typu) tlačidla.

Prvok sa môže nachádzať v štyroch stavoch:
? Normálny - prvok je pripravený odchytiť udalosť, kurzor myši sa nachádza mimo jeho citlivej oblasti
? Aktívny - prvok je pripravený odchytiť udalosť, kurzor myši sa nachádza v jeho citlivej oblasti
? Označený - kurzor myši sa nachádza v citlivej oblasti a nastala udalosť, ktorú daný prvok dokáže spracovať
? Zmrazený - prvok nereaguje na žiadnu udalosť od používateľa
? K jednotlivým stavom prislúcha vždy iný vzhľad prvku, či jeho časti. Všetky typy prvkov spracúvajú správy BM_GETSTATE a BM_SETSTATE. Prvky reagujú na udalosti od používateľa iba prostredníctvom myši. Vstup z klávesnice nie je odchytávaný.

Zatiaľ je každý typ ovládacích prvkov implementovaný v samostatnom module. V budúcnosti by sa mali všetky typy zhrnúť do jednej knižnice tak, ako je tomu v prípade štandardných ovládacích prvkov (Common controls).

Minimálne požiadavky a konfigurácia
Ako bolo uvedené vyššie, prototyp vyžaduje pre svoje spustenie MS WindowsTM 4.0 a viac. Minimálna konfigurácia je Pentium* 100 MHz.

Prototyp bol navrhnutý pre grafické rozlíšenie 800x600 a silne odporúčam toto rozlíšenie, ináč sa výrazne naruší estetická stránka programu a váš celkový dojem z neho.
Pamäťové nároky sú vyššie vzhľadom na veľké množstvo bitmáp. Minimálna konfigurácia je 16 MB RAM a dostatok volného miesta na disku, doporučená konfigurácia je 32 MB - čím viac tým lepšie.

Navrhované rozšírenia
Prechod od tohto prototypu k finálnej podobe výsledného produktu bude mať niekoľko etáp:
? Najprv sa musia dokončiť všetky ovládacie prvky a uložiť ich do jednej samostatnej knižnice.
? Podstatnou zmenou bude prechod ku knižnici DirectX. Bude sa týkať tak samotných okien, ako aj ovládacích prvkov. Program bude bežať v celoobrazovkom grafickom režime s rozlíšením 800x600 bodov, 24bitové farby.
? Načítavanie jednotlivých príkladov a ich členenie do kategórií bude riešené ako otvorená architektúra. Príklady budú uložené na disku v stromovej štruktúre. Podľa tejto štruktúry bude vytvárané aj samotné ovládacie menu. Štruktúra menu nemusí byť vždy presnou kópiou stromovej štruktúry na disku.
? Zobrazovanie textov k príkladom si vyžaduje navrhnúť vlastný prehliadač formátovaného textu, ktorý by dokázal zobraziť aj vzorce, prípadne obrázky so vzorcami.
? Samotný príklad sa bude skladať z troch častí. Prvá časť bude obsahovať kód programu, alebo animácia (v prípade, že príklad nie je interaktívny). Výstup (grafický) z tejto časti bude viditeľný v pravnej hornej časti obrazovky. Druhá časť bude tvorená zoznamom ovládacích prvkov (typ, umiestnenie, rozsah hodnôt). Ovládacie prvky sú umiestnené vždy v ľavej hornej časti obrazovky. Vzhľadu jednotlivých okien je venovaná samostatná kapitola. Tretiu časť bude formátovaný text, zobrazovaný v dolnej časti obrazovky.

Návrh grafickej časti

Úvod
Pri návrhu používateľského prostredia sme vychádzali so skutočnosti, že aplikácia musí z vizuálnej stránky byť jednak estetická, ale hlavne pre používateľa na pohľad príjemná a zrozumiteľná. Ďalším faktorom pri návrhu grafickej časti bolo efektívne a praktické využite plochy obrazovky. Rozhodli sme sa preto nevytvoriť používateľské prostredie použitím štandardných ovládacích prvkov systému Windows 95/98, ale vytvoriť svoje vlastné ovládacie prvky a obrazovky.

Postup
Postup pri grafickom návrhu spočíval v návrhu obrazoviek a v návrhu vlastných ovládacích prvkov.

Popis návrhu obrazoviek
Navrhli sme základné tri typy obrazoviek:
? Základná obrazovka aplikácie – pozostáva z troch častí (viď obrázok nižšie)

Informačná obrazovka – pozostáva z dvoch častí (viď obrázky nižšie).
Tento typ obrazovky je použitý pre zobrazenie informácií o programe a o autoroch, a pre Pomocníka k aplikácii.



 
 

 Obrazovka pre príklady – pozostáva zo štyroch častí (viď obrázky nižšie).


Popis návrhu ovládacích prvkov
Navrhli sme nasledujúce tri typy ovládacích prvkov:
? tlačidlo - tlačidlo existuje v štyroch stavoch (viď kapitola Implementácia prototypu), čo znamená, že pre každý stav každého tlačidla bolo treba jeden grafický návrh. Tlačidlá sú podľa funkcie farebne rozlíšené:
? modrá farba - tlačidlá systémovej ponuky
? červená farba - systémové tlačidlo “koniec”
? žltá farba - tlačidlá ponuky “obsah”
? zelená farba - tlačidlá pre spustenie príkladu
? posuvná lišta - používa sa výhradne pre textové okno, kde slúži na presúvanie sa v texte presahujúcom svojou veľkosťou veľkosť textového okna.
? trackbar - grafickým vzhľadom je tento ovládací prvok veľmi podobný posúvacej lište, avšak tento slúži na výber (zmenu) parametru v príklade
Používateľská príručka
Úvod
Cieľom projektu je vytvoriť efektný multimediálny projekt, ktorý bude nielen pôsobivý, ale by si aj nevtieravým spôsobom získal diváka, teda používateľa. Jeho úlohou nie je vytvoriť didaktickú pomôcku pri výučbe, ale podať niektoré poznatky záujemcom o fyziku vedecko-populárnym spôsobom. To znamená priblížiť niektoré zaujímavé oblasti fyziky hravou formou a na zjednodušených modeloch fyzikálnych pokusov, simulovaných pomocou počítača, ukázať pôsobenie týchto fyzikálnych zákonov.

Projekt je určený širokej verejnosti, preto aj jeho obsah a aj jeho používanie je veľmi jednoduché. Bude obsahovať niekoľko oblastí fyziky, ktoré možno nájsť v osnovách základných a strených škôl. Z každej oblasti bude k dispozícii niekoľko pokusov, či už interaktívne simulovaných alebo podaných výkladovou formou za pomoci multimediálnych efektov ako hypertext, obrázky, zvuky a animácie.

Požiadavky prototypu
Jedná sa o multimediálnu aplikáciu, preto bude pomerne náročná na hardware počítača. Predkladaný prototyp nie je taký náročný, aj keď pri jeho tvorbe sa už myslelo na neskoršie nároky. Terajšie nároky prototypu na počítačové vybavenie sú:
? systém odvodený od systému Win32 (Windows NT, Windows 95, Windows 98)
? rozlíšenie grafickej karty 800x600xTrueColor podporované systémom
? pripojená klávesnica a zariadenie kompatibilné s myšou

Spustenie prototypu
Prototyp sa spustí vykonaním binárneho súboru Team5Demo.EXE. Prototyp neobsahuje žiadne iné súbory okrem tohto spustiteľného súboru.

Rozhranie aplikácie
Aplikácia má používať rozhranie DirectX a to nielen na prezentáciu fyzikálnych pokusov ale aj ako užívateľské rozhranie celej aplikácie. Z toho vyplýva implementovanie vlastných grafických prvkov rozhrania a teda celý vzhľad aplikácie je špecifický. Kompletný hotový systém sa bude skladať z viacerých spustiteľných súborov, z ktorých jeden tvorí hlavný spustiteľný súbor a poskytuje užívateľské rozhranie a implementuje spôsoby zobrazenia hypertextu. Nebude použitý štandardizovaný hypertext známy ako HTML, ale vlastný, nami vytvorený, vychádzajúci z už použitého hypertextu v jednom z minulých ročníkových projektov. Spustenie ostatných spustiteľných súborov sa deje bez vedomia užívateľa a to jeho príkazom na spustenie nejakej prezentácie alebo pokusu. Komunikáciu procesov zamýšľame postaviť na prvkoch Windows SDK ako sú spoločne používaná pamäť alebo named pipes – pomenované kanály.

Aplikácia je celoobrazovková a nie je možné zdieľať plochu obrazovky s inými aplikáciami.

Používateľské rozhranie
Ako sa spomenulo, aplikácia je určená širokému okruhu užívateľov, preto má značne jednoduché užívateľské rozhranie. Je ho možno ovládať len pomocou myši. Na úvod sa užívateľovi predstaví základná obrazovka, ktorá obsahuje základnú (pevnú) ponuku, ukončovacie tlačidlo "koniec", obsah kapitol fyziky a po výbere určitej kapitoly zoznam prístupných implementovaných pokusov.

Grafické prvky sú špecifické aplikácii a majú odlišný dizajn od prvkov GUI Windows. No ich fungovanie je rovnaké ako pri štandardnom rozhraní. Navyše sú jednotlivé skupiny prvkov odlíšené nielen názvom a umiestnením, ale aj farbou, ktorá je stála pre každú obrazovku aplikácie. Napríklad tlačidlo na ukončenie aplikácie je vždy červené, stála ponuka je modrá. Ostatné prvky sú žlté alebo zelené, podľa úrovne v ktorej sa nachádzajú.

Každý prvok sa zaktivuje hneď, ako nad ním prejde používateľ kurzorom myši, no požadovaná akcia sa vykoná až po kliknutí ľavým tlačidlom myši.


Stála systémová ponuka
Poskytuje užívateľovi informácie o aplikácii, o jej autoroch a pomoc pri ovládaní. Všetky tieto možnosti budú pravdepodobne riešené pomocou hypertextu. Momentálne v prototype je implementovaný len dizajn obrazovky príslušnej zvolenej akcie. Obrazovka obsahuje tlačidlo na ukončenie aplikácie, tlačidlo na návrat do hlavnej obrazovky a okno pre hypertext danej akcie.
Ukončenie aplikácie
V každej obrazovke aplikácie sa nachádza červené tlačidlo koniec, ktoré bezpodmienečne ukončí beh aplikácie.
Výber témy a pokusu
Výber tém a pokusov je implementovaný pomocou dvojúrovňového zoznamu. Ponuka obsah obsahuje zoznam prístupných statí. Po výbere jednej z nich sa pre danú stať zobrazí zoznam prístupných pokusov a prezentácií. Zavádzanie celého dvojúrovňového zoznamu bude prebiehať zo súboru na disku. Momentálne v prototype sú natvrdo dané položky a slúžia len ako príklad fungovania aplikácie. Ani zoznam statí nie je skutočný.

Po výbere konkrétneho pokusu alebo prezentácie sa objaví obrazovka pokusu alebo prezentácie.
 Informačná obrazovka
Tento typ obrazovky sa používa na zobrazenie textovej informácie o autoroch, o aplikácii a Pomocníka. Zobrazuje sa po stlačení príslušného tlačidla zo systémovaj ponuky. Táto časť aplikácie je v prototype zatiaľ statická, ukazuje návrh informačného okna. Je tu tlačidlo návratu do predchádzajúcej obrazovky, tlačidlo ukončenia aplikácie a okno pre príslušný text.


Obrazovka pokusu alebo prezentácie
Táto časť aplikácie nie je funkčná v prototype, len ukazuje návrh okna pokusu a jeho ovládanie. Je tu tlačidlo návratu do hlavnej obrazovky, tlačidlo ukončenia aplikácie, okno pre hypertext k danému pokusu, prvky grafického rozhrania pre parametre simulovaného pokusu a okno pre animáciu alebo simulovaný pokus. O toto okno sa bude deliť aplikácia s jedným z jej pomocných procesov.