Page 1 sur 1

Mer 10/08/2011 - Actualités

Posté : mer. 10 août 2011 12:12
par Xavier
Mer 10/08/2011 - Actualités


12:00
  • La Barre a été passée au format XT4, c'est à dire qu'elle ne présente désormais plus qu'un TControlBar qui affiche des panneaux, à la façon des Barre d'Outils dans Microsoft Office 2000 ou 2003.
  • De la même manière, ces panneaux seront entièrement personnalisables. Ils seront pré-initialisés par défaut avec la même configuration que dans The X-Tools 3.7.0, afin de pas perturber la migration.
  • Il y aura également 12 panneaux Utilisateur, tout autant configurables. Ces panneaux auront la particularité de pouvoir être affichés / cachés par un raccourci-clavier dédié. Cela permettra de gérer les contextes de la Barre, une combinaison de touches cachant les icônes propres à une situation ou à un lieu (Personnel / Professionnel, Client A / Client B).
  • La Barre pourra donc ainsi contenir jusqu'à 17 panneaux (chiffre susceptible d'évoluer). Comme il est possible de les déplacer sur une nouvelle ligne, la Barre pourra occuper jusqu'à 442 pixels de hauteur.
  • Il reste maintenant à gérer ces panneaux au niveau objet, mais la structure est déjà prête. Ensuite il faudra gérer les boutons, obtenus par Drag-and-Drop du Gestionnaire de Commandes.

Mer 10/08/2011 - Actualités

Posté : mer. 10 août 2011 15:37
par Xavier
15:35
  • Avant de pouvoir continuer sur la personalisation de la Barre, il va falloir réécrire le système des Options.
  • Cette modification était de toute façon prévue, car le système actuel est archaïque : c'est un tableau de 319 valeurs (codées sur 1 octet). Certaines options de plus d'un octet doivent être "coupées" sur plusieurs options.
  • L'accès est par contre facile puisqu'il suffit de se référer à une "table des matières" pour accéder à l'option voulue, par exemple:

    Code : Tout sélectionner

    	// Variables créées pour la version 3.6.5 (En-tête : XTF|361|1|...|)
    	XV_Options[313] := 000;		// Notes / Options / Notes / Police non proportionelle (1 / 0)
    	XV_Options[314] := 000;		// Raccourcis / Options / Raccourcis / Menu par clic central (1 / 0)
    	XV_Options[315] := 000;		// Options / Données / Sécurité / Appliquer à Vidéo (1 / 0)
    	XV_Options[316] := 001;		// Vidéo / Compression / Enregistrer les données (1 / 0)
    
    	// Variables créées pour la version 3.6.6 (En-tête : XTF|361|1|...|)
    	XV_Options[317] := 000;		// Options / Application / Démarrage / Désactiver les bips (1 / 0)
    
    	// Variables créées pour la version 3.7.0(En-tête : XTF|370|1|...|)
    	XV_Options[318] := 001;		// Sécurité / Options / Mot de passe / Aléatoire (0 à 7)
    	XV_Options[319] := 001;		// Sécurité / Options / Mot de passe / Composé (0 à 7)
    
  • A priori c'est le modèle mis en place pour les données utilisateur qui va être utilisé pour les options, il est un peu surdimensionné pour des options, mais l'utiliser évitera de dupliquer du code.
  • L'idée actuelle est de définir un objet par outil, et de stocker ses différentes options dans son champ Term.
  • En ce qui concerne la Barre, ses Panneaux et leurs Items seront des objets enfants:

    Code : Tout sélectionner

    	// TData
    	TData = class(TObject)
    		// Champs de la hiérarchie
    		Parent: TData;
    		Level: Integer;
    		Index: Integer;
    		Container: Boolean;
    		Children: TList;
    		Tag: LongInt;
    
    		// Champs du stockage
    		OID: String;
    		Creation: TDateTime;
    		Update: TDateTime;
    		Encryption: Boolean;
    		Model: String;
    
    		// Champs des données (Cryptables)
    		IconFile: String;
    		IconIndex: Integer;
    		Caption: Array[0..1] of String;
    		Term: TStringList;
    		end;
    
  • La totalité de l'application ne va pas être passée en une seule fois au futur format d'options, cela se fera au fur et à mesure de la réécriture des différents modules.