Un panel
est une fenêtre popup pouvant contenir n'importe quel type de contenu. Il n'a aucune décoration de fenêtre. Lorsqu'il est ouvert, il flotte par dessus la fenêtre et peut déborder même de la fenêtre principale. Typiquement, il sera attaché à un élément à l'aide de l'attribut popup
afin d'apparaitre lorsque l'on clique avec le bouton de gauche de la souris sur l'élément. Un panel
peut également être ouvert via un script à l'aide de la méthode openPopup
.
Le panel
sera fermé lorsque l'utilisateur cliquera en dehors de celui-ci ou que sa méthode hidePopup
sera appelée.
- Attributs
- left, noautofocus, onpopuphidden, onpopuphiding, onpopupshowing, onpopupshown, position, top
- Propriétés
- accessible, popupBoxObject, popup, state
- Méthodes
- hidePopup, moveTo, openPopup, openPopupAtScreen, sizeTo
Exemples
L'exemple qui suit montre comment un panel
peut être attaché à un label.
<panel id="thepanel"> <hbox align="start"> <image src="warning.png"/> <vbox> <description value="Vous avez 6 nouveaux messages."/> <hbox> <button label="Lire le courrier"/> <button label="Nouveau message"/> </hbox> </vbox> </hbox> </panel> <description value="6 nouveaux messages" popup="thepanel"/>
Attributs
- noautofocus
- Type : booléen
- Si mis à
false
, la valeur par défaut, l'élément ayant actuellement le focus le perdra si le popup est ouvert ou fermé. Si mis àtrue
, le focus ne sera pas modifié.
-
onpopuphiding
- Type : code de script
- Cet évènement est envoyé à un popup lorsqu'il est sur le point d'être masqué.
-
onpopupshowing
- Type : code de script
- Cet évènement est envoyé à un popup juste avant son ouverture. On l'utilise généralement pour définir dynamiquement le contenu lorsque l'utilisateur demande son affichage. Si ce gestionnaire d'évènement renvoie
false
, le popup ne s'affichera pas.
-
onpopupshown
- Type : code de script
- Cet évènement est envoyé à un popup après son ouverture, de la même manière qu'un évènement
onload
est envoyé à une fenêtre à son ouverture.
- position
- Type : une des valeurs ci-dessous
- L'attribut
position
détermine où le popup apparaît par rapport à l'élément sur lequel l'utilisateur a cliqué pour l'invoquer. C'est ce qui permet de placer le popup sur le bord d'un bouton.
-
after_start
: Le popup apparait en dessous l'élément avec le coin supérieur gauche du popup aligné avec le coin inférieur gauche de l'élément. Les bords gauches de l'élément et du popup sont sur la même ligne. Cette valeur est typiquement uilisée pour les menus déroulants. -
after_end
: Le popup apparait en dessous l'élément avec le coin supérieur droit du popup aligné avec le coin inférieur droit de l'élément. Les bords droits de l'élément et du popup sont sur la même ligne. -
before_start
: Le popup apparait au dessus de l'élément avec le coin inférieur gauche du popup aligné avec le coin supérieur gauche de l'élément. Les bords gauches de l'élément et du popup sont sur la même ligne. -
before_end
: Le popup apparait au dessus de l'élément avec le coin inférieur droit du popup aligné avec le coin supérieur droit de l'élément. Les bords droits de l'élément et du popup sont sur la même ligne. -
end_after
: Le popup apparait à la droite de l'élément avec le coin inférieur gauche du popup aligné avec le coin inférieur droit de l'élément. Les bords inférieurs de l'élément et du popup sont sur la même ligne. -
end_before
: Le popup apparait à la droite de l'élément avec le coin supérieur gauche du popup aligné avec le coin supérieur droit de l'élément. Les bords supérieurs de l'élément et du popup sont sur la même ligne. -
start_after
: Le popup apparait à la gauche de l'élément avec le coin inférieur droit du popup aligné avec le coin inférieur gauche de l'élément. Les bords inférieurs de l'élément et du popup sont sur la même ligne. -
start_before
: Le popup apparait à la gauche de l'élément avec le coin supérieur droit du popup aligné avec le coin supérieur gauche de l'élément. Les bords supérieurs de l'élément et du popup sont sur la même ligne. -
overlap
: Le popup apparait par dessus l'élément avec les coins supérieurs gauches alignés. -
at_pointer
: Le popup apparait à la position du pointeur de la souris. -
after_pointer
: Le popup apparait à la même position horizontale que le pointeur de la souris, mais verticalement, il est placé juste sous l'élément.
Propriétés
-
accessible
- Type : nsIAccessible
- Renvoie l'objet d'accessibilité pour l'élément.
-
popupBoxObject
- Type : nsIPopupBoxObject
- Cette propriété en lecture seule conserve le nsIPopupBoxObject qui implémente le popup. Il n'est normalement pas nécessaire d'utiliser cette propriété étant donné que toutes ses fonctions sont disponibles via le popup lui-même.
-
state
- Type : chaîne
- Cette propriété en lecture seule indique si le popup est ouvert ou non. Quatre valeurs sont possibles :
-
closed
: Le popup est fermé et non visible. -
open
: Le popup est ouvert et visible sur l'écran. -
showing
: Une requête a été faite pour ouvrir le popup, mais il n'a pas encore été affiché. Cet état se produit durant l'évènementpopupshowing
. -
hiding
: Le popup est sur le point d'être masqué. Cet état se produit durant l'évènementpopuphiding
.
Méthodes
-
hidePopup()
- Type de retour : pas de valeur de retour
- Ferme le popup immédiatement.
-
moveTo( x, y )
- Type de retour : pas de valeur de retour
- Déplace le popup vers un nouvel emplacement.
-
openPopup( anchor , position , x , y , isContextMenu, attributesOverride )
- Type de retour : pas de valeur de retour
Ouvre le popup relativement à un nœud spécifié à un emplacement spécifique.
Le popup peut soit être ancré à un autre nœud ou ouvert librement. Pour ancrer un popup à un nœud, fournissez un nœud d'accrochage dans le paramètre anchor
et définissez la position
par une chaîne indiquant la manière dont le popup doit être ancré.
Les valeurs possibles pour le paramètre position
sont : before_start, before_end, after_start, after_end, start_before, start_after, end_before, end_after, overlap, after_pointer
Le nœud d'accrochage ne doit pas nécessairement être dans le même document que le popup.
Si le paramètre attributesOverride
vaut true
, l'attribut position
sur le nœud popup a priorité sur la valeur du paramètre position
. Si attributesOverride
vaut false
, l'attribut n'est utilisé que si le paramètre position
est vide.
Pour un popup ancré, les paramètres x
et y
peuvent être utilisés pour décaler le popup de sa position d'ancrage de quelques pixels (mesurés en pixels CSS).
Les popups non ancrés peuvent être créés en fournissant null
comme paramètre anchor
. Un popup non ancré apparait à la position spécifiée par x
et y
relativement à la zone visible (viewport) du document contenant le nœud popup. Dans ce cas, les paramètres position
et attributesOverride
sont ignorés.
-
openPopupAtScreen( x, y, isContextMenu )
- Type de retour : pas de valeur de retour
Ouvre le popup à une position spécifique sur l'écran spécifiée par x
et y
. Cette position peut être ajustée s'il s'avère qu'elle provoquerait l'apparition du popup en dehors de l'écran. Les coordonnées x
et y
sont mesurées en pixels CSS.
-
sizeTo( <i>largeur</i>, <i>hauteur</i> )
- Type de retour : aucune valeur de retour
- Modifie la taille actuelle de la fenêtre popup avec les nouvelles dimensions <var>largeur</var> et <var>hauteur</var>.
Sujets liés
- Interfaces
- nsIAccessibleProvider, nsIDOMXULPopupElement