	5 . Concepts gnraux


Le prcepte VISUAL :
Les proprits crent les vnements qui appellent les mthodes


	5.1 Les douze travaux

La dmarche de cration d'un projet en Visual Assembleur est la suivante :

1) Planification du cahier des charges et des dolances des utilisateurs.
2) Analyse du programme, algorithmes.
3) Conception de l'interface utilisateur, prvision de l'ordonnancement et de la gestion 
du redraw des fentres (automatiquement par le V.A. ou par le programme).
4) Adaptation de l'interface et du design gnral de l'application aux spcifications 
GEM.
5) Choix du squelette de dpart, le recopier, le renommer (fichiers, ressource).
6) dition du ressource, dessin du menu principal et des botes de dialogue.
7) Cration du projet.HS  partir du projet.H.
8) dition du projet.DEF pour dfinir les modules/librairies  utiliser.
9) dition du projet.OBJ pour dclarer vos botes de dialogue, fentres, menu ...
i -	dition de l'objet application principale
ii -	cration du menu principal, de ses sous-menus et raccourcis.
iii -	dition du nom de l'application, nom du ressource, nom dans la barre d'accessoi-
re.
iv -	cration des fentres  partir d'exemples pour chaque type. Dans le cas d'une fe-
ntre formulaire :
a) cration de la structure fentre formulaire
b) cration de la liste des objets du formulaire
c) cration des structures des diffrents objets
d) cration de la liste des vnements de chaque objet
10) dition du projet.S, ajustage des messages systmes (AC_OPEN, AP_TERM) sur 
les routines correspondantes.
11) Premier assemblage pour vrifier que la mise en place des labels est correcte.
12) criture du programme proprement dit sans jamais plus s'occuper de l'interface.


	5.2 La programmation objet adapte au V.A.

La programmation objet consiste  voir toute chose comme ayant un lien de parent avec un 
pre et un ou des fils.
Par exemple, on peut considrer qu'une application est un objet fils du systme sous lequel 
elle est excute : c'est ce que nous appelons l'objet application principale.
Toutes les fentres (qui n'ont d'existence que parce que cette application existe : vous voyez 
le lien de filiation ?) sont des filles de cette application et leur comportement dpend en partie 
des proprits de leur mre.
Les proprits crent les vnements qui appellent les mthodes veut dire tout simplement 
que tout objet a des proprits (exemple : l'application principale a un menu, une fentre a un 
gadget permettant de l'iconifier) qui vont forcment gnrer des vnements (exemple : un 
clic dans un menu ; pour la fentre, un clic sur le gadget iconify) qui vont appeler des mtho-
des (une action va tre entreprise suite  cet vnement : ouverture d'un slecteur de fichier ou 
bien iconification de la fentre en question).
Les proprits sont donc l'essence mme de l'objet : c'est  dire sa forme, sa couleur ... et 
dfinissent les vnements qui l'affectent.
Les proprits de chaque objet se traduisent donc par une structure de donnes (des DA-
TAS en fait) dans laquelle sont lists, en gnral, les vnements auxquels cet objet rpond ; 
du point de vue du programmeur : la routine qu'il faut excuter dans ce cas.
Les mthodes sont des routines dont la donne d'entre est un objet. (exemple : la mthode 
pour fermer une fentre prend en entre un pointeur sur une structure de fentre !)

Les rgles de nommage respectent cet aspect objet :

le dbut du nom d'une structure ou d'une mthode est : "GWVA_" pour Genuwax Visual 
Assembleur

Si cela s'applique  un objet, on a ensuite le type de l'objet puis "OBJ"
Si c'est une mthode, on trouvera ensuite : "PRG" pour "Programme".

Vient ensuite l'identifiant qui est le vritable descripteur du contenu.

Exemples : (se lit de droite  gauche comme tout ce qui est en Anglais)

	GWVA_WIND_OBJ_PRG_RETURN_PTR_FROM_HANDLE
		doit se lire : Mthode sur l'objet fentre : "retourne pointeur depuis handle".

	GWVA_WFORM_OBJ_CLONE_MAIN_PTR
		doit se lire : Proprit de l'objet fentre formulaire : pointeur principale de clonage.

	GWVA_APP_OBJ_STATUS
		doit se lire : proprit de l'objet application principale : status.

