Guida di LibreOffice 25.2
Il servizio ToolbarButton consente di recuperare informazioni relative ai pulsanti disponibili in una determinata barra degli strumenti. Con questo servizio è possibile:
Commutare la visibilità degli elementi della barra degli strumenti.
Eseguire il comando associato a un determinato pulsante della barra degli strumenti.
Prima di usare il servizio ToolbarButton è necessario caricare o importare le librerie ScriptForge:
Il servizio ToolbarButton è invocato usando il metodo ToolbarButtons del servizio Toolbar.
L'esempio sottostante recupera i nomi di tutti i pulsanti disponibili nella barra degli strumenti .
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Usare il metodo ToolbarButtons senza argomenti per recuperare una matrice con i nomi di tutti i pulsanti disponibili nella barra degli strumenti.
L'esempio sottostante commuta la visibilità del pulsante nella barra degli strumenti :
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Stampa")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  Il nome del pulsante passato come argomento al metodo ToolbarButtons è il nome del pulsante localizzato definito nella finestra di dialogo .
Le barre degli strumenti inattive non hanno pulsanti. Perciò, chiamando il metodo ToolbarButtons si renderà visibile la barra degli strumenti.
    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("Stampa")
    toolbar_button.Visible = not toolbar_button.Visible
  | Nome | Sola lettura | Tipo | Descrizione | 
|---|---|---|---|
| Caption | Sì | String | Restituisce il nome del pulsante. | 
| Height | Sì | Long | Restituisce l'altezza del pulsante, in pixel. | 
| Index | Sì | Long | Restituisce l'indice del pulsante nella barra degli strumenti di appartenenza. | 
| OnClick | No | String | Il comando UNO o lo script eseguito quando il pulsante viene premuto. Per saperne di più su come definire la stringa di un URI, leggere la pagina wiki Scripting Framework URI Specification. | 
| Parent | Sì | Servizio Toolbar | Restituisce un'istanza del servizio Toolbar corrispondente alla barra degli strumenti cui appartiene il pulsante corrente. | 
| TipText | No | String | Specifica il testo del suggerimento visualizzato quando l'utente posiziona il puntatore del mouse sopra il pulsante della barra degli strumenti. | 
| Visible | No | Boolean | Specifica se il pulsante della barra degli strumenti è visibile o no. | 
| Width | Sì | Long | Restituisce la larghezza del pulsante, in pixel. | 
| X | Sì | Long | Restituisce la coordinata X (orizzontale) dell'angolo superiore sinistro del pulsante, in pixel. | 
| Y | Si | Long | Restituisce la coordinata Y (verticale) dell'angolo superiore sinistro del pulsante, in pixel. | 
Un uso comune delle proprietà X e Y descritte in precedenza è quello di aprire un menu a comparsa nella posizione in cui si trova il pulsante nella barra degli strumenti.
Supponendo di creare lo script sottostante e di associarlo al pulsante denominato "Mio pulsante" nella standardbar. Quando si fa clic sopra, apparirà un menu a comparsa con 3 opzioni selezionabili dall'utente.
    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Mio pulsante")
        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 "La tua scelta: " & strResponse
    End Sub
  
    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Mio pulsante")
        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"La tua scelta: {response}")
  | Elenco dei metodi del servizio ToolbarButton | ||
|---|---|---|
| 
 | 
 | |
Esegue il comando o lo script associato al pulsante della barra degli strumenti.
Questo metodo restituisce il valore restituito dal comando o dallo script eseguito.
Usare la proprietà OnClick per determinare il comando o lo script che deve essere eseguito. Se il comando/script non restituisce valori, allora sarà restituito Null.
svc.Execute(): any
L'esempio seguente esegue il comando del pulsante dalla barra degli strumenti :
      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Stampa")
      oToolbarButton.Execute()
    
      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Stampa")
    toolbar_button.Execute()