W sytuacji, gdy jest konieczne uzyskanie dodatkowych informacji od użytkownika skryptu, można posłużyć się klasą InputDialog języka Java.
Aby móc korzystać z klasy InputDialog, należy załączyć bibliotekę InputDialog języka Java z biz.sc.gornik.script.
Obiekt InputDialog jest tworzony w zwykły sposób. Parametrem dla konstruktora jest nazwa okna dialogowego.
Obiekt InputDialog ma następujące metody:
add(text, default, type, required)
Dodaje element do wprowadzania danych do okna dialogowego. Elementy są indeksowane od 0. Tylko pierwszy argument jest obowiązkowy.
text - tekst, który będzie wyświetlony po lewej stronie elementu.
default - wartość domyślna wyświetlana w elemencie; może to być liczba, tekst lub lista. W ostatnim przypadku użytkownik będzie miał możliwość wyboru elementu z listy jak i wprowadzenia własnych danych.
type - określa typ zwracanej zmiennej:
InputDialog.STRING - literał łańcuchowy (default).
InputDialog.INT - liczba całkowita.
InputDialog.FLOAT - liczba zmiennoprzecinkowa.
InputDialog.BOOL - wyświetlane jest pole do zaznaczenia i zwracana jest wartość 0 (brak zaznaczenia) lub 1 (pole zaznaczone).
InputDialog.PATH - pozwala na wybranie ścieżki do pliku lub katalogu i zwraca literał łańcuchowy zawierający tą ścieżkę.
java.lang.System.getProperty('user.home')jako drugi argument funkcji add.
required - jeśli 1, użytkownik musi wprowadzić dane do tego pola. Domyślna wartość 0 oznacza, że pole może pozostać nie wypełnione.
get(index)
or
get(text)
Zwraca wartość wprowadzoną przez użytkownika do pola o nazwie text lub indeksie index.
setDescription(description)
Wyświetla podany tekst description jako opis okna dialogowego.
showDialog()
Wyświetla okno dialogowe na ekranie, dając użytkownikowi możliwość wprowadzenia danych.
wasCanceled()
Zwraca 1 jeżeli użytkownik zamknął okno dialogowe klikając przycisk
i 0 jeżeli kliknął przycisk .Przykład 2.33. Proste okno dialogowe
from biz.sc.gornik.script import InputDialog i = InputDialog('Example input dialog', 0) i.setDescription('This is a simple input dialog') i.add('Text input:', 'Default text', 1) #input in this field is mandatory i.add('Combo box:', [1.0, 1.2, 1.4, 1.6], InputDialog.FLOAT) i.showDialog() if not i.wasCanceled(): print i.get(0), i.get('Combo box:') else: print 'Script aborted'
Przykładowy rezultat:
Default text 1.4
Przykład 2.34. Okno dialogowe z polem do zaznaczenia i wyborem ścieżki
from biz.sc.gornik.script import InputDialog i = InputDialog('Example input dialog', 0) i.setDescription('Select the check-box and enter path ...') i.add('Check box:', 0, InputDialog.BOOL) i.add('Directory:', java.lang.System.getProperty('user.home'), InputDialog.PATH) i.showDialog() if not i.wasCanceled(): print i.get(0) print i.get(1) else: print 'Script aborted'
Przykładowy rezultat:
1 C:\Program Files\AdvancedMiner