Section courante

A propos

Section administrative du site

appl_control

Contrôle des applications
C pour Atari ST

Syntaxe

int16_t appl_control(int16_t ap_cid, int16_t ap_cwhat, void *ap_cout);

Paramètres

Nom Description
ap_cid Ce paramètre permet d'indiquer l'identificateur AES (apid) de l'application à contrôler.
ap_cwhat Ce paramètre permet d'indiquer le type de contrôle :
0 à 9 Réservé pour N.AES
APC_TOPNEXT (0) OAES est un mode interne
APC_KILL (1) OAES est un mode interne
APC_SYSTEM (2) Mode interne XaAES
APC_HIDE (10) Masquer (disparaître) l'application ; si ap_cid est -1, l'application active sera masquée
APC_SHOW (11) Afficher (fondu) l'application ; si ap_cid est -1, toutes les applications masquées sont affichées.
APC_TOP (12) Mettre l'application au premier plan (l'application devient active)
APC_HIDENOT (13) Masquer toutes les applications sauf celle référencée par ap_cid (devenant l'application active). Si ap_cid est -1, toutes les applications sauf celle active seront masquées.
APC_INFO (14) Interroger les paramètres de l'application ap_cid ; si la valeur -1 est passée pour ap_cid, les paramètres de l'application courante seront renvoyés. Pour ap_cout, un pointeur vers un entier doit être passé. N.AES dépose ici les paramètres de l'application sous la forme d'un masque de bits :
Masque de bits Description
APCI_HIDDEN (1) Le bit 0 est défini si l'application est désactivée.
APCI_HASMBAR (2) Mais 1 est défini si l'application possède une barre de menu.
APCI_HASDESK (4) Le bit 2 est défini si l'application possède son propre bureau.
APC_MENU (15) Renvoie l'adresse de l'arborescence de menus initialement initialisée par l'application ap_cid. Pour cela, un pointeur vers un pointeur OBJECT doit être passé pour ap_cout ; ce dernier sera renseigné par shel_write avec l'adresse de l'arborescence de menus recherchée. Si la valeur -1 est passée pour ap_cid, l'adresse de l'arborescence de menus de l'application courante est renvoyée. Si la valeur 0 est passée pour ap_cid, l'adresse du menu système géré en interne par shel_write est renvoyée. Il s'agit de la boîte de dialogue qui s'ouvre lorsque l'on sélectionne le titre de menu le plus à gauche et qui contient la liste de toutes les applications et accessoires de bureau initialisés par shel_write. Si l'application demandée n'a pas initialisé de barre de menus, ou si aucune application portant l'identification ap_cid n'existe, un pointeur NULL sera écrit dans ap_cout. La valeur de retour de appl_control, mode APC_MENU, est toujours la valeur 1. Remarque : Si vous utilisez ce mode, assurez-vous de bien ce que vous faites ! La modification de l'arborescence de menus renvoyée peut entraîner des états système indéfinis. Avec la protection mémoire MiNT active, même un accès en lecture à l'arborescence de menus peut entraîner l'arrêt de l'application.
APC_WIDGETS (16) Demande ou définit les positions par défaut des objets de la fenêtre. ap_cout est un pointeur vers un tampon de taille MINWINOBJ(12) (int16_t), devant être rempli entièrement avec -1 pour demander l'ordre des objets. Le dernier mot doit être 0. Si un message d'erreur est renvoyé, le tampon est trop petit pour tous les objets et doit être agrandi. Le tampon contient d'abord les objets de la barre de titre (de gauche à droite), suivis des objets du curseur vertical (de haut en bas), puis des objets du curseur horizontal (de gauche à droite). La liste se termine par un mot NULL. Pour définir les positions, les premiers objets doivent être de type topwidgets (de gauche à droite), suivis des objets de type rightwidgets (de haut en bas), puis des objets de type bottomwidgets (de gauche à droite). Si les objets sont dupliqués ou mal définis, une erreur sera signalée.
APC_APP_CONFIG (17) Cette option vous permet d'indiquer à AES comment votre candidature doit être prise en compte. ap_cout est un pointeur vers une chaîne. Les valeurs actuellement prises en charge sont :
Valeur Description
"app_debug=true" ou "app_debug" Mettre l'application en mode débogage
"app_debug=false" Arrêter le mode débogage
"app_topmost=true" ou "app_topmost" Les fenêtres d'application seront toujours au premier plan (comparé à d'autres applications classiques) mais sans focus (peut être utile pour la barre des tâches par exemple).
"app_topmost=false" Supprimer l'option précédente
"app_system" L'application est une application système (utilisée dans appl_search pour le type APP_SYSTEM).
"app_texticon=opaque" Le texte de l'icône d'arrière-plan est opaque
"app_texticon=transparent" Le texte de l'icône d'arrière-plan est transparent
"app_signal_mesag=true" Demande de réception du signal Unix lorsque même un message est en attente, voir APC_INFORM_MESAG car il fait exactement la même chose.
"app_signal_mesag=false" Demande d'arrêt de réception du signal Unix lorsque le message est en attente.
APC_INFORM_MESAG (18) Requête à AES pour informer l'application de la présence d'un message AES en attente avec un signal Unix.
ap_cout Ce paramètre est rempli par l'AES dépendant de ap_cwhat et n'a de signification que pour APC_INFO, APC_MENU, APC_WIDGETS et APC_APP_CONFIG. Dans les autres cas, ce paramètre est ignoré et le passage d'un pointeur NULL est alors possible.

Description

Cette fonction permet d'indiquer les contrôle ciblé des applications.

Remarques



Dernière mise à jour : Dimanche, le 20 Février 2022