Rozdział ten opisuje jak wytwarzać oraz stosować okna modalne w systemie PROMOTIC.
Okno modalne to okno, które podczas otwarcia
wyłącza sterowanie resztą okien aplikacji a użytkownik może sterować tylko tym oknem. Po zamknięciu tego okna sterowanie zostanie zwolnione oknu, z którego zostało okno modalne otwarte.
Okno modalne zazwyczaj jest przeznaczone do wprowadzania (edycji) wartości. Użytkownik powinien wprowadzić dane oraz zamknąć okno a w trakcie wprowadzania nie powinien "opuścić tego okna".
W trakcie otwierania okna modalnego nie można sterować resztą aplikacji i dlatego jest konieczne z rozsądkiem stosować okna modalne tylko dla potrzeby szybkiego wprowadzania lub sterowania tak, żeby okno modalne nie musiało być długo otwarte.
Jak wytworzyć okno modalne
Zakładamy, że został wytworzony panel (obiekt
PmaPanel), który zawiera jeden obiekt edycji
PmgWCombo,
PmgWCheck oraz
PmgWEdit oraz posiada dwa przyciski sterowania
PmgButton (
OK oraz
Cofnij).
1)
W zdarzeniu onPanelStartEnd obiektu
PmgRoot można
odczytać właściwość Arguments oraz wyświetlić ją w
Pmg obiektach edycji:
2)
W zdarzeniu onButtonUp przycisku OK zamknąć okno z znacznikiem
ok.
3)
W zdarzeniu onButtonUp przycisku Cofnij zamknąć okno bez znaczniku.
4)
W zdarzeniu onPanelStopEnd obiektu
PmgRoot przy pomocy właściwości ReturnValue zostanie zwrotnie wysłana wartość odczytana z
Pmg obiektów edycji.
Jak otworzyć okno modalne a po jego zamknięciu opracować jego wartości
Zakładamy, że w panelu rodzica znajduje się przycisk (obiekt
PmgButton), który wywoła okno modalne. Poniżej zamieszczony przykład przedstawia w jaki sposób przekazać a następnie odczytać wartości z okna modalnego.
- do właściwości
Arguments zostanie ustawiona wartość wejściowa okna modalnego.
- do właściwości
onClose zostanie ustawiona nazwa funkcji, która zostanie wywołana podczas zamknięcia okna.
Następnie zostanie otwarte okno modalne. Po jego zamknięciu wartość zwrotna zostanie opracowana w funkcji "
onClose".
Skrypt w zdarzeniu
onButtonUp przycisku:
Notatka
Otwieranie okna modalnego przy pomocy metody
OpenViewModal jest przestarzałe oraz niepolecane. Wtedy okno jest w skrypcie wołane
synchronicznie i czeka na zamknięcie okna przez użytkownika.
Jeżeli okno jest udostępnione dla Webu, wtedy niektóre przeglądarki (
Chrome,
Opera) nie wspierają takiego rozwiązania.