Contents

# 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 LibreOfficeDev 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:

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

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

##### In 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

##### In 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 LibreOfficeDev.
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.

### Syntax:

svc.ToolbarButtons(opt buttonname: str): any

### Parameters:

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

### Example:

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

##### In Basic

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

##### In 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.

All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "_" are reserved for internal use. They are not meant be used in Basic macros or Python scripts.

Related Topics

SFWidgets.ToolbarButton service