DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Modèle de fenêtres
  • Présentation
  • Principe de l'héritage et de la surcharge
  • Surcharge des fenêtres
  • Surcharger les propriétés des fenêtres
  • Surcharger le code des fenêtres
  • Surcharge des champs
  • Surcharger le look d'un champ (surcharge d'IHM)
  • Surcharger le code d'un champ (surcharge de code)
  • Remarques
  • Gérer les propriétés surchargées d'un champ
  • Connaître les propriétés surchargées :
  • Surcharge des procédures locales
  • Surcharger le code d'une procédure locale
  • Limitations
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Modèles de fenêtres et héritage
Présentation

Principe de l'héritage et de la surcharge

Lorsque vous appliquez un modèle de fenêtres à une fenêtre, l'ensemble des champs et du code du modèle sont "copiés" dans la fenêtre. C'est le concept d'héritage.
Les champs du modèle sont visibles dans la fenêtre, sous l'éditeur de fenêtres. Un carré jaune est situé dans le coin haut gauche de chaque champ. Par défaut, les champs du modèle ne sont pas modifiables.
Le code du modèle est visible dans l'éditeur de code, dans les différents événements de la fenêtre ou de ses champs. Ce code WLangage est facilement identifiable :
  • les événements associés au modèle sont suivis de "(modèle <Nom du modèle>)" (par exemple : "Clic sur le bouton Valider (modèle MonModèle)").
  • le fond des événements est grisé, car le code n'est pas modifiable.
Dans le cas de modèle de modèles, l'héritage se fait sur plusieurs niveaux.
Il est possible de surcharger les champs, les procédures locales et le code du modèle. La surcharge des champs, des procédures locales et du code permet de modifier, pour une fenêtre donnée, le code, les procédures locales et / ou les champs du modèle.
Surcharge des fenêtres

Surcharger les propriétés des fenêtres

Surcharger les propriétés des fenêtres modèle consiste à modifier les caractéristiques de la fenêtre utilisant le modèle (par exemple les caractéristiques affichées dans la fenêtre de description).
Dès qu'une caractéristique de la fenêtre utilisant le modèle est modifiée (par exemple la largeur de la fenêtre), cette propriété est surchargée.
Remarque : La fenêtre modèle peut utiliser un gabarit avec des champs "Décor" (par exemple le gabarit ActiveVista). Ces champs permettent d'afficher le titre de la fenêtre, d'afficher les boutons système, ... Ces champs de décor sont considérés comme étant des propriétés de la fenêtre.

Surcharger le code des fenêtres

Pour surcharger le code des fenêtres modèle :
  1. Affichez les événements de la fenêtre (option "Code" du menu contextuel).
  2. Si un événement existe dans la fenêtre modèle, cet événement apparaît en double dans la fenêtre utilisant le modèle. En effet, sont affichés :
    • l'événement issu du modèle. Cet événement apparaît en grisé et son intitulé est suivi de "(modèle <Nom du modèle>)".
    • l'événement de la fenêtre.
  3. Le code saisi dans l'événement de la fenêtre sera exécuté de la manière suivante :
    • l'événement de déclaration des globales est fusionné entre le modèle et la fenêtre utilisant le modèle. Il est donc nécessaire de ne pas utiliser des variables de même nom dans cet événement.
    • pour tous les événements (sauf celui de fermeture de la fenêtre) : les événements des modèles appliqués à la fenêtre sont exécutés en suivant leur ordre d'inclusion, puis l'événement correspondant à la fenêtre est exécuté.
    • pour l'événement de fermeture de la fenêtre : l'événement de fermeture de la fenêtre est exécuté, puis les événements des modèles appliqués à la fenêtre sont exécutés en suivant l'ordre inverse d'inclusion.
Surcharge des champs

Surcharger le look d'un champ (surcharge d'IHM)

