Vsebina

# Storitev SFDialogs.Dialog

Storitev Dialog prispeva upravljanju pogovornih oken, ustvarjenih z Urejevalnikom pogovornih oken Basic ali izdelanih neposredno. Vsaka instanca trenutnega razreda predstavlja posamezno pogovorno okno, prikazano uporabniku.

Pogovorno okno je lahko prikazano v modalnem ali ne modalnem načinu.

V modalnem načinu je okno prikazano in izvedba procesa makra je začasno ustavljena, dokler ni pritisnjen eden od gumbov V redu ali Prekliči. Medtem lahko dejanja uporabnika, izvedena v oknu, sprožijo določena dejanja.

V ne modalnem načinu pogovorno okno »plava« na namizju uporabnika in izvedba procesa makra se nemoteno nadaljuje. Ne modalno pogovorno okno se zapre, ko ga zaključite z metodo Terminate() ali ko se seja LibreOffice konča. Gumb za zapiranje okna v ne modalnih pogovornih oknih ni aktivno.

Po eksplicitni prekinitvi pogovorno okni izgine iz pomnilnika.

Storitev SFDialogs.Dialog je tesno povezana s storitvijo SFDialogs.DialogControl.

## Priklic storitve in raba

Pred uporabo storitve Dialog je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Storitev Dialog prikličete prek metode CreateScriptService. Zahteva tri dodatne položajne argumente, da določite pogovorno polje, ki ga želite aktivirati:

Container: "GlobalScope" za vnaprej nameščene knjižnice ali ime okna, kot je določeno s storitvijo ScriptForge.UI. Prazen niz "" privzeto predstavlja trenutni dokument.

Library: ime (razlikuje med velikimi in malimi črkami) knjižnice, vsebovane v hranilniku. Privzeta vrednost je "Standard".

DialogName: niz, ki opredeljuje ime pogovornega okna (razlikuje med velikimi in malimi črkami).

Spodnja primera v Basicu in Pythonu prikažeta pogovorno okno dlgConsole, ki pripada knjižnici ScriptForge v skupni rabi:

          Dim oDlg As Object, lButton As Long
          Dim Container As String, Library As String, DialogName As String
          Set oDlg = CreateScriptService("SFDialogs.Dialog", "GlobalScope", "ScriptForge", "dlgConsole")
          '... inicializacija kontrolnikov sodi semkaj ...
          lButton = oDlg.Execute()
          'Privzeti način = modalni
          If lButton = oDlg.OKBUTTON Then
          '... Obdelaj kontrolnike in opravi, kar je tu potrebno
          End If
          oDlg.Terminate()

Ali z uporabo Pythona:

        dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
        # ... inicializacija kontrolnikov sodi semkaj ...
        rc = dlg.Execute()
        # Privzeti način je modalni (Modal)
        if rc == dlg.OKBUTTON:
            # ... Obdelaj kontrolnike in opravi, kar je tu potrebno
        dlg.Terminate()

Uporabite niz »GlobalScope« kot argument container, če je pogovorno okno shranjeno v Moji makri in pogovorna okna ali v Makri in pogovorna okna programa.

Storitev dialog ponuja metode, ki dinamično ustvarjajo nove kontrolnike v obstoječem pogovornem oknu, vnaprej določenem z orodjem Urejevalnik pogovornih oken. Pogovorno okno se inicializira s kontrolniki v Urejevalniku pogovornih oken, nove kontrolnike pa lahko dodajate med izvajanjem pred ali po ukazu Execute() za pogovorno okno.

Storitev Dialog lahko prikličete tudi prek metode CreateScriptService, ko sproti ustvarjate pogovorna okna. Zahteva dva dodatna položajna argumenta po imenu ad-hoc storitve »NewDialog«:

DialogName: niz, ki opredeljuje ime pogovornega okna (razlikuje med velikimi in malimi črkami).

Place: mesto pogovornega okna, ki je lahko:

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

        Sub newDialog()
            Dim oDlg As Object
           oDlg = CreateScriptService("NewDialog", "myDialog1", Array(100,200, 40, 110))
           ' ...
        End Sub

Ali z uporabo Pythona:

        def newDialog():
           dlg = CreateScriptService('NewDialog', 'mojeOkno1', (100,200, 40, 110))
           # ... Obdelaj kontrolnike in opravi, kar je potrebno

Za taka nova pogovorna okna so na voljo vse lastnosti in metode, ki veljajo za vnaprej določena pogovorna okna. Zlasti vrsta metod CreateXXX() za dodajanje novih kontrolnikov pogovornim oknom.

## Pridobivanje instance storitve Dialog, ki je sprožila dogodek pogovornega okna

Instanco storitve Dialog lahko pridobite tudi prek storitve SFDialogs.DialogEvent, če je pogovorno okno nastalo s storitvijo Dialog. V spodnjem primeru vsebuje oDlg instanco storitve ialog, ki je sprožila dogodek.

        Sub aDialogEventHander(ByRef poEvent As Object)
            Dim oDlg As Object
            Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
            ' ...
        End Sub

Ali z uporabo Pythona:

        def control_event_handler(event: uno):
            dlg = CreateScriptService("SFDialogs.DialogEvent", event)
            # ...

V prejšnjih primerih ste morda opazili, da lahko predpono "SFDialogs." izpustite, ko je to ustrezno.

### Ravnanje z izjemami v krmilnikih dogodkov

