Sumário

# Serviço SFWidgets.Toolbar

O serviço Toolbar permite recuperar informações relacionadas às barras de ferramentas disponíveis em uma janela específica do documento. Com este serviço é possível:

- Alternar a visibilidade de barras de ferramentas específicas.

- Acessar informações sobre os botões disponíveis em cada barra de ferramentas.

Cada aplicativo do LibreOffice possui seu próprio conjunto de barras de ferramentas disponíveis. Este serviço lida tanto com barras de ferramentas integradas como personalizadas.

A barra de status e a barra de menu não são consideradas barras de ferramentas no contexto deste serviço.

## Invocação do serviço

Antes de usar o serviço Toolbar a biblioteca ScriptForge precisa ser carregada ou importada:

• Macros BASIC precisam carregar a biblioteca ScriptForge usando a seguinte instrução:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Scripts Python exigem uma importação do módulo scriptforge:
from scriptforge import CreateScriptService

O serviço Toolbar é invocado usando o método Toolbars, que está disponível no serviço SFDocuments.Document.

##### Em Basic

O exemplo abaixo obtém um Array com os nomes das barras de ferramentas disponíveis no documento atual.

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

Use o método Toolbars sem argumentos para recuperar um array com os nomes das barras de ferramentas disponíveis.

O exemplo abaixo alterna a visibilidade da barra de ferramentas Padrão:

        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

## Propriedades

Nome | Somente leitura | Tipo | Descrição
--- | --- | --- | ---
BuiltIn | Sim | Boolean | Retorna True quando a barra de ferramentas faz parte do conjunto de barras de ferramentas padrão do LibreOffice.
Docked | Sim | Boolean | Retorna True quando a barra de ferramentas está ativa na janela e se encontra encaixada.
HasGlobalScope | Sim | Boolean | Retorna True quando a barra de ferramentas está disponível em todos os documentos do mesmo tipo.
Name | Sim | String | Retorna o nome da barra de ferramentas.
ResourceURL | Sim | String | Retorna a URL do recurso da barra de ferramentas, no formato private:toolbar/toolbar_name.
Visible | Não | Boolean | Retorna True quando a barra de ferramentas está ativa e visível na janela do documento.
XUIElement | Sim | UNO Object | Retorna o objeto UNO com.sun.star.ui.XUIElement que representa a barra de ferramentas.

Lista de métodos do serviço Toolbar
ToolbarButtons |  |

## ToolbarButtons

Retorna um Array contendo os nomes de todos os botões da barra de ferramentas quando chamado sem argumentos.

Forneça o nome de um botão da barra de ferramentas como argumento para obter uma instância do serviço ToolbarButton.

### Sintaxe:

svc.ToolbarButtons(opt buttonname: str): any

### Parâmetros:

buttonname: o nome de um botão na barra de ferramentas atual.

### Exemplo:

O exemplo abaixo retorna o comando executado quando o botão Novo é clicado na barra de ferramentas Padrão:

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

As barras de ferramentas inativas não possuem botões. Portanto, chamar o método ToolbarButtons tornará a barra de ferramentas visível.

Todas as rotinas ou identificadores do ScriptForge em Basic que possuem o caractere "_" como prefixo são reservadas para uso interno. Elas não devem ser usadas em macros escritas em Basic ou em Python.

Tópicos relacionados

Serviço SFWidgets.ToolbarButton

♥ Doe para nosso projeto! ♥