Concepteur LiveBindings

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Menu Voir

Remonter à LiveBindings dans Appmethod

  • Menu Voir :
    • Voir > Concepteur LiveBindings
  • Commande Lier visuellement... :
    • Cliquez avec le bouton droit sur un composant de votre fiche et sélectionnez Lier visuellement....
    • Sélectionnez Lier visuellement... dans le volet en dessous de l'inspecteur d'objets.

L'utilisation du Concepteur LiveBindings est la méthode recommandée et la plus fréquente pour créer des LiveBindings (connexions de liaisons de données) dans Appmethod. Vous pouvez utiliser le Concepteur LiveBindings dans les applications FireMonkey.

Avec le Concepteur LiveBindings, vous pouvez :

  • Créer de nouveaux LiveBindings entre les divers composants visuels de votre fiche.
  • Modifier les LiveBindings existants.
  • Visualiser tous les LiveBindings que vous avez créés.
  • Exporter votre diagramme de liaison en tant que fichier image.

Fenêtre principale du Concepteur LiveBindings

Une fois le Concepteur LiveBindings ouvert, vous pouvez ancrer sa fenêtre et la laisser ouverte si vous le souhaitez. Vous pouvez aussi enregistrer une disposition de bureau qui inclut le Concepteur LiveBindings. Vous pouvez associer les éléments de l'espace de travail Concepteur LiveBindings aux couches du concepteur, ce qui vous permet ensuite de visualiser uniquement les couches désirées à un moment donné. De cette façon, quand vous avez des vues de liaison très compliquées, vous pouvez facilement utiliser les couches pour masquer une partie de la complexité.

Commande Lier visuellement : Si le Concepteur LiveBindings n'est pas déjà ouvert, la fenêtre s'ouvre lorsque vous sélectionnez la commande Lier visuellement, disponible dans le menu contextuel clic droit de chaque composant de la fiche. En outre, la commande sélectionne l'élément dans le Concepteur LiveBindings. Si vous cliquez ensuite sur n'importe quel membre, ce membre apparaît en bleu, et tous les autres membres liables apparaissent en vert.

Conseil : Un membre liable est un membre qui peut être lié via LiveBindings au membre sélectionné. Par exemple, vous pouvez lier un champ texte d'une base de données à un libellé, ou vous pouvez lier deux libellés.

Voici quelques-unes des tâches que vous pouvez réaliser dans le Concepteur LiveBindings, comme décrit dans cette rubrique :

  • Pour effectuer une liaison, sélectionnez simplement un membre liable d'un composant (par exemple : Edit1.Text) et liez-le à un autre composant liable par une opération glisser (une ligne de connexion s'affiche).
  • Vous pouvez ajouter des membres supplémentaires ou des propriétés à vos composants dans le Concepteur LiveBindings en procédant comme suit :
    • Cliquez sur les points de suspension [...] dans la représentation du composant dans le diagramme.
      Par exemple : EllipsisComponent.png
      La boîte de dialogue Membres liables apparaît.
    • Cliquez avec le bouton droit sur le nom du composant dans le Concepteur LiveBindings, puis choisissez Membres liables dans le menu contextuel.
  • Pour effectuer une liaison rapide sur un nouveau contrôle, cliquez sur un composant dans le Concepteur LiveBindings, sélectionnez le membre * d'un composant, et faites-le glisser sur un espace vide. C'est le cas pour de nombreux composants.
  • Utilisez le bouton de la barre d'outils Réarranger pour organiser rapidement les blocs et les flèches de votre disposition LiveBindings.
  • Utilisez la commande de menu contextuel Enregistrer en image pour enregistrer votre disposition sous la forme d'une image sur votre disque dur.

Conseil : Lorsque vous enregistrez votre projet, le diagramme LiveBindings est automatiquement enregistré en fichier .vlb dans votre répertoire projet. En conséquence, à la prochaine ouverture du projet, le diagramme sera restauré tel qu'il était lorsque vous avez enregistré le projet.

Illustration de la fenêtre

Le Concepteur LiveBindings est constitué d'une fenêtre que vous pouvez utiliser pour créer, éditer ou visualiser les LiveBindings dans votre application. Sur le côté gauche, vous disposez d'une barre d'outils de boutons correspondant aux diverses fonctions listées ci-dessous. A droite se trouve le menu Couches qui contient toutes les couches disponibles dans le concepteur. Vous pouvez créer de nouvelles couches ou en supprimer d'existantes en utilisant ce menu. Le Concepteur LiveBindings a aussi trois menus contextuels.