Pri ustvarjanju krmilnika dogodkov za dogodke pogovornega okna je dobra praksa, da napake obravnavamo znotraj samega podprograma. Primer: predpostavimo, da se spodnji krmilnik dogodkov kliče, ko pritisnete gumb miške v oknu pogovornega okna.

        Sub OnMouseButtonPressed(ByRef oEvent As Object)
        On Local Error GoTo Catch
            Dim oDialog As Object
            oDialog = CreateScriptService("DialogEvent", oEvent)
            ' Obravnava dogodka
            Exit Sub
        Catch:
            MsgBox SF_Exception.Description
            SF_Exception.Clear
        End Sub

Kličite SF_Exception.Clear, če ne želite, da se napaka širi naprej, potem ko se je izvajanje pogovornega okna zaključilo.

V Pythonu uporabite domorodne bloke try/except za ravnanje z izjemami, kot je prikazano spodaj:

        def on_mouse_button_pressed(event=None):
            try:
                dlg = CreateScriptService("DialogEvent", event)
                # Obravnava dogodka
            except Exception as e:
                # Predmet »bas« je instanca storitve Basic
                bas.MsgBox(str(e))

## Lastnosti

Ime | Samo za branje | Vrsta | Opis
--- | --- | --- | ---
OKBUTTON | Da | Integer | Vrednost = 1. Pritisnjen je bil gumb V redu.
CANCELBUTTON | Da | Integer | Vrednost = 0. Pritisnjen je bil gumb Prekliči.
Caption | Ne | String | Določite naslov pogovornega okna.
Height | Ne | Long | Določite višino pogovornega okna.
Modal | Da | Boolean | Določa, ali je pogovorno okno trenutno v izvedbi v modalnem načinu.
Name | Da | String | Ime pogovornega okna
Page | Ne | Integer | Pogovorno okno ima lahko več strani, med katerimi uporabnik napreduje po korakih. Lastnost Page predmeta Dialog določa, katera stran pogovornega okna je aktivna.
Visible | Ne | Boolean | Določa, ali je pogovorno okno vidno na namizju. Privzeto ni vidno, dokler ne izvedete metode Execute(); šele nato je vidno.
XDialogModel | Da | Predmet UNO | Predmet UNO, ki predstavlja model pogovornega okna. Podrobnosti si oglejte v dokumentaciji API-ja za XControlModel in UnoControlDialogModel.
XDialogView | Da | Predmet UNO | Predmet UNO, ki predstavlja pogled pogovornega okna. Podrobnosti si oglejte v dokumentaciji API-ja za vmesnika XControl in UnoControlDialog.
Width | Ne | Long | Določite širino pogovornega okna.

## Lastnosti dogodka

Lastnosti dogodka On… so nizi URI s sklicem na skript, ki ga je dogodek sprožil. Preberite specifikacijo v specifikaciji skriptanja ogrodja URI (v angl.).

Ime | Opis Basic IDE
--- | ---
OnFocusGained | Ob pridobljeni pozornosti
OnFocusLost | Ob izgubljeni pozornosti
OnKeyPressed | Tipka pritisnjena
OnKeyReleased | Tipka sproščena
OnMouseDragged | Miška premaknjena ob pritisnjeni tipki
OnMouseEntered | Kazalec miške znotraj
OnMouseExited | Kazalec miške zunaj
OnMouseMoved | Miška premaknjena
OnMousePressed | Gumb miške pritisnjen
OnMouseReleased | Gumb miške sproščen

Namig: lastnosti All On… lahko nastavite programsko.
To prikazuje primer How to display data in a tree control (v angl.) na wikiju LibreOffice.

Dodeljevanje dogodkov prek Basic IDE in dodeljevanje dogodkov prek makrov je medsebojno izključujoče.

Seznam metod v storitvi Dialog
Activate Center Controls CloneControl CreateButton CreateCheckBox CreateComboBox CreateCurrencyField CreateDateField CreateFileControl CreateFixedLine CreateFixedText | CreateFormattedField CreateGroupBox CreateHyperlink CreateImageControl CreateListBox CreateNumericField CreatePatternField CreateProgressBar CreateRadioButton CreateScrollBar CreateTableControl CreateTabPageContainer | CreateTextField CreateTimeField CreateTreeControl EndExecute Execute GetTextsFromL10N ImportControl OrderTabs Resize SetPageManager Terminate

Kontrolniki TabPageContainer niso na voljo v urejevalniku pogovornih oken.

Določanje mer pogovornega okna poteka v enotah Map AppFont. Tudi model pogovornega okna in kontrolnika uporablja enote AppFont. Njihove pojavne oblike pa za ogled uporabljajo slikovne točke.

## Activate

Pozornost nastavi na trenutno instanco Dialog. Vrne True, če je bilo določanje pozornosti uspešno.

To metodo kliče dogodek pogovornega okna ali kontrolnika oz. ko je pogovorno okno prikazano v ne modalnem načinu.

### Skladnja:

svc.Activate(): bool

### Primer:

          Dim oDlg As Object
          Set oDlg = CreateScriptService(,, "myDialog")
          oDlg.Execute()
          ' ...
          oDlg.Activate()

Primeri v Pythonu in LibreOffice Basicu predvidevajo, da je pogovorno okno shranjeno v knjižnici Standardno trenutnega dokumenta.

         dlg = CreateScriptService(,,'myDialog')
         dlg.Execute()
         # ...
         dlg.Activate()

## Center

Osredini instanco trenutnega pogovornega okna na sredo nadrejenega okna. Metoda brez argumentov osredini pogovorno okno na sredo trenutnega okna.

