Aide LibreOffice 25.2
Le service ToolbarButton permet de récupérer des informations relatives aux boutons de barre d'outils disponibles dans une barre d'outils donnée. Avec ce service, il est possible de :
Basculez la visibilité des éléments de la barre d'outils.
Exécute la commande associée à un bouton de barre d'outils donné.
Avant d'utiliser le service ToolbarButton, la bibliothèque ScriptForge doit être chargée ou importée :
Le service ToolbarButton est appelé à l'aide de la méthode ToolbarButtons à partir du service Toolbar.
L'exemple ci-dessous récupère les noms de tous les boutons disponibles dans la barre d'outils .
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Utilisez la méthode ToolbarButtons sans arguments pour récupérer un tableau avec tous les noms de boutons de barre d'outils disponibles.
L'exemple ci-dessous bascule la visibilité du bouton dans la barre d'outils :
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Print")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  Le nom du bouton passé en argument à la méthode ToolbarButtons est le nom du bouton traduit défini dans la boîte de dialogue .
Les barres d'outils inactives n'ont pas de boutons. Par conséquent, l’appel de la méthode ToolbarButtons rendra la barre d’outils visible.
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    arr_toolbar_buttons = toolbar.ToolbarButtons()
    bas.MsgBox(repr(arr_toolbar_buttons))
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Print")
    toolbar_button.Visible = not toolbar_button.Visible
  | Nom | En lecture seule | Type | Description | 
|---|---|---|---|
| Caption | Oui | String | Renvoie le nom du bouton. | 
| Height | Oui | Long | Renvoie la hauteur du bouton, en pixels. | 
| Index | Oui | Long | Renvoie l'index du bouton dans sa barre d'outils parent. | 
| OnClick | Non | String | La commande ou le script UNO exécuté lorsque le bouton est enfoncé. Lisez la page Wiki Spécification URI de l'environnement de script pour en savoir plus sur la façon de définir une chaîne URI. | 
| Parent | Oui | Service Toolbar | Renvoie une instance de service Toolbar correspondant à la barre d'outils parent du bouton actuel de la barre d'outils. | 
| TipText | Non | String | Spécifie le texte de l'info-bulle affiché lorsque l'utilisateur survole le bouton de la barre d'outils. | 
| Visible | Non | Boolean | Spécifie si le bouton de la barre d'outils est visible ou non. | 
| Width | Oui | Long | Renvoie la largeur du bouton, en pixels. | 
| X | Oui | Long | Renvoie la coordonnée X (horizontale) du coin supérieur gauche du bouton, en pixels. | 
| Y | Oui | Long | Renvoie la coordonnée Y (verticale) du coin supérieur gauche du bouton, en pixels. | 
Un cas d'utilisation courant des propriétés X et Y décrites ci-dessus consiste à ouvrir un menu contextuel à l'endroit où se trouve le bouton de la barre d'outils.
Supposons que vous créiez le script ci-dessous et que vous l'associiez à un bouton nommé "Mon bouton" dans la standardbar. Lorsqu'il est cliqué, un menu contextuel s'affichera avec 3 options que l'utilisateur pourra sélectionner.
    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("My Button")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Item A", "A")
        oPopup.AddItem("Item B", "B")
        oPopup.AddItem("Item C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Your choice: " & strResponse
    End Sub
  
    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("My Button")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Item A", "A")
        popup.AddItem("Item B", "B")
        popup.AddItem("Item C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Your choice: {response}")
  | Liste des méthodes dans le service ToolbarButton | ||
|---|---|---|
| 
 | 
 | |
Exécute la commande ou le script associé au bouton de la barre d'outils.
Cette méthode renvoie la valeur renvoyée par la commande ou le script exécuté.
Utilisez la propriété OnClick pour déterminer la commande ou le script qui doit être exécuté. Si la commande/le script ne renvoie aucune valeur, alors Null est renvoyé.
svc.Execute(): any
L'exemple ci-dessous exécute le bouton de la barre d'outils :
      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Print")
      oToolbarButton.Execute()
    
      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Print")
    toolbar_button.Execute()