Development: PopUpMenu

  • Hallo,

    habe auf der Statusbar ein Feld hinzugefügt. Der Tooltip funktioniert schonmal...

    jetzt will ich aber, wie bei den meißten Icons auf der Statusbar, ein PopUpMenu mit einem rechtsklick aufrufen?

    Bin gerade frisch dabei und auf den englischen Seiten finde ich keine passende Lösung.

    Momentan siehts so aus:

    XML
    <?xml version="1.0"?>
    <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
      <statusbar id="status-bar">
       <statusbarpanel id="sample_statusbar_panel" insertbefore="statusbar-display" collapsed="false" persist="collapsed">
       <box id="sample_statusbar" title="Test" width="22" height="15" tooltiptext="Test"/>
    </statusbarpanel>
      </statusbar>
    </overlay>

    Was muss ich jetzt tun damit OnClick sich ein PopUpMenü öffnet?

    Wer hat davon Ahnung, kann mir helfen, bzw. mir ein deutsches developer Forum empfehlen?

    Danke!

    MfG
    LuiGee

    EDIT: Danke für den Tip mit dem Häckchen ;)

    3 Mal editiert, zuletzt von luigee (19. September 2006 um 17:17)

  • Setz mal in deinem Beitrag den Haken bei [X] HTML in diesem Beitrag deaktivieren, dann klappt's auch mit dem Code.
    Ich kann dir leider nicht weiterhelfen, weil ich mich da nicht auskenne.

    Gruß Coce

    Keine Garantie für Richtigkeit meiner Tipps! Fragen/Antworten nicht per PN/IM/E-Mail!

  • Etwa so:

    Code
    <statusbarpanel context="meintollesmenue">
                <popup id="meintollesmenue" position="before_end" onpopupshowing="event.preventBubble();" oncommand="event.preventBubble();">
                        <menuitem label="Hallo" oncommand="..."/>
                        <menuitem label="Welt" oncommand="..."/>
                </popup>
        </statusbarpanel>

    (Ungetestet, nur gekürzt aus einer meiner Erweiterungen kopiert.)

  • Danke für den Codeschnipsel.

    Habe das ganze jetzt so umgesetzt:

    Leider wird die "Extension" dann nicht mehr angezeit :roll:

    Vorher wie es so aussah:

    XML
    <?xml version="1.0"?>
    <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
      <statusbar id="status-bar">
       <statusbarpanel id="mc-panel" label="MC"/>
      </statusbar>
    </overlay>


    ...wurde Sie zumindest angezeigt.

    Woran kann es liegen? Vielleicht an der xml Deklaration? Oder mache ich hier einen dummen Syntax Fehler?

  • Bei deinem Code fällt mir nur auf, dass du im statusbarpanel content="meinpoup" vergessen hast, das sollte aber nicht dazu führen, das die ganze Erweitrung nicht geht.

    Du kannst auch mal versuchen, deise ganze <popup>-Geschichte woanders hinzuverschieben, da das inkompatibel mit dem label="" sein könnte. Probiere z.B. mal:


    XML
    <?xml version="1.0"?>
    <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
      <statusbar id="status-bar">
       <statusbarpanel id="mc-panel" label="MC" context="mcpopup"/>    
                <popup id="mcpopup" position="before_end">
                        <menuitem label="Hallo" />
                        <menuitem label="Welt" />
                </popup>   
      </statusbar>      
    </overlay>

    (Ich hab 2 Attribute bei popup entfernt, sollte auch ohne die gehen.)