knee

Funkce

Zobrazení symbolu potrubního kolena pro ohyb, spojování a rozdělování potrubí při sestavování technologických schémat. Přístroj nepřekresluje celou plochu své obdélníkové oblasti. Pro správnou činnost musí být umístěn v panelu, který zajistí správné kreslení pozadí.


Syntax

  knee knee_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;
    mode = identifier;
    content = identifier;
    colors
      border_ink = color;
      run = color;
      stop = color;
      run_top_shadow = color;
      run_bottom_shadow = color;
      stop_top_shadow = color;
      stop_bottom_shadow = color;
    end_colors;
    blink_colors
      border_ink = color;
      run = color;
      stop = color;
      run_top_shadow = color;
      run_bottom_shadow = color;
      stop_top_shadow = color;
      stop_bottom_shadow = color;
    end_blink_colors;
  end_knee;


Specifické parametry přístroje


Poznámka

  1. mode = knee_left_up
    DataView
  2. mode = knee_left_down
    DataView
  3. mode = knee_right_up
    DataView
  4. mode = knee_right_down
    DataView
  5. mode = knee_left_up_right
    DataView
  6. mode = knee_left_down_right
    DataView
  7. mode = knee_left_up_down
    DataView
  8. mode = knee_right_up_down
    DataView
  9. mode = knee_left_right_up_down
    DataView

Implicitně jsou nastaveny parametry:

    
  position = 0, 0, 50, 50;
  access = 4294967295;
  tab_select = 4294967295;
  mode = knee_left_up;
	content = shaded;
  colors
    border_ink = black;
    run = lcyan;
    stop = cyan;
    run_top_shadow = white;
    run_bottom_shadow = cyan;
    stop_top_shadow = lcyan;
    stop_bottom_shadow = blue;
  end_colors;

Příklad

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

  knee id_1;
    timer = time_step;
    owner = panel_1;
    position = 57, 264, 523, 14;
    expression = is_flowing;
  end_knee;

Nativní procedury přístroje knee

SetValue( Value : boolean )
Zápis nové hodnoty do přístroje včetně případného nastavení výstupního datového elementu.

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

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

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

SetBorderColor( Red, Green, Blue : number )
Nastavení barvy orámování kolena.

SetRunColor( Red, Green, Blue : number )
Nastavení barvy kolena a aktivním stavu.

SetStopColor( Red, Green, Blue : number )
Nastavení barvy kolena v pasivním stavu.

SetRunTopShadowColor( Red, Green, Blue : number )
Nastavení barvy horního stínu kolena v aktivním stavu.

SetStopTopShadowColor( Red, Green, Blue : number )
Nastavení barvy horního stínu kolena v pasivním stavu.

SetRunBottomShadowColor( Red, Green, Blue : number )
Nastavení barvy dolního stínu kolena v aktivním stavu.

SetStopBottomShadowColor( Red, Green, Blue : number )
Nastavení barvy dolního stínu kolena v pasivním stavu.

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 knee

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. Toto hodnotu je možno v proceduře změnit.