Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 29 invités

Tout l'univers du pilotage et des télécommandes

ProntoScript : Slider Pages

Message » 14 Jan 2010 10:26

Bonjour,

Voici le script du "Slider Pages".
Il permet de passer de page en page en faisant glisser le doigt sur l'écran. Ca correspond aux mêmes fonctions que PAGE_UP et PAGE_DOWN.

la fichier :
http://www.rendufamily.fr/domotique/telecommandes/XCF/SliderPages/SliveV1.XCF

la vidéo :
http://www.rendufamily.fr/domotique/telecommandes/XCF/SliderPages/SliveV1.mov

le code source (contenu dans le xcf) :
Code: Tout sélectionner


//*************************************************        SPECS        ***************************************************/
//*                                                                                                                       */
//*  TITRE        :   SLIDER PAGES                                                                                        */
//*  AUTEUR       :   JEAN-MICHEL RENDU                                                                                   */
//*  DATE         :   2010-01-15                                                                                          */
//*  VERSION      :   1.01                                                                                                */
//*  DESCRIPTION  :   GESTION DU DEFILEMENT STYLE IPHONE                                                                  */
//*  VERSION PS   :   2.4.18.0                                                                                            */
//*  MODELE       :   TSU9600                                                                                             */
//*                                                                                                                       */
//*************************************************     HISTORIQUE      ***************************************************/
//*                                                                                                                       */
//*  VERSION 1 (2010-01-13) :                                                                                             */
//*    - Premier version utilisable                                                                                       */
//*                                                                                                                       */
//*  VERSION 1.01 (2010-01-15)                                                                                            */
//*    - Correction de l'historique                                                                                       */
//*    - Exemple avec 2 activités.                                                                                        */
//*                                                                                                                       */
//*************************************************************************************************************************/
//*                                                                                                                       */
//*  Le principe est simple, on place une barre transparente sur un côte de l'écran (semi transparente ici pour que l'on  */
//*  puisse la voir). On analyse les positions du onPress et des onMove et on agit en conséquence.                        */
//*                                                                                                                       */
//*  Cette barre est un bouton placé sur le "System"/"System Page". Par conséquent si dans vos pages vous mettez un       */
//*  bouton par dessus, la barre de slide n'est plus clicable!                                                            */
//*                                                                                                                       */
//*  Les boutons ne se déplacent pas, il s'agit d'un changement de page comme avec les boutons PAGE_UP et PAGE_DOWN       */
//*                                                                                                                       */
//*  !!! Attention, le script doit etre placé dans chaque activité concernée !!!                                          */
//*                                                                                                                       */
//*************************************************************************************************************************/




//*************************************************       SLIDES        ***************************************************/
//*                                                                                                                       */
//*                                                                                                                       */
//* DECLARATION DES 4 RACCOURCIS D'ACCES AUX BOUTONS CLICABLES                                                            */
//*                                                                                                                       */
    var w = GUI.widget("MY_BUTTON");
//*                                                                                                                       */
//* INITIALISATION DES POSITION X,Y DE DEBUT ET DE FIN. PERMETTRONS D'ANALYSER LE MOUVEMENT DU DOIGT                      */
//*                                                                                                                       */
    var initPosX=0;
    var initPosY=0;
    var endPosX=0;
    var endPosY=0;
//*                                                                                                                       */
//* GESTION DES EVENEMENTS PRESS, MOVE, RELEASE                                                                           */
//*                                                                                                                       */
//* onPress   : Se déclenche lorsque l'on presse la touche, on défini ses positions x,y de départ et de fin. On défini la */
//*             fin également car si on clic sans bouger, le onMove ne se déclenche pas et le système prendra la valeur   */
//*             précédente, ce qui peut engendrer des erreurs                                                             */
//* onMove    : Se déclenche au mouvement du doigt.                                                                       */
//* onRelease : Executes les commandes selon l'état des variables                                                         */
//*                                                                                                                       */
    w.onPress = function(x, y)
      {
       initPosX=x;
       initPosY=y;
       endPosX=x;
       endPosY=y;
      }

    w.onMove = function(x, y)
      {
       endPosX=x;
       endPosY=y;
      };

    w.onRelease = function ()
      {
       System.print("Released" + endPosX + "," + endPosY);
       if(initPosY<endPosY) { GUI.widget("PS_PAGE_DOWN").executeActions(); }
       if(initPosY>endPosY) { GUI.widget("PS_PAGE_UP").executeActions(); }
      };
//*                                                                                                                       */
//*                                                                                                                       */
//*************************************************************************************************************************/
Dernière édition par powox le 15 Jan 2010 10:02, édité 4 fois.
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 14 Jan 2010 14:42

Merci bcp powox pour ce code :mdr:
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 14 Jan 2010 14:57

Par contre comment faire pour pouvoir l'intégrer dans un projet entier c'est à dire pour pouvoir changer de pages de cette manière sur toutes les pages de la télécommande?
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 14 Jan 2010 15:13