Vrne True, če uspe.

### Skladnja:

svc.Center(opt Parent: obj): bool

### Parametri:

Parent: neobvezni predmet, ki je lahko ...

- predmet pogovornega okna ScriptForge,

- predmet dokumenta ScriptForge (Calc, Base, ...).

### Primer:

##### V Basicu

         Sub TriggerEvent(oEvent As Object)
             Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
             Set oDialog1 = CreateScriptService("DialogEvent", oEvent) ' Pogovorno okno, ki je povzročilo dogodek
             Set oDialog2 = CreateScriptService("Dialog", ...) ' Odpre drugo pogovorno okno
             oDialog2.Center(oDialog1)
             lExec = oDialog2.Execute()
             Select Case lExec
                 ...
         End Sub

##### V Pythonu

         def triggerEvent(event: uno):
           dlg1 = CreateScriptService('DialogEvent.Dialog', event)  # Pogovorno okno, ki je povzročilo dogodek
           dlg2 = CreateScriptService('Dialog', ...)  # Odpre drugo pogovorno okno
           dlg2.Center(dlg1)
           rc = dlg2.Execute()
           if rc is False:
             # ...

## CloneControl

Podvoji obstoječi kontrolnik poljubne vrste v dejanskem pogovornem oknu. Podvojeni kontrolnik ostane nespremenjen in ga je moč premestiti.

### Skladnja:

svc.CloneControl(SourceName: str, ControlName: str, Left: num, Top: num): svc

### Parametri:

SourceName: ime kontrolnika, ki naj bo podvojen.

ControlName: ime veljavnega kontrolnika kot niz, razlikuje med velikimi in malimi črkami. Ne sme še obstajati.

Left, Top: koordinate novega kontrolnika, izražene v enotah Map AppFont.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

          Set myButton2 = oDlg.CloneControl("Button1", "Button2", 30, 30)

##### V Pythonu

         dlg = dlg.CloneControl('Button1', 'Button2', 30, 30)

## Controls

Vrne lahko:

- seznam kontrolnikov, ki jih vsebuje pogovorno okno, ali

- instanco razreda kontrolnika pogovornega okna DialogControl glede na njegovo ime.

### Skladnja:

svc.Controls(): str[0..*]

svc.Controls(controlname: str): svc

### Parametri:

ControlName: ime veljavnega kontrolnika kot niz, razlikuje med velikimi in malimi črkami. Če ni podano, vrne seznam imen kontrolnikov kot ničelno polje.

### Primer:

          Dim myDialog As Object, myList As Variant, myControl As Object
          Set myDialog = CreateScriptService("SFDialogs.Dialog", , "Standard", "Dialog1")
          myList = myDialog.Controls()
          Set myControl = myDialog.Controls("myTextBox")

         dlg = CreateScriptService('SFDialogs.Dialog','', 'Standard', 'Dialog1')
         ctrls = dlg.Controls()
         ctrl = dlg.Controls('myTextBox')

## CreateButton

Ustvari nov kontrolnik vrste Button (gumb) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateButton(ControlName: str, Place: any, Toggle: bool = False, Push: str = ""): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Toggle: če je True, se ustvari preklopni gumb (Toggle) (privzeto je False).

Push: "OK" (V redu), "CANCEL" (Prekliči) ali "" (privzeto).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myButton = oDlg.CreateButton("Button1", Array(20, 20, 60, 15))

##### V Pythonu

         myButton = dlg.CreateButton('Button1', (20, 20, 60, 15))

## CreateCheckBox

