Initial from sourceforge's cvs. default tip
authorviric@llimona
Thu, 18 May 2006 23:05:01 +0200
changeset 0 04114bce8fd0
Initial from sourceforge's cvs.
.hgignore
AUTHORS
ChangeLog
Doxyfile
README
TODO
doc/ENGLISH_TERMS
doc/GaladrielCodingStyle.txt
doc/KNOWLEDGE_BASE
doxygen/html/.cvsignore
doxygen/html/annotated.html
doxygen/html/chartwindow_8h-source.html
doxygen/html/classDBConfigureForm-members.html
doxygen/html/classDBConfigureForm.html
doxygen/html/classInfoLabel-members.html
doxygen/html/classInfoLabel.html
doxygen/html/classInputCombo-members.html
doxygen/html/classInputCombo.html
doxygen/html/classInputField-members.html
doxygen/html/classInputField.html
doxygen/html/classMainPanel-members.html
doxygen/html/classMainPanel.html
doxygen/html/classes.html
doxygen/html/dbconfigureform_8h-source.html
doxygen/html/doxygen.css
doxygen/html/doxygen.png
doxygen/html/files.html
doxygen/html/functions.html
doxygen/html/index.html
doxygen/html/infolabel_8h-source.html
doxygen/html/inputcombo_8h-source.html
doxygen/html/inputfield_8h-source.html
doxygen/html/mainpanel_8h-source.html
doxygen/html/tdbconfig_8h-source.html
sql/account_chart.sql
sql/tables-mysql.sql
src/.cvsignore
src/chartwindow.cpp
src/chartwindow.h
src/dbconfigureform.cpp
src/dbconfigureform.h
src/infolabel.cpp
src/infolabel.h
src/inputcombo.cpp
src/inputcombo.h
src/inputfield.cpp
src/inputfield.h
src/main.cpp
src/mainpanel.cpp
src/mainpanel.h
src/tdbconfig.h
yagl
yagl.pro
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,3 @@
+^yagl$
+^html/
+^Makefile$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AUTHORS	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,1 @@
+Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ChangeLog	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,3 @@
+
+-- 23/08/2003 -- viric
+* Added MDI workspace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Doxyfile	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,204 @@
+# Doxyfile 1.3
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = yagl
+PROJECT_NUMBER         = 1
+OUTPUT_DIRECTORY       = 
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+EXTRACT_ALL            = NO
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = YES
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+BRIEF_MEMBER_DESC      = NO
+REPEAT_BRIEF           = YES
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+SHORT_NAMES            = NO
+HIDE_SCOPE_NAMES       = NO
+VERBATIM_HEADERS       = YES
+SHOW_INCLUDE_FILES     = YES
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+DISTRIBUTE_GROUP_DOC   = NO
+TAB_SIZE               = 8
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ALIASES                = 
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+SHOW_USED_FILES        = YES
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = src
+FILE_PATTERNS          = 
+RECURSIVE              = NO
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = 
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 2
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = doxygen/html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = 
+HTML_FOOTER            = 
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_SCHEMA             = 
+XML_DTD                = 
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = 
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+GRAPHICAL_HIERARCHY    = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 1024
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 0
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
+CGI_NAME               = search.cgi
+CGI_URL                = 
+DOC_URL                = 
+DOC_ABSPATH            = 
+BIN_ABSPATH            = /usr/local/bin/
+EXT_DOC_PATHS          = 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,26 @@
+= WHAT'S YAGL? =
+
+yagl stands for Yet Another GUI Ledger. It's an accounting program.
+
+
+= INSTALLATION =
+
+To run the program, just follow these steps under a sh shell:
+
+$ qmake
+$ make
+
+and then you'll get the final binary: "yagl", in this directory.
+
+
+= DATABASE =
+
+You need the database structure inside some kind of DBMS (MySQL for example).
+The tables are inside sql/ directory from the root of yagl.
+
+
+= REQUIREMENTS =
+
+- QT Libs 3.1.2
+- gnu make
+- gcc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TODO	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,8 @@
+General
+* Fer form de quadre de comptes
+* Fer form d'assentaments
+* Idear combo-boxes de taules relacionades amb les comptes (nou widget)
+
+DB
+* Que l'entrada de menú Conexió/Desconnexió es posin en gris segons calgui.
+  * Per fer això, cal fer el menú amb Actions.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/ENGLISH_TERMS	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,12 @@
+Els termes apareixen en dues columnes separades per un tabulador:
+Si modifiqueu la mida del tabulador (30 espais per exemple), veureu les taules
+bé.
+
+Català	Anglès
+----------------	-----------------
+Assentament	Transaction
+Moviment	Movement
+Compte	Account
+Quadre de comptes	Chart of Accounts
+Comptabilitat	Accounting
+Comptable	Accountant, Ledger
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/GaladrielCodingStyle.txt	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,303 @@
+                        Galadriel coding style
+
+                        Lluís Batlle i Rossell
+                     viric@vicerveza.homeunix.net
+
+		     Iniciat el 11/08/2003
+
+
+Aquest és un petit document que descriu l'estil d'escriptura de codi pel
+projecte Galadriel. L'estil d'escriptura és molt personal, i no s'han de forçar
+aquestes idees sobre ningú, però ja que és una cosa que hem de mantenir entre
+tots, seria bo que l'estil no ens dificultés aquesta feina. Així que, si més no,
+tingueu en compte els punts que aquí es mencionen.
+
+Aquest document no està ni revisat ni acabat. En alguns llocs hi ha comentaris
+de la forma (MAJUSCULES ?!), que significa que no sé què posar-hi, i algú de
+vosaltres segur que ho sabrà millor i abans que jo.
+
+Aquest document també està molt influenciat per la guia de Linus Torvalds:
+"Linux kernel coding style". El google us donarà la referència a aquest escrit.
+
+Espero comentaris ben aviat...
+
+
+                           1. Indentació (sagnat)
+
+Els tabuladors estan pensats per ser d'una longitud de 8 caràcters. Si volem
+respectar a la resta de món, aquest és l'esquema que hauriem de seguir. Però
+segur que s'aixecarà protestant molta gent si pretenem tabulacions d'aquesta
+mida. Això és perquè molta gent troba excessius 8 caràcters per a indentar; bé,
+indentar serveix per diferenciar quan comença i acaba un bloc de control, així
+que si fem indentacions grans diferenciarem molt més aquests blocs, sobretot
+quan alguns de nosaltres portem més de 15 hores davant de codi.
+
+Molts direu, tot i això, que 8 caràcters és una indentació massa gran, i que
+mouen el codi massa cap a la dreta... bé, tal com diu el senyor Torvalds, "if
+you need more than 3 levels of indentation, you're screwed anyway, and should
+fix your program". Això vol dir que utilitzar 8 caràcters també ens dóna una
+idea de quant bo és el nostre codi.
+
+Fer servir tabuladors de menys de 8 caràcters també porta problemes entre
+editors... sobretot per discernir quan s'indenta amb tabuladors o bé amb espais.
+
+De tota manera, podem justificar l'ús d'indentacions més petites perquè no és el
+mateix escriure en C++ que amb C; sembla una excusa, però és amb l'únic que ens
+podem recolzar. Queda doncs establert, tal com es va decidir a l'explicació d'en
+Shadow el dissabte, que s'utilitzarà indentació amb espais de 3 caràcters.
+
+
+                          2. Ample de pantalla
+
+Molts utilitzem GUIs per escriure el nostre codi, i el fet d'estar allunyat de
+l'antic mode de 80x25, tenir resolucions més grans i fonts més petites ens ha
+permès arribar a pantalles de 170x60. De tota manera, tot i que ens pensem que
+la majoria de gent ja utilitza resolucions superiors a 1024x768, no és bo
+imposar als programadors la nostra manera d'escriure codi. Encara són molts els
+que programen en 80x25, més que res perquè són les dimensions dels terminals més
+comuns. Són amb la que els terminals VT servien les lletres més grans
+(ideals per programadors cansats), les que ens dóna la BIOS abans de l'arrencada
+del sistema, i la de la majoria d'emuladors de terminal de X. A més a més,
+facilita molt el tenir diferents porcions de codi a la pantalla alhora. I donat
+que suposem que tothom disposa de monitors de diagonal poc superior a 14", les
+mides de caràcter no són massa petites per passar llargues hores davant la
+pantalla.
+
+
+                             3. Claus {}
+
+Un altre assumpte que sol portar confusions i incomoditats només perquè hi ha
+diferents estils d'escriptura de codi és la col·locació de les claus d'inici i
+fi de bloc. Seguint les indicacions de Kernighan i Ritchie, l'estil preferit és
+el de posar la clau d'obertura a final de línia, i la de tancament indentada a
+la mateixa columna que el que ha iniciat el bloc:
+
+   if (x == 1) {
+      printf("Hola");
+   }
+
+Tot i això hi ha un cas especial, les funcions. Tenen la clau d'obertura a
+l'inici de la següent línia, així:
+
+   int funcio(int x)
+   {
+      return 2*x;
+   }
+
+A molts no ens agrada aquesta aquesta inconsistència, però té una justificació:
+les funcions no es poden aniuar. El fet d'utilitzar sempre l'obertura de clau a
+la pròxima línia també fa que en aquesta línia no hi hagi res més escrit mai, i
+porta a problemes de lectura, com en els casos:
+	
+	do
+	{
+		printf( "%i\n", i );
+	}
+	while( i < 10 );
+
+o bé,
+
+	if( i > 10 )
+	{
+		printf( "i gran\n" );
+	}
+	else
+	{
+		printf( "i petita\n" );
+	}
+
+coses que evidentment queden molt més clares així:
+
+	do {
+		printf( "%i\n", i );
+	} while( i < 10 );
+
+o bé
+
+	if( i > 10 ) {
+		printf( "i gran\n" );
+	} else {
+		printf( "i petita\n" );
+	}
+
+El més important és que no quedin línies buides, ja que hem de pensar en les 25
+línies, a part de les 80 columnes. Al deixar menys línies buides permet
+reaprofitar aquestes línies de pantalla que no perdem per a afegir comentaris.
+
+
+                        4. Espaiat d'expressions
+
+Les expressions poden arribar a ser molt críptiques si no estan ben espaiades (o
+gens). Per tant, adoptarem la regla general de posar un espai entre cada valor
+(immediat o variable) i el seu operador binari, i no posar cap espai entre un
+operador unari i el valor a què afecta. Si les variables no fan servir caràcters
+més enllà dels alfanumèrics, això no hauria de suposar cap problema de lectura.
+
+El pas de paràmetres en una crida a una funció, així com a la seva definició, es
+farà enganxant el parèntesi d'obertura al nom de la funció, i els paràmetres el
+seguiran començant amb un espai de separació entre aquest parèntesi i el primer,
+i els següents aniran succeint com si d'un text redactat es tractés. Entre
+l'últim paràmetre i el parèntesi de tancament hi haurà, com en l'obertura, un
+espai de separació.
+
+En el cas de no haver-hi paràmetres, podem utilitzar () enganxat al nom de la
+funció.
+
+
+                       5. Definició de variables
+
+Alguns caràcters especials defineixen variables com a punters o referències als
+tipus de dades amb què les declarem. Considerarem que aquests caràcters no són
+operadors unaris, i són una dada més alhora de definir el paràmetre. Per tant,
+s'escriuran un espai després del tipus de dades a què apunten o referencien, i
+separats tans espais com calgui del nom de la variable (en el cas que alineem
+definicions). Això s'aplicarà tan al cos de les funcions com a la declaració
+dels seus paràmetres o valors de retorn.
+
+
+                            6. Nomenclatura
+
+Queda clar que totes les funcions i variables han de tenir noms clarament
+descriptius. Això sol implicar que aquests noms estiguin composats de més d'una
+paraula. Seguint l'estil dels de QT, utilitzarem la tècnica de que les paraules
+que composen el nom d'una class comencen totes amb majúscula (Amb una G
+majúscula de Galadriel a davant en el codi del kernel). Els mètodes
+s'escriuran igual que les classes, però amb la lletra de la primera paraula en
+minúscula. Les variables, igual que els mètodes (moltes vegades, en programació
+a objectes, no sabem si referenciem a mètodes o a variables. Això ha de
+mantenir-se transparent).
+
+	class Tree
+	{
+		int * firstLeaf;
+
+	public:
+		void addLeaf();
+	};
+
+En el cas de parlar de comptadors o altres estructures de codi en què l'ús de
+les variables queda molt clar, podem utilitzar variables d'una sola lletra (i,
+j, k, ...), preferiblement comptant per la i i sempre en minúscula.
+
+En implementar algoritmes matemàtics també podem utilitzar variables d'una sola
+lletra sempre i quan hi hagi un extens comentari amb el codi expressat
+matemàticament.
+
+
+                         7. Classes i estructures
+
+Entenem l'idea de Classe amb C++ com a una definició d'objectes que conté
+variables i -indispensablement- mètodes. Si ens trobem davant del típic ús de C
+d'una 'struct', ho declararem com a 'struct'. Queda despreciada l'estructura:
+
+	class MyClass
+	{
+	public:
+		int   a;
+		int   b;
+		int * c;
+	}
+
+Evidentment, només utilitzarem aquest concepte d'estructura si la idea d'una
+"classe amb els seus mètodes" fa complicat l'ús d'aquestes dades. També hem de
+preveure si farà o no falta una futura encapsulació; en aquest cas declararem
+una classe amb mètodes senzills.
+
+El tipus de definicions (public, protected o private, així com slots i signals)
+es faran al nivell d'indentació de la funció, ja que la indentació serveix per
+indicar 'blocs', i això és el que volem aquí. Podem utilitzar vàris entorns de
+public, protected o private per afegir claredat a la definició de la classe,
+utilitzant-los de separadors en les definicions de membres.
+
+Quan declarem una classe també espaiarem el nom de la classe, els
+dobles dos punts i el nom del mètode. Igualment amb l'herència en la definició
+de classes i en la crida a constructors de la mare.
+
+
+                           8. Mètodes senzills
+
+És fàcil trobar-nos amb mètodes (i sobretot constructors) que simplement
+assignen els valors dels paràmetres a variables privades de la classe. Per
+evitar codi redundant, utilitzarem el mètode ja disponible en C i que s'ha
+arrossegat fins a la crida de constructors de classes mare. Així que
+utilitzarem:
+
+	void MyClass :: Constructor( int _myVar )
+		: mother( _myVar ), classVar( _myVar ), 
+	{
+		//.... codi (si cal!)....
+	}
+
+Aquestes declaracions es poden fer fins i tot (preferiblement) -inline- dins
+la definició de la classe.
+
+La nomenclatura dels paràmetres de mètodes d'aquest tipus es farà utilitzant
+exactament el mateix nom que la variable interna, fet amb què s'evitarà
+utilitzar caràcters no alfanumèrics en la definició de variables (o altres
+invents) i s'aconseguirà l'ús de l'estructura anterior. En qualsevol altre cas,
+s'utilitzaran recursos de 'namespace' per diferenciarles (que és el que realment
+fem mentalment quan llegim codi que no compleix això).
+
+
+                                 9. Funcions
+
+Igual que amb l'indentació, hem d'evitar les funcions amb molts de paràmetres,
+ja que la definició i les crides ocuparien moltes columnes.
+Això significa que la funció és molt complexa; s'ha de derivar en funcions més
+senzilles. Qualsevol ha de poder entendre una funció pel seu nom, i qualsevol
+funció ha de ser prou senzilla com per ser reutilitzada al màxim. En casos en
+què necessitem un codi molt ràpid, podem demanar al compilador que ens posi les
+funcions 'inline'.
+
+Una funció ha de ser prou senzilla com per tenir poques variables locals. Masses
+variables locals indiquen que estem fent una funció que fa masses coses. Hem de
+tenir en compte que una funció és una cosa que el nostre cap ha de poder
+entendre al 100% en un mateix instant; no val a haver d'entendre el codi d'una
+funció per parts. El límit de variables locals el posa el nostre cervell.
+A més, sempre ens ho hem d'imaginar amb la perspectiva amb què veiem un codi fet
+fa dues setmanes, no amb la del moment d'escriure'l.
+
+
+                           10. Comentaris
+
+És molt bo que hi hi hagi comentaris en el que escrivim, sobretot per
+ajudar-nos a entendre què fa un tall de codi. Això és molt important si volem
+agafar una idea de com resol un problema una funció, sense haver d'entendre al
+100% com ho fa.
+
+És molt típic el problema de posar més comentaris del compte, sobretot en
+programadors novells. Només s'ha de tenir en compte una regla: no expliqueu COM
+resol el problema el vostre tall de codi. Simplement expliqueu QUÈ resol, o fins
+i tot doneu una referència a un mètode conegut. Però sobretot, no expliqueu mai
+COM ho feu. El codi ha de ser prou bo com perquè el que vulgui saber COM es fa,
+ho entengui llegint-lo.
+
+(MANIES DE FER LLARGS SEPARADORS HORITZONTALS ENTRE COSES !? )
+(CAPÇALERES DE FITXERS, GPL, ... )
+
+
+                         11. Definicions i doxygen
+
+Tots els comentaris del doxygen (així com els comentaris de mètodes, variables,
+funcions, classes i enumeracions) estaran a les definicions o prototipus.
+Aquests seran els més restrictius; inclouran els paràmetres per defecte, i
+altres informacions sobre les funcions: virtuals, estàtiques, constants...
+
+Tots els mètodes que siguin correctes en un objecte constant, ho indicaran. Les
+definicions dels que siguin reimplementables en herència, indicaran virtualitat.
+I les que no depenguin de les dades, indicaran estàtica.
+
+(EXPLICIT ?)
+
+Tots els mètodes i variables que puguin ser utilitzats en herència, seran
+declarats sota 'protected' en comptes de 'private'
+(possiblement serà en la majoria de casos).
+
+
+                               12. Encoding
+
+Tot el codi que escrivim ha d'estar en ASCII.
+Això significa oblidar els accents i caràcters per l'estil. De tota manera, de
+moment podem ser menys restrictius en els comentaris i les sortides de texte; en
+aquest cas utilitzarem ISO-8859-1 (aka Latin1), i totes les sortides de texte
+aniran dins del pertinent mètode estàtic 'tr' de QObject (mirar docs de QT). 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/KNOWLEDGE_BASE	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,194 @@
+
+                 Base de coneixement per desenvolupar YAGL
+                 -----------------------------------------
+
+		     Lluís Batlle i Rossell
+		     viric@users.sourceforge.net
+
+		     Iniciat el 12/08/2003
+
+
+     1. Introducció als conceptes que hi ha al voltant de la comptabilitat
+
+Els programes de comptabilitat serveixen perquè la gent pugui treure conclusions
+del funcionament de l'empresa a partir de dades que introdueix el comptable.
+
+Aquestes dades tenen forma d'assentaments, i fan referència als moviments de
+diners que fan referència a l'empresa: compres, vendes, inversions, crèdits, ...
+
+En un moviment de diners hi ha un origen i un destí; aquests es localitzen en el
+que anomenem "comptes". Els comptes són entitats que poden donar i rebre diners,
+i estan catalogats en quatre tipus: Actiu, Passiu, Ingressos i Despeses. Això
+significa que els origens i els destins dels diners han de ser per força
+d'aquests quatre tipus.
+
+Un assentament fa referència a un conjunt de moviments concret i quadrat. Això
+vol dir que tots els diners que algunes comptes dónen han d'anar a parar
+íntegrament a altres comptes. Per exemple, en un assentament el compte de
+"clients" pot donar diners a "ventes" i a "IVA".
+Els diners que "clients" dóna representen deutes de clients. Quan els clients
+ens paguin, tindrem que 
+
+Hi ha el que s'anomenen 'subcomptes' que són comptes fets pel comptable que
+l'ajuden a tenir més diferenciats els moviments. Això es sol fer per obtenir
+conclusions sobre elements més particulars, i per a tenir valors precalculats.
+Per exemple, si tenim subcomptes d'IVA per cada percentatge aplicat, podem
+calcular els valors a presentar en un informe d'IVA.
+
+
+                        2. Dades poc utilitzades
+
+Molts programes de comptabilitat permeten vincular subcomptes de clients a dades
+de persones o empreses. Això només és pels que utilitzen el programa de
+comptabilitat com a base de dades de clients; no te res a veure amb informes que
+es puguin generar.
+
+El mateix passa amb els proveidors.
+
+Les dades de l'empresa a qui portem els comptes són més importants, però només
+es necessiten pels informes
+
+
+                         3. Informació a guardar
+
+
+                                3.1 Comptes
+
+Els comptes es divideixen, segons el Pla General Comptable, en Grups, Subgrups i
+Comptes, a més d'alguns casos on apareixen Subcomptes. Cada un s'identifica per
+1, 2, 3 i 4 dígits respectivament. A més, com que és una estructura d'arbre, en
+un subcompte de 4 dígits, els tres primers coincidiran amb els del compte a què
+pertany, i així també amb els subgrups i els grups.
+
+Seguint aquesta regla, podem tenir subcomptes de tants de dígits com volem. Es
+solen fer subcomptes personals de vuit dígits, donant marge per exemple fins a
+100000 clients.
+Alguns programes de comptabilitat assumeixen que la compta 1 és la mateixa que
+la 10, i també la mateixa que la 100... i no tenen en compte els aniuaments que
+hi ha (la 10 és el conjunt de totes les que comencen amb 10, i això és diferent
+que la 100). Suposo que tenen tots els grups i subgrups "hardcoded"; de fet, no
+són programes massa flexibles.
+
+Cada compte pot ser de quatre tipus, com hem dit abans. És el que anomenarem
+categoria. A més, cada compte té una descripció associada. També podem mantenir
+un camp anomenat "link" (idea del SQL-Ledger) que ens permeti vincular cada
+compta a diferents tipus de quadres de diàleg; quan tinguem assentaments
+tipificats (compres amb IVA, vendes, ...), ens indicarà en quins tipus
+d'assentaments té a veure cada compte.
+
+
+                               3.2 Assentaments
+
+Cada assentament està composat per diferents moviments, cadascun referint-se a
+un compte únic en aquell assentament (CERT?). Un assentament té a veure amb un
+tipus d'intercanvi de bens, i per tant un assentament té un "Concepte"
+associat. Podem fins i tot tenir un camp de "Document" que ens indiqui a quin
+document fa referència l'assentament (Factura, ...). Tot això podria estar de
+tota manera inclòs en el concepte.
+
+Si pensem implementar cerques per "concepte" sèries, podriem separar-ho i tenir
+els camps "Tipus de document" (ComboBox) i "Número de document". Fins i tot
+podem guardar la "Data del document".
+
+La "data" de l'assentament és important per situar l'intercanvi de bens en
+el temps. Segurament serà igual que la data del document.
+
+
+                                3.3 Moviments
+
+Un moviment es fa en una compta, i està vinculat a un assentament. No sol tenir
+cap camp de concepte o descripció, ja que un moviment per si sol no té massa
+valor. L'entitat que representa un canvi de bens és l'assentament.
+
+De tota manera ens pot interessar tenir els moviments guardats en el mateix
+ordre que van ser entrats; així faria falta un camp de "index".
+Podem tenir una clau primària múltiple (ES DIU AIXÍ?) aquí, que sigui per
+assentament i número de compta. Sempre i quan sigui cert que en un sol
+assentament només hi pot haver un moviment com a màxim per cada compta. Això
+permetria no haver de tenir una clau primària autonumèrica, i ajudaria molt als
+motors de bases de dades.
+
+
+                    4. Diagrama Entitat-Relació bàsic
+
++-----+ 1    N +---------+ N    1 +------------+
+|chart|---<>---|movements|---<>---|transactions|
++-----+        +---------+        +------------+
+  |                 |                   |
+/-----------\  /-----------\     /----------\
+|account_num|  |trans_ID   |     | ID       |
+\-----------/  |account_num|     \----------/
+               \-----------/
+
+La traducció dels termes de comptabilitat està al fitxer ENGLISH_TERMS.
+
+
+                        5. Informes a generar
+
+
+                         5.1. Balanç de saldos
+
+El que corre més pressa és el balanç de saldos. Això vol dir calcular el Deure,
+l'Haver i la seva diferència per cada compta, i mostrar-ho en una taula. És dels
+més senzills que haurem de generar.
+
+                         5.2. Balanç de guanys
+
+Ens indica la diferència entre ingressos i despeses. Simplement és la diferència
+entre el grup d'ingressos i el de despeses.
+
+                         5.3. Balanç de situació
+
+Aquest és un document més complexe... la llei catalana/espanyola suggereix dos
+tipus de balanços de situació: el normal i el reduit. Els dos inclouen totes les
+comptes d'actiu i passiu de forma diferenciada, i les seves línies no estan
+composades per les "comptes", sinó per conjunts de comptes amb un nom concret.
+
+Els càlculs de les diferents parts del balanç s'obtenen mitjançant sumes dels
+conjunts anomenats... per tant, o tenim un bon disseny de base de dades (una
+taula nova que vinculi els conjunts de comptes a els comptes), o bé tenim una
+configuració de l'informe de balanç en XML on ens ajudem del QSA.
+
+Els ingressos o despeses són necessàries per quadrar el balanç de situació.
+
+
+                            6. Primers passos al GUI
+
+El primer que hem de poder fer és modificar el quadre de comptes. Llavors, poder
+insertar/modificar/eliminar assentaments. D'alguna manera (al quadre de comptes
+mateix) hauriem de poder llistar els "haver" i "deure" de cada compta.
+
+Més endavant, haurem de generar un informe de balanç de saldos. Aquí entrarà la
+part XML per primera vegada. Un cop tinguem això, podem continuar per afegir
+nous informes / noves funcionalitats. Tot tinguent en compte la portabilitat a
+altres llengües / països.
+
+
+                                7. Eines
+
+Tot es programarà en C++, utilitzant les QT a l'extrem; hem d'aprofitar-les al
+màxim. Això significa cedir feina als de Trolltech; com menys feina tinguem
+millor.
+
+El motor de base de dades de prova serà MySQL, ja que és el que sol venir
+compilat per defecte amb les QT. Si volem portabilitat de DBMS, només hauriem de
+fer servir les funcions de Relational DBMS; si ens vinculem als objectes de
+PostgreSQL només podrem utilitzar aquest o Oracle, i de moment sembla que no és
+pas millor que anar amb taules relacionades.
+
+
+                 8. Primers passos de disseny i programació
+
+Primer de tot s'ha d'elaborar i aprovar el disseny de la base de dades. Llavors,
+construir les taules amb SQL (creant fitxers amb codi SQL que ens faci aquesta
+feina, de moment). 
+
+Llavors, decidir el disseny del GUI. Més endavant un diagrama de classes, i
+posteriorment començar a implementar un cop ens haguem repartit la feina.
+
+De moment, s'aplicaran les normes d'escriptura de codi de Galadriel Parts
+(GaladrielCodingStyle.txt).
+
+S'ha de pensar com guardarem diferents empreses.... altres programes ho solen
+fer en diferents bases de dades. Cada una té les seves taules. Així sembla que
+és la millor idea.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/.cvsignore	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,1 @@
+*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/annotated.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Annotated Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>yagl Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classInputCombo.html">InputCombo</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classInputField.html">InputField</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classMainPanel.html">MainPanel</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/chartwindow_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>chartwindow.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>chartwindow.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef CHARTWINDOW_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define CHARTWINDOW_H</font>
+00003 <font class="preprocessor"></font>
+00004 
+00005 <font class="preprocessor">#include &lt;qmainwindow.h&gt;</font>
+00006 
+00007 <font class="keyword">class </font>QListView;
+00008 
+00011 <font class="keyword">class </font>ChartWindow : <font class="keyword">public</font> QMainWindow
+00012 {
+00013 
+00014 <font class="keyword">private</font>: <font class="comment">// Variables</font>
+00015         QListView       *accountsList;
+00016 
+00017 <font class="keyword">public</font>:
+00018         ChartWindow(QWidget *parent = 0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name = 0);
+00019         ~ChartWindow();
+00020 };
+00021 
+00022 <font class="preprocessor">#endif //CHARTWINDOW_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classDBConfigureForm-members.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>DBConfigureForm Member List</h1>This is the complete list of members for <a class="el" href="classDBConfigureForm.html">DBConfigureForm</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classDBConfigureForm.html#g0">acceptChanges</a>()</td><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classDBConfigureForm.html#a0">DBConfigureForm</a>(Tdb_config *mydbconfig, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classDBConfigureForm.html#g2">setFormChanged</a>()</td><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classDBConfigureForm.html#g3">setFormNoChanged</a>()</td><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classDBConfigureForm.html#g1">updateVariables</a>()</td><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a></td><td><code> [slot]</code></td></tr>
+</table><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classDBConfigureForm.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>DBConfigureForm class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>DBConfigureForm  Class Reference</h1><code>#include &lt;<a class="el" href="dbconfigureform_8h-source.html">dbconfigureform.h</a>&gt;</code>
+<p>
+<a href="classDBConfigureForm-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Slots</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classDBConfigureForm.html#g0">acceptChanges</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classDBConfigureForm.html#g1">updateVariables</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classDBConfigureForm.html#g2">setFormChanged</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classDBConfigureForm.html#g3">setFormNoChanged</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classDBConfigureForm.html#a0">DBConfigureForm</a> (Tdb_config *mydbconfig, QWidget *parent=0, const char *name=0)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+DataBase configuration form, which asks for enough information to connect to a database. The information is stored in a structure given in the constructor. <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classDBConfigureForm.html#a0">DBConfigureForm</a>() </dl>
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="DBConfigureForm::DBConfigureForm"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> DBConfigureForm::DBConfigureForm </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">Tdb_config *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mydbconfig</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs the configuration form using mydbconfig for storing the form values. <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mydbconfig</em>&nbsp;</td><td>
+The structure used to store the database information </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="g0" doxytag="DBConfigureForm::acceptChanges"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void DBConfigureForm::acceptChanges </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Accept the changes made in the form. It also closes the dialog.     </td>
+  </tr>
+</table>
+<a name="g2" doxytag="DBConfigureForm::setFormChanged"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void DBConfigureForm::setFormChanged </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the state of the Apply button to Enabled     </td>
+  </tr>
+</table>
+<a name="g3" doxytag="DBConfigureForm::setFormNoChanged"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void DBConfigureForm::setFormNoChanged </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the state of the Apply button to Disabled     </td>
+  </tr>
+</table>
+<a name="g1" doxytag="DBConfigureForm::updateVariables"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> int DBConfigureForm::updateVariables </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Updates the contents of the db_config structure using the actual values of the input fields Returns 0 if no error, error happened otherwise.     </td>
+  </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="dbconfigureform_8h-source.html">dbconfigureform.h</a><li>dbconfigureform.cpp</ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInfoLabel-members.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InfoLabel Member List</h1>This is the complete list of members for <a class="el" href="classInfoLabel.html">InfoLabel</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#a0">InfoLabel</a>(QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#a1">InfoLabel</a>(const QString &amp;mytitle, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#a2">InfoLabel</a>(const QString &amp;mytitle, const QString &amp;myvalue, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#g0">setTitle</a>(const QString &amp;str)</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#g1">setValue</a>(const QString &amp;str)</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#a3">title</a>() const</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInfoLabel.html#a4">value</a>() const</td><td><a class="el" href="classInfoLabel.html">InfoLabel</a></td><td></td></tr>
+</table><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInfoLabel.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InfoLabel class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InfoLabel  Class Reference</h1><code>#include &lt;<a class="el" href="infolabel_8h-source.html">infolabel.h</a>&gt;</code>
+<p>
+<a href="classInfoLabel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Slots</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#g0">setTitle</a> (const QString &amp;str)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#g1">setValue</a> (const QString &amp;str)</td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#a0">InfoLabel</a> (QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#a1">InfoLabel</a> (const QString &amp;mytitle, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#a2">InfoLabel</a> (const QString &amp;mytitle, const QString &amp;myvalue, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#a3">title</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInfoLabel.html#a4">value</a> () const</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Class which defines an information label. It usually tells the user information about some configuration parameter or result (label title). It's usually shown as a title in bold and a colon, followed by its value. 
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="InfoLabel::InfoLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InfoLabel::InfoLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InfoLabel with no title or value     </td>
+  </tr>
+</table>
+<a name="a1" doxytag="InfoLabel::InfoLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InfoLabel::InfoLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mytitle</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InfoLabel with title <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mytitle</em>&nbsp;</td><td>
+and void result </td></tr>
+<tr><td valign=top><em>mytitle</em>&nbsp;</td><td>
+Title of the InfoLabel </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<a name="a2" doxytag="InfoLabel::InfoLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InfoLabel::InfoLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mytitle</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>myvalue</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InfoLabel with title param mytitle and result param myvalue <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mytitle</em>&nbsp;</td><td>
+Title of the InfoLabel </td></tr>
+<tr><td valign=top><em>myvalue</em>&nbsp;</td><td>
+Value of the information labeled as the title set </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="g0" doxytag="InfoLabel::setTitle"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void InfoLabel::setTitle </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the title of the label     </td>
+  </tr>
+</table>
+<a name="g1" doxytag="InfoLabel::setValue"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void InfoLabel::setValue </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the value shown as the title's value     </td>
+  </tr>
+</table>
+<a name="a3" doxytag="InfoLabel::title"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InfoLabel::title </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the title of the information label     </td>
+  </tr>
+</table>
+<a name="a4" doxytag="InfoLabel::value"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InfoLabel::value </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the value set for the information     </td>
+  </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="infolabel_8h-source.html">infolabel.h</a><li>infolabel.cpp</ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInputCombo-members.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InputCombo Member List</h1>This is the complete list of members for <a class="el" href="classInputCombo.html">InputCombo</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a0">InputCombo</a>(QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a1">InputCombo</a>(const QString &amp;mylabel, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a2">InputCombo</a>(const QString &amp;mylabel, const QStringList &amp;mystrings, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a4">label</a>() const</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a6">qComboBox</a>()</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a5">qLabel</a>()</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#g0">setLabel</a>(QString &amp;str)</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputCombo.html#a3">text</a>() const</td><td><a class="el" href="classInputCombo.html">InputCombo</a></td><td></td></tr>
+</table><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInputCombo.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InputCombo class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InputCombo  Class Reference</h1><code>#include &lt;<a class="el" href="inputcombo_8h-source.html">inputcombo.h</a>&gt;</code>
+<p>
+<a href="classInputCombo-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Slots</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#g0">setLabel</a> (QString &amp;str)</td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a0">InputCombo</a> (QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a1">InputCombo</a> (const QString &amp;mylabel, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a2">InputCombo</a> (const QString &amp;mylabel, const QStringList &amp;mystrings, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a3">text</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a4">label</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>QLabel *&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a5">qLabel</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>QComboBox *&nbsp;</td><td valign=bottom><a class="el" href="classInputCombo.html#a6">qComboBox</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class for making input fields of type "Label: ComboBox" 
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="InputCombo::InputCombo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputCombo::InputCombo </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputCombo with no label or combobox content     </td>
+  </tr>
+</table>
+<a name="a1" doxytag="InputCombo::InputCombo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputCombo::InputCombo </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mylabel</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputCombo with label <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+and void combobox </td></tr>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+Label of the InputCombo </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<a name="a2" doxytag="InputCombo::InputCombo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputCombo::InputCombo </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mylabel</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const QStringList &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mystrings</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputCombo with label <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+and an initialized combobox </td></tr>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+Label of the InputCombo </td></tr>
+<tr><td valign=top><em>mystrings</em>&nbsp;</td><td>
+Content of the combobox </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a4" doxytag="InputCombo::label"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InputCombo::label </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the label of the input field     </td>
+  </tr>
+</table>
+<a name="a6" doxytag="InputCombo::qComboBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QComboBox * InputCombo::qComboBox </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the QComboBox     </td>
+  </tr>
+</table>
+<a name="a5" doxytag="InputCombo::qLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QLabel * InputCombo::qLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the QLabel     </td>
+  </tr>
+</table>
+<a name="g0" doxytag="InputCombo::setLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void InputCombo::setLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QString &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the label of the input field     </td>
+  </tr>
+</table>
+<a name="a3" doxytag="InputCombo::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InputCombo::text </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the contents of the textbox     </td>
+  </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="inputcombo_8h-source.html">inputcombo.h</a><li>inputcombo.cpp</ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInputField-members.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InputField Member List</h1>This is the complete list of members for <a class="el" href="classInputField.html">InputField</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a0">InputField</a>(QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a1">InputField</a>(const QString &amp;mylabel, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a2">InputField</a>(const QString &amp;mylabel, const QString &amp;mytext, QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a4">label</a>() const</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a5">qLabel</a>()</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a6">qLineEdit</a>()</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#g1">setLabel</a>(QString &amp;str)</td><td><a class="el" href="classInputField.html">InputField</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#g0">setText</a>(QString &amp;str)</td><td><a class="el" href="classInputField.html">InputField</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classInputField.html#a3">text</a>() const</td><td><a class="el" href="classInputField.html">InputField</a></td><td></td></tr>
+</table><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classInputField.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InputField class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>InputField  Class Reference</h1><code>#include &lt;<a class="el" href="inputfield_8h-source.html">inputfield.h</a>&gt;</code>
+<p>
+<a href="classInputField-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Slots</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#g0">setText</a> (QString &amp;str)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#g1">setLabel</a> (QString &amp;str)</td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a0">InputField</a> (QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a1">InputField</a> (const QString &amp;mylabel, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a2">InputField</a> (const QString &amp;mylabel, const QString &amp;mytext, QWidget *parent=0, const char *name=0)</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a3">text</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>QString&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a4">label</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>QLabel *&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a5">qLabel</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>QLineEdit *&nbsp;</td><td valign=bottom><a class="el" href="classInputField.html#a6">qLineEdit</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class for making input fields of type "Label: Textbox" 
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="InputField::InputField"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputField::InputField </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputField with no label or textbox content     </td>
+  </tr>
+</table>
+<a name="a1" doxytag="InputField::InputField"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputField::InputField </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mylabel</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputField with label <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+and void textbox </td></tr>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+Label of the InputField </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<a name="a2" doxytag="InputField::InputField"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> InputField::InputField </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mylabel</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const QString &amp;&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>mytext</em>, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructs an InputField with label <dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+and a textbox with content </td></tr>
+<tr><td valign=top><em>mylabel</em>&nbsp;</td><td>
+Label of the InputField </td></tr>
+<tr><td valign=top><em>mytext</em>&nbsp;</td><td>
+Initial content of the textbox </td></tr>
+</table>
+</dl>    </td>
+  </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a4" doxytag="InputField::label"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InputField::label </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the label of the input field     </td>
+  </tr>
+</table>
+<a name="a5" doxytag="InputField::qLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QLabel * InputField::qLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the QLabel     </td>
+  </tr>
+</table>
+<a name="a6" doxytag="InputField::qLineEdit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QLineEdit * InputField::qLineEdit </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the QLineEdit     </td>
+  </tr>
+</table>
+<a name="g1" doxytag="InputField::setLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void InputField::setLabel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QString &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the label of the input field     </td>
+  </tr>
+</table>
+<a name="g0" doxytag="InputField::setText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void InputField::setText </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QString &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets the contents of the textbox     </td>
+  </tr>
+</table>
+<a name="a3" doxytag="InputField::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> QString InputField::text </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Returns the contents of the textbox     </td>
+  </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="inputfield_8h-source.html">inputfield.h</a><li>inputfield.cpp</ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classMainPanel-members.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>MainPanel Member List</h1>This is the complete list of members for <a class="el" href="classMainPanel.html">MainPanel</a>, including all inherited members.<table>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#g1">accountChart</a>()</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>accountChartRemoved</b>() (defined in <a class="el" href="classMainPanel.html">MainPanel</a>)</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#g5">dbConfigure</a>()</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#g3">dbConnect</a>()</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#g4">dbDisconnect</a>()</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#a0">MainPanel</a>(QWidget *parent=0, const char *name=0)</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><a class="el" href="classMainPanel.html#g0">transactions</a>()</td><td><a class="el" href="classMainPanel.html">MainPanel</a></td><td><code> [slot]</code></td></tr>
+</table><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classMainPanel.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>MainPanel class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>MainPanel  Class Reference</h1><code>#include &lt;<a class="el" href="mainpanel_8h-source.html">mainpanel.h</a>&gt;</code>
+<p>
+<a href="classMainPanel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Slots</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#g0">transactions</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#g1">accountChart</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a name="g2" doxytag="MainPanel::accountChartRemoved"></a>
+void&nbsp;</td><td valign=bottom><b>accountChartRemoved</b> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#g3">dbConnect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#g4">dbDisconnect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#g5">dbConfigure</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMainPanel.html#a0">MainPanel</a> (QWidget *parent=0, const char *name=0)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Offers the main window of the YAGL application. It holds the database connection information, and controls the actions in this main window. 
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="MainPanel::MainPanel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> MainPanel::MainPanel </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">QWidget *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>parent</em> = 0, </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap>&nbsp; <em>name</em> = 0</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Constructor of the main window application     </td>
+  </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="g1" doxytag="MainPanel::accountChart"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void MainPanel::accountChart </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Opens a dialog for managing the Chart of Accounts     </td>
+  </tr>
+</table>
+<a name="g5" doxytag="MainPanel::dbConfigure"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void MainPanel::dbConfigure </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Opens a dialog prompting for database connection configuration     </td>
+  </tr>
+</table>
+<a name="g3" doxytag="MainPanel::dbConnect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void MainPanel::dbConnect </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Connects to the database configured     </td>
+  </tr>
+</table>
+<a name="g4" doxytag="MainPanel::dbDisconnect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void MainPanel::dbDisconnect </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disconnects from the database configured     </td>
+  </tr>
+</table>
+<a name="g0" doxytag="MainPanel::transactions"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+  <tr>
+    <td class="md">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top"> void MainPanel::transactions </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
+          <td class="md" valign="top">)&nbsp;</td>
+          <td class="md" nowrap><code> [slot]</code></td>
+        </tr>
+
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Opens a dialog for managing transactions.     </td>
+  </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="mainpanel_8h-source.html">mainpanel.h</a><li>mainpanel.cpp</ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/classes.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Alphabetical index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>yagl Compound Index</h1><table align=center width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classInputCombo.html">InputCombo</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classDBConfigureForm.html">DBConfigureForm</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInputField.html">InputField</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</td></tr></table></td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</td></tr></table></td></tr>
+<tr><td><a class="el" href="classInfoLabel.html">InfoLabel</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classMainPanel.html">MainPanel</a>&nbsp;&nbsp;&nbsp;</td></tr>
+</table>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/dbconfigureform_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>dbconfigureform.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>dbconfigureform.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#include &lt;qdialog.h&gt;</font>
+00002 <font class="preprocessor">#include &lt;tdbconfig.h&gt;</font>
+00003 
+00004 <font class="keyword">class </font><a class="code" href="classInputField.html">InputField</a>;
+00005 <font class="keyword">class </font><a class="code" href="classInputCombo.html">InputCombo</a>;
+00006 
+<a name="l00013"></a><a class="code" href="classDBConfigureForm.html">00013</a> <font class="keyword">class </font><a class="code" href="classDBConfigureForm.html">DBConfigureForm</a> : <font class="keyword">public</font> QDialog
+00014 {
+00015         Q_OBJECT
+00016 
+00017 <font class="keyword">private</font>:
+00018         <a class="code" href="classInputField.html">InputField</a> *host, *username, *database, *password;
+00019         <a class="code" href="classInputCombo.html">InputCombo</a> *driver;
+00020         Tdb_config *db_config;
+00021         QPushButton *apply_button;
+00022 
+00023 <font class="keyword">public</font> slots:
+00027         <font class="keywordtype">void</font> <a class="code" href="classDBConfigureForm.html#g0">acceptChanges</a>();
+00033         <font class="keywordtype">int</font> <a class="code" href="classDBConfigureForm.html#g1">updateVariables</a>();
+00037         <font class="keywordtype">void</font> <a class="code" href="classDBConfigureForm.html#g2">setFormChanged</a>();
+00041         <font class="keywordtype">void</font> <a class="code" href="classDBConfigureForm.html#g3">setFormNoChanged</a>();
+00042 
+00043 <font class="keyword">public</font>:
+00049         <a class="code" href="classDBConfigureForm.html#a0">DBConfigureForm</a>(Tdb_config *mydbconfig,
+00050                 QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00051 };
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/doxygen.css	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,49 @@
+H1 { text-align: center; }
+CAPTION { font-weight: bold }
+A.qindex {}
+A.qindexRef {}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+BODY { background: white }
+TD.indexkey { 
+   background-color: #eeeeff; 
+   font-weight: bold; 
+   padding-right  : 10px; 
+   padding-top    : 2px; 
+   padding-left   : 10px; 
+   padding-bottom : 2px; 
+   margin-left    : 0px; 
+   margin-right   : 0px; 
+   margin-top     : 2px; 
+   margin-bottom  : 2px  
+}
+TD.indexvalue { 
+   background-color: #eeeeff; 
+   font-style: italic; 
+   padding-right  : 10px; 
+   padding-top    : 2px; 
+   padding-left   : 10px; 
+   padding-bottom : 2px; 
+   margin-left    : 0px; 
+   margin-right   : 0px; 
+   margin-top     : 2px; 
+   margin-bottom  : 2px  
+}
+FONT.keyword       { color: #008000 }
+FONT.keywordtype   { color: #604020 }
+FONT.keywordflow   { color: #e08000 }
+FONT.comment       { color: #800000 }
+FONT.preprocessor  { color: #806020 }
+FONT.stringliteral { color: #002080 }
+FONT.charliteral   { color: #008080 }
Binary file doxygen/html/doxygen.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/files.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>File Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>yagl File List</h1>Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey"><b>chartwindow.h</b> <a href="chartwindow_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>dbconfigureform.h</b> <a href="dbconfigureform_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>infolabel.h</b> <a href="infolabel_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>inputcombo.h</b> <a href="inputcombo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>inputfield.h</b> <a href="inputfield_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>mainpanel.h</b> <a href="mainpanel_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><b>tdbconfig.h</b> <a href="tdbconfig_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/functions.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Compound Member Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>yagl Compound Members</h1>Here is a list of all documented class members with links to the classes they belong to:<ul>
+<li>acceptChanges
+: <a class="el" href="classDBConfigureForm.html#g0">DBConfigureForm</a><li>accountChart
+: <a class="el" href="classMainPanel.html#g1">MainPanel</a><li>dbConfigure
+: <a class="el" href="classMainPanel.html#g5">MainPanel</a><li>DBConfigureForm()
+: <a class="el" href="classDBConfigureForm.html#a0">DBConfigureForm</a><li>dbConnect
+: <a class="el" href="classMainPanel.html#g3">MainPanel</a><li>dbDisconnect
+: <a class="el" href="classMainPanel.html#g4">MainPanel</a><li>InfoLabel()
+: <a class="el" href="classInfoLabel.html#a2">InfoLabel</a><li>InputCombo()
+: <a class="el" href="classInputCombo.html#a2">InputCombo</a><li>InputField()
+: <a class="el" href="classInputField.html#a2">InputField</a><li>label()
+: <a class="el" href="classInputField.html#a4">InputField</a>, <a class="el" href="classInputCombo.html#a4">InputCombo</a><li>MainPanel()
+: <a class="el" href="classMainPanel.html#a0">MainPanel</a><li>qComboBox()
+: <a class="el" href="classInputCombo.html#a6">InputCombo</a><li>qLabel()
+: <a class="el" href="classInputField.html#a5">InputField</a>, <a class="el" href="classInputCombo.html#a5">InputCombo</a><li>qLineEdit()
+: <a class="el" href="classInputField.html#a6">InputField</a><li>setFormChanged
+: <a class="el" href="classDBConfigureForm.html#g2">DBConfigureForm</a><li>setFormNoChanged
+: <a class="el" href="classDBConfigureForm.html#g3">DBConfigureForm</a><li>setLabel
+: <a class="el" href="classInputField.html#g1">InputField</a>, <a class="el" href="classInputCombo.html#g0">InputCombo</a><li>setText
+: <a class="el" href="classInputField.html#g0">InputField</a><li>setTitle
+: <a class="el" href="classInfoLabel.html#g0">InfoLabel</a><li>setValue
+: <a class="el" href="classInfoLabel.html#g1">InfoLabel</a><li>text()
+: <a class="el" href="classInputField.html#a3">InputField</a>, <a class="el" href="classInputCombo.html#a3">InputCombo</a><li>title()
+: <a class="el" href="classInfoLabel.html#a3">InfoLabel</a><li>transactions
+: <a class="el" href="classMainPanel.html#g0">MainPanel</a><li>updateVariables
+: <a class="el" href="classDBConfigureForm.html#g1">DBConfigureForm</a><li>value()
+: <a class="el" href="classInfoLabel.html#a4">InfoLabel</a></ul>
+<hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/index.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Main Page</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>yagl Documentation</h1>
+<p>
+<h3 align="center">1</h3><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/infolabel_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>infolabel.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>infolabel.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef INFOLABEL_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define INFOLABEL_H</font>
+00003 <font class="preprocessor"></font>
+00004 
+00005 <font class="preprocessor">#include &lt;qlabel.h&gt;</font>
+00006 
+00007 <font class="keyword">class </font>QString;
+00008 <font class="keyword">class </font>QLineEdit;
+00009 
+<a name="l00015"></a><a class="code" href="classInfoLabel.html">00015</a> <font class="keyword">class </font><a class="code" href="classInfoLabel.html">InfoLabel</a> : <font class="keyword">public</font> QLabel
+00016 {
+00017         Q_OBJECT
+00018 
+00019 <font class="keyword">private</font>:
+00020         QString *titlevar, *valuevar;
+00021         
+00022         <font class="keywordtype">void</font> initWidget();
+00023 
+00024 <font class="keyword">public</font> slots:
+00028         <font class="keywordtype">void</font> <a class="code" href="classInfoLabel.html#g0">setTitle</a>(<font class="keyword">const</font> QString &amp;str);
+00032         <font class="keywordtype">void</font> <a class="code" href="classInfoLabel.html#g1">setValue</a>(<font class="keyword">const</font> QString &amp;str);
+00033 
+00034 <font class="keyword">public</font>:
+00038         <a class="code" href="classInfoLabel.html#a0">InfoLabel</a>(QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00039 
+00045         <a class="code" href="classInfoLabel.html#a0">InfoLabel</a>(<font class="keyword">const</font> QString &amp;mytitle, QWidget *parent=0,
+00046                         <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00047 
+00054         <a class="code" href="classInfoLabel.html#a0">InfoLabel</a>(<font class="keyword">const</font> QString &amp;mytitle, <font class="keyword">const</font> QString &amp;myvalue,
+00055                         QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00056 
+00060         QString <a class="code" href="classInfoLabel.html#a3">title</a>() <font class="keyword">const</font>;
+00061 
+00065         QString <a class="code" href="classInfoLabel.html#a4">value</a>() <font class="keyword">const</font>;
+00066 };
+00067 
+00068 <font class="preprocessor">#endif // INFOLABEL_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/inputcombo_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>inputcombo.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>inputcombo.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef INPUTCOMBO_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define INPUTCOMBO_H</font>
+00003 <font class="preprocessor"></font>
+00004 <font class="preprocessor">#include &lt;qhbox.h&gt;</font>
+00005 
+00006 <font class="keyword">class </font>QString;
+00007 <font class="keyword">class </font>QStringList;
+00008 <font class="keyword">class </font>QLabel;
+00009 <font class="keyword">class </font>QComboBox;
+00010 
+<a name="l00014"></a><a class="code" href="classInputCombo.html">00014</a> <font class="keyword">class </font><a class="code" href="classInputCombo.html">InputCombo</a> : <font class="keyword">public</font> QHBox
+00015 {
+00016         Q_OBJECT
+00017 
+00018 <font class="keyword">private</font>:
+00019         QLabel *labelbox;
+00020         QComboBox *combobox;
+00021         
+00022         <font class="keywordtype">void</font> initWidget();
+00023 
+00024 <font class="keyword">public</font> slots:
+00028         <font class="keywordtype">void</font> <a class="code" href="classInputCombo.html#g0">setLabel</a>(QString &amp;str);
+00029 
+00030 <font class="keyword">public</font>:
+00034         <a class="code" href="classInputCombo.html#a0">InputCombo</a>(QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00040         <a class="code" href="classInputCombo.html#a0">InputCombo</a>(<font class="keyword">const</font> QString &amp;mylabel, QWidget *parent=0,
+00041                         <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00048         <a class="code" href="classInputCombo.html#a0">InputCombo</a>(<font class="keyword">const</font> QString &amp;mylabel, <font class="keyword">const</font> QStringList &amp;mystrings,
+00049                         QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00050 
+00054         QString <a class="code" href="classInputCombo.html#a3">text</a>() <font class="keyword">const</font>;
+00058         QString <a class="code" href="classInputCombo.html#a4">label</a>() <font class="keyword">const</font>;
+00059 
+00063         QLabel* <a class="code" href="classInputCombo.html#a5">qLabel</a>();
+00067         QComboBox* <a class="code" href="classInputCombo.html#a6">qComboBox</a>();
+00068 };
+00069 
+00070 <font class="preprocessor">#endif // INPUTCOMBO_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/inputfield_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>inputfield.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>inputfield.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef INPUTFIELD_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define INPUTFIELD_H</font>
+00003 <font class="preprocessor"></font>
+00004 <font class="preprocessor">#include &lt;qhbox.h&gt;</font>
+00005 
+00006 <font class="keyword">class </font>QString;
+00007 <font class="keyword">class </font>QLabel;
+00008 <font class="keyword">class </font>QLineEdit;
+00009 
+<a name="l00013"></a><a class="code" href="classInputField.html">00013</a> <font class="keyword">class </font><a class="code" href="classInputField.html">InputField</a> : <font class="keyword">public</font> QHBox
+00014 {
+00015         Q_OBJECT
+00016 
+00017 <font class="keyword">private</font>:
+00018         QLabel *labelbox;
+00019         QLineEdit *textbox;
+00020         
+00021         <font class="keywordtype">void</font> initWidget();
+00022 
+00023 <font class="keyword">public</font> slots:
+00027         <font class="keywordtype">void</font> <a class="code" href="classInputField.html#g0">setText</a>(QString &amp;str);
+00031         <font class="keywordtype">void</font> <a class="code" href="classInputField.html#g1">setLabel</a>(QString &amp;str);
+00032 
+00033 <font class="keyword">public</font>:
+00037         <a class="code" href="classInputField.html#a0">InputField</a>(QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00043         <a class="code" href="classInputField.html#a0">InputField</a>(<font class="keyword">const</font> QString &amp;mylabel, QWidget *parent=0,
+00044                         <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00051         <a class="code" href="classInputField.html#a0">InputField</a>(<font class="keyword">const</font> QString &amp;mylabel, <font class="keyword">const</font> QString &amp;mytext,
+00052                         QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name=0);
+00053 
+00057         QString <a class="code" href="classInputField.html#a3">text</a>() <font class="keyword">const</font>;
+00061         QString <a class="code" href="classInputField.html#a4">label</a>() <font class="keyword">const</font>;
+00062 
+00066         QLabel* <a class="code" href="classInputField.html#a5">qLabel</a>();
+00070         QLineEdit* <a class="code" href="classInputField.html#a6">qLineEdit</a>();
+00071 };
+00072 
+00073 <font class="preprocessor">#endif // INPUTFIELD_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/mainpanel_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>mainpanel.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>mainpanel.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef MAINPANEL_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define MAINPANEL_H</font>
+00003 <font class="preprocessor"></font>
+00004 
+00005 <font class="preprocessor">#include &lt;qmainwindow.h&gt;</font>
+00006 <font class="preprocessor">#include &lt;qsqldatabase.h&gt;</font>
+00007 <font class="preprocessor">#include "tdbconfig.h"</font>
+00008 <font class="comment">//#include "infolabel.h"</font>
+00009 
+00010 <font class="keyword">class </font>QWorkspace;
+00011 <font class="keyword">class </font>QDialog;
+00012 <font class="keyword">class </font><a class="code" href="classInfoLabel.html">InfoLabel</a>;
+00013 <font class="keyword">class </font>ChartWindow;
+00014 
+<a name="l00019"></a><a class="code" href="classMainPanel.html">00019</a> <font class="keyword">class </font><a class="code" href="classMainPanel.html">MainPanel</a> : <font class="keyword">public</font> QMainWindow
+00020 {
+00021         Q_OBJECT
+00022 
+00023 <font class="keyword">private</font>: <font class="comment">// Variables</font>
+00024         Tdb_config db_config;
+00025         QWorkspace *workspace;
+00026         <a class="code" href="classInfoLabel.html">InfoLabel</a> *info_connected;
+00027 
+00028         QSqlDatabase *our_database;
+00029 
+00030         <a class="code" href="classInfoLabel.html">InfoLabel</a> *transactionsD;
+00031         ChartWindow *chartW;
+00032 
+00033 <font class="keyword">public</font>: <font class="comment">// Methods</font>
+00037 <font class="comment"></font>        <a class="code" href="classMainPanel.html#a0">MainPanel</a>( QWidget *parent=0, <font class="keyword">const</font> <font class="keywordtype">char</font> *name = 0);
+00038 
+00039 <font class="keyword">public</font> slots:
+00043         <font class="keywordtype">void</font> <a class="code" href="classMainPanel.html#g0">transactions</a>();
+00047         <font class="keywordtype">void</font> <a class="code" href="classMainPanel.html#g1">accountChart</a>();
+00048         <font class="keywordtype">void</font> accountChartRemoved();
+00052         <font class="keywordtype">void</font> <a class="code" href="classMainPanel.html#g3">dbConnect</a>();
+00056         <font class="keywordtype">void</font> <a class="code" href="classMainPanel.html#g4">dbDisconnect</a>();
+00060         <font class="keywordtype">void</font> <a class="code" href="classMainPanel.html#g5">dbConfigure</a>();
+00061 };
+00062 
+00063 <font class="preprocessor">#endif //MAINPANEL_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doxygen/html/tdbconfig_8h-source.html	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tdbconfig.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.16 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
+<hr><h1>tdbconfig.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef TDB_CONFIG_H</font>
+00002 <font class="preprocessor"></font><font class="preprocessor">#define TDB_CONFIG_H</font>
+00003 <font class="preprocessor"></font>
+00004 <font class="keyword">struct </font>Tdb_config
+00005 {
+00006         QString host;
+00007         QString username;
+00008         QString password;
+00009         QString database;
+00010         QString driver;
+00011 };
+00012 
+00013 <font class="preprocessor">#endif // TDB_CONFIG_H</font>
+</pre></div><hr><address align="right"><small>Generated on Mon Nov 3 19:26:24 2003 for yagl by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 
+width=110 height=53></a>1.2.16 </small></address>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/account_chart.sql	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,51 @@
+INSERT INTO chart (account_num,
+			name,
+			description,
+			general,
+			account,
+			enabled,
+			type,
+			links)
+	VALUES ('1',
+		'Finançament Bàsic',
+		'Totes les comptes de finançament bàsic',
+		1,
+		0,
+		0,
+		NULL,
+		NULL);
+
+
+INSERT INTO chart (account_num,
+			name,
+			description,
+			general,
+			account,
+			enabled,
+			type,
+			links)
+	VALUES ('100',
+		'Capital Social',
+		'Capital posat pels socis',
+		1,
+		1,
+		1,
+		'A',
+		NULL);
+
+INSERT INTO chart (account_num,
+			name,
+			description,
+			general,
+			account,
+			enabled,
+			type,
+			links)
+	VALUES ('101',
+		'Fons Social',
+		'Fondos',
+		1,
+		1,
+		1,
+		'A',
+		NULL);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/tables-mysql.sql	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,51 @@
+drop table if exists chart;
+
+create table chart (
+-- Fem que sigui 'char' per fer cerques bé amb wildcards ('30%' per exemple)
+	account_num	char(10) not null,
+-- Nom de la compta (una línia)
+	name	tinytext default NULL,
+-- Explica què s'ha de comptar en aquest compte
+	description text	default NULL,
+-- Marca si forma part del pla general comptable o no
+	general	tinyint	default 0,
+-- Bool de si és un compte o no. Podria ser un títol, o una marca en els
+-- comptes.
+	account	tinyint	default 0,
+-- Bool de si la volem veure als diàlegs o no
+	enabled		tinyint	default 0,
+-- Actiu, Passiu, Ingressos, Despeses
+	type	enum("A","P","I","D") default NULL,
+-- Aquest set augmentarà més endavant
+	links	set("Venda","Compra") default NULL,
+-- Profunditat (número de caràcters a "number")
+--  no és necessària, perquè es poden fer cerques amb ?, ??, ...
+--	level	tinyint default 0,
+
+	primary key (account_num)
+) TYPE=MyISAM;
+
+
+drop table if exists transactions;
+
+create table transactions (
+	id	int(11) auto_increment not null,
+	t_date	date,
+	concept	tinytext,
+--	doc_type set('Factura', ...')
+--	doc_number char(11)
+	primary key (id)
+) TYPE=MyISAM;
+
+
+drop table if exists movements;
+
+
+create table movements (
+	transaction_id	int(11) not null,
+	account_num	int(11) not null,
+	amount		float(20,2),
+	primary key (transaction_id,account_num)
+--	foreign key transaction_id (transactions.id),
+--	foreign key account_num (chart.accout_num)
+) TYPE=MyISAM;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/.cvsignore	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,2 @@
+moc_*
+obj/*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/chartwindow.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,69 @@
+#include <qmainwindow.h>
+#include <qlistview.h>
+#include <qstatusbar.h>
+#include "chartwindow.h"
+#include "mainpanel.h"
+
+
+ChartWindow::ChartWindow(QWidget *parent, const char *name)
+	: QMainWindow(parent, name, WDestructiveClose)
+{
+	//QVBoxLayout *mainlayout = new QVBoxLayout(this, 0);
+
+	// Only the listview in the window
+	accountsList = new QListView(this);
+
+	accountsList->addColumn( tr("Number") );
+	accountsList->addColumn( tr("Name") );
+	accountsList->addColumn( tr("Description") );
+	accountsList->addColumn( tr("General") );
+	accountsList->addColumn( tr("Is Account") );
+	accountsList->addColumn( tr("Enabled") );
+	accountsList->addColumn( tr("Type") );
+	accountsList->addColumn( tr("Links") );
+
+	accountsList->setAllColumnsShowFocus( true );
+
+
+	// We get the data to be shown
+	QSqlQuery q;
+
+	q.prepare("SELECT account_num, name, description, general, account, "
+		"enabled, type, links FROM chart");
+	if(q.exec())
+	{
+		while(q.next()) {
+			new QListViewItem( accountsList,
+				q.value(0).toString(), // account_num
+				q.value(1).toString(), // name
+				q.value(2).toString(), // description
+				q.value(3).toBool()?"True":"False", // general
+				q.value(4).toBool()?"True":"False", // account
+				q.value(5).toBool()?"True":"False", // enabled
+				q.value(6).toString(), // type
+				q.value(7).toString()); // links
+		}
+	}
+	else
+		qDebug("Query failed when trying to get Chart of accounts");
+
+	
+	// Prepare this main window
+	setFocusProxy( accountsList );
+	setCentralWidget( accountsList );
+
+	setCaption( tr("Accounts Chart") );
+
+	// Show Status Bar
+
+	// Needed?
+	statusBar()->clear();
+
+	statusBar()->message( tr("Click with right button over any accout to"
+		" perform any action") );
+	
+}
+
+ChartWindow::~ChartWindow()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/chartwindow.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,22 @@
+#ifndef CHARTWINDOW_H
+#define CHARTWINDOW_H
+
+
+#include <qmainwindow.h>
+
+class QListView;
+
+/*!
+  */
+class ChartWindow : public QMainWindow
+{
+
+private: // Variables
+	QListView	*accountsList;
+
+public:
+	ChartWindow(QWidget *parent = 0, const char *name = 0);
+	~ChartWindow();
+};
+
+#endif //CHARTWINDOW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dbconfigureform.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,141 @@
+#include <qpushbutton.h>
+#include <qapplication.h>
+#include <qvgroupbox.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qregexp.h>
+#include "dbconfigureform.h"
+#include "inputfield.h"
+#include "inputcombo.h"
+#include <qvalidator.h>
+#include <qsqldatabase.h>
+#include <qcombobox.h>
+
+DBConfigureForm :: DBConfigureForm( Tdb_config *mydb_config,
+		QWidget *parent, const char *name )
+		: QDialog( parent, name, TRUE)
+{
+	QVBoxLayout *mainlayout = new QVBoxLayout( this ,10 );
+
+	// We store the pointer to the data we should set
+	db_config = mydb_config;
+
+	// Data InputFields
+	QVGroupBox *fields = new QVGroupBox( "Data", this );
+
+	host = new InputField( tr("Host:"), db_config->host, fields);
+	database = new InputField( tr("Database:"), db_config->database,
+			fields);
+	username = new InputField( tr("Username:"),
+			db_config->username, fields);
+	password = new InputField( tr("Password:"), db_config->password,
+			fields);
+	driver = new InputCombo( tr("Driver:"), QSqlDatabase::drivers(),
+			fields);
+
+	// Password echo mode for password input field.
+	password->qLineEdit()->setEchoMode(QLineEdit::Password);
+	// Set the default setting in driver combo
+	driver->qComboBox()->setCurrentText(db_config->driver);
+
+	mainlayout->addWidget( fields );
+
+
+	// Apply button
+	apply_button = new QPushButton( tr("Apply"), this,
+			"ApplyButton");
+	// Accept button
+	QPushButton *accept_button = new QPushButton( tr("Accept"), this,
+			"AcceptButton");
+	// Cancel button
+	QPushButton *cancel_button = new QPushButton( tr("Cancel"),
+			this, "CancelButton");
+
+	// Main form buttons
+	QHBoxLayout *buttons = new QHBoxLayout( mainlayout, 10 );
+	buttons->addWidget(apply_button);
+	buttons->addWidget(accept_button);
+	buttons->addWidget(cancel_button);
+
+	accept_button->setDefault(TRUE);
+
+	setCaption( tr("DB Configure Form") );
+
+	// Connects: buttons
+	connect( apply_button, SIGNAL(clicked()), this,
+			SLOT(updateVariables()) );
+	connect( accept_button, SIGNAL(clicked()), this,
+			SLOT(acceptChanges()) );
+	connect( cancel_button, SIGNAL(clicked()), this, SLOT(reject()) );
+
+	// Connects: textboxes
+	connect( host->qLineEdit(), SIGNAL(textChanged(const QString&)), this,
+			SLOT(setFormChanged()) );
+	connect( database->qLineEdit(), SIGNAL(textChanged(const QString&)),
+			this, SLOT(setFormChanged()) );
+	connect( username->qLineEdit(), SIGNAL(textChanged(const QString&)),
+			this, SLOT(setFormChanged()) );
+	connect( password->qLineEdit(), SIGNAL(textChanged(const QString&)),
+			this, SLOT(setFormChanged()) );
+	connect( driver->qComboBox(), SIGNAL(activated(int)),
+			this, SLOT(setFormChanged()) );
+
+	// Initial state of the form
+	setFormNoChanged();
+
+	// Validators for InputFields
+	host->qLineEdit()->setValidator(
+			new QRegExpValidator( QRegExp( "[0-9a-z_\\-\\.]*" ),
+			host->qLineEdit() ));
+	username->qLineEdit()->setValidator(
+			new QRegExpValidator( QRegExp( "[0-9a-zA-Z_\\-\\.]+" ),
+			host->qLineEdit() ));
+	password->qLineEdit()->setValidator(
+			new QRegExpValidator( QRegExp( "[0-9a-zA-Z_\\-\\.]*" ),
+			host->qLineEdit() ));
+	database->qLineEdit()->setValidator(
+			new QRegExpValidator( QRegExp( "[0-9a-zA-Z_\\-\\.]+" ),
+			host->qLineEdit() ));
+	
+}
+
+
+int DBConfigureForm :: updateVariables( )
+{
+	/*
+	// ** Check if data is correct. Don't let it end if sth's wrong.
+	if (host->text().find( QRegExp( "[^a-z_\\-\\.]" ) ) != -1 )
+	{
+		// *** A Message Box should be shown
+		qWarning("Host isn't good.");
+		return 1; // ERROR
+	}
+	*/
+
+	// Save data
+	db_config->host = host->text();
+	db_config->username = username->text();
+	db_config->database = database->text();
+	db_config->password = password->text();
+	db_config->driver = driver->text();
+
+	setFormNoChanged();
+
+	return 0;	// OK
+}
+
+void DBConfigureForm :: acceptChanges( )
+{
+	if (!updateVariables())
+		accept();
+}
+
+void DBConfigureForm :: setFormChanged()
+{
+	apply_button->setEnabled(true);
+}
+void DBConfigureForm :: setFormNoChanged()
+{
+	apply_button->setEnabled(false);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/dbconfigureform.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,51 @@
+#include <qdialog.h>
+#include <tdbconfig.h>
+
+class InputField;
+class InputCombo;
+
+/*!
+  DataBase configuration form, which asks for enough information to connect to a
+  database.
+  The information is stored in a structure given in the constructor.
+  \sa DBConfigureForm()
+  */
+class DBConfigureForm : public QDialog
+{
+	Q_OBJECT
+
+private:
+	InputField *host, *username, *database, *password;
+	InputCombo *driver;
+	Tdb_config *db_config;
+	QPushButton *apply_button;
+
+public slots:
+	/*!
+	  Accept the changes made in the form. It also closes the dialog.
+	  */
+	void acceptChanges();
+	/*!
+	  Updates the contents of the #db_config structure using the actual
+	  values of the input fields
+	  Returns 0 if no error, error happened otherwise.
+	  */
+	int updateVariables();
+	/*!
+	  Sets the state of the Apply button to Enabled
+	  */
+	void setFormChanged();
+	/*!
+	  Sets the state of the Apply button to Disabled
+	  */
+	void setFormNoChanged();
+
+public:
+	/*!
+	  Constructs the configuration form using #mydbconfig for storing
+	  the form values.
+	  \param mydbconfig The structure used to store the database information
+	  */
+	DBConfigureForm(Tdb_config *mydbconfig,
+		QWidget *parent=0, const char *name=0);
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/infolabel.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,55 @@
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qstring.h>
+#include "infolabel.h"
+
+
+InfoLabel::InfoLabel( QWidget *parent, const char *name )
+		: QLabel( parent, name )
+{
+	initWidget();
+}
+
+InfoLabel::InfoLabel( const QString &mytitle,
+	QWidget *parent, const char *name ) : QLabel( parent, name )
+{
+	initWidget();
+	setTitle( mytitle );
+}
+
+InfoLabel::InfoLabel( const QString &mytitle, const QString &myvalue,
+		QWidget *parent, const char *name ) : QLabel( parent, name )
+{
+	initWidget();
+	setTitle( mytitle );
+	setValue( myvalue );
+}
+
+
+void InfoLabel::initWidget()
+{
+	titlevar = new QString;
+	valuevar = new QString;
+}
+
+void InfoLabel::setTitle(const QString &str)
+{
+	*titlevar = str;
+	setText( "<b>" + *titlevar + ":</b> " + *valuevar);
+}
+
+void InfoLabel::setValue(const QString &str)
+{
+	*valuevar = str;
+	setText( "<b>" + *titlevar + ":</b> " + *valuevar);
+}
+
+QString InfoLabel::title() const
+{
+	return *titlevar;
+}
+
+QString InfoLabel::value() const
+{
+	return *valuevar;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/infolabel.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,68 @@
+#ifndef INFOLABEL_H
+#define INFOLABEL_H
+
+
+#include <qlabel.h>
+
+class QString;
+class QLineEdit;
+
+/*!
+  Class which defines an information label. It usually tells the user
+  information about some configuration parameter or result (label title).
+  It's usually shown as a title in bold and a colon, followed by its value.
+ */
+class InfoLabel : public QLabel
+{
+	Q_OBJECT
+
+private:
+	QString *titlevar, *valuevar;
+	
+	void initWidget();
+
+public slots:
+	/*!
+	 * Sets the title of the label
+	 */
+	void setTitle(const QString &str);
+	/*!
+	 * Sets the value shown as the title's value
+	 */
+	void setValue(const QString &str);
+
+public:
+	/*!
+	 * Constructs an InfoLabel with no title or value
+	 */
+	InfoLabel(QWidget *parent=0, const char *name=0);
+
+	/*!
+	 * Constructs an InfoLabel with title \param mytitle and
+	 * void result
+	 * \param mytitle Title of the InfoLabel
+	 */
+	InfoLabel(const QString &mytitle, QWidget *parent=0,
+			const char *name=0);
+
+	/*!
+	 * Constructs an InfoLabel with title #param mytitle and
+	 * result #param myvalue
+	 * \param mytitle Title of the InfoLabel
+	 * \param myvalue Value of the information labeled as the title set
+	 */
+	InfoLabel(const QString &mytitle, const QString &myvalue,
+			QWidget *parent=0, const char *name=0);
+
+	/*!
+	 * Returns the title of the information label
+	 */
+	QString title() const;
+
+	/*!
+	 * Returns the value set for the information
+	 */
+	QString value() const;
+};
+
+#endif // INFOLABEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/inputcombo.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,64 @@
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <qstring.h>
+#include "inputcombo.h"
+#include <qstringlist.h>
+
+
+InputCombo::InputCombo( QWidget *parent, const char *name )
+		: QHBox( parent, name )
+{
+	labelbox = new QLabel( this );
+	combobox = new QComboBox( this );
+	initWidget();
+}
+
+InputCombo::InputCombo( const QString &mylabel,
+	QWidget *parent, const char *name ) : QHBox( parent, name )
+{
+	labelbox = new QLabel( mylabel, this );
+	combobox = new QComboBox( this );
+	initWidget();
+}
+
+InputCombo::InputCombo( const QString &mylabel, const QStringList &mystrings,
+		QWidget *parent, const char *name ) : QHBox( parent, name )
+{
+	labelbox = new QLabel( mylabel, this );
+	combobox = new QComboBox( this );
+	combobox->insertStringList(mystrings);
+	initWidget();
+}
+
+void InputCombo::initWidget()
+{
+	// Init widget config
+	setStretchFactor( labelbox, 0 );
+	setStretchFactor( combobox, 1 );
+	setSpacing( 10 );
+}
+
+void InputCombo::setLabel(QString &str)
+{
+	labelbox->setText(str);
+}
+
+QString InputCombo::text() const
+{
+	return combobox->currentText();
+}
+
+QString InputCombo::label() const
+{
+	return labelbox->text();
+}
+
+QLabel* InputCombo::qLabel()
+{
+	return labelbox;
+}
+
+QComboBox* InputCombo::qComboBox()
+{
+	return combobox;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/inputcombo.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,70 @@
+#ifndef INPUTCOMBO_H
+#define INPUTCOMBO_H
+
+#include <qhbox.h>
+
+class QString;
+class QStringList;
+class QLabel;
+class QComboBox;
+
+/*!
+ * A class for making input fields of type "Label: ComboBox"
+*/
+class InputCombo : public QHBox
+{
+	Q_OBJECT
+
+private:
+	QLabel *labelbox;
+	QComboBox *combobox;
+	
+	void initWidget();
+
+public slots:
+	/*!
+	 * Sets the label of the input field
+	 */
+	void setLabel(QString &str);
+
+public:
+	/*!
+	 * Constructs an InputCombo with no label or combobox content
+	 */
+	InputCombo(QWidget *parent=0, const char *name=0);
+	/*!
+	 * Constructs an InputCombo with label \param mylabel and
+	 * void combobox
+	 * \param mylabel Label of the InputCombo
+	 */
+	InputCombo(const QString &mylabel, QWidget *parent=0,
+			const char *name=0);
+	/*!
+	 * Constructs an InputCombo with label \param mylabel and
+	 * an initialized combobox
+	 * \param mylabel Label of the InputCombo
+	 * \param mystrings  Content of the combobox
+	 */
+	InputCombo(const QString &mylabel, const QStringList &mystrings,
+			QWidget *parent=0, const char *name=0);
+
+	/*!
+	 * Returns the contents of the textbox
+	 */
+	QString text() const;
+	/*!
+	 * Returns the label of the input field
+	 */
+	QString label() const;
+
+	/*!
+	 * Returns the QLabel
+	 */
+	QLabel* qLabel();
+	/*!
+	 * Returns the QComboBox
+	 */
+	QComboBox* qComboBox();
+};
+
+#endif // INPUTCOMBO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/inputfield.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,67 @@
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qstring.h>
+#include "inputfield.h"
+
+
+InputField::InputField( QWidget *parent, const char *name )
+		: QHBox( parent, name )
+{
+	labelbox = new QLabel( this );
+	textbox = new QLineEdit( this );
+	initWidget();
+}
+
+InputField::InputField( const QString &mylabel,
+	QWidget *parent, const char *name ) : QHBox( parent, name )
+{
+	labelbox = new QLabel( mylabel, this );
+	textbox = new QLineEdit( this );
+	initWidget();
+}
+
+InputField::InputField( const QString &mylabel, const QString &mytext,
+		QWidget *parent, const char *name ) : QHBox( parent, name )
+{
+	labelbox = new QLabel( mylabel, this );
+	textbox = new QLineEdit( mytext, this );
+	initWidget();
+}
+
+void InputField::initWidget()
+{
+	// Init widget config
+	setStretchFactor( labelbox, 0 );
+	setStretchFactor( textbox, 1 );
+	setSpacing( 10 );
+}
+
+void InputField::setText(QString &str)
+{
+	textbox->setText(str);
+}
+
+void InputField::setLabel(QString &str)
+{
+	labelbox->setText(str);
+}
+
+QString InputField::text() const
+{
+	return textbox->text();
+}
+
+QString InputField::label() const
+{
+	return labelbox->text();
+}
+
+QLabel* InputField::qLabel()
+{
+	return labelbox;
+}
+
+QLineEdit* InputField::qLineEdit()
+{
+	return textbox;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/inputfield.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,73 @@
+#ifndef INPUTFIELD_H
+#define INPUTFIELD_H
+
+#include <qhbox.h>
+
+class QString;
+class QLabel;
+class QLineEdit;
+
+/*!
+ * A class for making input fields of type "Label: Textbox"
+*/
+class InputField : public QHBox
+{
+	Q_OBJECT
+
+private:
+	QLabel *labelbox;
+	QLineEdit *textbox;
+	
+	void initWidget();
+
+public slots:
+	/*!
+	 * Sets the contents of the textbox
+	 */
+	void setText(QString &str);
+	/*!
+	 * Sets the label of the input field
+	 */
+	void setLabel(QString &str);
+
+public:
+	/*!
+	 * Constructs an InputField with no label or textbox content
+	 */
+	InputField(QWidget *parent=0, const char *name=0);
+	/*!
+	 * Constructs an InputField with label \param mylabel and
+	 * void textbox
+	 * \param mylabel Label of the InputField
+	 */
+	InputField(const QString &mylabel, QWidget *parent=0,
+			const char *name=0);
+	/*!
+	 * Constructs an InputField with label \param mylabel and
+	 * a textbox with content
+	 * \param mylabel Label of the InputField
+	 * \param mytext  Initial content of the textbox
+	 */
+	InputField(const QString &mylabel, const QString &mytext,
+			QWidget *parent=0, const char *name=0);
+
+	/*!
+	 * Returns the contents of the textbox
+	 */
+	QString text() const;
+	/*!
+	 * Returns the label of the input field
+	 */
+	QString label() const;
+
+	/*!
+	 * Returns the QLabel
+	 */
+	QLabel* qLabel();
+	/*!
+	 * Returns the QLineEdit
+	 */
+	QLineEdit* qLineEdit();
+};
+
+#endif // INPUTFIELD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,27 @@
+#include <qapplication.h>
+#include <qtranslator.h>
+#include "mainpanel.h"
+
+int main(int argc, char **argv)
+{
+	QApplication a( argc, argv);	
+	QTranslator translator( 0 );
+
+	if (translator.isEmpty())
+		qWarning("El traductor és buit. (Normal)");
+
+	translator.load( "yagl_en.qm", "." );
+
+	//a.installTranslator( &translator );
+
+	if (translator.isEmpty())
+		qWarning(a.tr("El traductor és buit."));
+	else
+		qWarning(a.tr("El traductor no és buit (OK)."));
+
+	MainPanel p;
+
+	a.setMainWidget(&p);
+	p.show();
+	return a.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mainpanel.cpp	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,170 @@
+#include <qmainwindow.h>
+#include <qmessagebox.h>
+#include <qstatusbar.h>
+#include <qapplication.h>
+#include <qsqldatabase.h>
+#include <qmenubar.h>
+#include <qpopupmenu.h>
+#include <qapplication.h>
+#include <qvbox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qworkspace.h>
+#include <qdialog.h>
+#include "mainpanel.h"
+#include "chartwindow.h"
+#include "dbconfigureform.h"
+#include "infolabel.h"
+
+
+MainPanel::MainPanel( QWidget *parent, const char *name )
+	: QMainWindow( parent, name )
+{
+	// Initialize the Menu bar
+	QPopupMenu *file = new QPopupMenu( this );
+	QPopupMenu *actions = new QPopupMenu( this );
+	QPopupMenu *database = new QPopupMenu( this );
+
+	database->insertItem( tr("&Connect"), this,
+		SLOT(dbConnect()));
+	database->insertItem( tr("&Disconnect"), this,
+		SLOT(dbDisconnect()));
+	database->insertSeparator();
+	database->insertItem( tr("Confi&gure"), this,
+		SLOT(dbConfigure()));
+
+	file->insertItem( tr("&Quit"), qApp,
+		SLOT(quit()),
+		tr("Ctrl+Q", "Quit"));
+
+	actions->insertItem( tr("&Chart of Accounts"), this,
+		SLOT(accountChart()),
+		tr("Ctrl+C", "Action: Chart of Accounts"));
+	actions->insertItem( tr("&Transactions"), this,
+		SLOT(transactions()),
+		tr("Ctrl+T", "Action: Transactions"));
+
+	menuBar()->insertItem( tr("&File"), file );
+	menuBar()->insertItem( tr("&Actions"), actions );
+	menuBar()->insertItem( tr("&Data Base"), database );
+
+	// Initialize the database configuration
+	db_config.host = "localhost";
+	db_config.username = "yagl_user";
+	db_config.password = "prova";
+	db_config.database = "yagl1";
+	db_config.driver = "QMYSQL3";
+
+	// Initialize this window (main)
+	setCaption( tr("Yet Another GUI Ledger") );
+
+	
+	workspace = new QWorkspace( this );
+
+	setCentralWidget(workspace);
+
+	// Status Bar
+	info_connected = new InfoLabel( tr("Database"),
+			tr("disconnected"), this );
+	statusBar()->addWidget( info_connected );
+
+	// Database pointer
+	our_database = NULL;
+	
+	// Dialog pointers
+	chartW = NULL;
+	
+}
+
+void MainPanel::transactions( )
+{
+	/*
+	if (!transactionsD)
+		transactionsD = new InfoLabel( tr("Prova"),
+			tr("Transactions"), workspace);
+	*/
+}
+
+void MainPanel::accountChart( )
+{
+	if (chartW==NULL)
+	{
+		chartW = new ChartWindow(workspace);
+		chartW->show();
+		connect(chartW, SIGNAL(destroyed()), this,
+			SLOT(accountChartRemoved()));
+	}
+	qDebug("end of try to opening chartW");
+}
+
+void MainPanel::accountChartRemoved( )
+{
+	chartW = NULL;
+	qDebug("chartW to null.");
+}
+
+void MainPanel::dbConnect( )
+{
+	our_database = QSqlDatabase::addDatabase( db_config.driver );
+	our_database->setDatabaseName( db_config.database );
+	our_database->setUserName( db_config.username );
+	our_database->setPassword( db_config.password );
+	our_database->setHostName( db_config.host );
+
+	/*
+	// Do we really need that ??!??!!?
+	if ( db_config.driver == "QMYSQL3" )
+		our_database->setPort(3306);
+	*/
+
+	qWarning( "Opening database connection..." );
+	
+	if ( !our_database->open() )
+	{
+		QString error_text(
+			tr("Database could not connect.\n  Driver: ",
+				"db_connect_error_text")
+			+ our_database->lastError().driverText()
+			+ tr("\n  Database: ", "db_connect_errortext") +
+			our_database->lastError().databaseText());
+
+		qWarning( error_text );
+		QMessageBox::warning( this, tr("Database connection error"),
+				error_text,
+				QMessageBox::Ok || QMessageBox::Default,
+				QMessageBox::NoButton,
+				QMessageBox::NoButton);
+	}
+	else
+	{
+		qWarning( "  connection opened." );
+		// Let the status bar know
+		info_connected->setValue("connected");
+	}
+	
+}
+
+void MainPanel::dbDisconnect( )
+{
+	if (our_database)
+	{
+		qWarning( "Closing database connection..." );
+		our_database->close();
+		qWarning( "  connection closed." );
+		// Let the status bar know
+		info_connected->setValue("disconnected");
+
+	}
+	else
+		qWarning( "We're not connected" );
+}
+
+
+void MainPanel::dbConfigure( )
+{
+	DBConfigureForm form(&db_config, this );
+
+	form.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mainpanel.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,63 @@
+#ifndef MAINPANEL_H
+#define MAINPANEL_H
+
+
+#include <qmainwindow.h>
+#include <qsqldatabase.h>
+#include "tdbconfig.h"
+//#include "infolabel.h"
+
+class QWorkspace;
+class QDialog;
+class InfoLabel;
+class ChartWindow;
+
+/*!
+  Offers the main window of the YAGL application. It holds the database
+  connection information, and controls the actions in this main window.
+  */
+class MainPanel : public QMainWindow
+{
+	Q_OBJECT
+
+private: // Variables
+	Tdb_config db_config;
+	QWorkspace *workspace;
+	InfoLabel *info_connected;
+
+	QSqlDatabase *our_database;
+
+	InfoLabel *transactionsD;
+	ChartWindow *chartW;
+
+public: // Methods
+	/*!
+	  Constructor of the main window application
+	  */
+	MainPanel( QWidget *parent=0, const char *name = 0);
+
+public slots:
+	/*!
+	  Opens a dialog for managing transactions.
+	  */
+	void transactions();
+	/*!
+	  Opens a dialog for managing the Chart of Accounts
+	  */
+	void accountChart();
+	void accountChartRemoved();
+	/*!
+	  Connects to the database configured
+	  */
+	void dbConnect();
+	/*!
+	  Disconnects from the database configured
+	  */
+	void dbDisconnect();
+	/*!
+	  Opens a dialog prompting for database connection configuration
+	  */
+	void dbConfigure();
+};
+
+#endif //MAINPANEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tdbconfig.h	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,13 @@
+#ifndef TDB_CONFIG_H
+#define TDB_CONFIG_H
+
+struct Tdb_config
+{
+	QString host;
+	QString username;
+	QString password;
+	QString database;
+	QString driver;
+};
+
+#endif // TDB_CONFIG_H
Binary file yagl has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/yagl.pro	Thu May 18 23:05:01 2006 +0200
@@ -0,0 +1,26 @@
+######################################################################
+# Automatically generated by qmake (1.05a) Tue Aug 5 23:52:10 2003
+######################################################################
+
+TEMPLATE = app
+DEPENDPATH += src
+INCLUDEPATH += src
+OBJECTS_DIR = src/obj
+DESTDIR = .
+
+
+# Input
+HEADERS += src/dbconfigureform.h \
+           src/infolabel.h \
+           src/inputcombo.h \
+           src/inputfield.h \
+           src/mainpanel.h \
+           src/tdbconfig.h \
+           src/chartwindow.h
+SOURCES += src/dbconfigureform.cpp \
+           src/infolabel.cpp \
+           src/inputcombo.cpp \
+           src/inputfield.cpp \
+           src/main.cpp \
+           src/mainpanel.cpp \
+           src/chartwindow.cpp