LiveBindingsDesigner.png

Fiche associée

Voici à quoi ressemble la fiche multi-périphérique dans le Concepteur de fiches pour le diagramme ci-dessus. Aucun code n'a été écrit dans les fichiers source, tout a été effectué par le biais des liaisons :

LiveBindingsDesignerForm.png

Boutons de commande

Les boutons situés sur le côté gauche du Concepteur LiveBindings ont les fonctions suivantes :

Bouton de commande et icône Description
Ajuster à la fenêtre

LBDFitInWindow.png

Redimensionne tous les blocs et connexions de diagramme dans le concepteur pour s'ajuster à la fenêtre du concepteur.

Zoom avant

LBDZoomIn.png

Effectue un zoom avant du contenu du Concepteur LiveBindings.

Zoom arrière

LBDZoomOut.png

Effectue un zoom arrière du contenu du Concepteur LiveBindings.

Restaurer la taille réelle

LBDRestoreActualSize.png

Rétablit la taille par défaut du contenu du Concepteur LiveBindings.

Réarranger

LBDRearrange.png

Réarrange et repositionne tous les blocs et connexions de diagramme du Concepteur LiveBindings.

Expert LiveBindings...

LBDLiveBindingsWizard.png

Affiche l'expert LiveBindings. Notez que ce bouton est disponible que la commande Expert LiveBindings ait été activée ou non en sélectionnant Outils > Options > LiveBindings > Afficher l'expert LiveBindings dans le menu contextuel.

Représentations du diagramme

Les LiveBindings sont représentés dans le concepteur par des lignes (connexions) entre les objets qui apparaissent sous la forme de rectangles composés de propriétés exposées et liables.

Un composant est affiché par le Concepteur LiveBindings sous la forme d'un bloc rectangulaire indiquant le nom du composant et les propriétés qui peuvent être liées :

LBDComponentBlock.png

Dans l'illustration, la plupart des composants ont seulement une propriété visible dans la représentation diagramme du Concepteur LiveBindings. Vous pouvez rendre disponibles d'autres propriétés. Pour cela, cliquez sur les points de suspension [...]. La boîte de dialogue Membres liables vous permet de sélectionner les propriétés supplémentaires que vous voulez rendre visibles dans le concepteur.

Une ligne de connexion qui représente une expression de liaison entre divers composants est restituée par le Concepteur LiveBindings comme illustré ci-dessous. Des expressions sont unidirectionnelles et sont représentées avec une seule flèche pointant dans la direction de l'expression, et d'autres expressions sont bidirectionnelles, avec des flèches doubles :

LBDConnection.png

Réorientation des liens

Le Concepteur LiveBindings vous permet de réorienter les liens automatiquement. Par exemple, si vous modifiez la position des blocs de diagramme ou des lignes qui représentent les liens, et que leur organisation est compliquée, cliquez avec le bouton droit dans le concepteur et choisissez la commande Orienter les liens du menu contextuel. Les liens sont réorientés en conséquence.

Conseil : Si vous voulez obtenir une réorganisation complète des liens et des blocs de diagramme, utilisez alors le bouton de commande Réarranger de la barre d'outils du concepteur.

Noeuds incorporés

Le Concepteur LiveBindings introduit aussi le concept de noeuds incorporés. Par exemple, supposons qu'un TClientDataSet et un TBindSourceDB sont sur la fiche. Le TBindSourceDB a une propriété, DataSet, qui pointe sur le TClientDataSet. Cela incorpore l'objet TClientDataSet par défaut. Les noeuds incorporés ne peuvent pas être liés quand ils sont incorporés, mais il existe une option de menu qui vous permet de les désincorporer, qui démasque essentiellement le noeud original à des fins de liaison tout en conservant le membre incorporé.

LBDEmbeddedNodes.png

Noeuds externes

Les noeuds sont visibles pour les noeuds externes (par exemple, les sources de données) qui sont contenus dans un module référencé par la fiche active. Les noms des noeuds externes sont entièrement qualifiés (par exemple : DataModule2.ClientDataSet1) et ont une couleur différente représentant le fait qu'ils sont externes :

LBDExternalNodes.png

Couches du Concepteur LiveBindings

Le menu Couches (dans le coin supérieur droit du Concepteur LiveBindings) vous permet de :

  • Basculer la visibilité entre les couches
  • Créer de nouvelles couches
  • Supprimer des couches existantes
  • Renommer des couches existantes