Ustvari nov kontrolnik vrste CheckBox (potrditveno polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateCheckBox(ControlName: str, Place: any, Multiline: bool = False): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

MultiLine: če je True (privzeta vrednost je False), je napis lahko prikazan v več kot eni vrstici.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myCheckBox = oDlg.CreateCheckBox("CheckBox1", Array(20, 20, 60, 15), MultiLine := True)

##### V Pythonu

         myCheckBox = dlg.CreateCheckBox('CheckBox1', (20, 20, 60, 15), MultiLine = True)

## CreateComboBox

Ustvari nov kontrolnik vrste ComboBox (kombinirano polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateComboBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

DropDown: če je True (privzeta vrednost), je prikazan spustni gumb.

LineCount: določa največje število vrstic, prikazanih v spustnem polju (privzeto = 5).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myComboBox = oDlg.CreateComboBox("ComboBox1", Array(20, 20, 60, 15), Dropdown := True)

##### V Pythonu

         myComboBox = dlg.CreateComboBox('ComboBox1', (20, 20, 60, 15), Dropdown = True)

## CreateCurrencyField

Ustvari nov kontrolnik vrste CurrencyField (valutno polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateCurrencyField(ControlName: str, Place: any, Border ="3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000, Increment: num = 1, Accuracy: num = 2): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

SpinDown: če je True (privzeta vrednost je False), je prikazan vrtilni gumb.

MinValue: najmanjša vrednost, ki jo je moč vnesti v kontrolnik (privzeto = -1000000).

MaxValue: največja vrednost, ki jo je moč vnesti v kontrolnik (privzeto = +1000000).

Increment: korak, ko je pritisnjen vrtilni gumb (privzeto = 1).

Accuracy: določa natančnost v decimalkah. Privzeta vrednost je 2 decimalni mesti.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myCurrencyField = oDlg.CreateCurrencyField("CurrencyField1", Array(20, 20, 60, 15), SpinButton := True)

##### V Pythonu

         myCurrencyField = dlg.CreateCurrencyField('CurrencyField1', (20, 20, 60, 15), SpinButton = True)

## CreateDateField

Ustvari nov kontrolnik vrste DateField (datumsko polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateDateField(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = False, opt MinDate: datetime, opt MaxDate: datetime): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

DropDown: če je True (privzeta vrednost je False), je prikazan spustni gumb.

MinDate: najmanjši datum, ki ga je moč vnesti v kontrolnik (privzeto = 1900-01-01).

MaxDate: največji datum, ki ga je moč vnesti v kontrolnik (privzeto = 2200-12-31).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myDateField = oDlg.CreateDateField("DateField1", Array(20, 20, 60, 15), Dropdown := True)

##### V Pythonu

         myDateField = dlg.CreateDateField('DateField1', (20, 20, 60, 15), Dropdown = True)

## CreateFileControl

Ustvari nov kontrolnik vrste FileControl (kontrolnik datotek) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateFileControl(ControlName: str, Place: any, Border: str = "3D"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myFileControl = oDlg.CreateFileControl("FileControl1", Array(20, 20, 60, 15))

##### V Pythonu

         myFileControl = dlg.CreateFileControl('FileControl1', (20, 20, 60, 15))

## CreateFixedLine

Ustvari nov kontrolnik vrste FixedLine (nespremenljiva črta) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateFixedLine(ControlName: str, Place: any, Orientation: str): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Orientation: za vodoravno usmerjenost uporabite "H" ali "Horizontal"; za navpično usmerjenost uporabite "V" ali "Vertical".

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myFixedLine = oDlg.CreateFixedLine("FixedLine1", Array(20, 20, 60, 15), Orientation := "vertical")

##### V Pythonu

         myFixedLine = dlg.CreateFixedLine('FixedLine1', (20, 20, 60, 15), Orientation = 'vertical')

## CreateFixedText

Ustvari nov kontrolnik vrste FixedText (nespremenljivo besedilo) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateFixedText(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "NONE" (privzeto), "FLAT" ali "3D".

MultiLine: če je True (privzeta vrednost je False), je napis lahko prikazan v več kot eni vrstici.

Align: vodoravna poravnava, možne vrednosti so "LEFT" (privzeta vrednost, levo), "CENTER" (sredina) ali "RIGHT" (desno).

VerticalAlign: navpična poravnava, možne vrednosti so "TOP" (privzeto, vrh), "MIDDLE" (sredina) in "BOTTOM" (dno).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myFixedText = oDlg.CreateFixedText("FixedText1", Array(20, 20, 60, 15), MultiLine := True)

##### V Pythonu

         myFixedText = dlg.CreateFixedText('FixedText1', (20, 20, 60, 15), MultiLine = True)

## CreateFormattedField

Ustvari nov kontrolnik vrste FormattedField (oblikovano polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateFormattedField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

SpinDown: če je True (privzeta vrednost je False), je prikazan vrtilni gumb.

MinValue: najmanjša vrednost, ki jo je moč vnesti v kontrolnik (privzeto = -1000000).

MaxValue: največja vrednost, ki jo je moč vnesti v kontrolnik (privzeto = +1000000).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myFormattedField = oDlg.CreateFormattedField("FormattedField1", Array(20, 20, 60, 15), SpinButton := True)

##### V Pythonu

         myFormattedField = dlg.CreateFormattedField('FormattedField1', (20, 20, 60, 15), SpinButton = True)

## CreateGroupBox

Ustvari nov kontrolnik vrste GroupBox (skupinsko polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateGroupBox(ControlName: str, Place: any): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myGroupBox = oDlg.CreateGroupBox("GroupBox1", Array(20, 20, 60, 15))

##### V Pythonu

         myGroupBox = dlg.CreateGroupBox('GroupBox1', (20, 20, 60, 15))

## CreateHyperlink

Ustvari nov kontrolnik vrste Hyperlink (hiperpovezava) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateHyperlink(ControlName: str, Place: any, Border: str = "NONE", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "NONE" (privzeto), "FLAT" ali "3D".

MultiLine: če je True (privzeta vrednost je False), je napis lahko prikazan v več kot eni vrstici.

Align: vodoravna poravnava, možne vrednosti so "LEFT" (privzeta vrednost, levo), "CENTER" (sredina) ali "RIGHT" (desno).

VerticalAlign: navpična poravnava, možne vrednosti so "TOP" (privzeto, vrh), "MIDDLE" (sredina) in "BOTTOM" (dno).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myHyperlink = oDlg.CreateHyperlink("Hyperlink1", Array(20, 20, 60, 15), MultiLine := True)

##### V Pythonu

         myHyperlink = dlg.CreateHyperlink('Hyperlink1', (20, 20, 60, 15), MultiLine = True)

## CreateImageControl

Ustvari nov kontrolnik vrste ImageControl (kontrolnik slik) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateImageControl(ControlName: str, Place: any, Border: str = "3D", Scale: str = "FITTOSIZE"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

Scale: merilo, z eno od naslednjih vrednosti: "FITTOSIZE" (privzeto, prilagodi velikosti), "KEEPRATIO" (ohrani razmerje stranic) ali "NO" (ne).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myImageControl = oDlg.CreateImageControl("ImageControl1", Array(20, 20, 60, 15))

##### V Pythonu

           myImageControl = dlg.CreateImageControl('ImageControl1", (20, 20, 60, 15))

## CreateListBox

Ustvari nov kontrolnik vrste ListBox (seznamsko polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateListBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5, MultiSelect: bool = False): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

DropDown: če je True (privzeta vrednost), je prikazan spustni gumb.

LineCount: določa največje število vrstic, prikazanih v spustnem polju (privzeto = 5).

MultiSelect: če je True, je možno izbrati več kot en vnos. Privzeta vrednost je False.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myListBox = oDlg.CreateListBox("ListBox1", Array(20, 20, 60, 15), Dropdown := True, MultiSelect := True)

##### V Pythonu

         myListBox = dlg.CreateListBox('ListBox1', (20, 20, 60, 15), Dropdown = True, MultiSelect = True)

## CreateNumericField

Ustvari nov kontrolnik vrste NumericField (številsko polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateNumericField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = 1000000, Increment: num = 1, Accuracy: num = 2): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

SpinDown: če je True (privzeta vrednost je False), je prikazan vrtilni gumb.

MinValue: najmanjša vrednost, ki jo je moč vnesti v kontrolnik (privzeto = -1000000).

MaxValue: največja vrednost, ki jo je moč vnesti v kontrolnik (privzeto = +1000000).

Increment: korak, ko je pritisnjen vrtilni gumb (privzeto = 1).

Accuracy: določa natančnost v decimalkah. Privzeta vrednost je 2 decimalni mesti.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myNumericField = oDlg.CreateNumericField("NumericField1", Array(20, 20, 60, 15), SpinButton := True)

##### V Pythonu

         myNumericField = dlg.CreateNumericField('NumericField1', (20, 20, 60, 15), SpinButton = True)

## CreatePatternField

Ustvari nov kontrolnik vrste PatternField (polje vzorca) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreatePatternField(ControlName: str, Place: any, Border: str = "3D", EditMask: str, opt LiteralMax: str): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

EditMask: znakovna koda, ki določa, kaj lahko uporabnik vnese.
Za več informacij glejte Pattern_Field na wikiju (v angl.).

LiteralMask: vsebuje začetne vrednosti, ki so prikazane v polju vzorca.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myPatternField = oDlg.CreatePatternField("PatternField1", Array(20, 20, 60, 15), EditMask := "NNLNNLLLLL", LiteralMask := "__.__.2002")

##### V Pythonu

         myPatternField = dlg.CreatePatternField('PatternField1', (20, 20, 60, 15), EditMask = 'NNLNNLLLLL', LiteralMask = '__.__.2002')

## CreateProgressBar

Ustvari nov kontrolnik vrste ProgressBar (vrstica napredka) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateProgressBar(ControlName: str, opt Place: any, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

MinValue: najmanjša vrednost, ki jo je moč vnesti v kontrolnik (privzeto = 0).

MaxValue: največja vrednost, ki jo je moč vnesti v kontrolnik (privzeto = 100).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myProgressBar = oDlg.CreateProgressBar("ProgressBar1", Array(20, 20, 60, 15), MaxValue := 1000)

##### V Pythonu

         myProgressBar = dlg.CreateProgressBar('ProgressBar1', (20, 20, 60, 15), MaxValue = 1000)

## CreateRadioButton

Ustvari nov kontrolnik vrste RadioButton (izbirni gumb) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateRadioButton(ControlName: str, Place: any, MultiLine: bool = False): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

MultiLine: če je True (privzeta vrednost je False), je napis lahko prikazan v več kot eni vrstici.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myRadioButton = oDlg.CreateRadioButton("RadioButton1", Array(20, 20, 60, 15), MultiLine := True)

##### V Pythonu

         myRadioButton = dlg.CreateRadioButton('RadioButton1', (20, 20, 60, 15), MultiLine = True)

## CreateScrollBar

Ustvari nov kontrolnik vrste ScrollBar (drsnik) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateScrollBar(ControlName: str, Place, Orientation: str, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Orientation: za vodoravno usmerjenost uporabite "H" ali "Horizontal"; za navpično usmerjenost uporabite "V" ali "Vertical".

Border: "3D" (privzeto), "FLAT" ali "NONE".

MinValue: najmanjša vrednost, ki jo je moč vnesti v kontrolnik (privzeto = 0).

MaxValue: največja vrednost, ki jo je moč vnesti v kontrolnik (privzeto = 100).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myScrollBar = oDlg.CreateScrollBar("ScrollBar1", Array(20, 20, 60, 15), MaxValue := 1000)

##### V Pythonu

         myScrollBar = dialog.CreateScrollBar('ScrollBar1', (20, 20, 60, 15), MaxValue = 1000)

## CreateTableControl

Ustvari nov kontrolnik vrste TableControl (kontrolnik tabele) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateTableControl(ControlName: str, Place: any, Border: str = "3D", RowHeaders: bool = True, ColumnHeaders: bool = True, ScrollBars: str = "N", GridLines: bool = False): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

RowHeaders: če je True (privzeta vrednost), so prikazane glave vrstic.

ColumnHeaders: če je True (privzeta vrednost), so prikazane glave stolpcev.

ScrollBars: možne vrednosti so "H" ali "Horizontal" (vodoravni drsniki), "V" ali "Vertical" (navpični drsniki), "B" ali "Both" (oboji drsniki) ter "N" ali "None" (brez drsnikov, privzeto). Drsniki se pojavijo dinamično po potrebi.

GridLines: če je True (privzeta vrednost je False), so med celicami mreže izrisane vodoravne in navpične črte.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myTableControl = oDlg.CreateTableControl("TableControl1", Array(20, 20, 60, 15), ScrollBars := "B")

##### V Pythonu

         myTableControl = dlg.CreateTableControl('TableControl1', (20, 20, 60, 15), ScrollBars = 'B')

## CreateTabPageContainer

Ustvari nov kontrolnik vrste TabPageContainer v trenutnem pogovornem oknu. Zavihki se razpostirajo prek ločilnih črt v pogovornem oknu, ko je to potrebno. Več kontrolnikov TabPageContainer hkrati ni podprtih.

Izdelava kontrolnika TagePageContainer je na vrsti vedno zadnja pri ustvarjanju pogovornega okna.

### Skladnja:

svc.CreateTabPageContainer(ControlName: str, Place: any, TabHeaders: str[1..*], Border: str = "3D"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

TabHeaders: matrika nizov, ki določajo vsako posamezno oznako za zavihke

Border: "3D" (privzeto), "FLAT" ali "NONE".

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myTabPageContainer = oDlg.CreateTabPageContainer("someContainer", Array(20, 20, 60, 15), TabHeaders := Array("Modules", "Dialogs", "Libraries"))

##### V Pythonu

         myTabPageContainer = dlg.CreateTabPageContainer('theTabs', TabHeaders=('Modules', 'Dialogs', 'Libraries'), place=(20, 20, 60, 15))

## CreateTextField

Ustvari nov kontrolnik vrste TextField (besedilno polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateTextField(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, MaximumLength: num = 0, PasswordCharacter: str = ""): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

MultiLine: če je True (privzeta vrednost je False), je napis lahko prikazan v več kot eni vrstici.

MaximumLength: največje število znakov (privzeta vrednost je 0 in pomeni neomejeno).

PasswordCharacter: posamezen znak, ki označuje odziv za besedilno polje gesla (privzeto je "").

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

    Set myTextField = oDlg.CreateTextField("TextField1", Array(20, 20, 120, 50), MultiLine := True)

##### V Pythonu

         myTextField = dlg.CreateTextField('TextField1', (20, 20, 120, 50), MultiLine = True)

## CreateTimeField

Ustvari nov kontrolnik vrste TimeField (časovno polje) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateTimeField(ControlName: str, Place: any, Border: str = "3D", MinTime: num = 0, MaxTime: num = 24): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

MinTime: najmanjši čas, ki ga je moč vnesti v kontrolnik (privzeto = 0).

MaxTime: največji čas, ki ga je moč vnesti v kontrolnik (privzeto = 24h).

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myTimeField = oDlg.CreateTimeField("TimeField1", Array(20, 20, 60, 15))

##### V Pythonu

         myTimeField = dlog.CreateTimeField('TimeField1', (20, 20, 60, 15))

## CreateTreeControl

Ustvari nov kontrolnik vrste TreeControl (drevesni kontrolnik) v trenutnem pogovornem oknu.

### Skladnja:

svc.CreateTreeControl(ControlName: str, Place: any, Border = "3D"): svc

### Parametri:

ControlName: ime novega kontrolnika. Ne sme še obstajati.

Place: lahko je ...

- Array v Basicu ali dvojica Python s 4 elementi: (X, Y, širina, višina) ali

- ali predmet pravokotnika com.sun.star.awt.Rectangle [X, Y, širina, višina].

Vsi elementi so izraženi v enotah Map AppFont.

Border: "3D" (privzeto), "FLAT" ali "NONE".

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set myTreeControl = oDlg.CreateTreeControl("TreeControl1", Array(20, 20, 60, 15))

##### V Pythonu

         myTreeControl = dlg.CreateTreeControl('TreeControl1', (20, 20, 60, 15))

## EndExecute

Vrne prikaz modalnega pogovornega okna in vrne argument kot vrnjeno vrednost trenutne izvedenega dejanja Execute().

EndExecute() je običajno vsebovana v obdelavi makra, ki jo proži dogodek pogovornega okna ali kontrolnika.

### Skladnja:

svc.EndExecute(returnvalue: int)

### Parametri:

returnvalue: vrednost, podana izvajani metodi Execute().

### Primer:

##### V Basicu

          Sub OnEvent(poEvent As com.sun.star.lang.EventObject)
              Dim oDlg As Object
              Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
              oDlg.EndExecute(ReturnValue := 25)
          End Sub

##### V Pythonu

         from com.sun.star.lang import EventObject
         def on_event(event: EventObject):
             dlg = CreateScriptService("SFDialogs.DialogEvent", event)
             dlg.EndExecute(25)

Zgornje omembe com.sun.star.lang.EventObject so neobvezne. Takšni zaznamki so v pomoč pri identificiranju API-ja LibreOffice.

## Execute

Prikaže pogovorno okno in, če je podrejeno oz. modalno, počaka na njegovo zaprtje na strani uporabnika. Vrnjena vrednost je lahko le:

- 0: pritisnjen gumb Prekliči

- 1: pritisnjen gumb V redu

- Sicer se je pogovorno okno ustavilo z ukazom EndExecute(), ki ga je izdalo pogovorno okno ali dogodek kontrolnika.

Za ne modalna pogovorna okna metoda vedno vrne 0, izvajanje makra pa se nadaljuje.

### Skladnja:

svc.Execute(modal: bool = True): int

### Parametri:

modal: False, če gre za glavno oz. ne-modalno okno. Privzeto = True.

### Primer:

Ta primer PogovornoOkno1 v Basicu je shranjen v knjižnici Standardno trenutnega dokumenta.

          Dim oDlg As Object, lReturn As Long
          Set oDlg = CreateScriptService("SFDialogs.Dialog", , , "myDialog")
          lReturn = oDlg.Execute(Modal := False)
          Select Case lReturn
              ' ...
          End Select

Ta koda Python prikaže modalno pogovorno okno DlgConvert iz knjižnice Basic Euro, ki je v skupni rabi.

         dlg = CreateScriptService("SFDialogs.Dialog", 'GlobalScope', 'Euro', "DlgConvert")
         rc = dlg.Execute()
         if rc == dlg.CANCELBUTTON:
             # ...

## GetTextsFromL10N

Zamenja vse nespremenljive nize besedila v pogovornem oknu z njihovimi prevedenimi različicami glede na instanco storitve L10N. Ta metoda prevede naslednje nize:

- Naziv pogovornega okna.

- Napisi iz naslednjih vrst kontrolnikov: gumb (Buttin), potrditveno polje (CheckBox), fiksna vrstica (FixedLine), skupinsko polje (GroupBox) in izbirni gumb (RadioButtin).

- Nespremenljivi nizi v seznamskih poljih in kombiniranih poljih.

- Namig oz. besedilo pomoči, ki se prikazuje, če se z miško ustavite nad kontrolnikom.

Ta metoda vrne True, če uspe.

Če želite ustvariti seznam nizov, ki jih je mogoče v pogovornem oknu prevesti, uporabite metodo AddTextsFromDialog iz storitev L10N.

### Skladnja:

svc.GetTextsFromL10N(l10n: svc): bool

### Parametri:

l10n: instanca storitve L10N, iz katere bodo pridobljeni prevedeni nizi.

### Primer:

Naslednji primer naloži prevedene nize in jih uporabi v pogovornem oknu »MyDialog«.

##### V Basicu

         oDlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
         myPO = CreateScriptService("L10N", "/home/user/po_files/")
         oDlg.GetTextsFromL10N(myPO)
         oDlg.Execute()

##### V Pythonu

         dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
         myPO = CreateScriptService("L10N", "/home/user/po_files/")
         dlg.GetTextsFromL10N(myPO)
         dlg.Execute()

Preverite stran pomoči storitve L10N, da izveste več o ravnanju z datotekami PO in POT.

## ImportControl

Uvozi in podvoji obstoječi kontrolnik poljubne vrste iz enega pogovornega okna v dejanskem pogovornem oknu. Podvojeni kontrolnik ostane nespremenjen. Novi kontrolnik je moč preimenovati in premestiti. Če so prisotni, lahko uvozite tudi krmilnike dogodkov.

### Skladnja:

svc.ImportControl(SourceDialog: svc, SourceName: str, opt ControlName: str, Page: num = 0, OffsetX: num = 0, OffsetY:num = 0, IncludeOnProperties: bool = False): svc

### Parametri:

SourceDialog: instanca predmeta razreda SFDialogs.Dialog.

SourceName: ime kontrolnika, ki naj se uvozi.

ControlName: ime novega kontrolnika. Ne sme še obstajati. Privzeta vrednost je SourceName.

Page: število strani novega kontrolnika. Privzeta vrednost je 0.

OffsetX, OffsetY: število slikovnih točk, ki jih želite dodati koordinatam izvornega kontrolnika v enotah »Map AppFont«. Privzeta vrednost je 0, lahko je tudi negativna.

IncludeOnProperties: vključi lastnosti dogodka On.... Privzeta vrednost je False.

### Vrnjena vrsta:

Instanca storitve SFDialogs.DialogControl ali Nothing.

### Primer:

##### V Basicu

         Set mCtrl = oDlg.ImportControl(srceDlg, "someCtrlName")

##### V Pythonu

         dlg.ImportControl(srceDlg, 'aCtrlName', includeOnProperties=true)

## OrderTabs

Določite indeks tabulatorke za niz kontrolnikov. Zaporedje kontrolnikov je podano kot polje imen kontrolnikov od prvega do zadnjega.

Kontrolniki z indeksom >= 1 niso dostopni s tabulatorko, če:
- so izpuščeni iz danega seznama
- so vrste FixedLine, GroupBox ali ProgressBar
- če so onemogočeni.

### Skladnja:

svc.TabsList(TabsList: num, Start: num = 1, Increment: num = 1): bool

### Parametri:

TabsList: polje veljavnih imen kontrolnikov v zaporedju tabulatorke.

Start: indeks tabulatorke, dodeljen prvemu kontrolniku na seznamu. Privzeta vrednost je 1.

Increment: razlika med dvema zaporednima indeksoma tabulatorke (privzeta vrednost je 1).

### Vrnjena vrsta:

Vrne True, če uspe.

### Primer:

##### V Basicu

         oDlg.OrderTabs(Array("myListBox", "myTextField", "myNumericField"), Start := 10)

##### V Pythonu

         dlg.OrderTabs(('myListBox', 'myTextField', 'myNumericField'), Start = 10)

## Resize

Premakne levi vrhnji kot pogovornega okna na nove koordinate in/ali spremeni njegove mere. Vse razdalje so izražene v enotah AppFont. Metoda brez argumentov ponastavi začetne mere. Vrne True, če je sprememba velikosti uspela.

### Skladnja:

svc.Resize(opt Left: num, opt Top: num, opt Width: num, opt Height: num): bool

### Parametri:

Left: vodoravna razdalja do levega zgornjega kota.

Top: navpična razdalja do levega zgornjega kota.

Width: širina pravokotnika, ki vsebuje pogovorno okno.

Height: višina pravokotnika, ki vsebuje pogovorno okno.

Manjkajoči argumenti ostanejo nespremenjeni

### Primer:

##### V Basicu

         oDlg.Resize(1000, 2000, Height := 6000) ' Širina je nespremenjena

##### V Pythonu

         dlg.Resize(1000, 2000, Height = 6000) # Širina je nespremenjena

## SetPageManager

Določa, kateri kontrolniki v pogovornem oknu so odgovorni za preklapljanje med stranmi, zaradi česar je enostavneje upravljati lastnost Page pogovornega okna in njegovih kontrolnikov.

Pogovorna okna imajo lahko več strani in trenutno vidno stran določa lastnost pogovornega okna Page. Če ostane lastnost Page nespremenjena, je privzeta vidna stran enaka 0 (nič), kar pomeni, da nobena posamična stran ni določena in da so vsi vidni kontrolniki prikazani, ne glede na vrednost, nastavljeno z njihovo posamično lastnostjo Page.

Če je lastnost Page pogovornega okna spremenjena v neko drugo vrednost, ko so 1, 2, 3 itn., se prikažejo samo kontrolniki, katerih lastnost Page se ujema s trenutno stranjo pogovornega okna.

Z uporabo metode SetPageManager je možno določiti štiri vrste upraviteljev strani:

- Seznamsko polje ali kombinirano polje: v tem primeru vsak vnos v seznamskem oz. kombiniranem polju predstavlja eno stran. Prvi element se sklicuje na stran 1, drugi element na stran 2 itn.

- Skupina izbirnih gumbov: določa skupino izbirnih gumbov, ki nadzirajo, katera stran je vidna.

- Zaporedje gumbov: določa množico gumbov, vsak od njih ustreza drugi strani pogovornega okna. Uporabite jih lahko tudi za posnemanje vmesnika v zavihkih, tako da gumbe v pogovornem oknu postavite enega ob drugega.

- Gumbi Prejšnji/Naslednji: določa, kateri gumbi v pogovornem oknu bodo uporabljeni za krmarjenje na prejšnjo/naslednjo stran pogovornega okna.

Možno je uporabiti več kot en mehanizem upravljanja strani naenkrat.

To metodo naj bi klicali le enkrat pred klicem metode Execute. Nadaljnji klici so prezrti.

Ta metoda vrne True, če uspe.

### Skladnja:

svc.SetPageManager(pilotcontrols: str = "", tabcontrols: str = "", wizardcontrols: str = "", opt lastpage: int): bool

### Parametri:

pilotcontrols: z vejicami ločen seznam imen kontrolnikov ListBox (seznamsko polje), ComboBox (kombinirano polje) in RadioButton (izbirni gumb), ki bodo uporabljeni kot upravitelji strani. Za kontrolnike izbirnih gumbov RadioButton določite ime prvega kontrolnika v skupini, ki bo uporabljen.

tabcontrols: z vejico ločen seznam imen gumbov, ki bodo uporabljeni kot upravitelji strani. Mesto v zaporedju, v katerem so navedeni v tem argumentu, ustreza številki strani, s katero so povezani.

wizardcontrols: z vejicami ločen seznam z imeni dveh gumbov, ki bosta uporabljena kot gumba Prejšnji/Naslednji.

lastpage: številka nazadnje razpoložljive strani. To vrednost je priporočljivo navesti, če uporabljate upravitelja strani Prejšnji/Naslednji.

### Primer:

Zamislimo si pogovorno okno s tremi stranmi. Pogovorno okno ima kontrolnik seznamskega polja ListBox z imenom »aPageList«, ki bo uporabljen za nadzor vidne strani. Poleg tega sta še dva gumba z imenoma »btnPrevious« in »btnNext«, ki bosta v pogovornem oknu služila kot gumba Prejšnji/Naslednji.

##### V Basicu

        oDlg.SetPageManager(PilotControls := "aPageList", _
                               WizardControls := "btnPrevious,btnNext", _
                               LastPage := 3)
        oDlg.Execute()

##### V Pythonu

        dlg.SetPageManager(pilotcontrols="aPageList",
                           wizardcontrols="btnPrevious,btnNext",
                           lastpage=3)
        dlg.Execute()

## Terminate

Zaključi izvajanje storitve Dialog za trenutno instanco. Vrne True, če je končanje izvajanja uspelo.

### Skladnja:

svc.Terminate(): bool

### Primer:

Spodnja primera v Basicu in Pythonu odpreta ne modalni pogovorni okni DlgConsole in dlgTrace. Slednji sta shranjeni v knjižnicah skupne rabe, in sicer prvi v ScriptForge, drugi pa v Access2Base. Gumbi za zapiranje pogovornega okna so onemogočeni in izrecen zaključek se izvrši ob koncu procesa, ki je v teku.

V tem primeru gumb v DlgConsole nadomešča inhibirano zapiranje okna:

##### V Basicu

         oDlg = CreateScriptService("SFDialogs.Dialog","GlobalScope","ScriptForge","DlgConsole")
         oDlg.Execute(modal:=False)
         Wait 5000
         oDlg.Terminate()

##### V Pythonu

         from time import sleep
         dlg = CreateScriptService('SFDialogs.Dialog',"GlobalScope",'Access2Base',"dlgTrace")
         dlg.Execute(modal=False)
         sleep 5
         dlg.Terminate()

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Storitev SFDialogs.DialogControl

Storitev ScriptForge.UI