ConOpSys V2970  P004.07
ANVILEX control operating system
Function_Block_Base.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Function_Block_Base.h
3 //! @brief Function block base class header file.
4 //! @copyright ANVILEX LLC
5 //! @attention No special attention requered.
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Blocks/Function_Block_Base.h $
7 //! $Revision: 2946 $
8 //! $Date: 2022-02-27 01:12:30 +0500 (So, 27 Feb 2022) $
9 //! $Author: minch $
10 //
11 // Copyright(C) 2004-2020 ANVILEX LLC
12 //
13 // Redistribution and use in source and binary forms, with or without
14 // modification, are permitted provided that the following conditions are met:
15 //
16 // 1. Redistributions of source code must retain the above copyright notice,
17 // this list of conditions and the following disclaimer.
18 //
19 // 2. Redistributions in binary form must reproduce the above copyright notice,
20 // this list of conditions and the following disclaimer in the documentation
21 // and/or other materials provided with the distribution.
22 //
23 // 3. Neither the name of ANVILEX nor the names of its contributors may be
24 // used to endorse or promote products derived from this software without
25 // specific prior written permission.
26 //
27 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
31 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 // POSSIBILITY OF SUCH DAMAGE.
38 //
39 //------------------------------------------------------------------------------
40 
41 //------------------------------------------------------------------------------
42 // Protecting header files from mutual, recursive inclusion.
43 //------------------------------------------------------------------------------
44 
45 #pragma once
46 
47 //------------------------------------------------------------------------------
48 // Include standard libraries header files
49 //------------------------------------------------------------------------------
50 
51 //------------------------------------------------------------------------------
52 // Include thrid party header files
53 //------------------------------------------------------------------------------
54 
55 //------------------------------------------------------------------------------
56 // Include ConOpSys header files
57 //------------------------------------------------------------------------------
58 
59 #include "ConOpSys_Target.h"
60 
61 #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
62 
63 #include <Classes.hpp>
64 #include <Controls.hpp>
65 #include <StdCtrls.hpp>
66 #include <ExtCtrls.hpp>
67 #include <IniFiles.hpp>
68 
69 #endif
70 
71 #include "Application_Resource_Configuration.h"
72 #include "Protocol_Base.h"
73 #include "Block_Input_Connector.h"
74 #include "Block_Output_Connector.h"
75 #include "Function_Block_Defines.h"
76 
77 //#include "Core_Template.h"
78 //#include "Footer_Template.h"
79 //#include "Parameters_Template.h"
80 
81 //------------------------------------------------------------------------------
82 // Macros
83 //------------------------------------------------------------------------------
84 
85 #if CONOPSYS_TARGET == CONOPSYS_TARGET_DEVICE
86 
87 //! @brief Function block base class for device
89 
91 
92 //! @brief Function block base class for VDC tool
93 class TFunction_Block_Base : public TWinControl
94 
95 #endif
96 {
97 
98  //----------------------------------------------------------------------------
99  // Public defines, methods and variables
100  //----------------------------------------------------------------------------
101 
102  public:
103 
104  //--------------------------------------------------------------------------
105  // Public defines
106  //--------------------------------------------------------------------------
107 
108  //! @brief Function block ststus
109  typedef union
110  {
111 
112  //! @brief Function block status as raw data
114 
115  //! @brief Function block status as but fields
116  struct
117  {
118 
119  //! @brief Bit 0: Initialised flag
121 
122  //! @brief Bit 1: Connected flag
124 
125  //! @brief Bit 2: Initialisation error flag
127 
128  //! @brief Bits 3-31: Reserved
130 
131  };
132 
133  } TFunction_Block_Status;
134 
135  //--------------------------------------------------------------------------
136  // Public methods
137  //--------------------------------------------------------------------------
138 
139  //!-------------------------------------------------------------------------
140  //! @brief Class constructor method.
141  //! @note None
142  //! @param [in] u32_Function_ID - Function block ID
143  //! \par Override
144  //! Not allowed
145  //! @attention Don't call this method directly.
146  //--------------------------------------------------------------------------
147 
148  TFunction_Block_Base( U32 u32_Function_ID );
149 
150  //!-------------------------------------------------------------------------
151  //! @brief Class destructor method.
152  //! @note None
153  //! \par Override
154  //! Not allowed
155  //! @attention Don't call this method directly.
156  //--------------------------------------------------------------------------
157 
158  virtual ~TFunction_Block_Base();
159 
160  //!-------------------------------------------------------------------------
161  //! @brief Function block connect method
162  //! @note This method set function block connected status
163  //! @param None
164  //! \par Override
165  //! Not allowed
166  //! @attention None
167  //--------------------------------------------------------------------------
168 
169  VOID Connect();
170 
171  //!-------------------------------------------------------------------------
172  //! @brief Function block initialisation method
173  //! @note None
174  //! @param None
175  //! \par Override
176  //! Optional
177  //! @attention None
178  //--------------------------------------------------------------------------
179 
180  VOID Init();
181 
182  //!-------------------------------------------------------------------------
183  //! @brief Function block finalisation method
184  //! @note None
185  //! @param None
186  //! \par Override
187  //! Optional
188  //! @attention None
189  //--------------------------------------------------------------------------
190 
191  virtual VOID Done();
192 
193  //!-------------------------------------------------------------------------
194  //! @brief Update parameters at runtime method
195  //! @note This is experemental functionality
196  //! @param None
197  //! \par Override
198  //! Optional
199  //! @attention None
200  //--------------------------------------------------------------------------
201 
202  virtual VOID Update();
203 
204  //!-------------------------------------------------------------------------
205  //! @brief Function block execute method
206  //! @note Body of this method must be implemented according function block requerements
207  //! @param None
208  //! \par Override
209  //! Requered
210  //! @attention None
211  //--------------------------------------------------------------------------
212 
213  virtual VOID Execute() = 0;
214 
215  //!-------------------------------------------------------------------------
216  //! @brief Function block trip method
217  //! @note implement in this method emergency trip functions related to hardware reconfoguration
218  //! @param None
219  //! \par Override
220  //! Oprional
221  //! @attention None
222  //--------------------------------------------------------------------------
223 
224  virtual VOID Trip();
225 
226  //!-------------------------------------------------------------------------
227  //! @brief Get function block dentifier
228  //! @note None
229  //! @return U32 - Function block identifier
230  //! \par Override
231  //! Not allowed
232  //! @attention None
233  //--------------------------------------------------------------------------
234 
236 
237  //!-------------------------------------------------------------------------
238  //! @brief Set function block initialisation error
239  //! @note None
240  //! @param None
241  //! \par Override
242  //! Not allowed
243  //! @attention None
244  //--------------------------------------------------------------------------
245 
247 
248  //!-------------------------------------------------------------------------
249  //! @brief Return function block initialisation error status
250  //! @note None
251  //! @return BOOL - Function block initialisation error status
252  //! @param None
253  //! \par Override
254  //! Not allowed
255  //! @attention None
256  //--------------------------------------------------------------------------
257 
259 
260  //!-------------------------------------------------------------------------
261  //! @brief Append interconnection status of the function block
262  //! @note None
263  //! @param [out] *bool_Connected_Status - Pointer to the function block interconnection status variable
264  //! \par Override
265  //! Not allowed
266  //! @attention None
267  //--------------------------------------------------------------------------
268 
269  VOID Append_Connected_Status( BOOL *bool_Connected_Status );
270 
271  //!-------------------------------------------------------------------------
272  //! @brief Returns status of the function block interconnection
273  //! @note None
274  //! @return BOOL - Interconnection status of the function block inputs
275  //! @retval false - Function block has invalid interconnection of the inputs
276  //! @retval true - Function block has valid interconnection of the inputs
277  //! \par Override
278  //! Not allowed
279  //! @attention None
280  //--------------------------------------------------------------------------
281 
282  BOOL Is_Connected();
283 
284  //!-------------------------------------------------------------------------
285  //! @brief Returns status of the function block interconnection
286  //! @note None
287  //! @return BOOL - Function block initialisation status
288  //! @retval false - Function block initialised with errors
289  //! @retval true - Function block initialised without errors
290  //! \par Override
291  //! Not allowed
292  //! @attention None
293  //--------------------------------------------------------------------------
294 
296 
297  //!-------------------------------------------------------------------------
298  //! @brief Get pointer to the input connector
299  //! @note None
300  //! @param [in] u32_Connector_Index - Input connector index
301  //! @param [out] **object_Input_Connector - Pointer to the input connector storage
302  //! @return BOOL - Method execution status
303  //! @retval false - Input connector not found
304  //! @retval true - Input connector found
305  //! \par Override
306  //! Not allowed
307  //! @attention None
308  //--------------------------------------------------------------------------
309 
310  BOOL Get_Input_Connector( U32 u32_Connector_Index, TBlock_Input_Connector **object_Input_Connector );
311 
312  //!-------------------------------------------------------------------------
313  //! @brief Get pointer to the output connector
314  //! @note None
315  //! @param [in] u32_Connector_Index - Output connector index
316  //! @param [out] **object_Output_Connector - Pointer to the output connector storage
317  //! @return BOOL - Method execution status
318  //! @retval false - Input connector not found
319  //! @retval true - Input connector found
320  //! \par Override
321  //! Not allowed
322  //! @attention None
323  //--------------------------------------------------------------------------
324 
325  BOOL Get_Output_Connector( U32 u32_Connector_Index, TBlock_Output_Connector **object_Output_Connector );
326 
327  //!-------------------------------------------------------------------------
328  //! @brief Get function block status method
329  //! @note None
330  //! @param None
331  //! @return TFunction_Block_Status - Function block status
332  //! \par Override
333  //! Not allowed
334  //! @attention None
335  //--------------------------------------------------------------------------
336 
338 
339  //!-------------------------------------------------------------------------
340  //! @brief Send information about Function block over communication link protocol
341  //! @note This method sends information about Function block over specified communication link protocol.
342  //! @param [in] *object_Protocol - Pointer to the communication link protocol
343  //! @return None
344  //! \par Override
345  //! Not allowed
346  //! @attention None
347  //--------------------------------------------------------------------------
348 
349  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
350 
351  //----------------------------------------------------------------------------
352  // Public defines, methods and variables related to VDC tool
353  //----------------------------------------------------------------------------
354 
355  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
356 
357  public:
358 
359  //--------------------------------------------------------------------------
360  // Public methods relared to VDC tool
361  //--------------------------------------------------------------------------
362 
363  __fastcall TBlock_Template( TComponent* Owner, TList *Storage );
364 
365  __fastcall ~TBlock_Template();
366 
367  void __fastcall CreateBlock();
368 
369  virtual void __fastcall Paint();
370 
371  virtual bool __fastcall PropertiesDialog();
372 
373  virtual void __fastcall SaveToProjectFile( TMemIniFile *ProjectFile, AnsiString ParentSection );
374 
375  virtual void __fastcall LoadFromProjectFile( TMemIniFile *ProjectFile, AnsiString ParentSection );
376 
377  virtual void __fastcall SwapBlocks();
378 
379  virtual void __fastcall RepaintAllBlocks();
380 
381  VOID __fastcall Load_Block_From_List( TStringList *object_File_Source_CPP, TStringList *object_File_Source_H );
382 
383  VOID __fastcall Get_SQL_Queries( TStringList *object_SQL_Queries );
384 
385  //.... Other methods related to VDC tool
386 
387  //--------------------------------------------------------------------------
388  // Public variables relared to VDC tool
389  //--------------------------------------------------------------------------
390 
391  // Pointer to storage of the blocks
393 
394  // ID of the block
395  int BlockID;
396 
397  // Count of input connectors
399 
400  // Count of output connectors
402 
403  // Storage of input connectors
405 
406  // Storage of output connectors
408 
409  // Block core
410  TCore_Template *Core;
411 
412  // Block footer
413  TFooter_Template *Footer;
414 
415  // Pointer to parameters
416  // ANVILEX KM: Depricated
417  TParameters_Template *Parameters;
418 
419  // Function block autosize ststus
420  bool AutoSize;
421 
422  // Function block icon
423  Graphics::TBitmap *Icon;
424 
425  //--------------------------------------------------------------------------
426  // Public properties relared to VDC tool
427  //--------------------------------------------------------------------------
428 
429  __property TNotifyEvent OnInputConnectorSelected = { read = FOnInputConnectorSelected, write = FOnInputConnectorSelected };
430 
432 
433  __property TNotifyEvent OnCoreSelected = { read = FOnCoreSelected, write = FOnCoreSelected };
434 
435  __property TNotifyEvent OnModified = { read = FModified, write = FModified };
436 
437  __property TNotifyEvent OnNeedToUpdate = { read = FNeedToUpdate, write = FNeedToUpdate };
438 
439  __property TResolveConnectorAddressEvent OnResolveConnectorAddress = { read = FOnResolveConnectorAddress, write = FOnResolveConnectorAddress };
440 
441  __property AnsiString Label = { read = FLabel, write = FLabel };
442 
443  __property BOOL Border = { read = FBorder, write = FBorder, default = true };
444 
445  __property BOOL Selected = { read = FSelected, write = SetSelectedFlag, default = false };
446 
447  __property BOOL Flipped = { read = FFlipped, write = SetFlippedFlag, default = false };
448 
449  #endif
450 
451  //----------------------------------------------------------------------------
452  // Protected defines, methods and variables
453  //----------------------------------------------------------------------------
454 
455  protected:
456 
457  //--------------------------------------------------------------------------
458  // Protected methods
459  //--------------------------------------------------------------------------
460 
461  //!-------------------------------------------------------------------------
462  //! @brief Updates function block interconnection status
463  //! @note None
464  //! @param [in] bool_New_Connected_Status - New status
465  //! @return None
466  //! \par Override
467  //! Not allowed
468  //! @attention None
469  //--------------------------------------------------------------------------
470 
471  VOID Update_Connected_Status( BOOL bool_New_Connected_Status );
472 
473  //!-------------------------------------------------------------------------
474  //! @brief Create event method
475  //! @note None
476  //! @param [in] u32_Event_ID - Event identifier
477  //! @return None
478  //! \par Override
479  //! Not allowed
480  //! @attention None
481  //--------------------------------------------------------------------------
482 
483  VOID Create_Event( U32 u32_Event_ID );
484 
485  //----------------------------------------------------------------------------
486  // Protected defines, methods and variables related to VDC tool
487  //----------------------------------------------------------------------------
488 
489  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
490 
491  protected:
492 
493  //--------------------------------------------------------------------------
494  // Protected methods related to VDC tool
495  //--------------------------------------------------------------------------
496 
497  void __fastcall SetSelectedFlag( bool Value ); // Set selected flag
498  void __fastcall SetFlippedFlag( bool Value ); // Set flipped flag
499  virtual void __fastcall SetNamesOfConnectors(); // Set names of the connectors
500  void __fastcall CorePaint( TObject *Sender );
501 
502  //--------------------------------------------------------------------------
503  // Protected variables related to VDC tool
504  //--------------------------------------------------------------------------
505 
506  // Pointer to the modified method
507  TNotifyEvent FModified;
508 
509  // Pointer to the need to update method
510  TNotifyEvent FNeedToUpdate;
511 
512  // Pointer to the input connector selected method
514 
515  // Method storage
517 
518  TNotifyEvent FOnCoreSelected;
519 
520  TResolveConnectorAddressEvent FOnResolveConnectorAddress;
521 
522  //! @brief Function block label of the core string
523  AnsiString FLabel = "";
524 
525  //! @brief Function block border status
526  BOOL FBorder = (BOOL)true;
527 
528  //! @brief Function block seleted status
529  BOOL FSelected = (BOOL)false;
530 
531  //! @brief Function block flipped status
532  BOOL FFlipped = (BOOL)false;
533 
534  // Locked mode flag
535  BOOL LockedMode = (BOOL)false;
536 
537  // Double clicked flag
539 
540  // Locked X position
542 
543  // Locked Y position
545 
546  #endif
547 
548  //----------------------------------------------------------------------------
549  // Private defines, methods and variables
550  //----------------------------------------------------------------------------
551 
552  private:
553 
554  //--------------------------------------------------------------------------
555  // Private variables
556  //--------------------------------------------------------------------------
557 
558  //! @brief Function block function block identifier
560 
561  //! @brief Function block status
563 
564 // U32 u32_Condition; //!< Condition storage
565 // U32 u32_Warning_Condition_Mask; //!< Warning condition mask
566 // U32 u32_Alarm_Condition_Mask; //!< Alarm condition mask
567 // U32 u32_Trip_Condition_Mask; //!< Trip condition mask
568 
569  //----------------------------------------------------------------------------
570  // Private defines, methods and variables related to VDC tool
571  //----------------------------------------------------------------------------
572 
573  private:
574 
575  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
576 
577  //--------------------------------------------------------------------------
578 
579  void __fastcall NeedToUpdate( TObject *object_Sender );
580 
581  //--------------------------------------------------------------------------
582 
583  void __fastcall Modified( TObject *object_Sender );
584 
585  //--------------------------------------------------------------------------
586 
587  void __fastcall OnClick( TObject *object_Sender );
588 
589  //--------------------------------------------------------------------------
590 
591  void __fastcall OnDblClick( TObject *object_Sender );
592 
593  //--------------------------------------------------------------------------
594 
595  void __fastcall OnMouseDown( TObject *object_Sender, TMouseButton Button, TShiftState Shift, int int_X, int int_Y );
596 
597  //--------------------------------------------------------------------------
598 
599  void __fastcall OnMouseUp( TObject *object_Sender, TMouseButton Button, TShiftState Shift, int int_X, int int_Y );
600 
601  //--------------------------------------------------------------------------
602 
603  void __fastcall OnMouseMove( TObject *object_Sender, TShiftState Shift, int int_X, int int_Y );
604 
605  //--------------------------------------------------------------------------
606 
607  void __fastcall OnInputConnectorClick( TObject *Sender );
608 
609  //--------------------------------------------------------------------------
610 
611  void __fastcall OnOutputConnectorClick( TObject *Sender );
612 
613  //--------------------------------------------------------------------------
614 
615  void __fastcall ResolveConnectorAddress( TObject *Sender, TConnectorAddress *Address );
616 
617  //--------------------------------------------------------------------------
618  // Private variables related to VDC tool
619  //--------------------------------------------------------------------------
620 
621  TStringList *object_Source_CPP = (TStringList*)NULL;
622  TStringList *object_Source_H = (TStringList*)NULL;
623 
624  TUTF8String utf8_string_Name = "";
625  TUTF8String utf8_string_Description = "";
626 
627  TObjectList *object_Parameter_Connector_List = (TObjectList*) = NULL;
628  TObjectList *object_Input_Connector_List = (TObjectList*) = NULL;
629  TObjectList *object_Output_Parameter_List = (TObjectList*) = NULL;
630 
631  #endif
632 
633 };
634 
635 //------------------------------------------------------------------------------
636 // End of file
637 //------------------------------------------------------------------------------
Block input connecttor class header file.
Block output connecttor class header file.
ConOpSys deploy target definitions file.
#define CONOPSYS_TARGET_VDC
Visual device configurator tool.
Definition: ConOpSys_Target.h:50
#define CONOPSYS_TARGET
Deploy target selection.
Definition: ConOpSys_Target.h:63
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
#define NULL
Definition: Defines.h:388
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
Function block defines header file.
Communication protocol base class header file.
Function block input connector class.
Definition: Block_Input_Connector.h:83
Function block output connector class.
Definition: Block_Output_Connector.h:59
Function block base class for device.
Definition: Function_Block_Base.h:96
__property AnsiString Label
Definition: Function_Block_Base.h:441
VOID __fastcall Load_Block_From_List(TStringList *object_File_Source_CPP, TStringList *object_File_Source_H)
Definition: Function_Block_Base.cpp:1402
AnsiString FLabel
Function block label of the core string.
Definition: Function_Block_Base.h:523
TFunction_Block_Status struct_Status
Function block status.
Definition: Function_Block_Base.h:562
U32 u32_Function_Block_ID
Function block function block identifier.
Definition: Function_Block_Base.h:559
__property BOOL Flipped
Definition: Function_Block_Base.h:447
TNotifyEvent FOnOutputConnectorSelected
Definition: Function_Block_Base.h:516
VOID Set_Initialisation_Error()
Set function block initialisation error.
Definition: Function_Block_Base.cpp:326
void __fastcall OnOutputConnectorClick(TObject *Sender)
void __fastcall CreateBlock()
TStringList * object_Source_CPP
Definition: Function_Block_Base.h:621
TParameters_Template * Parameters
Definition: Function_Block_Base.h:417
__property BOOL Border
Definition: Function_Block_Base.h:443
__fastcall ~TBlock_Template()
BOOL FBorder
Function block border status.
Definition: Function_Block_Base.h:526
virtual VOID Execute()=0
Function block execute method.
virtual VOID Trip()
Function block trip method.
Definition: Function_Block_Base.cpp:303
TObjectList * object_Output_Parameter_List
Definition: Function_Block_Base.h:629
virtual void __fastcall RepaintAllBlocks()
void __fastcall OnMouseUp(TObject *object_Sender, TMouseButton Button, TShiftState Shift, int int_X, int int_Y)
virtual ~TFunction_Block_Base()
Class destructor method.
Definition: Function_Block_Base.cpp:163
void __fastcall ResolveConnectorAddress(TObject *Sender, TConnectorAddress *Address)
BOOL DobbleClicked
Definition: Function_Block_Base.h:538
U32 u32_Locked_Position_X
Definition: Function_Block_Base.h:541
BOOL FSelected
Function block seleted status.
Definition: Function_Block_Base.h:529
TCore_Template * Core
Definition: Function_Block_Base.h:410
void __fastcall OnMouseDown(TObject *object_Sender, TMouseButton Button, TShiftState Shift, int int_X, int int_Y)
TNotifyEvent FModified
Definition: Function_Block_Base.h:507
TObjectList * object_Parameter_Connector_List
Definition: Function_Block_Base.h:627
TResolveConnectorAddressEvent FOnResolveConnectorAddress
Definition: Function_Block_Base.h:520
VOID Append_Connected_Status(BOOL *bool_Connected_Status)
Append interconnection status of the function block.
Definition: Function_Block_Base.cpp:386
TList * StorageOfBlocks
Definition: Function_Block_Base.h:392
void __fastcall OnDblClick(TObject *object_Sender)
virtual void __fastcall Paint()
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send information about Function block over communication link protocol.
Definition: Function_Block_Base.cpp:458
__property TNotifyEvent OnNeedToUpdate
Definition: Function_Block_Base.h:437
void __fastcall Modified(TObject *object_Sender)
__property TNotifyEvent OnModified
Definition: Function_Block_Base.h:435
VOID Create_Event(U32 u32_Event_ID)
Create event method.
Definition: Function_Block_Base.cpp:473
VOID __fastcall Get_SQL_Queries(TStringList *object_SQL_Queries)
Definition: Function_Block_Base.cpp:1424
TFunction_Block_Base(U32 u32_Function_ID)
Class constructor method.
Definition: Function_Block_Base.cpp:103
VOID Update_Connected_Status(BOOL bool_New_Connected_Status)
Updates function block interconnection status.
Definition: Function_Block_Base.cpp:350
VOID Connect()
Function block connect method.
Definition: Function_Block_Base.cpp:257
BOOL Get_Input_Connector(U32 u32_Connector_Index, TBlock_Input_Connector **object_Input_Connector)
Get pointer to the input connector.
Definition: Function_Block_Base.cpp:419
void __fastcall OnInputConnectorClick(TObject *Sender)
TFunction_Block_Status Get_Status()
Get function block status method.
Definition: Function_Block_Base.cpp:443
__property TNotifyEvent OnOutputConnectorSelected
Definition: Function_Block_Base.h:431
VOID Init()
Function block initialisation method.
Definition: Function_Block_Base.cpp:269
void __fastcall SetFlippedFlag(bool Value)
BOOL FFlipped
Function block flipped status.
Definition: Function_Block_Base.h:532
virtual bool __fastcall PropertiesDialog()
BOOL Get_Output_Connector(U32 u32_Connector_Index, TBlock_Output_Connector **object_Output_Connector)
Get pointer to the output connector.
Definition: Function_Block_Base.cpp:431
TObjectList * object_Input_Connector_List
Definition: Function_Block_Base.h:628
BOOL LockedMode
Definition: Function_Block_Base.h:535
virtual VOID Update()
Update parameters at runtime method.
Definition: Function_Block_Base.cpp:292
__property TResolveConnectorAddressEvent OnResolveConnectorAddress
Definition: Function_Block_Base.h:439
__property TNotifyEvent OnCoreSelected
Definition: Function_Block_Base.h:433
__property BOOL Selected
Definition: Function_Block_Base.h:445
TNotifyEvent FOnInputConnectorSelected
Definition: Function_Block_Base.h:513
TList * StorageOfOutputConnectors
Definition: Function_Block_Base.h:407
BOOL Is_Initialised()
Returns status of the function block interconnection.
Definition: Function_Block_Base.cpp:374
bool AutoSize
Definition: Function_Block_Base.h:420
__fastcall TBlock_Template(TComponent *Owner, TList *Storage)
void __fastcall OnClick(TObject *object_Sender)
__property TNotifyEvent OnInputConnectorSelected
Definition: Function_Block_Base.h:429
void __fastcall NeedToUpdate(TObject *object_Sender)
void __fastcall SetSelectedFlag(bool Value)
int BlockID
Definition: Function_Block_Base.h:395
U32 Get_Function_Block_ID()
Get function block dentifier.
Definition: Function_Block_Base.cpp:314
U32 u32_Locked_Position_Y
Definition: Function_Block_Base.h:544
int InputConnectorsCount
Definition: Function_Block_Base.h:398
TFooter_Template * Footer
Definition: Function_Block_Base.h:413
int OutputConnectorsCount
Definition: Function_Block_Base.h:401
Graphics::TBitmap * Icon
Definition: Function_Block_Base.h:423
BOOL Is_Initialisation_Error()
Return function block initialisation error status.
Definition: Function_Block_Base.cpp:338
TStringList * object_Source_H
Definition: Function_Block_Base.h:622
TNotifyEvent FOnCoreSelected
Definition: Function_Block_Base.h:518
TUTF8String utf8_string_Description
Definition: Function_Block_Base.h:625
void __fastcall CorePaint(TObject *Sender)
void __fastcall OnMouseMove(TObject *object_Sender, TShiftState Shift, int int_X, int int_Y)
virtual void __fastcall SwapBlocks()
BOOL Is_Connected()
Returns status of the function block interconnection.
Definition: Function_Block_Base.cpp:362
TNotifyEvent FNeedToUpdate
Definition: Function_Block_Base.h:510
TUTF8String utf8_string_Name
Definition: Function_Block_Base.h:624
TList * StorageOfInputConnectors
Definition: Function_Block_Base.h:404
virtual void __fastcall SaveToProjectFile(TMemIniFile *ProjectFile, AnsiString ParentSection)
virtual void __fastcall LoadFromProjectFile(TMemIniFile *ProjectFile, AnsiString ParentSection)
virtual VOID Done()
Function block finalisation method.
Definition: Function_Block_Base.cpp:281
virtual void __fastcall SetNamesOfConnectors()
Definition: List.h:15
Definition: Protocol_Base.h:57
Function block ststus.
Definition: Function_Block_Base.h:110
U32 bit1_Initialisation_Error
Bit 2: Initialisation error flag.
Definition: Function_Block_Base.h:126
U32 u32_Status_Raw_Data
Function block status as raw data.
Definition: Function_Block_Base.h:113
U32 bit1_Initialised
Bit 0: Initialised flag.
Definition: Function_Block_Base.h:120
U32 bit1_Connected
Bit 1: Connected flag.
Definition: Function_Block_Base.h:123
U32 bit29_Reserved
Bits 3-31: Reserved.
Definition: Function_Block_Base.h:129