Page 1 sur 1

Sam 07/01/2012 - Actualités

Posté : sam. 7 janv. 2012 10:27
par Xavier
Sam 07/01/2012 - Actualités


09:25

Contre toute attente, la gestion des faux onglets est très facile grâce aux nouveaux objets "XD" (Options - Paramètres) implémentés cette semaine. Cela fonctionne avec très peu de code, grâce à la mise en place d'une norme de développement générique qui recherche les objets (boutons, panneaux) et les met à jour selon les variables de l'XD :

Code : Tout sélectionner

//------------------------------------------------------------------------------
// XST_ManageTabs
// 07/01/2012 - XT400
//------------------------------------------------------------------------------
function XST_ManageTabs(Form: TForm; XD: TData): Byte;
var
	Tab_Number: Byte;
	Tab_Index: Byte;
	Widget_Name: String;
	Tab_Button: TSpeedButton;
	Tab_Panel: TPanel;
begin
	// Préparations
	Result := 0;
	Tab_Number := StrToInt(XD.GetProp('TabNumber'));

	// Mises à jour
	for	Tab_Index := 0 to (Tab_Number - 1)
	do	begin
		// Gestion du bouton
		Widget_Name := 'Form_Button_' + IntToStr(Tab_Index);
		Tab_Button := TSpeedButton(Form.FindComponent(Widget_Name));
		if	Tab_Button.Down
		then	begin
			XD.SetProp('ActiveTab', IntToStr(Tab_Index));
			Result := Tab_Index;
			end;

		// Gestion du panneau
		Widget_Name := 'Form_Tab_' + IntToStr(Tab_Index);
		Tab_Panel := TPanel(Form.FindComponent(Widget_Name));
		Tab_Panel.Visible := Tab_Button.Down;
		end;
end;
On note au passage la puissance des "XD", puisque la création d'une nouvelle variable se fait dynamiquement par "XD.SetProp(Variable, Value)", et qu'il n'y a pas besoin de modifier la structure réelle de l'objet. Le stockage se fait dans le champ "Term" de l'objet (qui est une liste de chaine) sous la forme "Variable=Value".

Sam 07/01/2012 - Actualités

Posté : sam. 7 janv. 2012 19:27
par Xavier
18:25

La gestion des XD a encore été améliorée, avec un lien de l'objet vers la fenêtre.
Tout le code existant dédié à la gestion de la fenêtre a été factorisé et déporté dans les Services:
  • Création de la fenêtre (positionnement, dimensionnement, initialisation des composants).
  • Gestion des boutons et raccourcis de la fenêtre (fermeture, sauvegardes, aide).
  • Gestion de la taille minimale et de l'aimantation.
  • Fermeture de la fenêtre (sauvegarde des position et dimension selon les options).
La prochaine étape est une gestion générique des options, avant le passage au coeur "métier", la gestion des Contacts.

Cette nouvelle fenêtre étant un concentré de factorisation, il faudra ensuite retravailler sur la Barre afin de pouvoir livrer un prototype et de recueillir des avis avant le passage aux autres outils.