Przeznaczenie
Akcja służy od otwierania predefiniowanych okien synoptycznych lub do wymiany diagramów wyświetlanych w panelach okna. Jest to podstawowa akcja służącą do stworzenia schematu nawigacji w aplikacji.
Składnia
OpenWindow (nazwa_okna, nazwa_panelu, nazwa_diagramu, parametry, nowe_okno, współrzędna_X, współrzędna_Y, tryb_wymiany)
OpenWindow (nazwa_okna, nazwa_panelu, nazwa_diagramu, parametry, nowe_okno)
OpenWindow (nazwa_okna, nazwa_panelu, nazwa_diagramu, parametry)
Parametry
nazwa_okna
Nazwa okna, którego akcja dotyczy. Może być pusta, a wtedy okno będące obiektem akcji ustalane jest na podstawie kontekstu użycia. Szczegóły użycia w sekcji Algorytm.
nazwa_panelu
Nazwa panelu, w którym diagram ma zostać otwarty. Może być pusta, a wtedy panel będący obiektem akcji ustalany jest na podstawie kontekstu użycia. Szczegóły użycia w sekcji Algorytm.
nazwa_diagramu
Nazwa diagramu, którego akcja dotyczy. Może być pusta, a wtedy akcja powoduje jedynie otwarcie okna bez zmiany diagramu lub z otwarciem domyślnych diagramów paneli. Szczegóły użycia w sekcji Algorytm.
parametry
Parametr służy do przekazania do otwieranego diagramu wartości jego parametrów. Zestaw dozwolonych parametrów zależy od definicji diagramu. Parametry są podawane jako sekwencja par nazwa_parametru=wartość_parametru rozdzielonych znakiem średnika, np.
Kolor=Red;Zmienna=v1
Jeżeli w oknie będącym obiektem akcji jest używane menu, to parametry akcji są także przekazywane do tego menu.
nowe_okno
Parametr typu logicznego true/false, który określa, czy należy utworzyć nowe okno. Szczegóły użycia w sekcji Algorytm.
współrzędna_X
Parametr określa współrzędną X otwieranego okna (lewego górnego narożnika). Parametr może być bezpośrednią współrzędną liczbową lub jedną z poniższych stałych:
$Default - współrzędna X wynika z definicji okna lub (dla okna już otwartego) jest to bieżąca pozycja. Jest to wartość domyślna w przypadku użycia wariantu akcji bez parametru współrzędna_X.
$CursorLocation - współrzędną X określa aktualne położenie kursora myszki. Współrzędna może zostać zmodyfikowana, aby zapobiec częściowemu wyjściu otwieranego okna poza obszar monitora.
$ActiveLocation - współrzędna X otwieranego okna jest identyczna jak współrzędna X okna, które było aktywne w momencie wykonania akcji.
współrzędna_Y
Parametr określa współrzędną Y otwieranego okna (lewego górnego narożnika). Zasady podawania parametru są identyczne jak dla parametru współrzędna_X.
tryb_wymiany
Parametr określa dodatkowe akcje, które są podejmowane po otwarciu okna. Możliwe wartości to jedna z poniższych stałych:
$None - żadne dodatkowe operacje nie są wykonywane (wartość domyślna).
$Closable - zamknięte zostaną wszystkie otwarte okna, które nie posiadają blokady zamykania i znajdują się na monitorze otwieranego okna.
$ExceptCurrent - zamknięte zostaną wszystkie otwarte okna, które nie posiadają blokady zamykania i znajdują się na monitorze otwieranego okna za wyjątkiem okna aktywnego w momencie wykonania akcji.
$CurrentOnly - zamknięte zostanie tylko okno aktywne w momencie wykonania akcji.
$ReplaceCurrent - zamknięte zostanie okno aktywne w momencie wykonania akcji. Współrzędne i rozmiar okna otwieranego zostaną ustawione identycznie jak dla okna zamykanego (parametry współrzędna_X i współrzędna_Y są ignorowane). Jeżeli dotyczy głównego okna wewnątrz przeglądarki internetowej, to pozwala zamienić to okno na inne.
Algorytm
Jeżeli nazwa diagramu nie jest podana:
Jeżeli nazwa okna też nie została podana, to obiektem akcji jest okno wynikające z kontekstu użycia lub okno bieżące.
Jeżeli nazwa okna nie została podana, ale została podana nazwa panelu, a kontekst wywołania nie jest znany (np. wywołanie ze skrótu klawiszowego) to: jeżeli panel nie jest częścią okna bieżącego(aktywnego), to jest wyszukiwany we wszystkich otwartych oknach (pierwszeństwo mają okna na ekranie, na którym jest kursor myszki).
Jeżeli nazwa okna została podana i parametr nowe_okno jest równy true, to otwierane jest nowe okno o podanej nazwie z domyślnymi diagramami.
Jeżeli nazwa okna została podana i parametr nowe_okno jest równy false, to wyszukiwane jest wśród otwartych okien okno o podanej nazwie (zaczynając od okna aktywnego). Jeżeli takie okno zostanie znalezione, to jest ono obiektem akcji. Jeżeli nie, to otwierane jest nowe okno o podanej nazwie z domyślnymi diagramami.
Jeżeli nazwa diagramu została podana:
Jeżeli nazwa okna nie została podana, to w oknie kontekstowym (wynikającym z miejsca użycia akcji OpenWindow) i w podanym panelu (lub w panelu kontekstowym) otwierany jest podany diagram.
Jeżeli nazwa okna została podana, to sprawdzane jest, czy wśród otwartych okien o podanej nazwie istnieje okno, które ma już otwarty diagram określony w wywołaniu akcji wraz z identycznym zestawem parametrów (w kolejności wyszukiwania: okno kontekstowe, okno bieżące, pozostałe okna). Jeżeli takie okno zostanie znalezione, to zostanie ono oknem aktywnym.
Jeżeli w poprzednim punkcie właściwego okna nie znaleziono, a parametr nowe_okno jest równy false, to wyszukiwane jest wśród otwartych okien okno o podanej nazwie (w kolejności: okno kontekstowe, okno bieżące, pozostałe okna). Jeżeli takie okno zostanie znalezione, to w panelu podanym w treści akcji otwierany jest podany diagram. Jeżeli okna nie znaleziono lub parametr nowe_okno jest równy true, to otwierane jest nowe okno o podanej nazwie. W panelu podanym w treści akcji otwierany jest podany diagram, a w pozostałych panelach otwierane są diagramy domyślne.
W każdym przypadku, jeżeli udało się określić okno będące obiektem akcji, to okno to staje się oknem aktywnym, wykonywana jest w razie konieczności odpowiednia korekta pozycji okna i zamykane są okna wynikające z parametru tryb_wymiany.
Przykłady
OpenWindow ( start, schemat, silnik, zmienna=s1)
Jeżeli okno o nazwie start jest już otwarte, to w panelu schemat zostanie otwarty diagram silnik z parametrami zmienna=s1. Jeżeli taki diagram z identycznymi parametrami był już otwarty, to nastąpi jedynie aktywizacja okna.
Jeżeli okno o nazwie start nie jest jeszcze otwarte, to zostanie teraz otworzone. W panelu schemat zostanie otwarty diagram silnik z parametrami zmienna=s1. W pozostałych panelach zostaną otwarte diagramy domyślne.
OpenWindow ( null, schemat, silnik, zmienna=s1, false, $Default, $Default, $Closable)
W oknie kontekstowym, w panelu schemat zostanie otwarty diagram silnik z parametrami zmienna=s1. Pozycja okna nie zostanie zmieniona. Dodatkowo zostaną zamknięte wszystkie okna bez blokady zamknięcia.
Zobacz też
- akcja OpenDiagram, akcja CloseWindow, akcja MinimizeWindow
- AsixEvo_Techniki_budowy_diagramów > 5. Zasady otwierania i zamykania okien synoptycznych