Inceputul
Acest document descrie modul in care am convertit o aplicatie KDE sa
utilizeze noul cadru de lucru pentru interfete bazat pe XML.
Am ales sa folosesc
"kedit" ca exemplu de aplicatie intrucit are o combinatie de elemente standard si
ne-standard si care in mod categoric trebuie sa fie conforma standardelor.
Am modificat doar trei fisiere pentru a realiza acest lucru: Makefile.am,
kedit.cpp, si kedit.h. De asemenea, am adaugat un fisier:
kdeui.rc
Notiunile cuprinse in acest document sint destul de generale si pot fi aplicate
aproape oricarei aplicatii KDE.
Procedura de baza
Intr-un anume fel, conversia seamana cu o misiune de tip "cautare si eliminare".
Voi cauta reminiscente ale vechiului cod UI, voi sterge citeva linii
si voi adauga o linie pentru a-l inlocui.
In general, procedura decurge in modul urmator:
- Cautarea codului oricarei bare de meniu si bare de unelte (toolbar).
- Cind gasiti codul, determinati daca elementul creat este un
element "standard" sau este un element specific aplicatiei. Puteti folosi
clasa KStdAction sau puteti merge direct la sursa si verifica Ghidul
standardelor KDE UI (KDE UI Standards Guide).
- Daca un element este standard, stergeti elementul si inlocuiti-l cu o
actiune KStdAction (de obicei o singura linie de cod, alteori mai multe).
Reluati pasul unu.
- Daca elementul este specific aplicatiei, stergeti-l si inlocuiti-l cu
un nou obiect KAction. Numele intern pe care il veti da obiectului KAction
este important deoarece va fi folosit in pasul urmator.
- Creati (sau adaugati) un fisier XML specific aplicatiei. Introduceti noua
actiune in fisierul XML folosind numele intern. Ce meniu veti insera este
doar o chestiune de rationament.
- Repeta pina cind tot vechiul cod dispare.
In mod tipic, veti vedea o micsorare a codului UI de aproape patru ori.
Gasirea fisierelor corespunzatoare
Fisierele pe care le cautati sint interfata si implementarea clasei derivate
din KTMainWindow. Retineti, daca aplicatia dumneavoastra nu foloseste
KTMainWindow, ea nu poate folosi (cu usurinta) nici codul XML UI. In aproape
toate cazurile cu aceeasi conventie de denumire a fisierelor, acestea vor avea
denumiri asemanatoare cu kmyapp.h si kmyapp.cpp.
Daca aveti 'actiuni' locale (si e posibil sa aveti), atunci va trebui sa modificati
Makefile.am pentru a adauga doua linii si a modifica inca doua.
Veti adauga de asemenea un fisier nou distributiei daca aveti actiuni locale.
|