Innhold

# SFWidgets.ToolbarButton-tjeneste

Tjenesten ToolbarButton gjør det mulig å hente informasjon relatert til verktøylinjeknappene som er tilgjengelige i en gitt verktøylinje. Med denne tjenesten er det mulig å:

- Veksle på synligheten til verktøylinjeelementer.

- Utfør kommandoen knyttet til en gitt verktøylinjeknapp.

## Tjenestepåkallelse

Før du bruker ToolbarButton-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService

Tjenesten ToolbarButton påkalles ved hjelp av ToolbarButtons-metoden fra Verktøylinje-tjenesten.

##### I Basic

Eksemplet nedenfor henter navnene på alle knappene som er tilgjengelige på Standard-verktøylinjen.

        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        arrToolbarButtons = oToolbar.ToolbarButtons()
        MsgBox SF_String.Represent(arrToolbarButtons)

Bruk metoden ToolbarButtons uten argumenter for å hente en matrise med alle tilgjengelige verktøylinjeknappnavn.

Eksemplet nedenfor veksler mellom synligheten av Skriv ut-knappen på Standard-verktøylinjen:

        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oToolbarButton = oToolbar.ToolbarButtons("Skriv ut")
        oToolbarButton.Visible = Not oToolbarButton.Visible

Knappenavnet som ble sendt som argument til ToolbarButtons-metoden er det lokaliserte knappnavnet som er definert i Verktøy - Tilpass - Verktøylinjer-dialogen.

Inaktive verktøylinjer har ikke knapper. Derfor, ved å kalle ToolbarButtons-metoden vil verktøylinjen bli synlig.

##### I Python

        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("Skriv ut")
        toolbar_button.Visible = not toolbar_button.Visible

## Egenskaper

Navn | Skrivebeskyttet | Type | Beskrivelse
--- | --- | --- | ---
Caption | Ja | String | Returnerer navnet på knappen.
Height | Ja | Long | Returnerer høyden på knappen, i piksler.
Index | Ja | Long | Returnerer indeksen til knappen i dens overordnede verktøylinje.
OnClick | Nei | String | UNO-kommandoen eller -skriptet som utføres når knappen trykkes. Les Wiki-siden Scripting Framework URI Specification for å lære mer om hvordan du definerer en URI-streng.
Parent | Ja | Verktøylinje tjeneste | Returnerer en Verktøylinje tjenesteforekomst som tilsvarer den overordnede verktøylinjen til gjeldende verktøylinjeknapp.
TipText | Nei | String | Spesifiserer verktøytipsteksten som vises når brukeren holder musepekeren over verktøylinjeknappen.
Visible | Nei | Boolean | Angir om verktøylinjeknappen er synlig eller ikke.
Width | Ja | Long | Returnerer bredden på knappen, i piksler.
X | Ja | Long | Returnerer X (horisontal) koordinaten til øverste venstre hjørne av knappen, i piksler.
Y | Ja | Long | Returnerer Y-koordinaten (vertikal) til øverste venstre hjørne av knappen, i piksler.

## Bruk av ToolbarButton ved siden av PopupMenu-tjenesten

Et vanlig brukstilfelle av egenskapene X og Y beskrevet ovenfor er å åpne en popup-meny i posisjonen der verktøylinjeknappen er plassert.

Anta at du oppretter skriptet nedenfor og assosierer det med en knapp kalt "Min knapp" i standardlinjen. Når den klikkes, vil en popup-meny vises med 3 alternativer som brukeren kan velge.

##### I Basic

        Sub OpenPopupMenu()
            GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
            oDoc = CreateScriptService("Document", ThisComponent)
            oToolbar = oDoc.Toolbars("standardbar")
            oButton = oToolbar.ToolbarButtons("Min knapp")
            oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
            oPopup.AddItem("Emne A", "A")
            oPopup.AddItem("Emne B", "B")
            oPopup.AddItem("Emne C", "C")
            strResponse = oPopup.Execute(False)
            MsgBox "Ditt valg: " & strResponse
        End Sub

##### I Python

        def open_popup_menu(args=None):
            bas = CreateScriptService("Basic")
            doc = CreateScriptService("Document", bas.ThisComponent)
            toolbar = doc.Toolbars("standardbar")
            toolbutton = toolbar.ToolbarButtons("Min knapp")
            popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
            popup.AddItem("Emne A", "A")
            popup.AddItem("Emne B", "B")
            popup.AddItem("Emne C", "C")
            response = popup.Execute(False)
            bas.MsgBox(f"Ditt valg: {respons}")

Liste over metoder i ToolbarButton-tjenesten
Execute |  |

## Execute

Utfører kommandoen eller skriptet knyttet til verktøylinjeknappen.

Denne metoden returnerer verdien returnert av kommandoen eller skriptet som ble utført.

Bruk egenskapen OnClick for å bestemme kommandoen eller skriptet som skal utføres. Hvis kommandoen/skriptet ikke returnerer noen verdi, returneres Null.

### Syntaks:

svc.Execute(): any

### Eksempel:

Eksemplet nedenfor kjører Skriv ut-knappen fra Standard-verktøylinjen:

##### I Basic

          oDoc = CreateScriptService("Document", ThisComponent)
          oToolbar = oDoc.Toolbars("standardbar")
          oToolbarButton = oToolbar.ToolbarButtons("Skriv ut")
          oToolbarButton.Execute()

##### I Python

          bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbar_button = toolbar.ToolbarButtons("Skriv ut")
        toolbar_button.Execute()

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.

Lignende emner

SFWidgets.Verktøylinje tjeneste

Supporter oss!