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:

Wywoływanie usługi

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

note

• 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)
  
tip

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
  
tip

Nazwa przycisku przekazana jako argument do metody ToolbarButtons to zlokalizowana nazwa przycisku zdefiniowana w oknie dialogowym Narzędzia - Dostosuj - Paski narzędzi.


note

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.

tip

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()
    
warning

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.


Prosimy o wsparcie!