1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
Ce manuel utilisateur a pour objectif de faciliter l'utilisation de MTools.
La première patie décrit en détail les fonctionnalités générales c'est à dire
celles communes à tous les objets MTools.
La deuxième partie décrit l'utilisation spécifique de chaque objet.
PARTIE 1 : MTools.pm
Cette partie de la documentation est principalement extraite de MTools.pm
MTools exporte des fonctions destinées principalement à :
- activer des fonctions propres à la librairie mtools
- assurer la compatibilité entre la manipulation des objets mtools et des
objets zincs
Ainsi, d'une manière générale, toutes fonctions exportées s'appliquent aussi
bien à des objets zinc qu'à des objets mtools. L'unique restriction est dans la
méthode d'appel :
- obligatoirement : fct ($obj, @parametres) pour un objet zinc
- indiferemment $obj -> fct (@parametres).
L'avantage de la première méthode est qu'elle s'applique aussi bien à un objet
zinc qu'à un objet MTools. L'inconvénient est que l'on perd la possibilité de
profiter de l'héritage et de la redéfinition éventuelle de la fonction.
La fonction particuliere "new" :
La fonction "new" permet de générer une nouvelle frame encapsulant un
canvas zinc.
Une frame MTools est unique pour une application.
Elle initialise par ailleurs les données génériques pour le
fonctionnement de MTools.
Les callbacks dans MTools :
\&fct : exécution de fct ()
[\&fct, @params] : exécution de fct (@params)
['fct_name', $obj, @params] : exécution de $obj -> fct_name (@params)
[$obj, 'fct_name', @params] : exécution de $obj -> fct_name (@params)
[$obj, \&fct_name, @params] : exécution de fct_name ($obj, @params)
Fonctions :
- propertyExists : teste si une propriété MTools a été enregistrée (par
recordProperty) pour l'objet en question. S'il s'agit d'un objet zinc la
valeur retournée est forcément 0.
- mconfigure : permet de configurer indifférement des propriétes zinc ou
MTools d'un objet. Les paramètres sont passés sous forme d'une table de
hash. Par habitude, les propriétes zinc ou definies pour assurer une
compatibilité avec zinc (comme '-visible') ont été précédées d'un '-'.
- mget : $obj -> mget ('propriete') permet de récupérer la valeur d'une
propriété
- plisten : $obj -> plisten ('property_name', callback) plisten permet
d'écouter les modifications des propriétés mtools d'un objet => associe
l'appel d'une fonction à la modification d'un objet MTools
- unplisten : $obj -> unplisten ('property_name', callback) supprime
l'écoute
- plink : plink ([$obj1, 'property_1'], [$obj2, 'property_2'], ...);
Synchronise n propriétés. Si property_1 est modifiée, property_2 prendra
la valeur de property_1 et réciproquement. À l'initialisation, toutes
les propriétés prennent la valeur de property_1.
- executer : executer (callback); permet d'exécuter une callback du type
predefini ci-dessus dans la section "Les callbacks dans MTools"
- binding : $obj -> binding ('evenement', callback) permet d'écouter un
évènement MTOOLS ou Tk survenant sur un objet. binding peut aussi être
redéfini pour écouter de nouvelles sources d'évènements (par exemple
MIvy ou WacomAdapter)
- unbinding : $obj -> unbinding ('evenement', callback) arrête l'écoute
d'un évènement
- minstanciate : minstanciate ('definition', $parent) permet de
retourner un objet MTools à partir de la spec 'definition'
. si 'definition' est un path svg, minstanciate instancie le svg et
retourne un objet MTools encapsulant le contenu
. si 'definition' est un objet zinc, minstanciate retourne un objet
MTools encapsulant l'objet zinc
. si 'definition' est déjà un objet MTools, minstanciate retourne
l'objet lui-meme.
minstanciate change également le groupe parent qui deviendra
obligatoirement $parent
- minstance : minstance ($objet, $parent) est le cousin de minstanciate
mais lui retourne obligatoirement un objet zinc
- mrun : lance l'exécution de la main loop.
- mfind : $objet -> mfind ('tag') permet de chercher un fils de l'objet
ayant le tag correspondant
- mplaying : permet de lire un fichier son
Les fonctions suivantes encapsulent l'exécution des fonctions zinc
associées. Voir la documentation zinc :
http://www.tkzinc.org/Documentation/refman-3.3.4/index.html
- raise
- scale
- translate
- rotate
- coords
- bbox
- type
- tset
- treset
- tget
- clone
- chggroup
PARTIE 2 : Les objets de MTools
|