14.6. Konfiguracja panelu roboczego
 
Budowę paneli sterowania dokonuje się dzięki korzystaniu z przycisków 
	znajdujących się na lewym, skrajnym obszarze okienka aplikacji. Wystarczy 
	tylko nacisnąć wybrany przycisk i kliknąć następnie lewym przyciskiem myszy, 
	gdy jest ona nad obszarem panelu. Kiedy zamiast kliknąć narysuje się prostokątny 
	obszar na panelu, to kontrolka całkowicie go sobą wypełni. Dostępne są 
	następujące rodzaje przycisków:
	
Pierwszy przycisk nie jest przyciskiem kontrolki, lecz pozwala odznaczyć wciśnięty wcześniej 
	przycisk wybranego obiektu.
	
Za pomocą przycisku
	    
, 
	przy zaznaczonej kontrolce lub przez dwukrotne kliknięcie lewym przyciskiem myszy 
	nad obszarem kontrolki, można dokonać konfiguracji wybranego obiektu. Dla wszystkich 
	rodzajów kontrolek pojawi się wówczas okienko dialogowe z 3, 4 lub 5 zakładkami. 
	Zakładki Main, Style i Specific występują dla każdej kontrolki. Prawie zawsze 
	występuje także zakładka Actions, a w niektórych przpadkach zakładka Frame. 
	Dokładne zestawienie występowania zakładek dla poszczególnych kontrolek 
	znajduje się w tabeli, w dalszej części dokumentu.
	
Zakładki Main, Style, Actions oraz 
	Frame prawie dla wszystkich kontrolek mają 
	taki sam wygląd (wyjątkiem jest zakładka Main oraz w minimalnym stopniu zakładka 
	Actions), natomiast zakładka Specific jest dla każdej z kontrolek inna.
	
W zakładce Main zawsze znajduje się pole Object name, które pozwala 
	    wyspecyfikować nazwę obiektu, pod którą będzie osiągalny przez inne kontrolki 
	    oraz panel. Można też ustawić rodzaj czcionki (przycisk Fonts) inny niż 
	    domyślny. Jeśli obiekt ma być powiązany z jakimś bytem SNMP, tzn. 
	    gdziekolwiek zostanie użyty jako argument akcji Read lub Write, 
	    to można podać jego ID string. Jeśli obiekt ten będzie dodatkowo 
	    wykorzystywany do ustawiania wartości bytu SNMP (akcja Write), to 
	    należy poprawnie ustawić typ tej zmiennej poprzez wybranie jednej 
	    z opcji pola Object type. Aby obiekt mógł aktualizować swój wygląd 
	    na podstawie wyników działania akcji Read należy dodatkowo zaznaczyć 
	    opcję Accept incoming Pdu. Czasem zachodzi potrzeba, aby do ID string-u 
	    obiektu dokleić dodatkowy OID. Wtedy we właściwościach obiektu należy 
	    zaznaczyć opcję Accept ID string sticking. Aby obiekt w ogóle mógł być 
	    wykorzystywany w jakiejkolwiek akcji odczytu (Read) lub zapisu (Write) 
	    to należy podać nazwę sesji w polu Belongs to session.
    	    
W polu Text/value on timeout można podać wartość, którą kontrolka 
	    będzie przyjmować w momencie nie otrzymania odpowiedzi od odpytywanego 
	    urządzenia w przewidzianym czasie. Wartość ta zostanie zinterpretowana 
	    jako tekst, jeśli takich wartości spodziewa się kontrolka (np. Label) w 
	    przeciwnym wypadku zostanie zinterpretowana jako wartość liczbowa.
	    
W polu Text/value after timeout można podać wartość, którą 
	    kontrolka będzie przyjmować po okresie nie otrzymywania odpowiedzi od odpytywanego urządzenia.
	    
 
Zakładka Style zawiera pole wyboru dające cztery możliwości 
	    uzyskiwania Focusu przez kontrolkę: brak focusu, focus przez naciśnięcie 
	    przycisku Tab z klawiatury, przez naciśnięcie przycisku myszy oraz te dwie 
	    ostatnie możliwości naraz. W okienku edycyjnym Caption można podać napis, 
	    jaki ma być wyświetlany na kontrolce (dotyczy to części obiektów). W 
	    okienku ToolTip można podać napis jaki ma pojawić się w okienku 
	    podpowiedzi nad obiektem w momencie najechania na niego kursorem 
	    myszy (pusty napis oznacza brak podpowiedzi). Włączona opcja Enabled
	    pozwala ustawić kontrlkę w stan osiągalny za pomocą myszy lub klawiatury.
    	    
