Ajuda do LibreOffice 24.8
O serviço ToolbarButton permite recuperar informações relacionadas aos botões da barra de ferramentas disponíveis em uma determinada barra de ferramentas. Com este serviço é possível:
Alternar a visibilidade dos elementos da barra de ferramentas.
Executar o comando associado a um determinado botão da barra de ferramentas.
Antes de usar o serviço ToolbarButton a biblioteca ScriptForge precisa ser carregada ou importada:
O serviço ToolbarButton é invocado usando o método ToolbarButtons do serviço Toolbar.
O exemplo abaixo recupera os nomes de todos os botões disponíveis na barra de ferramentas .
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Use o método ToolbarButtons sem argumentos para recuperar uma lista com todos os nomes de botões disponíveis na barra de ferramentas.
O exemplo abaixo alterna a visibilidade do botão na barra de ferramentas :
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Imprimir")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  O nome do botão passado como argumento para o método ToolbarButtons é o nome do botão localizado definido na caixa de diálogo .
As barras de ferramentas inativas não possuem botões. Portanto, chamar o método ToolbarButtons tornará a barra de ferramentas visível.
    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("Imprimir")
    toolbar_button.Visible = not toolbar_button.Visible
  | Nome | Somente leitura | Tipo | Descrição | 
|---|---|---|---|
| Caption | Sim | String | Retorna o nome do botão. | 
| Height | Sim | Long | Retorna a altura do botão, em pixels. | 
| Index | Sim | Long | Retorna o índice do botão em sua barra de ferramentas pai. | 
| OnClick | Não | String | Comando UNO ou script executado quando o botão é pressionado. Leia a página Scripting Framework URI Specification para aprender mais sobre como definir uma string URI. | 
| Parent | Sim | Serviço Toolbar | Retorna uma instância do serviço Toolbar correspondente à barra de ferramentas pai do botão da barra de ferramentas atual. | 
| TipText | Não | String | Especifica o texto da dica de ferramenta mostrado quando o usuário passa o mouse sobre o botão da barra de ferramentas. | 
| Visible | Não | Boolean | Especifica se o botão da barra de ferramentas é visível ou não. | 
| Width | Sim | Long | Retorna a largura do botão, em pixels. | 
| X | Sim | Long | Retorna a coordenada X (horizontal) do botão, a partir do canto superior esquerdo, em pixels. | 
| Y | Sim | Long | Retorna a coordenada Y (vertical) do botão, a partir do canto superior esquerdo, em pixels. | 
Um caso de uso comum das propriedades X e Y descritas acima é abrir um menu pop-up na posição onde o botão da barra de ferramentas está localizado.
Suponha que você crie o script abaixo e o associe a um botão chamado "Meu botão" na barra de ferramentas standardbar. Ao clicar no botão, um menu pop-up será mostrado com 3 opções para o usuário selecionar.
    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Meu Botão")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Item A", "A")
        oPopup.AddItem("Item B", "B")
        oPopup.AddItem("Item C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Sua escolha: " & strResponse
    End Sub
  
    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Meu Botão")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Item A", "A")
        popup.AddItem("Item B", "B")
        popup.AddItem("Item C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Sua escolha: {response}")
  | Lista de Métodos no Serviço ToolbarButton | ||
|---|---|---|
| 
 | 
 | |
Executa o comando ou script associado ao botão da barra de ferramentas.
Este método retorna o valor retornado pelo comando ou script executado.
Use a propriedade OnClick para determinar o comando ou script que deve ser executado. Se o comando/script não retornar nenhum valor, então Null será retornado.
svc.Execute(): any
O exemplo abaixo executa o botão da barra de ferramentas :
      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Imprimir")
      oToolbarButton.Execute()
    
      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Imprimir")
    toolbar_button.Execute()