Pomoc LibreOffice 25.2
Usługa ToolbarButton pozwala na pobranie informacji związanych z przyciskami paska narzędzi dostępnymi na danym pasku narzędzi. Dzięki tej usłudze możliwe jest:
Przełączanie widoczności elementów paska narzędzi.
Wykonywanie polecenia powiązanego z danym przyciskiem paska narzędzi.
Przed użyciem usługi ToolbarButton należy załadować lub zaimportować bibliotekę ScriptForge:
Usługę ToolbarButton wywołuje się za pomocą metody ToolbarButtons z usługi Toolbar.
Poniższy przykład pobiera nazwy wszystkich przycisków dostępnych na pasku narzędzi .
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Użyj metody ToolbarButtons bez argumentów, aby pobrać tablicę zawierającą wszystkie dostępne nazwy przycisków paska narzędzi.
Poniższy przykład przełącza widoczność przycisku na pasku narzędzi :
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Print")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  Nazwa przycisku przekazana jako argument do metody ToolbarButtons to zlokalizowana nazwa przycisku zdefiniowana w oknie dialogowym .
Nieaktywne paski narzędzi nie mają przycisków. Dlatego wywołanie metody ToolbarButtons spowoduje wyświetlenie paska narzędzi.
    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
  | Nazwa | Tylko do odczytu | Typ | Opis | 
|---|---|---|---|
| Caption | Tak | String | Zwraca nazwę przycisku. | 
| Height | Tak | Long | Zwraca wysokość przycisku w pikselach. | 
| Index | Tak | Long | Zwraca indeks przycisku na jego nadrzędnym pasku narzędzi. | 
| OnClick | Nie | String | Polecenie UNO lub skrypt wykonywany po naciśnięciu przycisku. Przeczytaj stronę Wiki w języku angielskim Scripting Framework URI Specification, aby dowiedzieć się więcej o definiowaniu ciągu URI. | 
| Parent | Tak | Usługa Toolbar | Zwraca instancję usługi Toolbar odpowiadającą nadrzędnemu paskowi narzędzi bieżącego przycisku paska narzędzi. | 
| TipText | Nie | String | Określa tekst podpowiedzi wyświetlany po najechaniu kursorem na przycisk paska narzędzi. | 
| Visible | Nie | Boolean | Określa, czy przycisk paska narzędzi jest widoczny, czy nie. | 
| Width | Tak | Long | Zwraca szerokość przycisku w pikselach. | 
| X | Tak | Long | Zwraca współrzędną X (poziomą) lewego górnego rogu przycisku w pikselach. | 
| Y | Tak | Long | Zwraca współrzędną Y (pionową) lewego górnego rogu przycisku w pikselach. | 
Typowym przypadkiem użycia właściwości X i Y opisanych powyżej jest otwarcie wyskakującego menu w miejscu, w którym znajduje się przycisk paska narzędzi.
Załóżmy, że utworzysz poniższy skrypt i powiążesz go z przyciskiem o nazwie "My Button" na standardbar. Po kliknięciu wyświetli się wyskakujące menu z 3 opcjami do wyboru przez użytkownika.
    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 "Twój wybór: " & 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"Twój wybór: {response}")
  | Lista metod w usłudze ToolbarButton | ||
|---|---|---|
| 
 | 
 | |
Wykonuje polecenie lub skrypt skojarzony z przyciskiem paska narzędzi.
Ta metoda zwraca wartość zwróconą przez wykonane polecenie lub skrypt.
Użyj właściwości OnClick, aby określić polecenie lub skrypt, który ma zostać wykonany. Jeśli polecenie/skrypt nie zwróci żadnej wartości, zwracana jest wartość Null.
svc.Execute(): any
Poniższy przykład uruchamia przycisk z paska narzędzi :
      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()