Téléchargement des produits


Version anglaise


 

Remarque : il est vivement recommandé d'utiliser cette nouvelle version du "Glisser-Déposer" à la place de l'ancienne version utilisée dans les objets graphiques Arborescence, Arbre liste, Liste et Image.

 

La fonctionnalité "Glisser-Déposer" consiste à transférer des données entre deux composants graphiques à l'aide de la souris. Plus précisément, l'utilisateur clique sur le composant source et déplace la souris au-dessus du composant cible en conservant le bouton appuyé, puis relâche le bouton. Il peut aussi annuler l'opération en appuyant sur la touche Echap.

Les composants peuvent appartenir à des applications ou à des fenêtres différentes.

 

Au niveau du programme Visual Adélia, certains événements, propriétés et méthodes doivent être utilisés selon le scénario suivant :

  1. Lorsque l'utilisateur clique sur un objet source avec le bouton gauche ou droit de la souris, l'objet reçoit l'événement GD_DebutGlissement. Les propriétés GD_ETAT_CLAVIER et GD_ETAT_SOURIS permettent de savoir quels sont les boutons et les touches enfoncés.

  2. Sur cet événement, le développeur utilise les méthodes GD_ECRIRE_DONNEES et GD_EXECUTER_GLISSEMENT pour indiquer les données à transférer et démarrer le mécanisme de glisser-déposer. Ces données peuvent être déplacées ou copiées dans l'objet cible. Il faut noter que les instructions placées après la méthode GD_EXECUTER_GLISSEMENT ne s'exécutent pas tant que l'action de glisser-déposer n'est pas terminée.

  3. Lorsque l'utilisateur déplace la souris en maintenant le bouton appuyé, il peut survoler un objet qui peut être une cible. Un tel objet doit avoir la propriété GD_DEPOSE_AUTORISEE à *VRAI. Si ce n'est pas le cas, ou si l'objet survolé ne gère pas le glisser-déposer, le système affiche un panneau d'interdiction  comme curseur de souris. Dans un objet cible, les événements suivants sont déclenchés:

    • Lorsque la souris entre dans la zone de l'objet cible, ce dernier reçoit un événement GD_EntreeGlissement. Sur cet événement, le développeur peut indiquer à travers la propriété GD_ACTION_DEPOSE de l'objet cible quel serait le résultat de l'opération si l'utilisateur relâchait la souris à ce moment. Le développeur peut utiliser éventuellement les propriétés GD_ETAT_CLAVIER et GD_ETAT_SOURIS, ainsi que la méthode GD_DONNEES_DISPONIBLES pour déterminer si l'objet cible accepte une copie, un déplacement ou refuse les données. Il doit aussi prendre en compte la propriété GD_ACTIONS_PERMISES, qui contient les actions autorisées par l'objet source (paramètre de la méthode GD_EXECUTER_GLISSEMENT). Il n'est pas indispensable de programmer cet événement.

    • Lorsque la souris survole la zone de l'objet cible, ce dernier reçoit continuellement des événements GD_SurvolGlissement. De même que ci-dessus, le développeur peut indiquer à travers la propriété GD_ACTION_DEPOSE de l'objet cible quel serait le résultat de l'opération si l'utilisateur relâchait la souris à ce moment. Le développeur peut utiliser éventuellement les propriétés GD_ETAT_CLAVIER et GD_ETAT_SOURIS, et la méthode GD_DONNEES_DISPONIBLES pour déterminer si l'objet cible accepte une copie, un déplacement ou refuse les données. Il doit aussi prendre en compte la propriété GD_ACTIONS_PERMISES, qui contient les actions autorisées par l'objet source (paramètre de la méthode GD_EXECUTER_GLISSEMENT).

    • Lorsque la souris sort de la zone de l'objet cible, ce dernier reçoit un événement GD_SortieGlissement. Il n'est pas indispensable de programmer cet événement.

    • Lorsque l'utilisateur relâche la souris au-dessus d'un objet cible, ce dernier reçoit l'événement GD_Depose.
      La propriété GD_ACTION_DEPOSE contient l'action indiquée lors de l'événement GD_SurvolGlissement (_GD_ACTION_COPIE ou _GD_ACTION_DEPLACEMENT). Le développeur utilise la méthode GD_LIRE_DONNEES pour récupérer les données transférées.

  4. Dans l'événement GD_DebutGlissement, la méthode GD_EXECUTER_GLISSEMENT se termine et le développeur doit supprimer les données transférées de l'objet source dans le cas où l'action a été un déplacement.

Remarque : la nouvelle version du Glisser-déposer n'est pas disponible en génération Java.

 

Cliquer ici pour voir un exemple d'un glisser-déposer

 

 

↑ Haut de page

  • Aucune étiquette