posiadają przeglądarki swych zawartości. Rozdział ten opisuje w jaki sposób można w uruchomionej aplikacji (w runtime) te przeglądarki otworzyć.
Wyświetlenie przeglądarki dowolnego obiektu jest wykonywane jednolitym sposobem. Ogólnie
sOptions
(
String) Parametry przekazywane własnej przeglądarce. Określają gdzie i w jaki sposób przeglądarka ma zostać wyświetlona.
Dane są tutaj w formacie
KeyVal, na przykład
"target:_blank;modal:1;".
Dla przeglądarek obiektów
PmaPanel oraz
PmaReport: Statyczne wartości domyślne
sOptions można ustawić w konfiguratorze "
PmaPanel > Panel > Wartość domyślna sFramePars" lub w konfiguratorze "
PmaReport > Raport > Wartość domyślna sFramePars".
W tym przypadku dochodzi do skombinowania wpisów z wyjściowego statycznego ustawienia obiektu z wpisami przekazanymi dynamicznie.
Jeżeli ten sam wpis występuje w obu miejscach, wtedy pierwszeństwo otrzyma wpis przekazany dynamicznie, wprowadzony podczas otwarcia przeglądarki.
target:xx; - Określa, w której ramce zostanie przeglądarka otwarta.
Jeżeli nie jest ustawione, wtedy zostanie ustawione następująco:
- jeżeli okno otwiera się jako modalne (jest ustawione "modal:1;"), wtedy zostanie ustawione na "_blank".
- jeżeli jest otwierane z obiektu
PmaPanel, wtedy zostanie ustawione na
"_self".
- jeżeli jest otwierane z obiektu
PmgFrame, wtedy przeglądarka zostanie wyświetlona w obiekcie
PmgFrame).
frameid - Nowa przeglądarka zostanie otwarta
w obiekcie PmaWorkspace w ramce o identyfikatorze
frameid.
_blank - Nowa przeglądarka zostanie otwarta w nowym oknie.
_blank.blankid - Identyfikator samodzielnego lub okna modalnego.
Jeżeli okno o identyfikatorze
blankid już istnieje, wtedy nowa przeglądarka zostanie otwarta
w istniejącym oknie, w innym przypadku zostanie otwarta
w nowym oknie.
Znaczenie identyfikatora:
- Zapobiega otwarciu dużej ilości okien z tym samym identyfikatorem.
- Umożliwia odniesienie się do tego okna, na przykład:
- metoda
Pm.WndOper(0, "_blank.xy", 10) zamyka okno o identyfikatorze
xy.
Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), spacje oraz pierwszy znak nie może być liczba.
_self - Nowa przeglądarka zostanie otwarta w bieżącym oknie (w ramce) i przeglądarka, nad którą została metoda wywołana, zostanie zamknięta.
scrollbar:nn; - Określa, czy okno będzie wyświetlone z paskami przewijania i umożliwia w ten sposób przesuwanie zawartości, jeżeli rozmiar panela jest większe niż rozmiar okna, w którym panel jest wyświetlany.
0 - Paski przewijania nie zostaną nigdy wyświetlone a okno nie umożliwi przesuwanie panela.
Takie ustawienie jest dogodne na przykład dla okna rodzaju "paska narzędziowego", kiedy okno powinno być wąskie a paski przewijania byłyby zbędne.
1 (domyślnie) - Okno wyświetli paski przewijania i umożliwia przesunięcie panela, jeżeli rozmiar panela jest większe niż rozmiar okna, w którym panel jest wyświetlony.
refresh:xx; - Tylko do otwarcia przeglądarki obiektu
PmaPanel. Określa, czy panel będzie odświeżany automatycznie według globalnie ustawionego periodu systemowego lub czy będzie mieć własne odświeżanie. Na razie nie działa podczas otwarcia
Web panelu.
0 - Panel będzie posiadać
własne odświeżanie, tzn. będzie wywoływana metoda
PmaPanel.Refresh.
Następujące wpisy są istotne tylko
podczas otwarcia w nowym oknie (tzn. z ustawieniem
"target:_blank;"):
modal:nn; - Określa, czy okno będzie modalne.
0 (domyślnie) - Okno nie będzie modalne.
1 - Okno będzie modalne.
dependent:nn; - Określa, czy okno będzie zależne od głównego okna aplikacji.
0 - Okno będzie niezależne od głównego okna aplikacji.
1 (domyślnie) - Okno będzie zależne od głównego okna aplikacji i będzie zawsze ponad aplikacją.
caption:nn; - Określa, czy okno będzie posiadać nagłówka okna (tzn. niebieski pasek u góry).
0 - Okno będzie
bez nagłówka. Na razie nie działa podczas otwarcia
Web panelu.
1 (domyślnie) - Okno będzie posiadać nagłówek.
ontop:nn; - Określa, czy okno będzie "Zawsze na wierzchu".
0 (domyślnie) - Okno nie będzie "Zawsze na wierzchu".
1 - Okno
będzie "Zawsze na wierzchu". Na razie nie działa podczas otwarcia
Web panelu.
state:xx; - Określa stan początkowy okna.
normal (domyślnie) - Okno będzie wyświetlone normalnie (nie będzie ani zminimalizowane ani zmaksymalizowane).
max - Okno będzie wyświetlone w
zmaksymalizowanej postaci. Na razie nie działa podczas otwarcia
Web panelu.
pos:xx; - Określa początkową pozycję okna w stanie normalnym.
Pozycja ta jest tylko sugerowana. Jeżeli rozmiar okna nie zmieści się w ekranie, wtedy pozycja ta zostanie przesunięta tak, żeby była widoczna jak największa część tego okna.
top,center (domyślnie) - Okno będzie wyświetlone w środku aktywnego okna aplikacji (obszaru roboczego).
top,x,y - Okno będzie mieć lewy górny róg na współrzędnych x oraz y (w pikselach) względem do aktywnego okna aplikacji (obszaru roboczego).
frame,center - Okno będzie wyświetlone na środku okna, z którego jest otwierane.
view,x,y - Okno będzie mieć
lewy górny róg na współrzędnych x oraz y (w pikselach) względem do
zawartości okna, z którego jest nowe okno otwierane.
Pozycja jest określana względem do zawartości okna (
view) a nie względem samego okna (
frame). W takim przypadku na przykład nowe okno można zamieścić obok
Pmg obiektu, z którego okno zostało otwarte. Patrz
Przykład do otwarcia panela z jego położeniem względem Pmg obiektu.
screen,x,y - Okno będzie mieć
lewy górny róg na współrzędnych x oraz y (w pikselach) w absolutnym systemie współrzędnych
Windows. Opcja ta nie działa w Webie. Służy do zamieszczenia głównych okien aplikacji (
PmaWorkspace lub
PmaPanel) na poszczególne monitory. Następne okna aplikacji są zazwyczaj zamieszczane względnie wobec tych okien głównych.
size:xx; - Określa początkową rozmiar okna w stanie normalnym.
content (domyślnie) - Okno zostanie dopasowane wielkością do całego otwartego panela. (tzn. by nie pojawiły się paski przewijania).
Szerokość oraz wysokość panela określa się
w edytorze grafiki w obiekcie
PmgRoot w karcie "
Panel".
To samo znaczenie co wartość
content ma przestarzała (ale funkcjonalna) wartość
panel.
dx,dy - Okno będzie mieć rozmiar według wprowadzonych wartości dx oraz dy (w pikselach). Wartości te określają zewnętrzny rozmiar okna (tzn. włącznie ramki oraz nagłówka okna).
fixed:xx,yy,..; - Umożliwia zakazanie zmiany stanu, pozycji lub rozmiaru panela. Ma wygląd listy poszczególnych zakazów oddzielonych "przecinek" (
,). Na razie nie działa podczas otwarcia
Web panelu. Domyślną wartością jest: Wszystko jest zezwolone.
state - Wyłącza zmianę stanu okna (normalne / maksymalizowane / minimalizowane).
pos - Wyłącza zmianę pozycji okna w stanie normalnym.
size - Wyłącza zmianę gtwndSize w stanie normalnym.
size2 - Ogranicza zmianę rozmiaru okna w stanie normalnym - okno nie może być większe niż własna wielkość panela.
sParams
(
String) Dane przekazywane obiektowi, który zostanie wyświetlony przez przeglądarkę.
Dane są tutaj w formacie
KeyVal, na przykład
"nazwa1:wartość1;nazwa2:wartość2;".
Dane te zazwyczaj określają lub filtrują właściwą zawartość wyświetlanego obiektu i są zależne od typu otwieranego obiektu.
PmaPanel: Umożliwia ustawić wartość
parametrów obiektu
PmgRoot.
Parametr ten jest potem dostępny w konfiguratorach panela przy pomocy
Makro wyrażenie $.par oraz w skrypcie przy pomocy metody
GetPar.
Każdy poszczególny parametr jest tworzony identyfikatorem (nazwa) i wartością.
Składnia:
"pars:{name1:value1;name2:value2; ...}".
Patrz również:
Parametry Pmg obiektu.
Statyczne wartości domyślne parametrów
sParams można ustawić w konfiguratorze "
PmaPanel > Panel > Wartość domyślna sViewPars". W tym przypadku dochodzi do skombinowania wpisów z wyjściowego statycznego ustawienia obiektu z wpisami przekazanymi dynamicznie.
Jeżeli ten sam wpis występuje w obu miejscach, wtedy pierwszeństwo otrzyma wpis przekazany dynamicznie, wprowadzony podczas otwarcia przeglądarki.
PmaReport: Umożliwia ustawić wartość parametrów raportu. Parametry te są wtedy dostępne w parametrze
pEvent.Pars zdarzenia
onReportRequest.
Każdy poszczególny parametr jest worzony identyfikatorem i wartością.
Składnia:
"pars:{name1:value1;name2:value2; ...}".
Statyczne wartości domyślne parametrów
sViewPars można ustawić w konfiguratorze "
PmaReport > Raport > Wartość domyślna sViewPars". W tym przypadku dochodzi do skombinowania wpisów z wyjściowego statycznego ustawienia obiektu z wpisami przekazanymi dynamicznie. Jeżeli ten sam wpis występuje w obu miejscach, wtedy pierwszeństwo otrzyma wpis przekazany dynamicznie, wprowadzony podczas otwarcia przeglądarki.
PmaWebDir:
"file:xx;" = Plik z rozszerzeniem (np.
file:MyPage.htm), który ma zostać wyświetlony. Plik ten musi się znajdować w folderze, który jest oferowany do Webu przez obiekt
PmaWebDir (patrz konfigurator "
Folder z plikami").
Jeżeli plik znajduje się w podfolderu, wtedy parametr
file musi zostać wprowadzony w formie "podfolder/plik".
Jeżeli parametr
file nie jest przedstawiony, wtedy zostanie otwarty plik
default.htm i jeżeli taki plik w tym miejscu nie istnieje, wtedy zostanie otwarta dynamicznie wytworzona strona HTML z listą plików.
"/#glob/webbrowser": Umożliwia ustawić adresu strony HTML, która ma zostać wyświetlona. Składnia: "url:https://www.promotic.eu;".
Adres trzeba wprowadzać w pełnej formie włącznie z określeniem protokołu: (http://, https:// lub file://).
"/#glob/form": Nie jest stosowany.
"/#glob/infosystem": Nie jest stosowany.
oExtra
(
Object) Dodatkowe zachowania dla przeglądarki. Dane są tutaj określane wytwarzaniem właściwości w obiekcie
PmMap (w odróżnieniu od poprzednich parametrów
sOptions oraz
sParams gdzie dane należy określić tekstowo) - w taki sposób można przekazywać ogólniejsze wartości aniżeli tylko tekstowe.
Obiekt jest wytworzony przy pomocy metody
Pm.CreatePmMap.
Przykład wytworzenia, załadowania oraz korzystania obiektu
oExtra:
Lista właściwości, które można wytworzyć w obiekcie:
oExtra.Arguments (opcjonalne) - (
Variant) Wartość przekazywana otwieranej przeglądarce. Wartość ta jest następnie dostępna:
- w zdarzeniu oExtra.onOpen (patrz dalej).
Wartość ta może być prosta (
Integer,
String, ...), tablica lub obiekt typu
PmArray lub
PmMap (przekazywanie iinych typów obiektów nie jest zalecane).
Określenie tej wartości jest często ważnym na przykład podczas otwarcia okna modalnego, które jest przeznaczone do edycji danych.
Wtedy właściwość
Arguments jest początkową wartością inicjalizacji (właściwość
ReturnValue jako wyjściowa opracowana wartość) - patrz
Jak pracować z oknami modalnymi.
oExtra.onClose (opcjonalne) - (obiekt typu
PmAction) Tutaj jest określana metoda projektanta,
która zostanie wywołana po zamknięciu panela.
Obiekt dla tej właściwości jest wytworzony przy pomocy metody
Pm.CreatePmAction.
Ta metoda projektanta musi posiadać dwa parametry:
-
oSystem: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia system według tego skąd dana akcja jest wołana. W tym przypadku system ustawia właściwości:
-
oSystem.CloseReason: (
String) Identyfikator typu zamknięcia okna.
- Podczas przeglądania obiektu
PmaPanel określany jest podczas zamykania panela przy pomocy metody
PmgRoot.Close(sReason).
- Podczas przeglądania obiektu
PmForm wartość identyfikatora jest zależna od tego, jakim przyciskiem przeglądarka została zakończona. Patrz
PmForm.SysButtons oraz
PmForm.Close.
- Podczas przeglądania innych obiektów właściwość ta nie jest ustawiana.
-
oSystem.ReturnValue: (
Variant) Wartość wyjściowa przeglądarki.
- Podczas przeglądania innych obiektów właściwość ta nie jest ustawiana.
-
oSystem.ViewObject: (
Object) Przeglądany obiekt
PmForm.
- Podczas przeglądania innych obiektów właściwość ta nie jest ustawiana.
-
oPrivate: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia projektant w obiekcie
PmAction.PrivateData. Projektant w tym obiekcie niemusi ustawić żadnych właściwości. Ustawieniem dowolnej właściwości można osiągnąć na przykład to, iż jedna metoda projektanta może zostać wykorzystana do wielu celów i tylko na podstawie wartości właściwości w
PrivateData można w tej metodzie stwierdzić, z którego miejsca została wywołana.
oExtra.onOpen (opcjonalne) - (obiekt typu
PmAction) Tu jest określana metoda projektanta,
która zostanie wywołana po otwarciu panela. (tzn. jeżeli panel został rzeczywiście wyświetlony i zostały w nim wytworzone wszystkie obiekty graficzne).
Obiekt dla tej właściwości jest wytworzony przy pomocy metody
Pm.CreatePmAction.
Ta metoda projektanta musi posiadać dwa parametry:
-
oSystem: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia system według tego skąd dana akcja jest wołana. W tym przypadku system ustawia właściwości:
- oSystem.Arguments: (Variant) Wartość wejściowa przeglądarki, którą podczas otwarcia metodą OpenView można wprowadzić w pozycji oExtra.Arguments.
-
oSystem.ViewObject: (
Object) Przeglądany obiekt
PmForm. Podczas przeglądania innych obiektów właściwość ta nie jest ustawiana.
-
oPrivate: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia projektant w obiekcie
PmAction.PrivateData. Projektant w tym obiekcie niemusi ustawić żadnych właściwości. Ustawieniem dowolnej właściwości można osiągnąć na przykład to, iż jedna metoda projektanta może zostać wykorzystana do wielu celów i tylko na podstawie wartości właściwości w
PrivateData można w tej metodzie stwierdzić, z którego miejsca została wywołana.
oExtra.onChange (opcjonalne) - (obiekt typu
PmAction) Tutaj jest określana metoda projektanta,
która zostanie wywołana, jeżeli w wyświetlonym obiekcie zostanie zmieniona dowolna pozycja.
Obiekt dla tej właściwości jest wytworzony przy pomocy metody
Pm.CreatePmAction.
To działa
tylko jeżeli wyświetlany obiekt to PmForm
Ta metoda projektanta musi posiadać dwa parametry:
-
oSystem: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia system według tego skąd dana akcja jest wołana. W tym przypadku system ustawia właściwości:
-
oSystem.ViewObject: (
Object) Przeglądany obiekt
PmForm.
-
oSystem.ItemId: (
String) Typ
Pmf obiektu (określa się podczas wytwarzania obiektu przy pomocy metody
PmForm.CreateItem).
-
oSystem.ChangeType: (
String) Identyfikator typu zmiany:
- "value": Została zmieniona wartość dowolnego obiektu.
-
"push": Niektóra pozycja została naciśnięta. Działa tylko dla obiektu
PmfButton.
- oSystem.NewValue: (Variant) Wartość pozycji po zmianie. Właściwość ta jest ustawiona tylko jeżeli ChangeType="value".
- oSystem.OldValue: (Variant) Wartość pozycji przed zmianą. Właściwość ta jest ustawiona tylko jeżeli ChangeType="value".
-
oPrivate: Obiekt typu
PmMap. Właściwości tego obiektu
ustawia projektant w obiekcie
PmAction.PrivateData. Projektant w tym obiekcie niemusi ustawić żadnych właściwości. Ustawieniem dowolnej właściwości można osiągnąć na przykład to, iż jedna metoda projektanta może zostać wykorzystana do wielu celów i tylko na podstawie wartości właściwości w
PrivateData można w tej metodzie stwierdzić, z którego miejsca została wywołana.