Le modèle d'objet ACCES
Le modèle ACCES complète les fonctionnalités du modèle SCRITERE (dont il hérite) par les automatismes composants et par un certain nombre de méthodes normalisées.
Rappels :
- Les automatismes composants sont pris en charge par le système dès lors que les conventions de la programmation composant sont respectées. Pour de plus amples informations consultez le paragraphe intitulé "Les conventions à respecter".
- Les méthodes normalisées ont pour objectif de rendre l'interface utilisateur homogène quel que soit le logiciel utilisé. Dans le cas du modèle ACCES les méthodes standards postulent que le composant fournit un objet GESTION permettant de consulter, modifier et créer les données du composants. L 'appel aux services de l'objet GESTION est donc implicite dans les objets dérivant de ce modèle.
Liste des déclarations standards
BASE | Base de données | ||
TABLE |
Table principale |
||
ECRAN | Ecran | ||
MENU |
Menu déroulant et barre d'outils. Par défaut, acces.key |
Liste des paramètres
Chaine | Valeur | pident | Identifiant sur lequel se positionner au démarrage |
Liste des variables héritées et contexte de table
Chaine | CodeListe | Code de la liste (par défaut "LST") | ||
Chaine | CodeClassement | Critère de classement de la liste | ||
Contexte | LISTEINDEX | Contexte sur les champs indexés de la table |
Liste des méthodes héritées de SCRITERE
REMPLIT_CLASSEMENT | Met en mémoire la liste des champs indexés | ||
ANALYSE_ECRAN |
Analyse les extensions de l'écran | ||
AJOUTE_CRITERE | Ajout par programme d'un critère | ||
ANALYSE_SAISIE |
Analyse de l'action de l'utilisateur | ||
ACTIVE_REQUETE |
Positionne les filtres sur la table principale | ||
COMPARE_REQUETE |
Compare les critères pour optimiser | ||
POSITIONNE_REQUETE |
Positionne la liste avant réaffichage | ||
ACTIVE_REQUETE_DEFINITIVE |
Transmet les filtres vers un autre objet |
Liste des méthodes spécialisées
GERER | Appel à l'objet GESTION du composant | ||
MODIFIER |
Appel à l'objet GESTION en mode modification | ||
CREER | Appel à l'objet GESTION en mode création | ||
<CodeListe>_CHOIX |
Double-clic dans la liste |
Fonctionnement du modèle
ACCES dérive du modèle SCRITERE qui est conçu pour faciliter la recherche d'informations. L'interface utilisateur est en général constituée d'un bandeau contenant les différents critères de recherche et d'une liste affichant les enregistrements de la table principale. Les points forts du modèle sont les suivants :
- L'ergonomie du modèle est particulièrement intuitive pour l'utilisateur
- La programmation est très simple et bénéficie des automatismes composants
- Les critères de filtre sont déduits directement de l'écran
- La simple modification de l'écran permet d'ajouter de nouveaux critères de recherche
Les déclarations standards du modèle
BASE et TABLE :
Ces déclarations sont indispensables, elles définissent la table principale sur laquelle seront posés les filtres déduits de l'écran. Notez cependant que nous préconisons dans le cas d'une programmation composant de déclarer la base au niveau des déclarations globales du composant.
ECRAN et MENU :
L'écran doit contenir un contrôle de type "liste" affichant les informations de la table principale. Le code de la liste (LST par défaut) peut être redéfini par l'intermédiaire de la variable héritée CodeListe. Afin de minimiser la programmation, le nom de l'écran et celui du menu déroulant ont été normalisés. Le modèle utilise par défaut l'écran ACCES.ECR et le menu ACCES.KEY.
Les écrans,
menu déroulants, menus contextuels et bitmaps sont en général regroupés
dans un fichier de ressources appelé GLOBAL. Ce fichier est déclaré par
l'intermédiaire de la déclaration GLOBAL du langage. Il est cependant
inutile d'effectuer la déclaration dans chaque objet. Une déclaration
unique au niveau des déclarations globales du composant est suffisante.
La déclaration REP_OBJ permet de définir les répertoires de recherche des
ressources du composant. Contrairement à la déclaration GLOBAL, cette
déclaration doit être effectuée dans chaque objet. En pratique, elle n'est
utile que pendant les phases de développement et de "relookage"
du produit.
Les méthodes et variables héritées de SCRITERE
Les méthodes et variables héritées du modèle SCRITERE ne sont pas redéfinies par le modèle ACCES. Pour plus d'informations consultez la documentation du modèle SCRITERE.
Les méthodes spécialisées du modèle
Le modèle ACCES considère que le composant met à disposition un objet GESTION qui dérive d'un des modèles de gestion préconisé par la programmation de composants et qui attend en paramètre l'identifiant de la fiche souhaitée et le mode opératoire. Les méthodes décrites ci-dessous permettent à l'utilisateur de "naviguer" de l'écran d'accès vers l'écran de gestion en cliquant sur des boutons de l'écran.
Méthode GERER
La méthode GERER crée une instance de l'objet GESTION du composant en lui passant en paramètre l'identifiant de la fiche en cours. Aucun mode opératoire n'étant précisé, c'est celui défini par défaut (dans l'objet appelé) qui sera utilisé.
Méthode MODIFIER
Elle crée une instance de l'objet GESTION en lui passant en paramètre l'identifiant de la fiche en cours et le mode opératoire. Le mode vaut "mM" par défaut ; il indique à l'objet GESTION que l'on souhaite arriver directement en mode modification.
Méthode CREER
Elle crée une instance de l'objet GESTION en lui passant en paramètre l'identifiant de la fiche en cours et le mode opératoire. Le mode vaut ici "cC" ; il permet la création successive de plusieurs enregistrements.
Méthode <CodeListe>_CHOIX
Lorsque l'utilisateur effectue un double-clic dans une liste (ou tape Entrée dans la norme clavier standard), Oxygène++ déclenche la méthode générique CTRL_CHOIX qui elle-même fait appel à la méthode <CodeListe>_CHOIX (<CodeListe> symbolisant ici le code du contrôle de type "Liste" défini dans l'écran). Dans le cas du modèle ACCES, ce mécanisme a été redéfini de façon à ce que le double-clic provoque l'appel à la méthode MODIFIER. L'événement <CodeListe>_CHOIX n'est donc plus déclenché dans ce modèle.