3.4.2. Présentation des différents
modules
L'application est constituée de modules qui assurent
chacun la réalisation d'une de ses fonctions. Ces modules assurent la
gestion des copies, des groupes, des collections, de la sauvegarde et de la
restauration des données.
3.4.2.1. La gestion de la copie
La gestion les copies représente la fonction principale
de l'application. Pouvoir récupérer le contenu du presse-papier
chaque fois qu'il est modifié est le défi qu'il a fallu relever
à ce niveau. Ce module est le plus important de l'application.
23 Né au Danemark en 1961, il est le concepteur
du C# et principal architecte chez Microsoft.
24 Langage de programmation
L'élément clé de ce module est la classe
ClipObjet. Cette classe expose des méthodes permettant de sauvegarder
les données contenues dans le presse-papier. L'application étant
inscrite comme visionneuse du presse-papier (voir figure
3.20), chaque fois que l'utilisateur effectue une
copie, Windows lui envoie un message qui est traité dans sa WndProc. Si
le message envoyé est WM_DRAWCLIPBOARD25, le contenu du
presse-papier est stocké dans une liste chainée de ClipObjet,
LinkedList<ClipObjet> (Voir figure 3.21).
Figure 3.20 : inscription d'une application comme
visionneuse du presse-papier 3.4.2.2. La gestion des collections et des
groupes.
a. Gestion des Groupes
Un groupe est considéré dans l'application comme
étant un ensemble de copies réalisées par l'utilisateur.
Chacune des copies réalisées est stockée dans la
même structure à savoir une liste chainée dans laquelle
chaque nouvelle copie vient se positionner au-dessus de la pile.
L'implémentation de ce comportement est illustrée à la
Figure 3.21.
57
25 Message envoyé quand le contenu du
presse-papier change.
58
Figure 3.21 : sauvegarde du contenu du presse-papier
« Clipboard »
Ceci rend la structure d'un groupe assez intéressante.
En plus de contenir des propriétés permettant de l'identifier
dans la chaine de données de l'application, elle contient
également une liste chainée de copie. L'objet groupe est
représenté par la classe GroupeClass. Cette
classe expose les méthodes Del, DelCopie, AddCopie qui
permettent respectivement de supprimer le groupe, de supprimer une copie dans
un groupe et d'ajouter une copie dans un groupe.
59
b. Gestion des Collections
Une collection est considérée comme étant
un conteneur de groupe. Elle peut contenir un ou plusieurs groupes.
La structure d'une collection est assez simple. Elle est
représentée par la classe CollectionClass qui
contient des propriétés permettant de l'identifier. Cette classe
expose les méthodes Add et Delete qui permettent respectivement
d'ajouter et de supprimer une collection dans la chaine de données de
l'application. Il est important de noter que la suppression d'une collection
entraine la suppression de tous les groupes qu'elle contient.
|