Spis treści

# Usługa SFWidgets.ToolbarButton

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.

## Wywoływanie usługi

Przed użyciem usługi ToolbarButton należy załadować lub zaimportować bibliotekę ScriptForge:

• Podstawowe makra wymagają załadowania biblioteki ScriptForge przy użyciu następującej instrukcji:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skrypty Pythona wymagają importu z modułu scriptforge:
from scriptforge import CreateScriptService

Usługę ToolbarButton wywołuje się za pomocą metody ToolbarButtons z usługi Toolbar.

##### W języku Basic

Poniższy przykład pobiera nazwy wszystkich przycisków dostępnych na pasku narzędzi Standardowy.

        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 Drukuj na pasku narzędzi Standardowy:

        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 Narzędzia - Dostosuj - Paski narzędzi.

Nieaktywne paski narzędzi nie mają przycisków. Dlatego wywołanie metody ToolbarButtons spowoduje wyświetlenie paska narzędzi.

##### W języku 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("Print")
        toolbar_button.Visible = not toolbar_button.Visible

## Właściwości

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.

## Użycie ToolbarButton razem z usługą PopupMenu

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.

##### W języku Basic

        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

##### W języku Python

        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
Execute |  |

## Execute

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.

### Składnia:

svc.Execute(): any

### Przykład:

Poniższy przykład uruchamia przycisk Drukuj z paska narzędzi Standardowy:

##### W języku Basic

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

##### W języku Python

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

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.

Tematy pokrewne

Usługa SFWidgets.Toolbar