Kompilace zápisů do jednoho celku

Author Jan Holešovský
Date created 18.3.1999
Project KTTV
CVS $Header: /home/projekt/cvs/plpoint/docs/komp_zap.html,v 1.1 1999/03/18 16:46:17 kendy Exp $

Poznámka: Číslo v závorce na začátku řádku označuje, ve kterém zápisu se daná myšlenka objevila.

Všeobecně

(3) Jako GUI je použito wxWindows.

(3) Se správou verzí nám pomáhá cvs na stroji vidla.kolej.

(3) Projekt vytváříme ve spirálovém modelu se dvěma obrátkami. V první otestujeme nástroje a architekturu, ve druhé doplníme specifikaci, návrh a doimplementujeme další funkce.

(3) Abychom věděli, co nám jak dlouho trvalo, bude si každý zapisovat hodiny strávené na projektu.

(5) Nebude se používat žádný nástroj CASE.

(5) Programy budou ve finále 3 -- editor, konvertor pro web a viewer.

(7) Možnost vytvořit v textu link na určitou skupinu objektů uvnitř slidu. (Část slidu se při klepnutí na odkaz zvýrazní...) Tato možnost bude jen v režimu prohlížení dokumentu.

(7) Je nutné mít funkci "undo".

(9) Nebudeme používat STL.

(10) Zásobník pro "undo" a "redo" je společný pro celý dokument.

(10) Programovací techniky: streamy ať používá, kdo chce. Vyjímky zkusíme nepoužívat.

(10) Každý si testuje sám, co napsal. Testovací prográmky jsou uloženy v adresáři, kde je kód, jehož se testování týká, a jejich jmého má formát "jméno.test.cc".

(11) Zoom se (narozdíl od změny velikosti) týká jen zobrazení.

(13) Hlavičky nebudou automaticky generovány pomocí cvs.

(21) Návrh na opuštění wxWindows.

Slidy

(4) Prvky v z-orderu. Možnost křivek. Nebude "hlavní pozadí" -- něco, co by bylo na kažném slidu.

(5) Příznak "zachování poměru stran" u elipsy a obdélníka --- kvůli nalepení ke kotvě.

(7) Slidy se budou editovat v jiném okně než text.

(13) Změna: Všechny editace probíhají v jednom okně.

(10) Popisek slidu se bude editovat v rámci editace slidu. Bude to text bez formátování.

(11) Slidy budou měřeny v relativních jednotkách. (Jako zlomek velikosti slidu.) Při fyzické změně velikosti slidu se všechny objekty v poměru zvětší či zmenší. (16) Bude tag <PRESENTATION>, za kterým bude následovat seznam slidů pro prezentaci.

Odstavce

(4) V odstavci nebudou: bitmapy, obtékání obrázku, matematika.

(9) Pro uložení texu v paměti existují dvě strategie, a to jako strom objektů nebo jako rovný text se zarážkami.

(10) Možnost vynuceného zalomení stránky.

(11) Texty budou měřeny v absolutních jednotkách odvozených od mm. Při fyzické změně velikosti odstavce dojde k jeho přeformátování.

(14) Na řetězce obsahující nulové byty bude použita třída wxString, není potřeba vytvářet vlastní.

Parser

(7) Kontrola syntaktických chyb bude prováděna na úrovni parseru. Formát souboru je hlavně naše věc, takže pokud v něm někdo něco mění, je jeho chyba, když něco zkazí. Chyby budou zobrazovány ve formě varování.

Vzorkovník

(6) Nebudou v něm ikony, v každém .kttv souboru bude právě jeden vzorkovník a objekty se budou ze vzorkovníku kopírovat (nebude se na ně odkazovat).

(7) Při editaci textu není potřeba schovávat okno vzorkovníků.

(7) V první fázi se ikony buď nebudou používat vůbec nebo jenom nějaké natvrdo zadané. V další fázi je možnost buď ikony generovat nebo mohou být v externích souborech.

(10) Vzorkovníky budou v jednom okně a to na kartách "s oušky".

Tabulky

(7) Buňky tabulky se musí označovat po maximálních blocích, aby nevznikla buňka neobdélníkového tvaru.

Hajzlbába

(12) Hajzlbába je objekt, ve kterém se nachází seznam všech bloků a který zajišťuje jeho propojení s GUI toolkitem.

(13) Zoom je vlastnost hajzlbáby.