Innhald

# SFWidgets.ToolbarButton-tenesta

ToolbarButton-tenesta gjev høve til å få informasjon relatert til verktøylinjeknappane i ei gjeven verktøylinje. Med denne tenesta er det råd å:

- Slå visiga av verktøylinjeelementa av og på.

- Utføra kommandoen som er knytt til ein bestemt knapp.

## Oppkall av tenester

Før du brukar ToolbarButton-tenesta, må ScriptForge-biblioteket lastast inn eller importerast:

• Grunnleggjande makroar krev innlasting av biblioteket ScriptForge ved hjelp av denne setninga:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-skript krev import frå scriptforge-modulen:
from scriptforge import CreateScriptService

ToolbarButton-tenesta vert kalla opp med ToolbarButtons-metoden frå Toolbar-tenesta-.

##### I Basic

Eksempelet nedanfor hentar inn namna på alle knappane som er tilgjengelege i Standard-verktøylinja.

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

Bruk ToolbarButton-metoden utan argument for å få ei matrise med namna på tilgjengelege verktøylinjeknappar.

Eksempelet nedanfor slår av og på visinga av knappen Skriv ut i Standard-verktøylinja:

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

Knappenamnet som vart overført som argument til ToolButtons-metoden er det regionale knappenamnet sett i dialogvindauget Verktøy → Tilpass → Verktøylinjer

Verktøylinjer som ikkje er aktive har ingen knappar. Difor vert verktøylinja synleg når ToolbarButtons-metoden vert brukt.

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

## Eigenskapar

Namn | Skriveverna | Type | Beskriving
--- | --- | --- | ---
Caption | Ja | String | Returnerer namnet på knappen.
Height | Ja | Long | Returnerer høgda på knappen i pikslar.
Index | Ja | Long | Returnerer indeksen til knappen i forelddrevindauget.
OnClick | Nei | String | UNO-kommandoen eller skriptet som vert køyrd når knappen vert trykt. Sjå wikisida Scripting Framework URI Specification for å læra meir om korleis definera ein URI-streng.
Parent | Ja | Toolbar-tenesta | Returnerer ein førekomst av Toolbar-tenesta som svarar til foreldre-verktøylinja til den gjeldande verktøylinjeknappen.
TipText | Nei | String | Spesifiserer tipset som kjem fram når brukaren held musepeikaren obver verktøylinjeknappen.
Visible | Nei | Boolean | Spesifiserer om verktøylinjeknappen er synleg eller ikkje.
Width | Ja | Long | Returnerer breidda på knappen i pikslar.
X | Ja | Long | Returnerer X-koordidinatet (vassrett) til det øvre, venstre hjørnet til knappen i pikslar.
Y | Ja | Long | Returnerer Y-koordidinatet (loddrett) til det øvre, venstre hjørnet til knappen i pikslar.

## Bruk av ToolbarButton saman med PopupMenu-tenesta

Det er noksåp vanleg å bruka eigenskapane X og Y forklarte ovanfor for å opnma eit sprettoppvindauge der verktøylinjeknappen er plassert.

Gå ut frå at du lagar skriptet nedanfor og assosierer det med ein knapp som heiter «Knappen min» i standardlinja. Når du klikkar på han, vert det opna ein sprettoppmeny med tre val.

##### I Basic

        Sub OpenPopupMenu()
            GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
            oDoc = CreateScriptService("Document", ThisComponent)
            oToolbar = oDoc.Toolbars("standardbar")
            oButton = oToolbar.ToolbarButtons("Knappen min")
            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 "Valet ditt: " & 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("Knappen min")
            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"Valet ditt: {respons}")

Liste over metodar i tenesta ToolbarButton
Execute |  |

## Execute

Utfører kommandoen eller skriptet som er assosiert med verktøylinjeknappen.

Denne metoden returnerer verdien som vart returnert av kommandoen eller skriptet.

Bruk OnClick-eigenskapen for å bestemma kva kommando eller skript som skal utførast. Viss kommandoen eller skriptet ikkje returnerer nokon verdi, vert det returnert Null.

### Syntaks:

svc.Execute(): any

### Eksempel:

Eksempelet nedanfor utfører Skriv ut i Standard-verktøylinja:

##### 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 Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.

Liknande emne

SFWidgets.Toolbar-tenesta

Støtt oss!