PV FIXER SIGNATURES GLISSER

4D - Documentation   Français   English   German   4D View, Commandes par thèmes   4D View, Liste des commandes   4D View, Constantes par thèmes   Retour   Précédent   Suivant

version 6.8


PV FIXER SIGNATURES GLISSER (zone; tabSignatures)

ParamètreTypeDescription
zoneEntier longZone 4D View
tabSignaturesTableau AlphaTableau des signatures

Description

La commande PV FIXER SIGNATURES GLISSER définit le contenu du tableau tabSignatures comme signatures de "glisser" pour la zone.

Les signatures sont des chaînes alphanumériques dont le contenu est libre. La longueur maximale d'une signature est de 32 caractères.

Ce sont les propriétés de la zone, définies au moyen de la commande PV FIXER PROPRIETE ZONE, qui permettent d'indiquer les possibilités d'une zone 4D View en matière de glisser-déposer :

Pour définir les propriétés de glisser-déposer à appliquer à une zone, utilisez les constantes du thème PV Propriétés zone.

Pour définir les valeurs de ces différentes propriétés, utilisez les constantes des thèmes PV Glisser déposer autorisé et PV Mode de déposer.

Une fois le glisser-déposer autorisé, il pourra intervenir entre deux zones (qui peuvent être la même) à la seule condition qu'elles possèdent au moins une signature commune, de glisser pour la zone source et de déposer pour la zone cible.

L'événement de glisser ou de déposer sera, quant à lui, intercepté par la commande PV APPELER SUR EVENEMENT.

Exemple

L'exemple ci-dessous fournit une illustration de glisser-déposer entre deux zones 4D View. Commençons par paramétrer les signatures et le comportement des zones, par exemple lors du chargement du formulaire :

   TABLEAU TEXTE($TabSignaturesGD;1)
   $TabSignaturesGD{1}:="Signature_1"

   PV FIXER PROPRIETE ZONE (ZoneSource;pv trigger de glisser ;pv trigger sur alt clic )  `alt-clic pour glisser
   PV FIXER PROPRIETE ZONE (ZoneSource;pv glisser autorisé ;pv GD cellules multiples )
   PV APPELER SUR EVENEMENT (ZoneSource;pv sur glisser ;"MéthodeGlisserDéposer")
   PV FIXER SIGNATURES GLISSER (ZoneSource;$TabSignaturesGD)
 
   PV FIXER PROPRIETE ZONE (ZoneCible;pv déposer autorisé ;pv GD cellule unique +
                                       pv GD cellules contiguës +pv GD cellules multiples )
   PV FIXER PROPRIETE ZONE (ZoneCible;pv mode de déposer ;pv déposer remplace uniquement )
   PV APPELER SUR EVENEMENT (ZoneCible;pv sur déposer ;"MéthodeGlisserDéposer")
   PV FIXER SIGNATURES DEPOSER (ZoneCible;$TabSignaturesGD)  `Mêmes signatures que glisser

La méthode projet MéthodeGlisserDéposer sera appelée lors d'un glisser avec alt-clic ou d'un déposer sur la zone cible :

   C_ENTIER LONG($1)  `Référence de la zone 4D View
   C_ENTIER LONG($2)  `Événement
   C_ENTIER LONG($3)  `Code de la touche (modifier)
   C_ENTIER LONG($4)  `Numéro de la colonne
   C_ENTIER LONG($5)  `Numéro de la ligne
   C_ENTIER LONG($6)  `Code ASCII de la touche

   C_POINTEUR(PtrZoneSource;PtrZoneCible)  `Pas de locales pour les conserver entre deux rétro-appels
   C_BLOB($blob)  `Presse-papiers temporaire du glisser-déposer
   C_ENTIER LONG($colonneCourante;$ligneCourante)  `Coordonnées de la cellule courante
   C_ENTIER LONG($colonneDest;$ligneDest)  `Coordonnées de la cellule visée par le déposer

   Au cas ou     
      : ($2=pv sur glisser )
         PV LIRE SOURCE GLISSER ($1;PtrZoneSource)  `D'où venons-nous ?

      : ($2=pv sur déposer )
         PV LIRE CIBLE DEPOSER ($1;PtrZoneCible)  `Où allons-nous ?

         $blob:=PV Copier vers blob (PtrZoneSource->)  `Copie dans le presse papiers
         $colonneDest:=PV Lire info deposer (PtrZoneCible->;pv déposer colonne )  `Coordonnées...
         $ligneDest:=PV Lire info deposer (PtrZoneCible->;pv déposer ligne )  `...de destination
         PV LIRE CELLULE COURANTE (PtrZoneCible->;$colonneCourante;$ligneCourante)
         PV ALLER A CELLULE (PtrZoneCible->;$colonneDest;$ligneDest)  `Collons à l'endroit désigné
         PV COLLER DEPUIS BLOB (PtrZoneCible->;$blob;1;1;1;1)
            `Rétablissement de la cellule courante une fois l'opération réalisée
         PV ALLER A CELLULE (PtrZoneCible->;$colonneCourante;$ligneCourante)
   Fin de cas 

Référence

PV FIXER SIGNATURES DEPOSER, PV LIRE SIGNATURES GLISSER.

Constantes

Thèmes PV Propriétés zone, PV Glisser déposer autorisé et PV Mode de déposer.


4D - Documentation   Français   English   German   4D View, Commandes par thèmes   4D View, Liste des commandes   4D View, Constantes par thèmes   Retour   Précédent   Suivant