Gestion des Layouts

seule la version informatique fait foi

Gestion des “layouts”

DOC-TEC-922

DATE

22/09/2016

19/10/2016

14/12/2016

REDACTION

VALIDATION

OBJET DE LA REVISION

NF525

Ajout des éléments écran additionnel

Publication Google Site

NOM

Régis FOLNY

Régis FOLNY

Régis FOLNY

Grégory Gallier-Lachaise

Grégory Gallier-Lachaise

Grégory Gallier-Lachaise

La gestion des “Layouts” permet d'agencer les différents composants de l'interface de Neptis (version 7079 minimum) comme vous le souhaitez.

Layouts:

Pour définir de la position des différent éléments de l’écran de vente, il est divisé en 100 lignes et 100 colonnes.

Exemple de l’écran standard :

Ils sont définis dans un fichier LayoutConfig.xml (dans le dossier Config de l'application). Un fichier LayoutConfig.xml.exemple est fourni avec la mise à jour pour vous donner un exemple.

Dans ce fichier, chaque "bloc" <layout> permet de décrire un agencement de l'interface et de les positionner les unes par rapport aux autres. Les zones supportées sont :

A ces zones de base s'ajoutent des composants :

Exemple du contenu du fichier xml correspondant à un écran standard:

<Layout name="Standard">

   <Padding left="1" right="1" top="1" bottom="1" />

   <Zone type="Header"><Options version="1" info="1" date="1" time="1" notifier="1" /></Zone>

   <Zone type="Ticket">

     <Position x="0" y="0" col="35" row="45" />

   </Zone>

   <Zone type="Numpad">

     <Position x="35" y="0" col="30" row="45" />

   </Zone>

   <Zone type="Grid"><Options role="FAMILLES" />

     <Position x="65" y="0" col="35" row="45" />

   </Zone>

   <Zone type="Grid"><Options role="FONCTIONS" />

     <Position x="0" y="45" col="100" row="10" />

   </Zone>

   <Zone type="Grid"><Options role="CLAVIER" />

     <Position x="0" y="55" col="100" row="45" />

   </Zone>

   <Zone type="Grid"><Options role="VOLANTE" visible="0" />

     <Position x="5" y="5" col="90" row="90" />

   </Zone>

   <Zone type="Filler">

     <Position x="0" y="45" col="100" row="55" />

   </Zone>

   <Zone type="TicketClient">

     <Position x="0" y="0" col="35" row="100" monitor="2" />

   </Zone>

   <Zone type="Photo">

     <Position x="35" y="0" col="65" row="65" monitor="2" />

   </Zone>

   <Zone type="Browser">

     <Position x="35" y="65" col="65" row="35" monitor="2" />

   </Zone>

 </Layout>

Les Layouts internes (rappel ticket, liste des tables et des commandes, liste des comptes et de la fidélité...) sont aussi gérés par ce système de Layout. La layout par défaut de Neptis est le layout "Standard", il est inclus en dur dans l'exécutable mais vous pouvez le recopier simplement en le re-définissant dans votre fichier LayoutConfig.xml.

Il y a aussi un Layout interne "Numpad" qui s'affiche automatiquement lorsque le système a besoin que l'utilisateur saisisse quelque chose sur le pavé numérique mais que celui-ci est caché (typiquement : demande de mot de passe pour valider l'action d'une touche ou d'une fonctions) et aussi un Layout "Saisie" (modifiable comme Standard) que vous pouvez afficher pour permettre l'utilisation d'une fonction comme TABLE (qui nécessite de saisir le numéro de table et le nombre de couverts).

Il est possible de définir une propriété "max-cols" dans les options d'une grille de boutons pour que dans un certain Layout elle ne puisse pas afficher plus que max-cols colonnes, même si la taille déclarée dans la base de données est plus grande. Très utile pour permettre de partager une configuration "caisse" (en mode paysage) avec un layout type "mobile" (en mode portrait) sans avoir à doublonner tous les claviers.

.

Le changement de Layout est possible (quand vous souhaitez basculer d’une config d’écran vers une autre) à la volée à l'aide de la fonction #Layout# [NOM_LAYOUT] [NO_SAVE] [NO_REFRESH], l'option NO_SAVE permet d'éviter que ce nouveau Layout ne devienne le layout par défaut et NO_REFRESH permet d'éviter de recharger les fenêtres contenues dans le Layout), ces deux options sont utiles pour afficher le layout "Saisie". Si NOM_LAYOUT n'est pas spécifié, on switche sur le Layout par défaut.

Le Layout de démarrage (qui devient alors le Layout par défaut) se configure dans LOCALConfig.xml:

<layout>nom du layout</layout>

Quelques exemples de layouts:

<Layout name="PrimaGaucher">

   <Padding left="1" right="1" top="1" bottom="1" />

   <Zone type="Header"><Options version="1" info="1" date="1" time="1" notifier="1" /></Zone>

   <Zone type="Ticket">

     <Position x="65" y="0" col="35" row="60" />

   </Zone>

   <Zone type="Numpad">

     <Position x="65" y="60" col="35" row="40" />

   </Zone>

   <Zone type="Grid"><Options role="FAMILLES" />

     <Position x="0" y="0" col="65" row="40" />

   </Zone>

   <Zone type="Grid"><Options role="FONCTIONS" />

     <Position x="0" y="40" col="65" row="10" />

   </Zone>

   <Zone type="Grid"><Options role="CLAVIER" />

     <Position x="0" y="50" col="65" row="50" />

   </Zone>

   <Zone type="Grid"><Options role="VOLANTE" visible="0" />

     <Position x="5" y="5" col="90" row="90" />

   </Zone>

   <Zone type="Filler">

     <Position x="40" y="40" col="60" row="60" />

   </Zone>

 </Layout>

.

<Layout name="PrimaDroitier">

   <Padding left="1" right="1" top="1" bottom="1" />

   <Zone type="Header"><Options version="1" info="1" date="1" time="1" notifier="1" /></Zone>

   <Zone type="Ticket">

     <Position x="0" y="0" col="35" row="60" />

   </Zone>

   <Zone type="Numpad">

     <Position x="0" y="60" col="35" row="40" />

   </Zone>

   <Zone type="Grid"><Options role="FAMILLES" />

     <Position x="35" y="0" col="65" row="40" />

   </Zone>

   <Zone type="Grid"><Options role="FONCTIONS" />

     <Position x="35" y="40" col="65" row="10" />

   </Zone>

   <Zone type="Grid"><Options role="CLAVIER" />

     <Position x="35" y="50" col="65" row="50" />

   </Zone>

   <Zone type="Grid"><Options role="VOLANTE" visible="0" />

     <Position x="5" y="5" col="90" row="90" />

   </Zone>

   <Zone type="Filler">

     <Position x="40" y="40" col="60" row="60" />

   </Zone>

 </Layout>

.

<Layout name="Mobile">

   <Padding left="1" right="1" top="1" bottom="1" />

   <Zone type="Header"><Options version="1" info="1" date="1" time="1" notifier="1" /></Zone>

   <Zone type="Ticket">

     <Position x="0" y="0" col="75" row="80" />

   </Zone>

   <Zone type="Grid"><Options role="FAMILLES" />

     <Position x="0" y="65" col="65" row="35" />

   </Zone>

   <Zone type="Grid"><Options role="FONCTIONS" />

     <Position x="80" y="0" col="75" row="10" />

   </Zone>

   <Zone type="Grid"><Options role="CLAVIER" />

     <Position x="65" y="50" col="55" row="35" />

   </Zone>

   <Zone type="Grid"><Options role="VOLANTE" visible="0" />

     <Position x="5" y="5" col="90" row="90" />

   </Zone>

   <Zone type="Filler">

     <Position x="40" y="40" col="60" row="60" />

   </Zone>

 </Layout>

.

Élément et gadgets sur l’écran additionnel:

<Zone type="TicketClient">

     <Position x="0" y="0" col="35" row="100" monitor="2" />

   </Zone>

Affiche le ticket de caisse (idem côté vendeur) en tenant compte de la taille et de la position définies.

   <Zone type="Photo">

     <Position x="35" y="0" col="65" row="65" monitor="2" />

   </Zone>

Affiche l’image liée au produit vendu configuré dans la fiche article en tenant compte des paramètres de position et taille définis. Il est possible de définir un image par défaut qui sera affichés dans le cas ou aucune image n’est affectée aux articles. Il est possible aussi de définir une image particulière à chaque finalisation de ticket. (Fin-tansaction)

<photo>

<vide>ecran/vide.jpg</vide>

<fin-transaction>ecran/fin.jpg</fin-transaction>

</photo>

   <Zone type="Browser">

     <Position x="35" y="65" col="65" row="35" monitor="2" />

   </Zone>

Affiche une page web configurée dans la fiche article en tenant compte des paramètres de position et taille définis.

Il est possible de définir une “url” par défaut dans localconfig.xml qui sera toujours affichée dans le cas ou aucune n’a été configurée dans les articles:

<browser>

<url>http://www.crisalid.com</url>

</browser>

Les objets utilisables sur le second écran:

L’afficheur virtuel Crisalid :


Visionneuse de diaporama photos/video :

xnview pour un affichage plein écran sur l’écran additionnel.

.

Widget météo: télécharger l’utilitaire ici: http://services.lachainemeteo.com/meteo-bureau/widget-meteo.php

Le widget garde sa position sur l’écran en mémoire.

cliquer “bouton droit” sur le widget pour accéder au paramètres