Cliquez sur la flèche vers le bas près du mot Couches pour ouvrir et fermer le menu Couches :

Menu Couches de LiveBindings (réduit)

Comme vous pouvez le constater, si plusieurs couches sont cochées, les noms de couches affichés après le nom de la fiche dans la barre d'outils de la fenêtre du Concepteur LiveBindings sont mis à jour en conséquence. Cela vous permet de voir quelles couches sont visibles pour chaque couche, même si le menu Couches est réduit.

Un clic sur le bouton Plus GreenPlus.png ajoute une nouvelle couche. Vous pouvez renommer une couche en double-cliquant dessus dans le menu Couches et en appuyant sur Entrée.

Pour ajouter des composants spécifiques à une couche, vous devez sélectionner la couche dans le menu Couches. Vous pouvez ensuite sélectionner un ou plusieurs composants dans le Concepteur de fiches. (Pour sélectionner plusieurs composants, utilisez Maj+Clic ou dessinez une zone de sélection autour des composants dans le Concepteur LiveBindings.) Après avoir sélectionné un ou plusieurs composants dans le concepteur de diagramme, cliquez avec le bouton droit sur la représentation diagramme de composant sélectionnée (affichée en bleu) et sélectionnez Couches pour afficher un sous-menu de couches. Sélectionnez l'une de ces couches afin de déplacer les composants sélectionnés sur cette couche, ou sélectionnez Ajouter à la nouvelle couche pour ajouter les composants sélectionnés à une nouvelle couche.

Menu Couches de LiveBindings (développé)

En tant que fonctionnalité avancée, si vous voulez qu'un composant fasse partie de deux couches différentes, vous pouvez le faire de deux façons :

  • Visuellement, en sélectionnant la couche dans le menu Couches, puis en sélectionnant le composant dans le Concepteur LiveBindings et en cliquant avec le bouton droit et en l'ajoutant ensuite à la couche requise ou à une nouvelle couche affichée dans la sélection de couches présentée dans le menu clic droit des couches.
  • En sélectionnant le composant (par exemple : Button1), puis en accédant à l'inspecteur d'objets, en développant la propriété Concepteur LiveBindings, et en tapant les noms supplémentaires des couches (que vous configurez dans le menu Couches) auxquelles vous voulez ajouter le composant (Noeud-Couches).

Conseil : Vous pouvez changer de couche en sélectionnant les composants dans le Concepteur de fiches, si votre composant est placé sur une couche autre que la couche sélectionnée.

Les boutons de commande disponibles depuis le menu Couches sont :

  1. Le bouton Plus GreenPlus.png ajoute une nouvelle couche.
  2. Le bouton Corbeille TrashCan.png retire sa couche associée.
  3. Le bouton oeil Eyeball.png affiche ou masque sa couche associée.

Conseil : La couche par défaut ne peut pas être supprimée ou renommée.

Menus contextuels du Concepteur LiveBindings

Trois menus contextuels sont disponibles sur le Concepteur LiveBindings :

Menu contextuel du concepteur

Quand vous cliquez avec le bouton droit sur la surface du Concepteur LiveBindings, vous obtenez le menu contextuel illustré et décrit ci-dessous :

LBDContextMenu.png

Commande Description
Afficher/masquer les éléments... Vous permet d'afficher ou de masquer plusieurs éléments dans le Concepteur LiveBindings.
Actualiser le concepteur Recharge et actualise le diagramme depuis le disque dur.

Dans les applications contenant plusieurs fiches et/ou modules de données, un ensemble de données incorporé dans un TBindSourceDB peut contenir des sous-membres obsolètes dans le Concepteur LiveBindings si l'ensemble de données est externe à la fiche actuellement visualisée dans le Concepteur. Les membres obsolètes peuvent aussi être dus à des modifications de l'ensemble de données. La commande Actualiser le concepteur résout ce problème de mise à jour.

Echelle Vous présente un sous-menu avec les commandes suivantes :
  • Zoom avant
  • Zoom arrière
  • Taille réelle
  • Ajuster à la fenêtre
Disposition Réarrange et repositionne les blocs et les lignes de connexion. Cette fonctionnalité est identique à la fonctionnalité du bouton de commande Réarranger.
Orienter les liens Réoriente les lignes de connexion qui représentent les liaisons entre les contrôles.
Enregistrer en image Cette commande vous permet d'enregistrer le contenu du Concepteur LiveBindings sous la forme d'une image.

LBDSaveToImage.png

Menu contextuel du contrôle

