kochka Posté(e) 20 avril 2006 Share Posté(e) 20 avril 2006 (modifié) Plop tout le monde Comment fonctionne la récupération des fenêtres non détruites ? Le fait que cette possibilité se trouve dans le constructeur d'une xbmcgui.window me laisse un peu perplexe. Voila ce que je cherche a faire : Pour l'instant j'ai 3 classes : - videoList : Classe qui parse des pages web et met a dispo des methodes pour récupérer les infos necessaires - mainWindow(xbmcgui.Window) : Page d'acceuil (fenêtre mère) - videoWindow(xbmcgui.Window) : Liste des videos dispos (fenêtre fille) 1 - mainWindow va donc créer des instances de videoWindow pour chaque menu disponible dans la page d'acceuil 2 - Chaque instance de videoWindow crée une instance de videoList correspondant à la page selectionnée. La re-instanciation des videoWindow a chaque ouverture de menu n'est pas géniale puisqu'elle déclenche des parsings de page web. J'ai cru comprendre dans la doc de l'api que je pouvais ouvrir une page non détruite en passant des winId. Je me dis donc que c'est cool et que le vais stocker la liste des fenêtres filles ouvertes dans mainWindow. Seulement je comprend pas très bien la suite... Je dois faire un truc du genre : ? class videoWindow(xbmcgui.Window): """ Video Window Class inheritate Xbmc window """ def __init__(self, dicId, winId=None): xbmcgui.Window.__init__(self, winId) if not winId: ... Code d'init de ma fenêtre ... self.videoList = videoList(dicId) ... Code d'init de ma fenêtre ... ou je pourrais aussi très bien stocker mes instances de videoWindow dans mainWindow... Bon j'ai pas tester car j'ai pas de Xbox sous la main mais si quelqu'un a des eclaircissement, je suis preneur Modifié 20 avril 2006 par kochka Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 20 avril 2006 Share Posté(e) 20 avril 2006 Salut Tu m'as l'air de bien meiux maitriser la programmation que moi La fonction d'identification des "window' est très buggée. Ne compte pas là dessus pour faire ce que tu souhaites. Sinon, il faut considérer une classe window comme une 'couche' graphique qui vient se superposer aux autres précédentes. quand tu la quitte, tu revient à celle d'avant mais les infos ne sont pas "redessiner" la 'window' réapparait uniquement parceque celle du dessus ne la masque plus. Je ne sais pas si ca t'aide... Lien vers le commentaire Partager sur d'autres sites More sharing options...
kochka Posté(e) 20 avril 2006 Auteur Share Posté(e) 20 avril 2006 Merci de ta reponse Je sais pas si il n'y a que l'identification des fenêtre qui est buggé J'ai freezé je sais pas combien de fois la Xbox avec des trucs qui marche parfaitement sur mon PC... J'ai vu que tu avais commencé une ébauche de gestion des fenêtres dans "myCine", tu comptais t'y prendre comment ? J'ai pas le temps maintenant mais je vais faire des tests des possibilités ce We. Tcho ++ Lien vers le commentaire Partager sur d'autres sites More sharing options...
alexsolex Posté(e) 21 avril 2006 Share Posté(e) 21 avril 2006 pour mycine je voulais remplir une liste de toutes les fenêtres ouvertes. Ensuite, en mappant un bouton, je voulait afficher un controlList pour choisir le retour vers une des fiches ouvertes. (un espèce de système d'onglets !) Pour tes bugs, normalement les choses de bases passent correctement sur xbox de la même manière que sur PC. Y'a un truc un peu usant, c'est le coup du système de fichiers. Sur PC, un os.getcwd() renvoi un chemin du genre : E:\dossier\sousdossier mais sur xbox la même commande renvoi je crois : E:\dossier\sousdossier; il faut donc supprimer le dernier caractère : os.getcwd()[:-1] De plus, le python de XBMC ne gère que les noms de chemin absolu Si tu écris dans XBMC : open('monfichier.ext') ca plante si tu écris : open('E:\dossier\sousdossier\monfichier.ext') là ca marche Y'a quelques différences encore peut être, mais là elles me viennent pas en tête PM moi si tu veux me poser des questions directement sur msn a+ Lien vers le commentaire Partager sur d'autres sites More sharing options...
kochka Posté(e) 22 avril 2006 Auteur Share Posté(e) 22 avril 2006 (modifié) Merci pour toutes ces infos Le script est terminé, reste plus que le graphisme à faire. J'ai finalement abandonné l'idée de conserver les instances de fenêtres. J'ai écrit à la place une classe statique pour mettre en cache les instances des objets qui font les parsing. Mes freeze étranges venait du fait que j'essayais de passer des params au constructeur de mes classes qui héritent de xbmcgui.Window sans nommer les paramètres. Je comprend pas pourquoi ca plante la console d'ailleurs ??? Je te PM pour MSN, ca sera plus pratique si j'ai des questions metaphysiques sur le fonctionnement de l'API ou sur Python Thx ++ Modifié 22 avril 2006 par kochka 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