1098 lines
50 KiB
HTML
1098 lines
50 KiB
HTML
<! *** En-tˆte ***>
|
||
|
||
<html><head><title>Thing V1.09 - Protocoles</title></head>
|
||
<body>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocoles ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<h3>Protocoles</h3>
|
||
|
||
<ul>
|
||
<li><a href="#Protocole - AV">Protocole AV</a>
|
||
<li><a href="#Protocole - Fontes">Protocole des fontes</a>
|
||
<li><a href="#Drag&Drop">Drag&Drop</a>
|
||
</ul>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<hr size=1>
|
||
<h3><a name="Protocole - AV">Protocole AV</a></h3>
|
||
|
||
Le protocole AV a été développé pour être utilisé avec le bureau alternatif Gemini. Gemini intègre
|
||
un bureau (Venus) et une ligne de commande appelée Mupfel. Afin que Venus puisse communiquer avec
|
||
les accessoires de bureau, le protocole AV a été développé et est grandement usité aujourd'hui :<p>
|
||
|
||
(AV ~ Accessoire <-> Venus)<p>
|
||
|
||
Thing gère tous les messages définis depuis le 26 juin 1995 et est par conséquent un excellent
|
||
serveur 'AV'. De ce fait, il améliore les fonctionnalités des accessoires de bureau et les
|
||
opérations sous système d'exploitation multitâches. Les noms de fichier entre guillemets ne sont
|
||
pas encore supportés.<p>
|
||
|
||
Dans la description suivante, Thing agit comme le 'serveur' et les accessoires et applications
|
||
comme 'clients'.<p>
|
||
|
||
Pour utiliser Thing comme serveur AV sous environnement multitâches, vous devez définir une
|
||
variable d'environnement appelée <a href="../pages/variable.htm#AVSERVER">AVSERVER</a>. Celle-ci
|
||
doit être définie de la façon suivante :<p>
|
||
|
||
<dl>
|
||
<dt><b>MagiC</b>
|
||
<dd>Entrez '#_ENV AVSERVER=THING' dans le fichier 'MAGX.INF' (doit être ajouté avant '#_CTR').<p>
|
||
|
||
<dt><b>MultiTOS</b>
|
||
<dd>Entrez 'setenv AVSERVER=THING' dans le fichier 'MINT.CNF'.<p>
|
||
</dl>
|
||
|
||
Les instructions suivantes sont supportées par Thing :<p>
|
||
|
||
<table widht=100%>
|
||
<td widht=48%>
|
||
<ul>
|
||
<li><a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>
|
||
<li><a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>
|
||
<li><a href="#AV_OPENWIND">AV_OPENWIND</a>
|
||
<li><a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>
|
||
<li><a href="#AV_STATUS">AV_STATUS</a>
|
||
<li><a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a>
|
||
<li><a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>
|
||
<li><a href="#AV_EXIT">AV_EXIT</a>
|
||
<li><a href="#AV_XWIND">AV_XWIND</a>
|
||
<li><a href="#AV_FILEINFO">AV_FILEINFO</a>
|
||
<li><a href="#AV_DELFILE">AV_DELFILE</a>
|
||
<li><a href="#AV_SENDKEY">AV_SENDKEY</a>
|
||
</ul>
|
||
<td widht=48%>
|
||
<ul>
|
||
<li><a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>
|
||
<li><a href="#AV_STARTPROG">AV_STARTPROG</a>
|
||
<li><a href="#AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a>
|
||
<li><a href="#AV_GETSTATUS">AV_GETSTATUS</a>
|
||
<li><a href="#AV_PATH_UPDATE">AV_PATH_UPDATE</a>
|
||
<li><a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>
|
||
<li><a href="#AV_STARTED">AV_STARTED</a>
|
||
<li><a href="#AV_VIEW">AV_VIEW</a>
|
||
<li><a href="#AV_COPYFILE">AV_COPYFILE</a>
|
||
<li><a href="#AV_SETWINDPOS">AV_SETWINDPOS</a>
|
||
<li><a href="#VA_PATH_UPDATE">VA_PATH_UPDATE</a>
|
||
<li><a href="#VA_FONTCHANGED">VA_FONTCHANGED</a><p>
|
||
</ul>
|
||
</table>
|
||
|
||
<br>
|
||
<table border align=center>
|
||
<tr><td><img src="../images/232.gif" align=left alt="232.GIF">
|
||
Voici quelques conseils pour l'intégration dans vos propres programmes :<p>
|
||
|
||
<ul>
|
||
<li>Sous TOS simple, seule l'application (principale) 0 peut agir comme serveur AV. En
|
||
environnement multitâches, comme MagiC ou MultiTOS, vous devez vérifier la présence d'un serveur AV
|
||
dans la variable d'environnement <a href="../pages/variable.htm#AVSERVER">AVSERVER</a>.<p>
|
||
|
||
<li>Si un programme utilise <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>, il doit utiliser également
|
||
AV_EXIT avant d'être quitté.<p>
|
||
|
||
<li>Un programme doit toujours attendre le retour de <a href="#VA_PROTOSTATUS">VA_PROTOSTATUS</a>
|
||
avant d'utiliser un autre message AV ! Il se peut que le serveur courant ne transmette pas tous les
|
||
messages du protocole AV.<p>
|
||
|
||
<li>Tous les blocs mémoire qui sont utilisés pour transmettre les noms de fichier, les paramètres,
|
||
... doivent être alloués en mode 'global' sous MultiTOS (conseil : Mxalloc(<taille>,0x42)) !
|
||
Autrement, il peut y avoir un problème d'accès mémoire.<p>
|
||
|
||
<li>Tous les noms de fichiers et dossiers doivent être exprimés sous forme complète (exemple :
|
||
'i:\test.txt').<p>
|
||
|
||
<li>Si le serveur supporte les noms de fichiers entre guillemets, ceux-ci peuvent être entre deux
|
||
caractères '. Si un guillemet fait déjà partie d'un nom de fichier, celui-ci sera répété :<p>
|
||
|
||
d:\lettre à rené devient 'd:\lettre à rené'<p>
|
||
d:\image d'antan devient 'd:\image d''antan'<p>
|
||
|
||
<li>S'il y a plus d'un nom de fichier/dossier, les noms doivent être séparés par un seul espace
|
||
(code ASCII 32).<p>
|
||
|
||
<li>Les noms des dossiers doivent se terminer par un anti-slash '\' (code ASCII 92). Exemple :
|
||
'i:\lettres\' (la version 1.a de Gemini ne semblait faire ceci).<p>
|
||
|
||
<li>Pour générer un accès à la fenêtre suivante 'global' (window cycling), les clients AV doivent
|
||
envoyer un [Control]+[W] au serveur par le message <a href="#AV_SENDKEY">AV_SENDKEY</a>.
|
||
</ul>
|
||
</table>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_PROTOKOLL ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_PROTOKOLL">AV_PROTOKOLL</a></h3>
|
||
|
||
<b>AV_PROTOKOLL (0x4700) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
Un client demande au serveur quelle fonction du protocole AV est gérée. Le serveur répond en
|
||
envoyant un message <a href="#VA_PROTOSTATUS">VA_PROTOSTATUS</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Bit 0 : <a href="#VA_SETSTATUS">VA_SETSTATUS</a>
|
||
Bit 1 : <a href="#VA_START">VA_START</a>
|
||
Bit 2 : <a href="#AV_STARTED">AV_STARTED</a>
|
||
Bit 3 : <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a>
|
||
Bit 4 : Envoie et utilise les noms de fichier entre guillemets
|
||
Bit 5 : <a href="#VA_PATH_UPDATE">VA_PATH_UPDATE</a>
|
||
Bit 6-15 : Réservé, toujours à 0
|
||
Mot 4 : Réservé, toujours à 0
|
||
Mot 5 : Réservé, toujours à 0
|
||
Mot 6+7 : Pointeur du nom, qui doit toujours être utilisé pour
|
||
appl_find() pour obtenir l'identification AES du client (8
|
||
caractères suivis par le code nul).
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_PROTOSTATUS ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_PROTOSTATUS">VA_PROTOSTATUS</a></h3>
|
||
|
||
<b>VA_PROTOSTATUS (0x4701) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Répond par l'envoi d'un message <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> demandé par le client. La
|
||
réponse, sous forme d'un mot, spécifie quelle fonction du protocole AV de Thing est supportée. Les
|
||
messages en rouge ne doivent jamais être gérés par Thing.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Bit 0 : <a href="#AV_SENDKEY">AV_SENDKEY</a>
|
||
Bit 1 : <a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>
|
||
Bit 2 : <a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>, <font
|
||
color=red>AV_OPENCONSOLE</font>
|
||
Bit 3 : AV_ASKobjet
|
||
Bit 4 : <a href="#AV_OPENWIND">AV_OPENWIND</a>
|
||
Bit 5 : <a href="#AV_STARTPROG">AV_STARTPROG</a>
|
||
Bit 6 : <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>, <a href="#AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a>
|
||
Bit 7 : <a href="#AV_STATUS">AV_STATUS</a>, <a href="#AV_GETSTATUS">AV_GETSTATUS</a>
|
||
Bit 8 : <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a>
|
||
Bit 9 : <a href="#AV_PATH_UPDATE">AV_PATH_UPDATE</a>, <a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>, <a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>
|
||
Bit 10 : <a href="#AV_EXIT">AV_EXIT</a>
|
||
Bit 11 : <a href="#AV_XWIND">AV_XWIND</a>
|
||
Bit 12 : <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a>
|
||
Bit 13 : <a href="#AV_STARTED">AV_STARTED</a>
|
||
Bit 14 : Envoie et utilise les noms de fichier entre guillemets
|
||
Bit 15 : <a href="#AV_FILEINFO">AV_FILEINFO</a>, <a href="#VA_FILECHANGED">VA_FILECHANGED</a>
|
||
Mot 4 : Bit 0 : <a href="#AV_COPYFILE">AV_COPYFILE</a>, <a href="#VA_FILECOPIED">VA_FILECOPIED</a>
|
||
Bit 1 : <a href="#AV_DELFILE">AV_DELFILE</a>, <a href="#VA_FILEDELETED">VA_FILEDELETED</a>
|
||
Bit 2 : <a href="#AV_VIEW">AV_VIEW</a>, <a href="#VA_VIEWED">VA_VIEWED</a>
|
||
Bit 3 : AV_SETWINDPOS
|
||
Bit 4-15 : Réservé, toujours à 0
|
||
Mot 5 : Réservé, toujours à 0
|
||
Mot 6+7 : Pointeur des noms de programme des serveurs, préparé par
|
||
appl_find() (8 caractères suivis du code nul).
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_GETSTATUS ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_GETSTATUS">AV_GETSTATUS</a></h3>
|
||
|
||
<b>AV_GETSTATUS (0x4703) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Demande le statut d'information sauvé par <a href="#AV_STATUS">AV_STATUS</a>. Un message
|
||
<a href="#VA_SETSTATUS">VA_SETSTATUS</a> est renvoyé en réponse. Il n'y a aucun paramètre associé à
|
||
cette instruction.<p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_STATUS ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_STATUS">AV_STATUS</a></h3>
|
||
|
||
<b>AV_STATUS (0x4704) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Par ce message, un client peut demander au serveur n'importe quel statut d'information (pré-
|
||
réglages, ...) et n'a pas besoin d'être renouvelé. Thing sauvegarde cette information comme élément
|
||
dans le fichier 'THING.INF'.<p>
|
||
|
||
Cette fonction est d'une utilité fondamentale pour les accessoires de bureau, car le TOS simple est
|
||
(au mieux) équipé de tampons utilisables !<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur d'une chaîne de 256 caractères maximum qui ne doit
|
||
contenir aucun code de contr"le.
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_SETSTATUS ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_SETSTATUS">VA_SETSTATUS</a></h3>
|
||
|
||
<b>VA_SETSTATUS (0x4705) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Répond au message <a href="#AV_GETSTATUS">AV_GETSTATUS</a>. Thing échange le précédent statut
|
||
d'information avec le client.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur sur la chaîne sauvegardée ou code nul si
|
||
l'information n'est pas disponible.
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_SENDKEY ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_SENDKEY">AV_SENDKEY</a></h3>
|
||
|
||
<b>AV_SENDKEY (0x4710) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Par ce message, un client peut envoyer à Thing n'importe quelle touche qui n'est pas utilisée par
|
||
lui-même.<p>
|
||
|
||
<dl>
|
||
<dt><b>Note</b>
|
||
<dd>Thing et Gemini acceptent [Control]+[W] pour procéder à un accès à la fenêtre suivante 'global'
|
||
(Window cycling). Toutes les fenêtres ouvertes de n'importe quel client AV sont prises en compte.
|
||
L'état touche (ev_mmokstate) est 0x0004, le 'scan code' (ev_mkreturn) est 0x1107.<p>
|
||
</dl>
|
||
|
||
<pre>
|
||
Mot 3 : Etat touche (ev_mmokstate)
|
||
Mot 4 : 'Scan code' de la touche appuyée (ev_mkreturn)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_START ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_START">VA_START</a></h3>
|
||
|
||
<b>VA_START (0x4711) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Par ce message, un serveur transmet des paramètres aux accessoires de bureau ou à des applications
|
||
lancées en parallèle.<p>
|
||
|
||
Une caractéristique exceptionnelle : Thing peut aussi recevoir des messages VA_START. Dans la ligne
|
||
de commande, un programme individuel ou un fichier peut être transmis. Les applications installées
|
||
sont également prises en compte.<p>
|
||
|
||
Les lignes de commande commençant avec le caractère ':' ne doivent pas être utilisées, car elles
|
||
sont interprétées comme commandes internes !<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur de la ligne de commande. Les <a href="../pages/bureau.htm#Objets">objets</a> déplacés sur les
|
||
icônes par <a href="#Drag&Drop">Drag&Drop</a> réclament le nom de fichier en entier
|
||
(exemple : chemin, nom du fichier suivi d'un anti-slash '\').
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_ASKFILEFONT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_ASKFILEFONT">AV_ASKFILEFONT</a></h3>
|
||
|
||
<b>AV_ASKFILEFONT (0x4712) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Par ce message, le client peut demander la fonte courante utilisée pour les noms de fichier dans
|
||
les fenêtres répertoire. Le serveur, l'identification et la taille (en points) de la fonte sont
|
||
inclus dans le message <a href="#VA_FILEFONT">VA_FILEFONT</a>. Il n'y a pas de paramètres pour
|
||
cette instruction.<p>
|
||
|
||
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_FILEFONT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_FILEFONT">VA_FILEFONT</a></h3>
|
||
|
||
<b>VA_FILEFONT (0x4713) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Réponse à <a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>. Le serveur retourne l'identification et la
|
||
taille (en points) de la fonte utilisée pour les noms de fichier dans les fenêtres répertoire.<p>
|
||
|
||
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Identification de la fonte (vst_font)
|
||
Mot 4 : Taille en points (vst_point)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_ASKCONFONT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_ASKCONFONT">AV_ASKCONFONT</a></h3>
|
||
|
||
<b>AV_ASKCONFONT (0x4714) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client peut demander la fonte utilisée dans la fenêtre console. Le serveur répond en utilisant
|
||
le message <a href="#VA_CONFONT">VA_CONFONT</a> avec l'identification et la taille (en points) de
|
||
la fonte. Il n'y a pas de paramètres pour cette instruction.<p>
|
||
|
||
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_CONFONT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_CONFONT">VA_CONFONT</a></h3>
|
||
|
||
<b>VA_CONFONT (0x4715) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Thing utilise ce message pour répondre à un message <a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>.
|
||
Thing renvoie l'identification ainsi que la taille (en points) de la fonte courante utilisée dans
|
||
la fenêtre console.<p>
|
||
|
||
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Identification de la fonte (vst_font)
|
||
Mot 4 : Taille en points (vst_point)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_OPENWIND ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_OPENWIND">AV_OPENWIND</a></h3>
|
||
|
||
<b>AV_OPENWIND (0x4720) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Thing ouvre une nouvelle fenêtre répertoire.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du chemin du répertoire ouvert.
|
||
Mot 5+6 : Pointeur du masque de fichier. '*.*' est interprété comme '*'
|
||
(tous les fichiers) par Thing.
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_WINDOPEN ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_WINDOPEN">VA_WINDOPEN</a></h3>
|
||
|
||
<b>VA_WINDOPEN (0x4721) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Thing répond au client à <a href="#AV_OPENWIND">AV_OPENWIND</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur.
|
||
!=0 = La fenêtre est ouverte et le répertoire réactualisé.
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_STARTPROG ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_STARTPROG">AV_STARTPROG</a></h3>
|
||
|
||
<b>AV_STARTPROG (0x4722) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Thing lance un programme à la demande d'un client.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Nom du programme avec le chemin complet (avec éventuellement
|
||
le nom du fichier). Si le nom du fichier est inclus, Thing
|
||
recherche pour l'application, le nom du fichier et transmet
|
||
celui-ci comme paramètre à l'application.
|
||
Mot 5+6 : Ligne de commande ou code nul si celle-ci n'existe pas.
|
||
Mot 7 : N'importe quelle valeur 16 bits, que <a href="#VA_PROGSTART">VA_PROGSTART</a> transmettra.
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_PROGSTART ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_PROGSTART">VA_PROGSTART</a></h3>
|
||
|
||
<b>VA_PROGSTART (0x4723) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Répond à la demande d'un message <a href="#AV_STARTPROG">AV_STARTPROG</a>. Thing envoie toujours la
|
||
réponse immédiatement (par exemple, après la fin des programmes lancés sous TOS simple qui ne sont
|
||
pas considérés comme accessoires). Actuellement, le code retourné pour les programmes lancés est
|
||
toujours 0.<p>
|
||
|
||
Si Thing est quitté avant le lancement d'un programme (mode où Thing est retiré de la mémoire avant
|
||
l'exécution ou mode mono-tâche sous MagiC), aucun message de réponse n'est envoyé.<p>
|
||
|
||
Un client devra toujours recevoir un message d'erreur si le programme ne peut être exécuté.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur
|
||
!=0 = Programme exécuté
|
||
Mot 4 : Code retourné par le programme (s'il existe)
|
||
Mot 7 : Mot de 16 bits de AV_STARTPROG
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_ACCWINDOPEN ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_ACCWINDOPEN">AV_ACCWINDOPEN</a></h3>
|
||
|
||
<b>AV_ACCWINDOPEN (0x4724) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client utilise ce message pour échanger avec Thing l'information qui a ouvert une fenêtre. Thing
|
||
peut alors étendre sa gestion pour le Drag&Drop et l'accès à la fenêtre suivante (cycle window)
|
||
pour recouvrir cette fenêtre.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Gestion fenêtre AES
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_DRAGACCWIND ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_DRAGACCWIND">VA_DRAGACCWIND</a></h3>
|
||
|
||
<b>VA_DRAGACCWIND (0x4725) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Thing envoie un message VA_DRAGACCWIND au client quand un ou plusieurs objets ont été déplacés sur
|
||
sa fenêtre. La fenêtre doit avoir été au préalable reconnue avec Thing par le message
|
||
<a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>.<p>
|
||
|
||
Reportez-vous au message <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a> pour plus de précisions.<p>
|
||
|
||
<dl>
|
||
<dt><b>Note</b>
|
||
<dd>Le statut clavier pour d'autres réponses du client (comme AV_COPY_DRAGGED) devient nécessaire.
|
||
Il doit, à la réception de VA_DRAGACCWIND, vérifier la valeur retournée par evnt_multi().<p>
|
||
</dl>
|
||
|
||
Par exemple : la structure 'EVENT' doit être vérifiée en utilisant EvntMulti() et non par l'envoi
|
||
d'une réponse par graf_mkstate() !<p>
|
||
|
||
<pre>
|
||
Mot 3 : Gestion fenêtre AES
|
||
Mot 4 : Position X de la souris
|
||
Mot 5 : Position Y de la souris
|
||
Mot 6+7 : Pointeur de la chaîne contenant les noms d'objets
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_ACCWINDCLOSED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a></h3>
|
||
|
||
<b>AV_ACCWINDCLOSED (0x4726) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client échange des informations avec Thing quand il a fermé l'une de ses fenêtres. Ceci
|
||
intervient seulement si un client ferme sa propre fenêtre. Sous TOS simple, les fenêtres des
|
||
accessoires sont automatiquement fermées au lancement des applications et ce message n'est pas
|
||
nécessaire.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Gestion fenêtre AES
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_COPY_DRAGGED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_COPY_DRAGGED">AV_COPY_DRAGGED</a></h3>
|
||
|
||
<b>AV_COPY_DRAGGED (0x4728) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client informe Thing qu'un objet ou des objets ont été délivrés par <a
|
||
href="#VA_DRAGACCWIND">VA_DRAGACCWIND</a> et sont prêts pour la copie. Thing envoie au client une
|
||
réponse avec <a href="#VA_COPY_COMPLETE">VA_COPY_COMPLETE</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Statut clavier à la réception de VA_DRAGACCWIND
|
||
Mot 4+5 : Pointeur du chemin de destination
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_COPY_COMPLETE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_COPY_COMPLETE">VA_COPY_COMPLETE</a></h3>
|
||
|
||
<b>VA_COPY_COMPLETE (0x4729) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Réponse de Thing par <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a> au client.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur ou interruption par l'utilisateur
|
||
!=0 = Les <a href="../pages/bureau.htm#Objets">objets</a> sont copiés et la fenêtre répertoire est
|
||
réactualisée si nécessaire
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_PATH_UPDATE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_PATH_UPDATE">AV_PATH_UPDATE</a></h3>
|
||
|
||
<b>AV_PATH_UPDATE (0x4730) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client informe Thing que le contenu d'un répertoire a été changé. Thing relit alors les
|
||
répertoires appropriés ainsi que tous les sous-répertoires dans le chemin spécifié.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du chemin absolu (exemple : C:\AUTO\)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_WHAT_IZIT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_WHAT_IZIT">AV_WHAT_IZIT</a></h3>
|
||
|
||
<b>AV_WHAT_IZIT (0x4732) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client réclame des informations sur une localisation d'une partie d'écran. Thing répond par un
|
||
message <a href="#VA_THAT_IZIT">VA_THAT_IZIT</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Coordonnée X
|
||
Mot 4 : Coordonnée Y
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_THAT_IZIT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_THAT_IZIT">VA_THAT_IZIT</a></h3>
|
||
|
||
<b>VA_THAT_IZIT (0x4733) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Réponse à une demande de message <a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Identification AES pour l'application appropriée
|
||
Mot 4 : Type d'objet
|
||
Mot 5+6 : Pointeur des noms d'objets ou code nul si aucun nom n'est
|
||
disponible.
|
||
</pre>
|
||
|
||
Les différents types sont les suivants :<p>
|
||
|
||
<pre>
|
||
VA_OB_UNKNOWN (0) Inconnu (fenêtre console, bureau, ...)
|
||
VA_OB_TRASHCAN (1) 'Poubelle' Gemini (n'existe pas avec Thing)
|
||
VA_OB_SHREDDER (2) 'Destructeur de documents' Gemini (Shredder)
|
||
VA_OB_CLIPBOARD (3) Presse-papiers
|
||
VA_OB_FILE (4) Fichier
|
||
VA_OB_FOLDER (5) Dossier ou fenêtre répertoire en arrière-plan
|
||
VA_OB_DRIVE (6) Lecteur
|
||
VA_OB_WINDOW (7) Fenêtre appartenant à une autre application
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_DRAG_ON_WINDOW ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a></h3>
|
||
|
||
<b>AV_DRAG_ON_WINDOW (0x4734) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client informe Thing que des objets ont été posés quelque part. Thing fait le tri à l'endroit où
|
||
ont été posés les objets et envoie un message <a href="#VA_DRAG_COMPLETE">VA_DRAG_COMPLETE</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Position X de la souris
|
||
Mot 4 : Position Y de la souris
|
||
Mot 5 : Statut clavier
|
||
Mot 6+7 : Pointeur de la chaîne contenant les noms des objets
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_DRAG_COMPLETE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_DRAG_COMPLETE">VA_DRAG_COMPLETE</a></h3>
|
||
|
||
<b>VA_DRAG_COMPLETE (0x4735) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Réponse au message <a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Rien de changé après le Drag&Drop
|
||
1 = Les objets spécifiés sont traités (copie, effacement, ...)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_EXIT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_EXIT">AV_EXIT</a></h3>
|
||
|
||
<b>AV_EXIT (0x4736) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client informe Thing qu'il n'a pas respecté le protocole AV. Ceci à pour effet d'interrompre
|
||
aussi tous les messages <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a> messages.<p>
|
||
|
||
Ce message doit être utilisé avant de quitter un programme si le programme en question ne peut
|
||
utiliser le message <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> !<p>
|
||
|
||
<pre>
|
||
Mot 3 : Identification AES du client
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_STARTED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_STARTED">AV_STARTED</a></h3>
|
||
|
||
<b>AV_STARTED (0x4738) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Un client informe Thing qu'il a reçu et compris le message <a href="#VA_START">VA_START</a> et
|
||
qu'également la mémoire réservée pour la ligne de commande peut être libérée.<p>
|
||
|
||
Pour l'instant, ce message est ignoré, car Thing ne réserve pas de mémoire supplémentaire pour les
|
||
messages VA_START.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur de la ligne de commande reçue par VA_START
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_FONTCHANGED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_FONTCHANGED">VA_FONTCHANGED</a></h3>
|
||
|
||
<b>VA_FONTCHANGED (0x4739) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Si l'une des fontes dans Thing est modifiée, tous les clients qui ont déjà demandé la fonte par
|
||
<a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>, sont informés.<p>
|
||
|
||
<dl>
|
||
<dt><b>Note</b>
|
||
<dd>Malheureusement, TreeView 2.4, programmé par Stephan Gerle, ne réagit pas à ce message si Thing
|
||
envoie explicitement à TreeView (<a href="../pages/applicat.htm">applications</a> nommées
|
||
'TREEVIEW') un message <a href="#VA_FILEFONT">VA_FILEFONT</a>. Ceci n'est pas une solution idéale
|
||
mais est d'une fonctionnalité pratique.<p>
|
||
</dl>
|
||
|
||
<pre>
|
||
Mot 3 : Identification de la fonte utilisée pour les répertoires
|
||
(vst_font)
|
||
Mot 4 : Taille en points de la fonte utilisée dans les répertoires
|
||
(vst_point)
|
||
Mot 5 : Identification de la fonte utilisée dans la fenêtre console
|
||
(vst_font)
|
||
Mot 6 : Taille en points de la fonte utilisée dans la fenêtre console
|
||
(vst_point)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_XWIND ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_XWIND">AV_XWIND</a></h3>
|
||
|
||
<b>AV_XWIND (0x4740) serveur <- client (11 novembre 1994)</b><p>
|
||
|
||
Thing ouvre une fenêtre répertoire, comme avec <a href="#AV_OPENWIND">AV_OPENWIND</a>, mise à part
|
||
qu'il existe d'autres options :<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du chemin pour l'ouverture des répertoires
|
||
Mot 5+6 : Pointeur du masque (joker) pour les fichiers existants
|
||
Mot 7 : Bit 0 : Utilise la fenêtre courante active, si elle existe
|
||
Bit 1 : Utilise les jokers pour la sélection d'objets
|
||
Bit 2-15 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_XOPEN ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, VA_XOPEN</h3>
|
||
|
||
<b>VA_XOPEN (0x4741) serveur -> client (11 novembre 1994)</b><p>
|
||
|
||
Réponse à <a href="#AV_XWIND">AV_XWIND</a>, comme pour <a href="#VA_WINDOPEN">VA_WINDOPEN</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur
|
||
!=0 = La fenêtre ouverte et le répertoire sont entièrement lus
|
||
(une fenêtre active devant être existante)
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_VIEW ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_VIEW">AV_VIEW</a></h3>
|
||
|
||
<b>AV_VIEW (0x4751) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
Le serveur appelle le visualiseur pour un fichier spécifique. Si aucun visualiseur n'est
|
||
disponible, un message d'erreur est retourné à l'utilisateur.<p>
|
||
|
||
<dl>
|
||
<dt><b>Note</b>
|
||
<dd>A la différence de Gemini V1.a, Thing reconnaît quelles applications sont installées pour
|
||
chaque type de fichiers. Avec ce message, Thing peut exécuter l'application correspondante (exemple
|
||
: un simple visualiseur d'image IMG au lieu d'un programme de dessin).<p>
|
||
</dl>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur des noms de fichiers destinés à être visualisés (seul
|
||
un fichier est autorisé).
|
||
Mot 5-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_VIEWED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_VIEWED">VA_VIEWED</a></h3>
|
||
|
||
<b>VA_VIEWED (0x4752) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Réponse à <a href="#AV_VIEW">AV_VIEW</a>. Le serveur informe le client quels sont les fichiers à
|
||
visualiser ou non. La réponse est immédiate et est toujours renvoyée si une erreur intervient.
|
||
Autrement, en tâche de fond (multitâches), la réponse est reçue aussit"t que le visualiseur est
|
||
actif. Sous TOS simple, la réponse est reçue après que le visualiseur soit quitté, au cas où le
|
||
serveur n'ai pas déjà été quitté (par exemple : lorsque Thing est retiré de la mémoire avant le
|
||
lancement du visualiseur).<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur, 1 = Tout est correct
|
||
Mot 4-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_FILEINFO ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_FILEINFO">AV_FILEINFO</a></h3>
|
||
|
||
<b>AV_FILEINFO (0x4753) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
Affiche les informations sur les fichiers/dossiers (réponse à <a
|
||
href="#VA_FILECHANGED">VA_FILECHANGED</a>).<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du nom du fichier ou du dossier. Plusieurs
|
||
fichiers/dossiers doivent être séparés par des espaces. Les
|
||
dossiers doivent se terminer par un anti-slash '\' !
|
||
Mot 5-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_FILECHANGED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_FILECHANGED">VA_FILECHANGED</a></h3>
|
||
|
||
<b>VA_FILECHANGED (0x4754) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Réponse à <a href="#AV_FILEINFO">AV_FILEINFO</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du nom du fichier/dossier transmis par AV_FILEINFO,
|
||
qui peut naturellement contenir un nouveau nom de
|
||
fichier/dossier.
|
||
|
||
Exemple : 'C:\ANNA.TXT C:\AUTO\' sera transmis. Si
|
||
l'utilisateur change 'ANNA.TXT' en 'ANNIE.TXT', la
|
||
chaîne du message sera modifiée en : 'C:\ANNIE.TXT
|
||
C:\AUTO\'
|
||
|
||
Mot 5-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_COPYFILE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_COPYFILE">AV_COPYFILE</a></h3>
|
||
|
||
<b>AV_COPYFILE (0x4755) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
Copie ou déplace des fichiers/dossiers (réponse à <a href="#VA_FILECOPIED">VA_FILECOPIED</a>).<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du ou des fichiers source et dossier(s) séparés par
|
||
des espaces. Les dossiers doivent se terminer par un anti-
|
||
slash '\'.
|
||
Mot 5+6 : Pointeur du dossier de destination
|
||
Mot 7 : Bit 0 : Efface l'original (déplacement)
|
||
Bit 1 : Renomme la copie
|
||
Bit 2 : Remplace la destination sans avertissement
|
||
Bit 3-15 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_FILECOPIED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_FILECOPIED">VA_FILECOPIED</a></h3>
|
||
|
||
<b>VA_FILECOPIED (0x4756) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Réponse à <a href="#AV_COPYFILE">AV_COPYFILE</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur, 1 = Tout est correct
|
||
Mot 4-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_DELFILE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_DELFILE">AV_DELFILE</a></h3>
|
||
|
||
<b>AV_DELFILE (0x4757) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
Efface des fichiers/dossiers (réponse à <a href="#VA_FILEDELETED">VA_FILEDELETED</a>).<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur des fichiers/dossiers devant être effacés, séparés
|
||
par des espaces. Les dossiers doivent se terminer par un anti-
|
||
slash '\'.
|
||
Mot 5-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_FILEDELETED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_FILEDELETED">VA_FILEDELETED</a></h3>
|
||
|
||
<b>VA_FILEDELETED (0x4758) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Réponse à <a href="#AV_DELFILE">AV_DELFILE</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : 0 = Erreur, 1 = Tout est correct
|
||
Mot 4-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, AV_SETWINDPOS ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="AV_SETWINDPOS">AV_SETWINDPOS</a></h3>
|
||
|
||
<b>AV_SETWINDPOS (0x4759) serveur <- client (26 juin 1995)</b><p>
|
||
|
||
<a href="#AV_XWIND">AV_XWIND</a> est une extension de <a href="#AV_OPENWIND">AV_OPENWIND</a>. Avec
|
||
ce message, le client peut être informé de la position et de la taille de la fenêtre répertoire
|
||
suivante (avec AV_XWIND ou AV_OPENWIND) à ouvrir. Les coordonnées sont données en coordonnées
|
||
absolues.<p>
|
||
|
||
Puisque par AV_XWIND, une fenêtre existante est activée au lieu qu'une nouvelle fenêtre soit
|
||
ouverte, ce message n'a pas d'effet.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Position X
|
||
Mot 4 : Position Y
|
||
Mot 5 : Largeur
|
||
Mot 6 : Hauteur
|
||
Mot 7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole AV, VA_PATH_UPDATE ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole AV, <a name="VA_PATH_UPDATE">VA_PATH_UPDATE</a></h3>
|
||
|
||
<b>VA_PATH_UPDATE (0x4760) serveur -> client (26 juin 1995)</b><p>
|
||
|
||
Si le client a reconnu par <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> que le serveur supporte ce
|
||
message, il informe celui-ci lorsqu'il modifie le contenu d'un répertoire ou d'un sous-répertoire.
|
||
Le client doit alors relire tous les répertoires et sous-répertoires correspondants et, si
|
||
nécessaire, fermer les sous-répertoires qui n'existent plus.<p>
|
||
|
||
<pre>
|
||
Mot 3+4 : Pointeur du répertoire, qui doit toujours se terminer par un
|
||
anti-slash '\'.
|
||
Mot 5-7 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole des fontes ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3><a name="Protocole - Fontes">Protocole des fontes</a></h3>
|
||
|
||
<ul>
|
||
<li><a href="#FONT_SELECT">FONT_SELECT</a>
|
||
<li><a href="#FONT_CHANGED">FONT_CHANGED</a><p>
|
||
</ul>
|
||
|
||
Depuis la version 0.4, Thing gère les plus importantes fonctions de ce protocole, comme Christian
|
||
Grunenberg l'a défini.<p>
|
||
|
||
Thing peut aussi être installé comme sélecteur de fontes pour d'autres applications, bien qu'à
|
||
présent, seul ST-Guide (du 30/04/95 ou après) supporte cette option. Pour que cette option
|
||
fonctionne bien, les critères suivants doivent être observés :<p>
|
||
|
||
<ul>
|
||
<li>Thing doit être lancé en même temps que l'application, soit comme un accessoire de bureau sous
|
||
TOS simple ou en environnement multitâches.<p>
|
||
|
||
<li>La variable d'environnement 'FONTSELECT' doit être définie par 'THING'.<p>
|
||
</ul>
|
||
|
||
Ce qui suit est une description des messages supportés par Thing. Pour avoir l'ensemble de ce
|
||
protocole (en allemand), contactez Christian Grunenberg :<p>
|
||
|
||
<address>Email: Christian_Grunenberg@LB.maus.de</address><p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole des fontes, FONT_SELECT ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole des fontes, <a name="FONT_SELECT">FONT_SELECT</a></h3>
|
||
|
||
<b>FONT_SELECT (0x7A19) Application -> Thing</b><p>
|
||
|
||
Une application appelle le sélecteur de fontes et reçoit en retour la sélection des fontes.
|
||
Ensuite, elle répond par le message <a href="#FONT_CHANGED">FONT_CHANGED</a>.<p>
|
||
|
||
<pre>
|
||
Mot 3 : Traite la fenêtre affectée, ou valeur négative si la fonte a été
|
||
changée pour toutes les fenêtres
|
||
Mot 4 : Identification de la fonte ou 0
|
||
Mot 5 : Taille de la fonte en points
|
||
Mot 6 : Couleur de la fonte
|
||
Mot 7 : Attributs - Bit 0 : Gras
|
||
Bit 1 : Clair
|
||
Bit 2 : Italique
|
||
Bit 3 : Souligné
|
||
Bit 4 : Contour
|
||
Bit 5 : Ombré
|
||
Bit 6 : Inverse
|
||
Bit 7-15 : Réservé, toujours à 0
|
||
</pre>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Protocole des fontes, FONT_CHANGED ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3>Protocole des fontes, <a name="FONT_CHANGED">FONT_CHANGED</a></h3>
|
||
|
||
<b>FONT_CHANGED (0x7A18) Application <- Thing</b><p>
|
||
|
||
Réponse à <a href="#FONT_SELECT">FONT_SELECT</a>. Thing informe l'application des nouvelles
|
||
valeurs. Le mot 1 du message contient l'identification d'application de Thing.<p>
|
||
|
||
Ce message est aussi retourné par Thing si la fonte est déplacée par Drag&Drop sur la fenêtre d'une
|
||
autre application.<p>
|
||
|
||
<table border align=center>
|
||
<tr><td><img src="../images/232.gif" align=left alt="232.GIF">
|
||
Installez WINX sous TOS simple pour que Thing puisse déterminer le détenteur de chaque fenêtre.
|
||
</table>
|
||
<br>
|
||
|
||
Thing accepte aussi ce message en tant que récepteur et réactualise la fenêtre affichée comme
|
||
demandé.<p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<! *** Drag&Drop ***>
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
|
||
<hr size=1>
|
||
<h3><a name="Drag&Drop">Drag&Drop</a></h3>
|
||
|
||
Ce protocole a été introduit par Atari pour MultiTOS et devrait être supporté par MagiC.<p>
|
||
|
||
<b>Thing comme émetteur</b><p>
|
||
|
||
Thing actionne automatiquement ce protocole si un ou plusieurs objets d'une fenêtre sont tirés et
|
||
posés sur une autre appartenant à une application, laquelle ne doit pas appartenir à un client AV
|
||
et dont la fenêtre n'a pas été ouverte par <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>.<p>
|
||
|
||
Thing peut même 'convertir' des messages Drag&Drop AV (<a
|
||
href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>) en messages de protocole Drag&Drop ! Pour
|
||
cela, il est possible de rechercher des fichiers avec ParaFin et d'en envoyer le résultat à CoNnect
|
||
par Drag&Drop...<p>
|
||
|
||
Si le récepteur ne comprend pas le protocole Drag&Drop ou que le système (comme MagiC V2/TOS
|
||
simple) ne le supporte pas, Thing essaye d'envoyer un message <a href="#VA_START">VA_START</a> avec
|
||
les noms des objets déplacés via la ligne de commande. Toutefois, le système doit reconnaître ses
|
||
propres fenêtres. Un conseil : les utilisateurs sous TOS simple peuvent utiliser WINX.<p>
|
||
|
||
<b>Thing comme receveur</b><p>
|
||
|
||
Par manque d'applications supportant ce protocole, je n'ai pas eu trop le temps d'effectuer des
|
||
tests. Cependant, j'ai testé CAT (réseau Maus OLR) qui peut exporter des fichiers '*.TXT'.<p>
|
||
|
||
Si un bloc '*.xxx' est tiré puis déposé sur le bureau, Thing demande un chemin pour sauver le
|
||
fichier. Si un lecteur ou un autre objet est sélectionné comme destination, le chemin est affiché
|
||
comme une ligne directrice. Si le bloc est tiré puis déposé sur le presse-papiers, Thing sauve
|
||
automatiquement les données sous 'SCRAP.xxx' dans celui-ci.<p>
|
||
|
||
Si un bloc de texte est posé sur la fenêtre d'une boîte de dialogue et que l'application supporte
|
||
le Drag&Drop '*.TXT', alors le texte est inséré dans le champ courant. Ceci ne fonctionne seulement
|
||
qu'avec quelques applications récentes.<p>
|
||
|
||
Les blocs 'ARGS' sont gérés comme des messages <a href="#VA_START">VA_START</a>. Ils sont transmis
|
||
via la ligne de commande et sont simplement exécutés.<p>
|
||
|
||
Les blocs 'chemin' se sont actuellement pas supportés et rejetés avec DD_NAK.<p>
|
||
|
||
<! ------------------------------------------------------------------------------------------------>
|
||
<hr size=1>
|
||
<table border align=center>
|
||
<tr><td align=center><a href="../pages/menus.htm">Commandes des menus</a>
|
||
<td align=center><a href="../pages/tim.htm">Thing Icon Manager</a>
|
||
<td align=center><a href="../pages/formats.htm">Format des fichiers</a>
|
||
<td align=center bgcolor=blue><font color=white>Protocoles</font>
|
||
<td align=center><a href="../pages/variable.htm">Variables d'environnement</a>
|
||
<tr><td align=center><a href="../pages/intro.htm#TOSWIN">Thing et TOSWIN sous MiNT</a>
|
||
<td align=center><a href="../pages/histoire.htm">Historique</a>
|
||
<td align=center><a href="../pages/faq.htm">Questions/Réponses</a>
|
||
<td align=center><a href="../pages/clavier.htm">Souris et clavier</a>
|
||
<td bgcolor=beige align=center><a href="../home.htm">Sommaire</a>
|
||
</table>
|
||
</body>
|
||
</html>
|