indicator

Funkce

Zobrazení logické veličiny nebo výsledku logického výrazu s možností přiřazení výsledku do výstupního datového elementu.


Syntax

  indicator indicator_name;
    rem = string;
    bubble = string;
    timer = timer_name;
    owner = owner_name;
    position = integer, integer, integer, integer;
    win_disable = [ identifier, . . . ];
    win_title = string;
    access = integer;
    tab_select = integer;
    send_same_data;
    expression = boolean_expression;
    blink = boolean_expression;
    blink_rate = identifier;
    true_icon = file_name;
    false_icon = file_name;
    font = font_identifier, integer, style_identifier;
    true_text = string;
    font = font_identifier, integer, style_identifier;
    true_text = string;
    font = font_identifier, integer, style_identifier;
    false_text = string;
    font = font_identifier, integer, style_identifier;
    false_text = string;
    colors
      true_paper = color;
      true_ink = color;
      true_tshadow = color;
      true_bshadow = color;
      false_paper = color;
      false_ink = color;
      false_tshadow = color;
      false_bshadow = color;
    end_colors;
    blink_colors
      true_paper = color;
      true_ink = color;
      true_tshadow = color;
      true_bshadow = color;
      false_paper = color;
      false_ink = color;
      false_tshadow = color;
      false_bshadow = color;
    end_blink_colors;
  end_indicator;


Specifické parametry přístroje


Poznámka

Přístroj nemá parametr mode, přesto může zobrazovat hodnotu boolean dvěma různými způsoby. Jsou–li definovány parametry true_text a false_text, mají přednost před zadanými ikonami a přístroj zobrazuje tyto texty. Nejsou–li texty zadány, zobrazují se ikony.

implicitně je nastaven pouze parametr:

  position = 0, 0;

Příklad

Příklad nastavení parametrů přístroje indicator:

indicator žárovka;
  timer = 0.1;
  owner = background;
  position = 57, 7;
  expression = zapnuto;
end_indicator;

Nativní procedury přístroje indicator

SetValue( Value : boolean )
Nastavení ovládacího prvku na novou hodnotu Value včetně zápisu této hodnoty do výstupního datového elementu.

MoveTo( XPosition, YPosition : real )
Posunutí přístroje na pozici x, y. Velikosti hodnot x a y jsou v bodech obrazovky.

Show()
Zobrazení skrytého přístroje.

Hide()
Skrytí viditelného přístroje.

Update()
Nastavení ovládacího prvku podle aktuálního stavu jeho výstupního datového elementu včetně překreslení přístroje v novém stavu.

Update( SetOutput : boolean )
Nastavení přístroje podle aktuálního stavu jeho výstupního datového elementu. Parametr SetOutput určuje, budou-li nová data zpětně zapsána do výstupního datového elementu.

Blink( BlinkingActive : boolean )
Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.


ToggleBlink()
Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.

Událostní procedury přístroje indicator

Přístroj může volat standardní událostní procedury:


OnActivate()
OnMouseDown( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnMouseDoubleClick( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnMouseUp( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnMouseMove( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
OnKeyDown( Character : cardinal )
OnKeyRepeat( Character : cardinal )
OnKeyUp( Character : cardinal )
OnSelect()
OnDeselect()
OnShow()
OnHide()
OnNewPosition( RectX, RectY, RectW, RectD : integer )
OnWindowMinimize()
OnWindowMaximize()
OnWindowRestore( WasMinimized, WasMaximized : boolean )
OnWindowClose()

Specifické událostní procedury přístroje

OnOutput( Output : boolean )
Procedura je zavolána po každém vyhodnocení logického výrazu před každým případným zápisem do výstupního datového elementu. V proměnné Output je hodnota, která bude přístrojem zobrazena a která bude případně po dokončení procedury zapsána do výstupního datového elementu. Tuto hodnotu je možno v proceduře změnit.

OnOutputChanged( Output: boolean )
Procedura je zavolána jen při změně výsledku vyhodnocovaného logického výrazu oproti výsledku předchozímu. Proměnná Output je naplněna hodnotou, která bude přístrojem zobrazena a která bude případně po dokončení procedury zapsána do výstupního datového elementu. Tuto hodnotu je možno v proceduře změnit.