dracul Posté(e) 20 juin 2006 Share Posté(e) 20 juin 2006 (modifié) Salut tout le monde. Je suis en train de faire un script là, et l'idée est de récupérer dans un ControlList l'élément sélectionné : mon approche : dans OnAction, je vérifie si le contrôle actif (gotFocus()) est bien le ControlList à traiter. def onAction(self, a): if ACTION_SELECT == a: print "select detected" if self.getFocus() == self.channelsLst: print "Channels =)" mon problème c'est qu'apparemment getFocus ne retourne rien ( j'ai emem essayé un print de getFocus() : rien ) il ne lève pas non plus d'exception pour me dire qu'il n'y a pas de contrôle avec focus ( d'ailleurs j epeux naviguer sans souci et j'ai setté le focus à la liste en hard dans le code : rien n'y fait ) y'autait-il quelque chose que j'aurais raté ? le focus change bien automatiquement quand on passe d'un contrôle a l'autre, pas besoin de le set manuellement hein ? j'ai regardé d'autres scripts : aucun n'a de param d'entrée sur getFocus(...) alors que dans la doc : il y en a 2 ( self, évidemment, et Control ) si quelqu'un a une idée .. je suis preneur merci d'avance et bonne nuit si jamais =) edit : je vais ajouter ca dans le wiki je crois j'ai tout simplement pas pensé que il ne fallait pas utiliser onAction mais onCommand def onControl(self, control): if control == self.maliste: item = self.maliste.getSelectedItem() self.message('You selected : ' + maliste.getLabel()) Modifié 20 juin 2006 par dracul Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 21 juin 2006 Share Posté(e) 21 juin 2006 j'ai tout simplement pas pensé que il ne fallait pas utiliser onAction mais onCommand onCommand onControl j'ai tout simplement pas pensé que il ne fallait pas utiliser onAction mais onCommand onCommand onControl il existe en fait le onControl qui va être appelé pour chaque control manipulé (action sur un bouton ou sur un élément de liste) et il existe le onAction qui lui va être appelé pour chaque action du pad ou de la télécommande. Pour les 'tips and tricks' on peut appeler directement un onControl en lui passant en paramètre un control bouton=xbmcgui.controlButton(x,y,w,h...)self.onControl(bouton) #ceci va simuler une action sur le bouton On peut également simuler une action sur des boutons du pad. Ne me demandez pas à quoi ca peut servir mais ca m'a déjà servi ! Lien vers le commentaire Partager sur d'autres sites More sharing options...
dracul Posté(e) 21 juin 2006 Auteur Share Posté(e) 21 juin 2006 (modifié) oui, onControl, desolé il était tard... tiens d'ailleurs, la doc a pas été mise a jour il n'y a que onAcion pas onControl sauf erreur... merci pour ces précisions mon script est fonctionnel à présent : plus qu'à améliorer la cosmétique en y appliquant des jolies skins et pour la suite, j'ai encore des idées. très sympa tout ça ! j'aime bien ce python sur XboX =) moi en fait mon "erreur" c'est que comme la doc était pas a jour et que seul onAction était documenté j'y sius allé par l'approche :L je vois qu'il y a une action d'exécutée, je regarde sur quel control ( getFocus ) et je le traite ensuite... mais vu qu'il y a onControl, tout est + simple !! et ca marche !! Modifié 21 juin 2006 par dracul Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant