Služba SFWidgets.ToolbarButton

Služba ToolbarButton umožňuje získávat informace týkající se tlačítek dostupných na zadané nástrojové liště. Pomocí této služby lze:

Volání služby

Před používáním služby ToolbarButton je nutné načíst či naimportovat knihovnu ScriptForge pomocí:

note

• V makrech Basicu je nutné načíst knihovnu ScriptForge následujícím příkazem:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ve skriptech Pythonu je nezbytné import z modulu scriptforge:
from scriptforge import CreateScriptService


Služba ToolbarButton je vytvořena metodou ToolbarButtons ze služby Toolbar.

V Basicu

V následujícím příkladu se získají názvy všech tlačítek dostupných na nástrojové liště Standardní.


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

Metodou ToolbarButtons použitou bez argumentů získáte pole s názvy dostupných tlačítek nástrojové lišty.


V následujícím příkladu je přepnuta viditelnost tlačítka Tisk na nástrojové liště Standardní:


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

Název tlačítka předaný jako argument metody ToolbarButtons je lokalizovaným názvem uvedeným v dialogovém okně Nástroje - Přizpůsobit - Nástrojové lišty.


note

Neaktivní nástrojové lišty tlačítka nemají, proto volání metody ToolbarButtons způsobí, že se lišta stane viditelnou.


V Pythonu

    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("Tisk")
    toolbar_button.Visible = not toolbar_button.Visible
  

Vlastnosti

Název

Pouze pro čtení

Typ

Popis

Caption

ano

String

Vrátí název tlačítka.

Height

ano

Long

Vrátí výšku tlačítka v pixelech.

Index

ano

Long

Vrátí index tlačítka v jeho nástrojové liště.

OnClick

ne

String

Příkaz UNO nebo skript spuštěný při stisknutí tlačítka. Další informace o tom, jak definovat řetězec URI, naleznete na wiki stránce Scripting Framework URI Specification.

Parent

ano

služba Toolbar

Vrátí instanci služby Toolbar odpovídající nástrojové liště pro aktuální tlačítko.

TipText

ne

String

Určuje text tipu, který se zobrazuje, když uživatel najede myší nad tlačítko na liště.

Visible

ne

Boolean

Určuje, zda je tlačítko lišty viditelné, nebo není.

Width

ano

Long

Vrátí šířku tlačítka v pixelech.

X

ano

Long

Vrátí souřadnici X (vodorovnou) levého horního rohu tlačítka v pixelech.

Y

ano

Long

Vrátí souřadnici Y (svislou) levého horního rohu tlačítka v pixelech.


Použití služby ToolbarButton spolu se službou PopupMenu

Obvyklým případem použití výše popsaných vlastností X a Y je otevření vyskakovací nabídky na místě, kde se nachází tlačítko nástrojové lišty.

Například jste vytvořili níže uvedený skript a přiřadili jej k tlačítku pojmenovanému „Moje tlačítko“ na liště standardbar. Po klepnutí na tlačítko se zobrazí vyskakovací nabídka, v níž může uživatel vybrat ze tří možností.

V Basicu

    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Moje tlačítko")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Položka A", "A")
        oPopup.AddItem("Položka B", "B")
        oPopup.AddItem("Položka C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Zvoleno: " & strResponse
    End Sub
  
V Pythonu

    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Moje tlačítko")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Položka A", "A")
        popup.AddItem("Položka B", "B")
        popup.AddItem("Položka C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Zvoleno: {response}")
  

Seznam metod služby ToolbarButton

Execute


Execute

Spustí příkaz nebo skript přiřazený k tlačítku nástrojové lišty.

Tato metoda vrátí hodnotu vrácenou spuštěným příkazem nebo skriptem.

tip

To, který příkaz nebo skript se má spustit, zjistíte z vlastnosti OnClick. Jestliže příkaz či skript hodnotu nevrací, vrátí se Null.


Syntaxe:

svc.Execute(): any

Příklad:

V následujícím příkladu se spustí příkaz pro tlačítko Tisk na nástrojové liště Standardní:

V Basicu

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

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

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.


Podpořte nás!