next up previous contents
Next: Životní cyklus programu Up: Implementační poznatky Previous: Vývojové prostředí

Programování editoru

Editor afinních transformací jsem vyvíjel tak, že jsem nejprve navrhl vizuální podobu oken a dialogů v programu. Potom jsem ke každému prvku dopsal příslušný programový kód, který specifikoval chování prvku a jeho reakci na požadavky uživatele. Pro většinu dialogových oken byl podpůrný kód poměrně krátký (cca 500 řádků kódu). V programu jsem s výhodou použil některé systémové dialogy. Jedná se například o dialog pro výběr souboru pro čtení nebo zápis, nebo dialog pro změnu barvy. Tyto dialogy jsou již zabudovány v systému Windows, proto je jejich použití jednoduché a efektivní. Složitější bylo navrhnout chování editačního okna. V tomto okně může uživatel buď kreslit základní objekt, nebo provádět transformace na již existující objekty. Bylo tedy nutno reagovat na pohyb myši a na stisk jejich tlačítek. Pro přehledné naprogramování jsem zvolil konečný automat. Stav konečného automatu určoval operaci, kterou uživatel právě prováděl. Například pro provedení transformace rotace jsou zapotřebí tři stavy: Také bylo třeba navrhnout vstupní a výstupní filtry pro komunikaci z jinými programy. Zde jsem musel použít dokumentaci k těmto programům, kde byla popsána syntaxe a sémantika jejich datových souborů. Někdy nebyly tyto informace dostupné, nebo byly nepřesné. To se týká především programu FractInt, který sice obsahuje velmi podrobnou a přesnou dokumentaci o fraktálech, ale syntaxe jeho vstupních souborů není přesně popsána a mění se s každou verzí programu.
next up previous contents
Next: Životní cyklus programu Up: Implementační poznatky Previous: Vývojové prostředí
Tisnovsky Pavel
1999-05-30