Servizio SFWidgets.ToolbarButton

Il servizio ToolbarButton consente di recuperare informazioni relative ai pulsanti disponibili in una determinata barra degli strumenti. Con questo servizio è possibile:

Invocazione del servizio

Prima di usare il servizio ToolbarButton è necessario caricare o importare le librerie ScriptForge:

note

• Le macro in Basic richiedono il caricamento della libreria ScriptForge usando la seguente istruzione:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Gli script in Python richiedono un'importazione dal modulo scriptforge:
from scriptforge import CreateScriptService


Il servizio ToolbarButton è invocato usando il metodo ToolbarButtons del servizio Toolbar.

In Basic

L'esempio sottostante recupera i nomi di tutti i pulsanti disponibili nella barra degli strumenti Standard.


    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  
tip

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 Stampa nella barra degli strumenti Standard:


    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Stampa")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  
tip

Il nome del pulsante passato come argomento al metodo ToolbarButtons è il nome del pulsante localizzato definito nella finestra di dialogo Strumenti - Personalizza - Barre degli strumenti.


note

Le barre degli strumenti inattive non hanno pulsanti. Perciò, chiamando il metodo ToolbarButtons si renderà visibile la barra degli strumenti.


In Python

    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
  

Proprietà

Nome

Sola lettura

Tipo

Descrizione

Caption

String

Restituisce il nome del pulsante.

Height

Long

Restituisce l'altezza del pulsante, in pixel.

Index

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

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

Long

Restituisce la larghezza del pulsante, in pixel.

X

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.


Uso di ToolbarButton assieme al servizio PopupMenu

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.

In Basic

    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
  
In Python

    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

Execute


Execute

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.

tip

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.


Sintassi:

svc.Execute(): any

Esempio:

L'esempio seguente esegue il comando del pulsante Stampa dalla barra degli strumenti Standard:

In Basic

      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Stampa")
      oToolbarButton.Execute()
    
In Python

      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Stampa")
    toolbar_button.Execute()
    
warning

Tutte le routine e gli identificatori Basic di ScriptForge che iniziano con un carattere di sottolineatura "_" sono riservati per uso interno. Non è previsto il loro utilizzo nelle macro in Basic o negli script in Python.


Sostienici!