pipe

Funkce

Zobrazení symbolu potrubí pro sestavení technologických schémat. Přístroj umožňuje animaci pohybu média v trubce.


Syntax

  pipe pipe_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;
    flow_step = integer;
    no_run_shadow;
    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_pipe;


Specifické parametry přístroje

Poznámka

  1. mode = pipe_right, mode = pipe_left;
    Oba módy představují vodorovnou trubku, která může v aktivním stavu (tj. při expression = true) pohybem barevných proužků animovat tok média.
    DataView DataView
  2. mode = pipe_up, mode = pipe_down;
    Oba módy představují svislou trubku, která může v aktivním stavu (tj. při expression= true) pohybem barevných proužků animovat tok média.
    DataView DataView
  3. mode = pipe_horizontal, mode = pipe_vertical;
    V těchto módech znázorňuje přístroj aktivní stav pouze změnou barvy a nikoliv animací.

Implicitně jsou nastaveny parametry:

  position = 0, 0, 150, 20;
  access = 4294967295;
  tab_select = 4294967295;
  mode = pipe_right;
	content = shaded;
 flow_step = 10;

Příklad

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

  pipe id_1;
    timer = time_step;
    owner = panel_1;
    position = 57, 264, 523, 14;
    expression = is_flowing;
    flow_step = 8;
  end_pipe;

Nativní procedury přístroje pipe

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.

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

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

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

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

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

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

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

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

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

SetRightOrUp()
Změna směru toku média zleva doprava nebo zdola nahoru.

SetLeftOrDown()
Změna směru toku média zprava doleva nebo shora dolu.

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 pipe

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 pipe

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.