Pour le moment, la seule chose qui est encore peu pratique, c'est de devoir copier le script dans chaque activité (le reste se fait tout seul puisque le bouton se trouve dans les pages systèmes, et donc, se répercute partout).

Je vais voir si je peu raccourcir le code et en déporter une partie dans une librairie, malheureusement, je ne pourrais déporter que des fonction à mon avis, et donc, il restera toujours des traces dans chaque activités.

Je fais ça ce soir aprés le ciné (là, je suis au travail, j'ai pas trop le temps, désolé)
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 14 Jan 2010 15:40

il va vraiment falloir que je me trouve une tsu 9600 !!!
kiteur27
Pro-Commercant
Pro-Commercant
 
Messages: 523
Inscription Forum: 20 Oct 2007 18:26
Localisation: rouen
  • offline

Message » 14 Jan 2010 19:20

Moi si je mets le bouton transparent dans les pages du système comme j'ai mis un fond d'écran partout le bouton est e dessous du fond d'écran.

De plus je ne peux pas mettre le fond d'écran en arrière plan vu qu'il y est déjà vis a vis des boutons.

Par contre j'ai essayé en mettant le bouton par dessus et ça ne change pas de page (j'ai bien tout fait comme dans ton fichier.

Il faut que je change quelque chose dans ton code? Ou il est pour tous le monde pareil?
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 14 Jan 2010 21:29

Ben, comme c'est un bouton, si tu lui met un autre bouton devant, il ne réagit plus malheureusement :(

Et tu met un fond d'écran différent sur chaque page ? t'es bizare toi :p mais si c'est le cas, met le bouton transparent sur toutes les pages, c'est moins souple et moins pratique ...

enfin, au pire, pour cette histoire de fond, y'a une solution. Je t'expliquerai un peu plus tard, là j' fais à manger :p
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 14 Jan 2010 21:51

Non c'est le même fond d'écran partout :D

Aprés j'ai essayé en mettant le bouton par dessus et ça ne change pas de page.
J'ai quelque chose à modifier à ton code?

Ok tu me dira après bon appétit alors :D
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 15 Jan 2010 0:35

Le fond d'écran tu le considère bien comme un fond et non comme un bouton rassure moi ?
Il n'est que dans la page "systeme" ou tu le met dans chaque activité ?

Ah, si, y'a le script à mettre dans chaque activité :p (pas dans chaque page, mais chaque activité hein ;) mais bon, je l'ai déjà dis ça)

Au pire, envoi moi ton fichier, je peux avoir fais une erreur, ça me permettrais de corriger
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 15 Jan 2010 13:05

Mp envoyé powox :D
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 15 Jan 2010 13:25

Alors, c'est réglé, et tu vas comprendre, c'est tout bete et ça rejoint la question de kraven ici : viewtopic.php?f=6&t=29887470&start=1140 en bas

Le script fait appel à GUI.widget("MY_BUTTON"), c'est à dire qu'il fait appel au MY_BUTTON affiché

Toi tu as mis un MY_BUTTON en page système (donc affiché partout) et tu en a mis un sur chaque page lumière.
Au final il y en a 2 pour les pages lumières, donc la pauvre télco elle sait pas qui est qui :)
soit tu retire le "MY_BUTTON" de la page système, soit tu retire le "MY_BUTTON" des pages lumieres
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 15 Jan 2010 14:38

Alors j'ai essayé en laissant que le "MY_BUTTON" de la page système ça marche pas.

Ensuite j'ai essayé en modifiant le code et en mettant CF.widget pour qu'il fasse appel au bouton de la page système ça marche pas.

Ensuite j'ai essayé en laissant que le "MY_BUTTON" des pages lumières et ça marche pas.

Je dois être mauvais c'est pas possible :mdr:
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 15 Jan 2010 14:44

mmm, ça marche nickel chez moi avec ton fichier et les modifs que j'ai faite.
je t'envois un lien en PM d'une video montrant ce que j'ai fais :p


edit : ta video est en ligne, si tu veux la faire partager, vas y, c'est toi qui choisis, mais c'est plus ou moins la meme chose que j'ai déjà mis à dispo :)
powox
 
Messages: 781
Inscription Forum: 01 Oct 2005 1:38
Localisation: Paris, Chatillon
  • offline

Message » 15 Jan 2010 16:21

C'est bon ça marche!!! :D

Gros merci powox
anthony64
Pro-Divers
Pro-Divers
 
Messages: 163
Inscription Forum: 10 Fév 2009 19:55
Localisation: Bayonne
  • offline

Message » 15 Jan 2010 19:09

Salut,
j'ai pas tout compris, est-ce que l'espace occupé par "MY_BUTTON" doit être libre de tout bouton ou bien on peut mettre des boutons dans cet espace.
Merci,
coucouse
 
Messages: 981
Inscription Forum: 05 Mar 2006 12:01
Localisation: 91 Essonne
  • offline


Retourner vers Pilotage et Télécommandes

 
  • Articles en relation
    Dernier message