online help
Please translate help/user manual to english, deutch and create online version containing:
- menu/main window description
- basic/scientifi
- cal file format description
Description in hungarian:
Felhasználói leírás
A PolyCalc egy gyorsan bövithetö és programozható kalkulátor különbözö
célú billentyüzetkio
tartalmaz, az egyszerü és a tudományos kalkulátor kiosztást. Emellett
a programhoz további kiosztások tölthetöek le.
A letöltött kiosztások installálása egyszerüen a fájl megfelelö könyvtárba
másolásával történik. Ez a könyvtár Linuxon a /usr/share/polycalc könyvtár, Windowson pedig a
PolyCalc telepítési könyvtára, ahol az indítható állomány található.
A PolyCalc menüje:
File/Quit - kilépés az alkalmazásból
View/Command Log - megjeleníti/elrejti a kifejezéseket és eredményeket loggoló ablakot
Options/... - váltás a különbözö kalkulátorok között
Help/PolyCalc - help oldal
Kiosztás fejlesztői leirás
A PolyCalc kalkulátor egy programozható keretrendszer amivel egyszerűen lehet különböző célú kalulátorokat létrehozni.
A PolyCalc alkalmazás részei
Gomb kiosztás
A kalkulátor gombjainak és egyéb megjelenítőinek gyüjteménye. A gombokat a kalkulátor dinamikusan hozza létre
a kiosztás leíró fájlok alapján. Lásd PolyCalc formátum bekezdés.
Kijelző
Az eredményt megjelenítő kijelző elem. Ez egyben egy kifejezés szerkesztő doboz és egy
legördülő menü amiből az előző kifejezések kiválaszthatóak.
Kalkulátor motor (engine)
A kalkulátor motor az a parancsértelmező, aminek a gombokkal begépelt kifejezések átadódnak, majd az általa
kiértékelt kifejezés eredménye a kijelzőre íródik.
Adatcsatorna motor
A kalkulátorban van egy QtScript szkriptmotor. A kalkulátor különböző események hatására a szkript motorban
előre deklarált és a leirófájlokban opcionálisan implementált függvényeket hív meg.
Ezek a függvények módosíthatják a kalkulátor belső adatait (pl. státuszbár szöveg, kijelző szöveg).
Bövebbel lásd: tag: hooks
PolyCalc formátum
A PolyCalc kiosztás leíro fájl XML formátumu. A formátum a polycalc.xsd XML séma fájlal validálható.
tag: polycalc
A fajlban egy 'polycalc' gyökér tagnak kell lennie. Ennek egy kötelező version attributuma van, ami visszafele kompatibilitast jelöl.
A jelenlegi leiras az 1.0-as formatumhoz tartozik.
<polycalc version=
A 'polycalc' tag a következő tag-tipusokat tartalmazhatja:
* engine (opcionális)
* hooks (opcionális)
* statusbar (opcionális)
* buttontable
tag: engine
Ez az opcionális tag a layout-hoz tartozó kalkulátor motort, illetve annak konfigurációját specifikálja.
Ez alap értelmezésben a Qt beépített scriptnyelve, a QtScript, ami az ECMAScripten alapszik (leírás:link).
A motort a tag-hez tartozó type attributum határozza meg. Ennek lehetséges értékei:
* QtScript - beépített QtScript
* external - külső program, aminek meghívását a 'command' attributummal specifikáljuk
<engine type="external" command=
<init>
</engine>
Opcionálisan tartalmazhat egy 'init' tag-et amibe inicializációs kód kerülhet, ami átadódik a motornak
annak létrehozásakor.
tag: statusbar
A 'statusbar' egy opcionális tag egy 'text' nevű kötelező attributumot tartalmaz. Ez az attributum egy olyan
QtScript kifejezést tartalmaz, amit az adatcsatorna motor értékel ki. Ennek az eredménye lesz a státuszbárra
kiírt szöveg. A státuszbár minden gombnyomás hatására frissül.
<statusbar text='"status: "+error' />
tag: hooks
Opcionális tag, ami az Adatcsatorna motorhoz tartalmazhat eseménykezelő függvényeket.
Ezek a függvények külön al-tag-be kerülnek. Lehetséges al-tag-ek:
* init: inicializációs kód a motorhoz
* presend: lefut, mielőtt a kifejezés átadódik a motornak;
* postsend: lefut, miután a kifejezés átadódott a motornak;
* preshow: lefut, minden kijelző megváltozás előtt;
Példa: ';' hozzáfűzése minden parancshoz mielőtt átadódik a kiértékelő motornak:
<hooks>
Adatcsatorna motorban elérhető kalkulátor belső változók:
* cursorpos: a szövegdobozban levő kurzor poziciója
* selected: kijelölt szövegrész, ha van kijelölés
* beforeselection: a kijelölt szövegrész előtti szövegrész
* afterselection: a kijelölt szövegrész utánni szövegrész
* beforecursor: a kurzor előtti szövegrész
* aftercursor: a kurzor előtti szövegrész
* display (read/write): a kijelzőn lévő aktuális kifejezés
* command (read/write): a kalkulátor motornak küldendő, a display értékével inicializált kifejezés
* reply: a kalkulátor motor válasza az elküldött kifejezésre
tag: buttontable
Ez a tag tartalmazza a gombok és azok elhelyezkedésének definicióit. A gombokat rács
formában lehet elhelyezni, a rács sorokból áll, ahol a sorok minden cellája egy gombot,
label-t vagy egy beágyazot al-rácsot tartalmazhat. A 'a buttontable' tag egyetlen 'grid'
tag-et tartalmaz.
<buttontable>
<grid>
<row>
<button caption="1" append="1" />
<button caption="2" append="2" />
</row>
<row>
<button caption="3" append="3" />
<button caption="4" append="4" />
</row>
</grid>
</buttontable>
tag: grid
Rács definiciós tag. Egy vagy több 'row' taget tartalmazhat a rács sorainak megfelelően.
A rács tag három opcionális attributumot tartalmazhat:
* spacing: a cellák közötti rés mérete;
* stretch: a rács alrács, a szülőrács megfelelő oszlopának szélessége. Az érték egy arányszám,
ami alapértelmezésben 1, és a többi oszlophoz való arányt jelzi. Csak egész számokat tartalmazhat.
* style: CSS stilus szöveg, amivel a gombok/label-ek stílusa határozható meg
(bővebben: lásd Qt CSS styles).
tag: row
A rács sorait definiálja. Tartalmazza a benne lévő cellákhoz tartozó tag-eket (grid,label,
Opcionális attributumai:
* stretch: a sor magasságának aránya a grid megfelelő attributumának mintájára
* style: lásd grid
tag: button
A kalkulátor gombjait definiáló tag. Attributumai:
* caption: a gomb felírata, unicode karaktereket tartalmazhat.
* stretch, style: lásd grid tag.
* send: meghatározza, hogy a gomb lenyomása után a kapott kifejezés elküldődjön-e a
kalkulátor motornak. Értéke true vagy false.
A következő négy attributum a gombnyomás hatására a kijelző módosítását szabályozza:
* set: az attributum szövege a kijelzőben lévő szöveg helyére kerül;
* insert: az attributum szövege szúródik be a kurzor után vagy a kijelölés helyére;
* prepend: az attributum szövege a kijelzőben lévő szöveg elejéhez adódik;
* append: az attributum szövege a kijelzőben lévő szöveg végéhez adódik;
Emellett az adatcsatorna motorhoz gombonként is meghatározhatóak a már bemutatott eseményvezérlő kódok:
* preshow
* presend
* postsend
tag: label
Egy szöveges kijelzőt definiáló tag. 'caption' attributuma határozza meg a kijelzett szöveget.
A 'style' attributum a stílusát határozza meg. A 'label' elnevezhető a 'name' attributummal.
Ezzel a névvel a label szövege elérhető/átírható az adatcsatorna motoron keresztül.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Esthefan Maleki
- Definition:
- New
- Series goal:
- Accepted for 0.1
- Implementation:
- Implemented
- Milestone target:
- 0.1.0
- Started by
- Esthefan Maleki
- Completed by
- Laszlo Simon