Pour surcharger l'interface d'un champ du modèle (un bouton par exemple) :
  1. Affichez le menu contextuel d'un bouton du modèle présent dans la fenêtre.
  2. Sélectionnez l'option "Surcharger le champ".
  3. Le carré jaune a été remplacé par un carré bleu, indiquant que ce champ peut être surchargé.
    Champ non surchargéChamp surchargé
  4. Vous pouvez maintenant modifier tous les aspects de l'interface du bouton : dimensions, position, style, ...
    Modification du champ par surcharge

Surcharger le code d'un champ (surcharge de code)

Pour surcharger le code d'un champ du modèle (code d'un bouton par exemple) :
  1. Affichez le menu contextuel d'un bouton du modèle présent dans la fenêtre.
  2. Sélectionnez l'option "Surcharger le champ".
  3. Le carré jaune a été remplacé par un carré bleu, indiquant que ce champ peut être surchargé.
  4. Affichez le code du bouton (option "Code" du menu contextuel).
  5. Deux sections de code de clic sont présents :
    Surcharge du code
    • le code de clic issu du modèle.
    • le code de clic de la fenêtre. Une fonction a été automatiquement ajoutée : ExécuteAncêtre. Cette procédure exécute le code de clic du modèle.
  6. Ajoutez le code du bouton spécifique à la fenêtre en cours, avant et/ou après la procédure d'appel au code du modèle. Vous pouvez supprimer la fonction ExécuteAncêtre si vous ne souhaitez pas que le code du modèle soit exécuté.
    ExécuteAncêtre

Remarques

  • Il n'est pas possible de supprimer un bouton surchargé d'un modèle.
  • La surcharge d'une table surchage également les colonnes. Il est possible d'ajouter des colonnes dans une table héritée.
  • Il est possible d'ajouter des volets à un onglet du modèle et de mettre des champs du modèle dans ce volet.
  • La surcharge de style n'est pas disponible.
Gérer les propriétés surchargées d'un champ

Connaître les propriétés surchargées :

Pour connaître les propriétés d'un champ qui ont été surchargées :
  1. Ouvrez le menu contextuel du champ.
  2. Sélectionnez l'option "Propriétés surchargées".
  3. La fenêtre de gestion des surcharges s'ouvre.
Il est possible depuis cette fenêtre de supprimer les propriétés surchargées. Il suffit de sélectionner la propriété voulue et de la supprimer.
Pour supprimer complètement toutes les surcharges effectuées sur un champ, il suffit de sélectionner la ligne intitulée "Surcharge complète".
Surcharge des procédures locales

Surcharger le code d'une procédure locale

Pour surcharger le code d'une procédure locale depuis de volet "Explorateur de projet" :
  1. Sélectionnez l'élément associé à la procédure locale (fenêtre, page, état, ...).
  2. Déroulez les options de l'élément et sélectionnez l'option "Procédures locales" de l'élément.
  3. Sélectionnez la procédure à surcharger.
  4. Affichez le menu contextuel et sélectionnez l'option "Surcharger le code de la procédure locale".
  5. Deux sections de code de clic sont présents :
    Surcharge de procédure locale
    • le code de la procédure issu du modèle.
    • le code de la nouvelle procédure. Une fonction a été automatiquement ajoutée : ExécuteAncêtre. Cette fonction exécute le code de la procédure du modèle.
  6. Ajoutez le code de la nouvelle procédure spécifique à l'élément en cours, avant et/ou après la procédure d'appel au code du modèle. Vous pouvez supprimer la fonction ExécuteAncêtre si vous ne souhaitez pas que le code du modèle soit exécuté.
    Attention : le prototype de la procédure surchargée doit être identique au prototype de la nouvelle procédure.
Limitations
  • Il n'est pas possible d'utiliser une requête intégrée dans un champ du modèle. L'exécution de la fenêtre utilisant le modèle provoquera une erreur.
  • Il n'est pas possible d'utiliser un menu dans un modèle : le menu ne sera pas recopié dans la fenêtre utilisant le modèle.
  • La surcharge de style n'est pas disponible.
Version minimum requise
  • Version 11
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 09/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale