Obsah

# Služba SFWidgets.Toolbar

Služba Toolbar umožňuje získávat informace týkající se nástrojových lišt dostupných v určitém okně dokumentu. Pomocí této služby lze:

- Přepínat viditelnost určitých nástrojových lišt.

- Získávat informace o tlačítkách na jednotlivých nástrojových lištách.

Každá aplikace LibreOffice má vlastní sadu nástrojových lišt, které v ní jsou k dispozici. Tato služba pracuje jak s vestavěnými, tak s vlastními lištami.

Stavový řádek a hlavní nabídka se v kontextu této služby za nástrojové lišty nepovažují.

## Volání služby

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

• 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 Toolbar je získána pomocí metody Toolbars, která je k dispozici ve službě SFDocuments.Document.

##### V Basicu

V následujícím příkladu se získá Array s názvy nástrojových lišt dostupných v aktuálním dokumentu.

        oDoc = CreateScriptService("Document", ThisComponent)
        arrToolbars = oDoc.Toolbars()
        MsgBox SF_String.Represent(arrToolbars)

Metodou Toolbars použitou bez argumentů získáte pole s názvy dostupných nástrojových lišt.

V následujícím příkladu je přepnuta viditelnost lišty Standardní:

        oDoc = CreateScriptService("Document", ThisComponent)
        toolbar = oDoc.Toolbars("standardbar")
        toolbar.Visible = Not toolbar.Visible

##### V Pythonu

        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        arr_toolbars = doc.Toolbars()
        bas.MsgBox(repr(toolbars))

        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbar.Visible = not toolbar.Visible

## Vlastnosti

Název | Pouze pro čtení | Typ | Popis
--- | --- | --- | ---
BuiltIn | ano | Boolean | Vrátí True, pokud je nástrojová lišta součástí sady standardních, v LibreOffice vestavěných lišt.
Docked | ano | Boolean | Vrátí True, pokud je nástrojová lišta v okně aktivní a je ukotvena.
HasGlobalScope | ano | Boolean | Vrátí True, pokud je nástrojová lišta k dispozici ve všech dokumentech téhož typu.
Name | ano | String | Vrátí název nástrojové lišty.
ResourceURL | ano | String | Vrátí pro nástrojovou lištu zdrojovou adresu URL ve tvaru private:toolbar/toolbar_name.
Visible | ne | Boolean | Vrátí True, pokud je nástrojová lišta aktivní a viditelná v okně dokumentu.
XUIElement | ano | UNO Object | Vrátí objekt UNO com.sun.star.ui.XUIElement, který představuje nástrojovou lištu.

Seznam metod služby Toolbar
ToolbarButtons |  |

## ToolbarButtons

Je-li metoda zavolána bez argumentů, vrátí Array obsahující názvy všech tlačítek nástrojové lišty.

Zadáte-li jako argument název tlačítka nástrojové lišty, získáte instanci služby ToolbarButton.

### Syntaxe:

svc.ToolbarButtons(opt buttonname: str): any

### Parametry:

buttonname: Název tlačítka na aktuální nástrojové liště.

### Příklad:

V následujícím příkladu se vrátí příkaz provedený při klepnutí na tlačítko Nový na nástrojové liště Standardní:

##### V Basicu

          oToolbar = oDoc.Toolbars("standardbar")
          oToolbarButton = oToolbar.ToolbarButtons("New")
          MsgBox oToolbarButton.OnClick

##### V Pythonu

          toolbar = doc.Toolbars("standardbar")
          toolbar_button = toolbar.ToolbarButtons("New")
          bas.MsgBox(toolbar_button.OnClick)

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

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.

Související témata

Služba SFWidgets.ToolbarButton