Conteúdo

# SFWidgets.Toolbar service

The Toolbar service allows to retrieve information related to the toolbars available for a specific document window. With this service it is possible to:

- Toggle the visibility of specific toolbars.

- Access information about the buttons available in each toolbar.

Each LibreOffice application has its own set of available toolbars. This service handles both built-in and custom toolbars.

The status bar and the menu bar are not considered toolbars in the context of this service.

## Service invocation

Before using the Toolbar service the ScriptForge library needs to be loaded or imported:

• As macros básicas requerem o carregamento da biblioteca ScriptForge através da seguinte instrução:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Os scripts Python requerem a importação do módulo scriptforge:
from scriptforge import CreateScriptService

The Toolbar service is invoked using the Toolbars method, which is available in SFDocuments.Document service.

##### Em Basic

The example below gets an Array with the names of the toolbars available in the current document.

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

Use the Toolbars method without arguments to retrieve an array with available toolbar names.

The example below toggles the visibility of the Standard toolbar:

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

##### Em Python

        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

## Properties

Name | Readonly | Type | Description
--- | --- | --- | ---
BuiltIn | Yes | Boolean | Returns True when the toolbar is part of the set of standard toolbars shipped with LibreOffice.
Docked | Yes | Boolean | Returns True when the toolbar is active in the window and docked.
HasGlobalScope | Yes | Boolean | Returns True when the toolbar is available in all documents of the same type.
Name | Yes | String | Returns the name of the toolbar.
ResourceURL | Yes | String | Returns the resource URL of the toolbar, in the form private:toolbar/toolbar_name.
Visible | No | Boolean | Returns True when the toolbar is active and visible in the document window.
XUIElement | Yes | UNO Object | Returns the com.sun.star.ui.XUIElement UNO object that represents the toolbar.

List of Methods in the Toolbar Service
ToolbarButtons |  |

## ToolbarButtons

Returns an Array containing the names of all toolbar buttons when called without arguments.

Provide the name of a toolbar button as argument to obtain a ToolbarButton service instance.

### Sintaxe:

svc.ToolbarButtons(opt buttonname: str): any

### Parâmetros:

buttonname: The name of a toolbar button in the current toolbar.

### Exemplo:

The example below returns the command executed when the button New is clicked in the Standard toolbar:

##### Em Basic

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

##### Em Python

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

Inactive toolbars do not have buttons. Therefore, calling the ToolbarButtons method will make the toolbar visible.

Todas as rotinas ou identificadores do ScriptForge Basic que tenham o caractere de sublinhado «_» como prefixo estão reservados para uso interno. Não se destinam a ser utilizados em macros do Basic ou em scripts Python.

Tópicos relacionados

SFWidgets.ToolbarButton service

Necessitamos da sua ajuda!