Na zakładce znajdują się także trzy przyciski, które pozwalają ustawić dowolną 
	    dla danej kontrolki kolorystykę. Każdy z przycisków pozwala na wyspecyfikowanie palety 
	    kolorów, charakterystycznej dla stanu, w jakim kontrolka może się znajdować (aktywyny, 
	    wyłączony, normalny).
	    
 
W zakładce Actions dla każdego zdarzenia można wyspecyfikować listę akcji, 
	    które mają być podjęte. Zdarzenia dla kontrolek są najczęściej dwojakiego rodzaju: 
	    naciśnięcie przycisku myszy równoznaczne z wciśnięciem klawisza Enter oraz podwójne 
	    naciśnięcie lewego klawisza myszy. Trzeba pamiętać, że to drugie zdarzenie, 
	    w przypadku myszy, poprzedzone jest zawsze pierwszym. Może to prowadzić do 
	    sytuacji, że akcje doczepione do podwójnego klikinięcia mogą nie zdążyć 
	    nastąpić lub wystąpią zaraz po akcjach dla pojedynczego kilknięcia. Z 
	    tego powodu nie ma sensu definiować akcji dla obu tych zdarzeń w 
	    przypadku tego samego obiektu.
    	    
Użytkownik może mieć do dyspozycji najwięcej pięć różnych rodzajów 
	    akcji. Nie wszystkie typy obiektów dysponują całym ich zestawem. Akcja Close 
	    służy do kończenia pracy całego panelu. Jeśli jest on dialogiem to zamyka 
	    się tylko okienko. Jeśli jest on panelem głównym, to kończy się tym samym 
	    pracę całej aplikacji. Akcja Read służy do odczytywania danych dla 
	    wyspecyfikowanych obiektów w celu aktualizacji ich wyglądu na panelu, 
	    zaś Write przesyła te dane do zarządzanego urządzenia.
	    
Okienko Program specification definiujące akcję Exec pozwala 
	    wyspecyfikować program oraz jego argumenty, który ma zostać uruchomiony 
	    w momencie zajścia danego zdarzenia. W procesie specyfikacji programu 
	    oraz jego argumentów można podawać nazwy poprzedzone znakiem $. Nazwą 
	    może być: zmienna środowiskowa, która będzie zdefiniowana w trakcie 
	    rzeczywistego działania panela, nazwa kontrolki, której wartość chcemy 
	    wykorzystać, słowo kluczowe takie jak HostName, ReadCommunity, 
	    WriteCommunity, FileName, StickingIDString, zawierające odpowiednie 
	    argumenty wywołania generatora paneli xdnnv.
            
Okienko Network Node View parameters 
	    definiujące akcję Dialog pozwala podać 
	    nazwę pliku konfiguracyjnego dla programu xdnnv, opisującego panel sterowania. 
	    Można zaznaczyć opcję Stick this ID string i podać OID do doklejenia dla 
	    kontrolek wskazanego panelu. Podobnie jak w przypadku specyfikacji akcji 
	    Exec można wykorzystywać znak $ i podawać za nim nazwy kontrolek lub 
	    słowa kluczowe (nie można wykorzystywać zmiennych środowiskowych). 
	    Akcja Dialog uruchamia obsługę wyspecyfikowanego panelu w okienku 
	    modalnym w przeciwieństwie do akcji Exec, która uruchamia dowolny 
	    program.
            
Przyciski znajdujące się na zakładce Actions pozwalają manipulować listą 
	    akcji dla danego zdarzenia. Przyciskpozwala zdefiniować nową akcję z pośród 
	    omówionych powyżej. Akcja Read i Write specyfikuje się tak samo jak w 
	    przypadku konfiguracji panelu.
	    
 
Za pomocą zakładki Frame można skonfigurować styl ramki 
	    obramowującej obiekt i szerokość linii, z których będzie zbudowana. 
	    W grupie Style dostępne są następujące możliwości: 
	    No Frame, Box, 
	    Panel, WinPanel, HLine, 
	    VLine, Styled Panel, 
	    PopupPanel oraz style obramowania takie jak: płaski (Plain), 
	    wypukły (Raised) i wklęsły (Sunken). 
	    W grupie Line definiuje się grubość linii zewnętrznej obramowania, zaś w 
	    grupie Midline grubość linii środkowej. Efekt 
	    aktualnych ustawień widoczny jest na podglądzie obok.
	    
 
14.6.5. Zestawienie występowania zakładek dla poszczególnych kontrolek