Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 12/07/2006 15:11

Voila je suis actuellement en stage, et je suis en train de développer une application XUL.
Mon application a pour but de gérer des diagrammes UML en SVG...


Donc j'ai commencer a développer mais j'ai un petit soucis.
Je possède un fichier XUL principal composé d'un toolbox et de deux iframes. Les iframes font référence respectivement à 2 autres fichiers XUL. Le premier a un formulaire permettant de gérer les SVG, et le second fait référence à un fichier XUL que j'adapte au fur et à mesure. Car ce dernier est composé d'onglets, le nb d'onglet n'est pas fixe car on peut ouvrir un SVG (ce qui produira l'ouverture d'un nouvel onglet qui fera référence a ce SVG).
Le problème que j'ai est que je n'arrive pas a savoir quel est l'onglet selectionné car a chaque reload le premier est toujours sélectionné. Or je souhaiterai savoir quel est l'onglet selectionné afin de mettre à jour le code source du fichier XUL correspondant à l'affichage.
Mais je ne vois pas comment récupérer ces données.
Si quelqu'un a une solution faites le moi savoir.


P.S. : Si je n'ai pas été assez clair, signalez moi où il faut que je précise.

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : thefab

Date : 12/07/2006 15:58

Pourquoi placer tes éléments dans une iframe ? Tu peux tous les placer dans la fenêtre principale, du genre:

<window>
  <vbox>
    ... // Eléments de contruction
  </vbox>
  <splitter/>
  <tabbrowser/>
</window>

L'élément tabbrowser devrait correspondre à ce que tu cherches à faire (iframe avec des onglets).

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 12/07/2006 16:06

Merci je vais regarder cela tout de suite et te tiendrais au courant du résultat.

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : thefab

Date : 12/07/2006 16:10

Mais à part ça j'ai pas répondu à ta question car je ne sais pas, mais avec un tabbrowser ça devrait être (pas tester):

tabbrowser.selectedBrowser.contentDocument
tabbrowser.selectedBrowser.reload()
...

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 12/07/2006 16:25

Ok ben vais regarder tout ca.
Et d'après ce que je pense :

tabbrowser.selectedBrowser.reload()

ca ne devrait charger que l'onglet sélectionner.
Je vais tester tout ca et te dirais si j'obtiens le resultat voulu.

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 17/07/2006 13:05

Le problème que j'ai est que je ne connais pas la structure des <tabbrowser> car si a l'interieur je places des <browser> rien ne s'affiche.
Si quelqu'un sait comment est structuré un <tabbrowser> cela m'interesse.

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : thefab

Date : 17/07/2006 13:55

Tu ne dois pas faire:

<tabbrowser>
  <browser/>
  <browser/>
</tabbrowser>

Mais:

<tabbrowser id="navigateurs"/>
document.getElementById("navigateurs").addTab("url");

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 17/07/2006 14:29

Ok, mais petit probleme ca ne fait rien addTab('url')
Car ce que je voudrais que cela fasse, C simplement un addTab('url') et que cela l'affiche dans l'onglet.
Mais le problème est qu'il semblerait que addTab ne fonctionne pas car j'ai placé derrière un alert() afin de savoir quand il a correctement fini le addTab ms il n'apparait jms

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : thefab

Date : 17/07/2006 16:05

Si si addTab() ajoute bien un onglet et il y a toujours au moins browser (même si le tab n'est pas visible).

car j'ai placé derrière un alert() ... ms il n'apparait jms

J'ai le même problème que toi mais seulement la première fois (XULRunner).

XUL

<button id="add-tab-button" label="Ajouter" oncommand="addTabButtonOnCommand(event);"/>
<tabbrowser id="documents-tabbrowser" flex="1"/>

JS

function addTabButtonOnCommand(e)
  {
  var tabbrowser = document.getElementById("documents-tabbrowser");
  alert(tabbrowser.browsers.length);
  tabbrowser.addTab("http://www.google.ch/");
  alert(tabbrowser.browsers.length);
  }

La première fois il m'affiche: 1 et

TypeError: document.getElementById("menu_closeWindow") has no properties

Les fois suivantes: 2 et 3, 3 et 4, OK

# Re: Connaitre l'onglet selectionné dans une page xul

Envoyé par : vilicyn

Date : 17/07/2006 16:14

Ok donc j'ai vérifier les onglets sont bien crées car un alert(<nb d'onglets ds le tabbrowser>) avant l'ajout d'onglet fonctionne correctement.
Le problème est que je n'ai aucun affichage des onglets, car le but qd on développe une appli graphique est tt de meme de voir qqch.
En tout cas merci, la au moins je suis certain que addTab fonctionne.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.