Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Parametry elementu graficznego

Parametry elementu graficznego są stałymi tekstowymi (wytworzonymi przez projektanta), które można wytworzyć w dowolnym elemencie graficznym.

Parametry elementu graficznego są bardzo podobne do parametrów PROMOTIC obiektu.

Jeżeli element posiada parametry oraz jeżeli w edytorze paneli znajduje się kursor muszki nad tym elementem, wtedy te parametry z wartościami wyświetlają siś w pasku stanu.

 
Parametr posiada swoją nazwę i wartość:
Nazwa parametru jest nazwą systemową (bez znaków diakrytycznych, bez spacji, jako pierwszy znak musi być litera).
Wartość parametru jest dowolny łańcuch tekstowy. Do wprowadzenia można wykorzystać Makro wyrażenie (wartość jest obliczana podczas otwierania okna).
 
Wytworzenie parametru:
- Parametry elementu graficznego PmiRoot definiują się w konfiguratorze PmiRoot > Panel > Parametry elementu.
- Parametry dla reszty elementów definiowane są w konfiguratorze PmiItem > Obiekt > Parametry elementu.
 
Odczyt oraz zastosowanie parametru:

Parametr można odczytywać:

- w skrypcie przy pomocy metody GetPar.
- w konfiguratorach przy pomocy makro wyrażenia $.par (np. przy definicji powiązań z danymi).

Oby dwa zastosowania odczytują parametr sposobem kaskadowym, tzn. jeżeli element, w którym makro/metoda jest zastosowana nie posiada takiego parametru, wtedy parametr jest wyszukiwany w jego rodzicu (w elemencie, do którego jest zagnieżdżony) aż w końcu jest wyszukiwany w elemencie PmiRoot.

Parametr jest stosowany zwłaszcza podczas kofniguracji powiązań z danymi elementów graficznych. W tym przypadku element graficzny (prosty lub złożony) może mieć zdefiniowaną większą ilość powiązań z danymi tak, że przez konfiguracyjną zmianę wartości parametru zmienią się również odniesienia do wartości w powiązaniach z danymi. Inne wykorzystanie parametru spoczywa w parametryzacji tekstów w elementach PmiText, PmiButton, itd.

 
Zmiana wartości parametru:
- Podczas działania aplikacji (w trybie runtime) ogólnie nie można zmieniać wartości parametru elementu graficznego - jest stałą.

Wyjątkiem są parametry elementu graficznego PmiRoot. Parametry te (w odróżnieniu od parametrów w innych elementach graficznych) można zmieniać podczas otwierania panela. Następnie przez cały czas otwarcia są parametry te bez możliwości zmiany. Wartość parametrów podczas otwierania panela można wprowadzić na dwa sposoby:

- wołaniem metody OpenView w parametrze sParams lub
Przykład: Panel można otworzyć po raz pierwszy z wartością 1, po raz drugi z wartością 2 - i w ten sposób po pierwsze wyświetlić panel dla "Kotlownia1" oraz po drugie dla "Kotlownia2".

- W środowisku deweloperskim naturalnie można wartości wszystkich elementów graficznych zmieniać (można również dodawać lub odejmować parametry).

Główne znaczenie parametru elementu jest w wytworzeniu interfejsu elementu, kiedy przy skopiowaniu takiego elementu można w prosty sposób zmienić jego parametry tak, że na przykład nie wyświetla danych "Kociol1" lecz dane "Kociol2". Tak więc parametr elementu ułatwia wytwarzanie często stosowanych elementów graficznych użytkownika w edytorze paneli.


Przykład parametryzacji textu:

W elemencie graficznym PmiText załóż parameter o nazwie na przykład NumerKotla, wartość ustaw na 1. W tym elemencie graficznym wypełnij konfigurator Tekst:

$.join("Temperatura w kotle", $.par("NumerKotla"))

Wynikiem jest wyświetlenie tekstu: Temperatura w kotle 1