Quand vous cliquez avec le bouton droit sur un contrôle dans le concepteur, le menu contextuel du contrôle apparaît :

LBDBlockContextMenu.png

Commande Description
Membres liables... Affiche la boîte de dialogue Membres liables qui vous permet de sélectionner quelles propriétés de cet objet doivent être affichées dans le diagramme afin de fournir des capacités de liaison.
Couches Vous permet de voir les couches disponibles ou d'en ajouter de nouvelles.
Masquer les éléments Masque les éléments sélectionnés afin qu'ils n'apparaissent pas sur la vue du concepteur. Ils pourront être montrés ultérieurement.
Echelle Vous présente un sous-menu avec les commandes suivantes :
  • Zoom avant
  • Zoom arrière
  • Taille réelle
  • Ajuster à la fenêtre

Menu contextuel de la liaison d'une propriété

Quand vous cliquez avec le bouton droit sur une propriété dans le concepteur, le menu contextuel de la liaison d'une propriété apparaît :

LBDBlockPropContextMenu.png

Commande Description
Expert LiveBindings... Affiche l'expert LiveBindings en mode contextuel pour l'élément de diagramme sélectionné.
Lier à un nouveau contrôle... Présente la boîte de dialogue Lier à un nouveau contrôle qui vous permet de sélectionner un contrôle à lier, à partir d'une palette complète de contrôles visuels.
Supprimer le membre Supprime ce membre.
Echelle Vous présente un sous-menu avec les commandes suivantes :
  • Zoom avant
  • Zoom arrière
  • Taille réelle
  • Ajuster à la fenêtre

Intégration de l'inspecteur d'objets

Le Concepteur LiveBindings est intégré à l'inspecteur d'objets par le biais de la propriété Concepteur LiveBindings, disponible pour la plupart des descendants de TComponent. Cette propriété a aussi la capacité de modifier les couches auxquelles le composant peut appartenir, et la visibilité du concepteur dans la représentation diagramme du Concepteur LiveBindings.

LBOIIntegration.png

Liaison d'un contrôle à plusieurs contrôles

La liaison d'un contrôle à plusieurs contrôles est aussi possible avec le Concepteur LiveBindings. Par exemple, quand vous voulez lier une zone d'édition à un libellé, et la même zone d'édition à un bouton, il est facile de lier simplement un contrôle à plusieurs contrôles, comme illustré ci-dessous.

Vue Fiches

LBDMultiControlBinding1.png

Concepteur LiveBindings

LBDMultiControlBinding2.png

Exécution de l'application

Cette image affiche la zone d'édition avant la modification du texte :

LBDMultiControlBinding3.png

Cette image affiche la zone d'édition après la modification du texte dans la zone d'édition :

LBDMultiControlBinding4.png

Pour chaque liaison définie dans le concepteur, la propriété InitializeControlValue de l'inspecteur d'objets vous permet de définir la valeur par défaut qui est affichée lorsque plusieurs composants sont liés à un contrôle. Par exemple, si un contrôle d'édition est lié à un libellé et un bouton, le texte affiché par défaut dans le contrôle d'édition est le texte du libellé ou la légende du bouton.

Conseil : Vous pouvez aussi lier un contrôle à plusieurs propriétés de composant.

Par exemple, vous pouvez lier un contrôle TEdit à la propriété Text de plusieurs contrôles TText. Mais, vous ne pouvez pas lier un contrôle TEdit à deux autres contrôles TEdit (par exemple, vous ne pouvez pas lier Edit1 à Edit2 et à Edit3). Même si TEdit et TText sont tous deux des contrôles, ils sont différents dans le contexte de LiveBindings, car un contrôle TEdit attend une saisie utilisateur alors que ce n'est pas le cas d'un contrôle TText :

  • Lorsqu'un contrôle acceptant les saisies utilisateur est utilisé, la propriété pouvant être modifiée par la saisie utilisateur est prédéfinie (par exemple, TEdit.Text).
  • Lorsqu'un contrôle qui n'accepte pas de saisie utilisateur est utilisé, vous pouvez sélectionner manuellement la propriété.

Le Concepteur LiveBindings affiche, par mesure de commodité, une propriété par défaut pour les composants n'acceptant pas de saisie utilisateur, comme par exemple TText.Text. Toutefois, dans le contexte de LiveBindings, TText.Text est comme n'importe quelle autre propriété de votre composant TText.

Procédures relatives au Concepteur LiveBindings

Boîtes de dialogue du Concepteur LiveBindings

Voir aussi