aboutsummaryrefslogtreecommitdiff
path: root/doc/user_manual.txt
blob: b39859e588c417067231e8b8ca16e0a19cbb450d (plain)
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