Przykład parametryzacji powiązania z danymi:

Miejmy w aplikacji dane: "/Kociol1/Data" i "/Kociol2/Data" tego samego typu PmData. We obu obiektach jest zdefiniowana zmienna "Temperatura. Następnie w panelu /PanelKotla znajdują się dwa elementy do wyświetlania obu temperatur. Jeżeli w przyszłości przybędzie następny obiekt, np. Kociol3, to żeby przez proste skopiowanie istniejącego elementu powstał nowy element wyświetlający temperaturę nowo dodanego obiektu.

Rozwiązanie:

- W elementu graficznym typu PmiText (wyświetlającym wartość temperatury) wytwórz parameter o nazwie na przykład NumerKotla, wartość ustaw na 1.
- W konfiguratorze Tekst owego elementu załóż powiązanie z danymi PP - Powiązanie z właściwością PROMOTIC obiektu. W poaiązaniu z danymi wpisz w:
- Konfigurator Obiekt następujący tekst:

$.join("/Kociol", $.par("NumerKotla"), "/Data/#vars/Temperatura")

- Konfigurator Właściwość zostanie automatycznie uzupełniony tekstem Value.

W ten sposób jest poprawnie ustawiony element graficzny. Obecnie można poprzez kopiowanie owego elementu graficznego i tylko poprzez zmianę parametru NumerKotla na 2 w tej kopii zapewnić, że ów skopiowany element graficzny będzie wyświetlać wartość /Kociol2/Data/#vars/Temperatura. Kiedykolwiek w przyszłości można w prosty sposób poprzez zmianę parametru w owym elemencie graficznym zmienić obiekt, którego wartość powinna być wyświetlana.


Przykład wytworzenia panelu graficznego z parametrem:

Miejmy w aplikacji dane: "/Kociol1/Data" i "/Kociol2/Data" tego samego typu PmData. We obu obiektach jest zdefiniowana zmienna "Temperatura. Dalej istnieje panel /PanelKotla, który powinien wyświetlać temperaturę dla "Kociol1" lub dla "Kociol2" (według parametrów otwarcia okna).

Rozwiązanie:

- W panelu /PanelKotla w elemencnie graficznym PmiRoot wytwórz parameter o nazwie NumerKotla.
- Utwórz element graficzny na przykład PmiText (będzie wyświetlać wartość temperatury). W konfiguratorze tego obiektu Tekst załóż powiązanie z danymi PP - Powiązanie z właściwością PROMOTIC obiektu. W powiązaniu z danymi wpisz w:
- Konfigurator Obiekt następujący tekst:

$.join("/Kociol", $.par("NumerKotla"), "/Data/#vars/Temperatura")

- Konfigurator Właściwość zostanie automatycznie uzupełniony tekstem Value.

Tym samym masz poprawnie ustawiony panel. Teraz pozostaje tylko zapewnić, żeby panel został otwarty zawsze z odpowiednim parametrem. Na przykład wytwórz sobie inny panel, z którego będziesz otwierać panel /PanelKotla. Do tego nowego panelu włóż dwa przyciski (elementy graficzne PmiButton). Pierwszy przycisk będzie optwierać panel dla "Kociol1", drugi przycisk będzie otwierać ten sam panel dla "Kociol2". Do zdarzenia onButtonUp pierwszego przycisku wpisz następujący skrypt:

pMe.PmPanel.OpenView "/PanelKotla", "", "par:NumerKotla=1;"

Do tego samego zdarzenia następnego przycisku wpisz podobny skrypt:

pMe.PmPanel.OpenView "/PanelKotla", "", "par:NumerKotla=2;"

Obecnie uruchom aplikację i otwórz okno z przyciskami. Przez naciśnięcie pierwszego przycisku zostanie otwarte okno dla "Kociol1", przez naciśnięcie drugiego przycisku zostanie otwarte okno dla "Kociol2".

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice