Difference between revisions of "Simulation Functionality"

From Flowcode Help
Jump to navigationJump to search
Line 1: Line 1:
===[[Event Reference|Events]]===
+
__TOC__
Structured overview of Events providing technical information for individual functions, each article contains information of the parameters and return value, a detailed description and an example of the Event.
 
  
===[[API Overview|Functions]]===
+
==Built in functions==
''See also [[API Reference]]''
 
  
Structured overview of Simulation API explaining individual functions and technical information, the [[API Reference|API reference]] page also provides a similar purpose although in a more open and expanded list to show each individual function under its class.
+
<tabs>
 +
 
 +
<tab name="Component">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | Property
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets the value of a property as a string\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets a components 'color' property as a R,G,B value\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets a components property as a string\r\n|-
 +
| style="background-color:#f8e8ff;" | Copies a property value from one target to another\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets all child components property as a string\r\n|-
 +
| style="background-color:#f8e8ff;" | Copies the values of a properties children from the source to dest\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether the property is visible or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether the property can be edited in the UI or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether the property is visible or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether the property can be edited in the UI or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a components property filter string for lists, files, etc\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets a components property filter string for lists, files, etc\r\n|-
 +
| style="background-color:#f8e8ff;" | Copies a property filter from one target to another\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a single lists index value from a property by line number\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a single list entry from a property by named index\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an existing list entries text for the property by named index\r\n|-
 +
| style="background-color:#f8e8ff;" | Alters or appends a list entries text for the property by named index\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the id of the panel hosting the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether a component can interact with the mouse\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether a component can interact with the mouse\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether a component can be seen on the panel\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether a component can be seen on the panel\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether a component is checked in collision detections\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether a component is checked in collision detections\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether a component is considered for compilation or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether a component will be compiled or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the type-instance of the component, >= 1 is valid\r\n|-
 +
| style="background-color:#f8e8ff;" | Finds a named object that is part of the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the root component handle\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the top-level owner of the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the owner of the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the next (younger) sibling of the components handle\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the previous (elder) sibling of the components handle\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the first (eldest) child of the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the last (youngest) child of the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the original definition of the component, returns Current if no original copy\r\n|-
 +
| style="background-color:#f8e8ff;" | Clones an existing object to another position on the panel\r\n|-
 +
| style="background-color:#f8e8ff;" | Deletes an existing object, removing it from the panel\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Panel">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Returns the name of the panel from the id\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the main background colour of the panel\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the number of 2d panels\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a new 2d panel\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds a new component to a panel\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | Position
 +
|-
 +
| style="background-color:#f8e8ff;" | Returns the positions coordinates in (X,Y,Z) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the component size in (X,Y,Z) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Moves the object to the given coordinates in World coordinates\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the objects size to a value\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a handle to an object representing the components current position\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a handle to an empty position\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an objects position based on a component or pre-defined position\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an objects coordinates based on a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an objects scale based on a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an objects orientation based on a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a handle to an object representing the components bounding box position\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the position of a line's nodes as a comma-separated list\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the nodes of a line\r\n|-
 +
| style="background-color:#f8e8ff;" | Blends positions from two sources to a destination\r\n|-
 +
| style="background-color:#f8e8ff;" | Blends positions from two sources to a destination over time\r\n|-
 +
| style="background-color:#f8e8ff;" | Stops all animations started by this component\r\n|-
 +
| style="background-color:#f8e8ff;" | Moves the object by the given offset relative to its parent along an axis\r\n|-
 +
| style="background-color:#f8e8ff;" | Moves the object by the given offset relative to its parent\r\n|-
 +
| style="background-color:#f8e8ff;" | Moves the object to the given coordinates relative to its parent\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the objects scale to a value\r\n|-
 +
| style="background-color:#f8e8ff;" | Multiplies the objects scale by a value\r\n|-
 +
| style="background-color:#f8e8ff;" | Divides the objects scale by a value\r\n|-
 +
| style="background-color:#f8e8ff;" | Rotates the object to the given rotation\r\n|-
 +
| style="background-color:#f8e8ff;" | Rotates the object by the given rotation along an axis\r\n|-
 +
| style="background-color:#f8e8ff;" | Rotates the object around the X axis\r\n|-
 +
| style="background-color:#f8e8ff;" | Rotates the object around the Y axis\r\n|-
 +
| style="background-color:#f8e8ff;" | Rotates the object around the Z axis\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the positions coordinates in (X,Y,Z) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the positions scale in (X,Y,Z) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the positions quaternion in (X,Y,Z,W) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the positions euler angles in (P,Y,R) array\r\n|-
 +
| style="background-color:#f8e8ff;" | Coordinate maths functions\r\n|-
 +
| style="background-color:#f8e8ff;" | 2D Panel functions\r\n|-
 +
| style="background-color:#f8e8ff;" | Camera positioning for 3D panel\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | PCloud
 +
|-
 +
| style="background-color:#f8e8ff;" | Creates a new point cloud tied to a position handle\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether the point cloud is displayed or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the position for the point cloud to be located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position the point cloud is located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the X,Y,Z point lists\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the X,Y,Z point lists\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the X,Y,Z point lists in a height-map grid\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the X,Y,Z point lists in a height-map grid\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the X,Y,Z point lists in a flat  height-map grid\r\n|-
 +
| style="background-color:#f8e8ff;" | Given an XY on the grid, sets the vertex value at that point\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a unit scaled axis (X, Y or Z) with a center of zero and a range of two\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the RGB colour of the entire cloud\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the RGB colour of the individual points in the cloud\r\n|-
 +
| style="background-color:#f8e8ff;" | Given an XY on the grid, sets the vertex colour at that point\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the rendering mode of the point cloud\r\n|-
 +
| style="background-color:#f8e8ff;" | Enables or disables simple lighting for point mode, providing a normal passing through the point and (0,0,0)\r\n|-
 +
| style="background-color:#f8e8ff;" | Manually refresh the screen the point cloud exists on\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | LinkBar
 +
|-
 +
| style="background-color:#f8e8ff;" | Creates a new bar linking a pair of position handles\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether the link is displayed or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the position for the start point of the bar\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the position for the end point of the bar\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the clipping adjustments for the beginning of the link\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the clipping adjustments for the end of the link\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the graphic for the start point of the bar\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the graphic for the main line of the bar\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the graphic for the end point of the bar\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position the bars start point is located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position the bar is located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position the bars end point is located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Manually refresh the screen the bar exists on\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether Flowcode should automatically draw links for component object property types\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | TextLabel
 +
|-
 +
| style="background-color:#f8e8ff;" | Creates a new text label that always faces the camera\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether the label is displayed or not\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the position for the point to draw the text at\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the offset from the SetPos() position for the label\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the text for the label\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the multipliers for the width and height of the label\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the foreground and background colours for the label\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether to draw at a fixed size or to scale based on distance from the camera\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position the label is located at\r\n|-
 +
| style="background-color:#f8e8ff;" | Manually refresh the screen the label exists on\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | Collision
 +
|-
 +
| style="background-color:#f8e8ff;" | Tests whether an object collides with the table top, returns Z distance to move to rest on the table\r\n|-
 +
| style="background-color:#f8e8ff;" | Tests whether an object collides with a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Tests whether an object collides with a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the position to move Pos to so it does not collide with Test - null if no collide\r\n|-
 +
| style="background-color:#f8e8ff;" | Tests whether an object collides with a position\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the position to move Pos to so it does not collide with any other object - null if no collide\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | Graphics
 +
|-
 +
| style="background-color:#f8e8ff;" | Sends a redraw request to the given component\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the draw colour for and subsequent graphics objects\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the draw colour for and subsequent graphics objects\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the text font for subsequent text objects\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the text scale for subsequent text objects\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the thinkness when drawing lines and points\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a drawing area on a shape\r\n|-
 +
| style="background-color:#f8e8ff;" | Begins drawing on a given shape\r\n|-
 +
| style="background-color:#f8e8ff;" | Ends drawing started with DrawBegin()\r\n|-
 +
| style="background-color:#f8e8ff;" | Deletes a drawing area for a shape\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a line of text texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a point on a texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a line on a texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a smooth line on a texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a rectangle on a texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Draws a circle on a texture\r\n|-
 +
| style="background-color:#f8e8ff;" | Clear texture to the given component\r\n|-
 +
| style="background-color:#f8e8ff;" | Routines to change the last drawn shape\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Mouse">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets the button state from the mouse: 4 for left, 1 for right\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the handle of the component under the mouse\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position of the mouse, intersecting with a component or the viewing plane\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the X/Y position of the mouse in screen coords\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the side of the component clicked on, 0 to 5\r\n|-
 +
| style="background-color:#f8e8ff;" | Simulates a click on an object\r\n|-
 +
| style="background-color:#f8e8ff;" | Simulates a click-drag on an object\r\n|-
 +
| style="background-color:#f8e8ff;" | Simulates a click-release on an object\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Keyboard">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Simulates a key-press on an object\r\n|-
 +
| style="background-color:#f8e8ff;" | Simulates a key-release on an object\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="FCD">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets a paths item value from the FCD document\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a FCD items handle, suitable for traversal with the Tree API\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a FCD paths handle, suitable for traversal with the Tree API\r\n|-
 +
| style="background-color:#f8e8ff;" | Override item value from the FCD document from path\r\n|-
 +
| style="background-color:#f8e8ff;" | Reset paths item value from the FCD document\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Sound">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Plays a formatted file sound, returns true if the sound played OK\r\n|-
 +
| style="background-color:#f8e8ff;" | Loads a wave file into memory, providing the values needed to play it\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a sound object that data can be played through\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the volume of playbacks for this sound\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the volume of playbacks for this sound in the range 0 to 1\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the number of bits per sample for the sound\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the current sample rate for the sound\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the current sample rate for the sound - this will stop the playing sound\r\n|-
 +
| style="background-color:#f8e8ff;" | Queues a sound for playing\r\n|-
 +
| style="background-color:#f8e8ff;" | Queues a sound for playing, with the format provided\r\n|-
 +
| style="background-color:#f8e8ff;" | Stops all playing and queued sounds\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the number of sample blocks queued or playing for the sound\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="DataRecorder">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Adds a group to the scope to which streams may be added\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the visibility of the given group\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds a stream to the given group suitable for inputs and operations\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds a fixed-view stream to the given group suitable for inputs and operations\r\n|-
 +
| style="background-color:#f8e8ff;" | Renames the given scope group, stream or buffer\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the labels for the Y-axis of the given stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the group, stream or buffers line colour\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the streams line colour\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the groups background colour\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the stream groups background colour\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether a stream can be decoded via the components event - defaults to 'true'\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets whether a stream can be decoded via the components event - defaults to 'true'\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds an input to the stream from a port\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds an input to the stream from an analog channel\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds an input to the stream from a custom injection\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds an operation to act on the inputs of the stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Clears all inputs and operations from the given stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the contents of a snapshot stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets one of 32 custom analog values for the group\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a block of the output stream with each input sample operated on, returns number of samples read\r\n|-
 +
| style="background-color:#f8e8ff;" | Searches back through the output history for a value, returns offset of found sample from TimeUS, 0 if not found\r\n|-
 +
| style="background-color:#f8e8ff;" | Attempts to calculate the wave period given a series of transitions for the stream, returns calculated period\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the graphical format of the packets added with AddPacket and Add...Packets\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the graphical format of the packets added with AddPacket and Add...Packets\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds an overlay packet to the stream at a given offset from the current time\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds overlay packets to the stream by decoding the stream contents with a fixed period rate\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds overlay packets to the stream by decoding the stream contents with a variable period rate\r\n|-
 +
| style="background-color:#f8e8ff;" | Clears existing overlay packets from the stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Clears all existing overlay packets from the stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Converts a duration in ticks into a time in seconds\r\n|-
 +
| style="background-color:#f8e8ff;" | Converts a time in seconds into a duration in ticks\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Calculations">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Converts a float to an array containing 4 bytes\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns a float value from an unsigned long representation (used to store or transfer it)\r\n|-
 +
| style="background-color:#f8e8ff;" | Calculates the frequency from an array of data.\r\n|-
 +
| style="background-color:#f8e8ff;" | Calculates the amplitude from an array of data.\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Console">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Adds a window to the list of consoles available\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds a window to the list of consoles available\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the default (read-only) console window\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a console window\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the name of a console\r\n|-
 +
| style="background-color:#f8e8ff;" | Renames the given console\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets whether to show address and bytes for the console\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the colour of text inserted by the user from now on\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the colour of text inserted by the component from now on\r\n|-
 +
| style="background-color:#f8e8ff;" | Adds a block of text to the console window\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads a line of text from the given console, pass -1 for final line\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes a line of text from the given console, pass -1 for final line\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads a line of bytes from the given console extending the array if needed\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes a line of bytes from the given console, pass -1 for final line\r\n|-
 +
| style="background-color:#f8e8ff;" | Counts the number of lines in the console\r\n|-
 +
| style="background-color:#f8e8ff;" | Clears all the text in the console\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Connection">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets a ports value from its index\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets a ports value from its index\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets an analog value from its channel index\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets an analog value from its index, range 0->1\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a ports details from its name or index\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Expand">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Expands a string using the built-in pathname expansion variables\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a string to the name of a macro used in the generated code\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a string to the name of a global variable used in the generated code\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a string to the name of a property used in the generated code\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a macro name to the code generated for the header of that macro\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a macro name to the code generated for the body of that macro\r\n|-
 +
| style="background-color:#f8e8ff;" | Expands a macro name to the code generated for the tail of that macro\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Tree">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets the value of the given object, if available\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the name of the given object\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the full '.' separated name of the given object\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the value of a named sub-item of the given object, if available\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to step depth-first through the tree\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the next (younger) sibling\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the next (younger) sibling matching the name\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the Nth next (younger) sibling matching the name\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the last (elder) sibling\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to its parent object\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the root of the tree\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the head (eldest) child\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the tail (youngest) child\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the '.' separated named child path\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the number of immediate children present for the object\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns true if the object has children, else false\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the number of immediate children present for the object\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns true if the object has a parent, else false if it is the root\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the head (eldest) attribute, if any\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the tail (youngest) attribute, if any\r\n|-
 +
| style="background-color:#f8e8ff;" | Updates the object to point to the named attribute, if any\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a copy of the handle and returns the copy\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="File">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Gets an absolute path from a relative filename\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets an relative path from an absolute filename\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a directory structure\r\n|-
 +
| style="background-color:#f8e8ff;" | Finds the type of a file: 0=Unknown, 1=File, 2=Dir, 4=Disk\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the number of bytes in the file, by handle or name\r\n|-
 +
| style="background-color:#f8e8ff;" | Deletes the file or directory structure\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates the new file as a standard stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Opens the existing file as a standard stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads an array from the file, returns elements read\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes an array to the file\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the position of the next read or write in the file\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the position of the next read or write in the file\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes all unwritten data to the file in one block\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | Buffer
 +
|-
 +
| style="background-color:#f8e8ff;" | Opens the existing file as a circular buffer\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates the new file as a circular buffer\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads a single byte from the input stream, -1 if empty\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes a single byte to the input stream\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads an array from the input stream, returns elements read\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes an array to the input stream\r\n|-
 +
| colspan="3" align="center" style="background-color:#EAE1EA;" | NVM
 +
|-
 +
| style="background-color:#f8e8ff;" | Opens the existing file as a block of non-volatile memory\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates the new file as a block of non-volatile memory\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads a single byte from the NVM, -1 if empty\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes a single byte to the NVM multiple times\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads an array from the NVM, returns elements read\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes an array to the NVM\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="UI">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Displays a simple 'Ok' message box\r\n|-
 +
| style="background-color:#f8e8ff;" | Invokes the Win32 API MessageBox function\r\n|-
 +
| style="background-color:#f8e8ff;" | Displays a simple 'Yes/No' message box\r\n|-
 +
| style="background-color:#f8e8ff;" | Displays a simple 'Yes/No/Cancel' message box (0 == Cancel, 1 == No, 2 == Yes)\r\n|-
 +
| style="background-color:#f8e8ff;" | Displays a message box that allows the user to input text. Returns true if 'Ok' clicked, false otherwise\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Time">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Returns the value of a monotonic non-decrementing millisecond counter\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the current UTC Modified Julian Date value\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the current local time as a Modified Julian Date value\r\n|-
 +
| style="background-color:#f8e8ff;" | Increments or decrements a Modified Julian Date and millisecond value\r\n|-
 +
| style="background-color:#f8e8ff;" | Converts a Modified Julian Date into a Gregorian calendar date\r\n|-
 +
| style="background-color:#f8e8ff;" | Converts a Gregorian calendar date into a Modified Julian Date\r\n|-
 +
| style="background-color:#f8e8ff;" | Converts a Modified Julian Date into a number of seconds since a specified epoch\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the Modified Julian Date given by the number of seconds since a specified epoch\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the day of the week that the MJD represents\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns true if the given year is a leap year, else false\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns the number of days in the given month\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Language">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Takes English text and optional hint and converts to the current language\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="System">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Sends a System.User message to the targeted component\r\n|-
 +
| style="background-color:#f8e8ff;" | Sends the currently processing message to the target\r\n|-
 +
| style="background-color:#f8e8ff;" | Returns true if the macro exists\r\n|-
 +
| style="background-color:#f8e8ff;" | Calls a macro\r\n|-
 +
| style="background-color:#f8e8ff;" | Given a handle to an object with viewable presence, shows that object on screen\r\n|-
 +
| style="background-color:#f8e8ff;" | Creates a general-purpose garbage collected handle for resource management\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets a general purpose word in the handle for use by its owner\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets a general-purpose word set by the owner of a custom handle\r\n|-
 +
| style="background-color:#f8e8ff;" | Deletes any handle created by the component\r\n|-
 +
| style="background-color:#f8e8ff;" | Gets the handle of the component that posted this event - 0 for system\r\n|-
 +
| style="background-color:#f8e8ff;" | Calls the Component.Timer event with Ident as an argument after Millisecs time\r\n|-
 +
| style="background-color:#f8e8ff;" | Kills any timers with the given ident for this component\r\n|-
 +
| style="background-color:#f8e8ff;" | Enables or disables the software watchdog during long operations\r\n|-
 +
| style="background-color:#f8e8ff;" | Claims an event message by name, returns true if claimed\r\n|-
 +
| style="background-color:#f8e8ff;" | Releases a previously claimed an event message by name, returns true if released\r\n|-
 +
| style="background-color:#f8e8ff;" | Allows an event to be fired or removes the ability for an event to fire - this may be nested\r\n|-
 +
| style="background-color:#f8e8ff;" | Claims mouse clicks for the target object\r\n|-
 +
| style="background-color:#f8e8ff;" | Releases mouse clicks for the target object\r\n|-
 +
| style="background-color:#f8e8ff;" | Allows calls to one of your children to be redirected to another component\r\n|-
 +
| style="background-color:#f8e8ff;" | Start the simulation engine\r\n|-
 +
| style="background-color:#f8e8ff;" | Stop the simulation engine\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the speed the simulation engine\r\n|-
 +
| style="background-color:#f8e8ff;" | Sets the clipboard with text data\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads text data from the clipboard\r\n|-
 +
| style="background-color:#f8e8ff;" | Checks to see if a Flowcode window has the focus\r\n|-
 +
| style="background-color:#f8e8ff;" | Launches an external file or program on this computer\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes an integer value to the registry\r\n|-
 +
| style="background-color:#f8e8ff;" | Writes a string value to the registry\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads an integer value from the registry\r\n|-
 +
| style="background-color:#f8e8ff;" | Reads a string value from the registry\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Debug">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| style="background-color:#f8e8ff;" | Prints out the string or value on a line in the debug window\r\n|-
 +
| style="background-color:#f8e8ff;" | Prints out the string or value with a new-line in the debug window\r\n|-
 +
| style="background-color:#f8e8ff;" | Temporary debug function\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
</tabs>
 +
 
 +
==Events==
 +
 
 +
<tabs>
 +
 
 +
<tab name="Compile">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Broadcast to all components immediately before compilation is started|Broadcast to all components immediately before compilation is started]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components immediately before compilation is started\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of global property declarations|Sent to a component to allow dynamic amendment of global property declarations]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global property declarations\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of global variable declarations|Sent to a component to allow dynamic amendment of global variable declarations]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global variable declarations\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of global array-size declarations|Sent to a component to allow dynamic amendment of global array-size declarations]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global array-size declarations\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of global constant declarations|Sent to a component to allow dynamic amendment of global constant declarations]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global constant declarations\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of header code|Sent to a component to allow dynamic amendment of header code]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of header code\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of the interrupts for a component|Sent to a component to allow dynamic amendment of the interrupts for a component]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of the interrupts for a component\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to allow dynamic amendment of a single interrupts code|Sent to a component to allow dynamic amendment of a single interrupts code]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of a single interrupts code\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Broadcast to all components that compilation is starting|Broadcast to all components that compilation is starting]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that compilation is starting\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Broadcast to all components that compilation has stopped|Broadcast to all components that compilation has stopped]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that compilation has stopped\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to amend the size of the expected array|Sent to a component to amend the size of the expected array]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to amend the size of the expected array\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to retrieve tags to be placed in the html body|Sent to a component to retrieve tags to be placed in the html body]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to retrieve tags to be placed in the html body\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Compile.Sent to a component to retrieve script code to be placed in the html header section|Sent to a component to retrieve script code to be placed in the html header section]]\r\n| style="background-color:#f8e8ff;" | Sent to a component to retrieve script code to be placed in the html header section\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Components">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Sent when a property has been changed by the User (specific property and value identified)|Sent when a property has been changed by the User (specific property and value identified)]]\r\n| style="background-color:#f8e8ff;" | Sent when a property has been changed by the User (specific property and value identified)\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Sent when a property has been changed by the User|Sent when a property has been changed by the User]]\r\n| style="background-color:#f8e8ff;" | Sent when a property has been changed by the User\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Sent to the component when the project is closing|Sent to the component when the project is closing]]\r\n| style="background-color:#f8e8ff;" | Sent to the component when the project is closing\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Broadcast to all existing components once a new component has been added|Broadcast to all existing components once a new component has been added]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components once a new component has been added\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Broadcast to all existing components when a new component is about to be added|Broadcast to all existing components when a new component is about to be added]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components when a new component is about to be added\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Sent to the mouse target when the user has altered the position of a component child|Sent to the mouse target when the user has altered the position of a component child]]\r\n| style="background-color:#f8e8ff;" | Sent to the mouse target when the user has altered the position of a component child\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Broadcast to all remaining components after a component has been removed|Broadcast to all remaining components after a component has been removed]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all remaining components after a component has been removed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Broadcast to all existing components when a component is about to be removed|Broadcast to all existing components when a component is about to be removed]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components when a component is about to be removed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Sent to the component when the component is renamed|Sent to the component when the component is renamed]]\r\n| style="background-color:#f8e8ff;" | Sent to the component when the component is renamed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Closedown routine for the component|Closedown routine for the component]]\r\n| style="background-color:#f8e8ff;" | Closedown routine for the component\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Send to a component when it is being deleted|Send to a component when it is being deleted]]\r\n| style="background-color:#f8e8ff;" | Send to a component when it is being deleted\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Initialisation routine for the component once the component is linked to its parent|Initialisation routine for the component once the component is linked to its parent]]\r\n| style="background-color:#f8e8ff;" | Initialisation routine for the component once the component is linked to its parent\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Components.Initialisation routine before the component is linked to its parent|Initialisation routine before the component is linked to its parent]]\r\n| style="background-color:#f8e8ff;" | Initialisation routine before the component is linked to its parent\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Console">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Console.Post to the owning component when a line is inserted by the user|Post to the owning component when a line is inserted by the user]]\r\n| style="background-color:#f8e8ff;" | Post to the owning component when a line is inserted by the user\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Console.Post when the console text is changed by the user in some way|Post when the console text is changed by the user in some way]]\r\n| style="background-color:#f8e8ff;" | Post when the console text is changed by the user in some way\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Console.Post when the console memory is changed by the user in some way|Post when the console memory is changed by the user in some way]]\r\n| style="background-color:#f8e8ff;" | Post when the console memory is changed by the user in some way\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Connection">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent when auto-populate of digital connections is requested|Sent when auto-populate of digital connections is requested]]\r\n| style="background-color:#f8e8ff;" | Sent when auto-populate of digital connections is requested\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent during simulation if a connected port pin changes|Sent during simulation if a connected port pin changes]]\r\n| style="background-color:#f8e8ff;" | Sent during simulation if a connected port pin changes\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent when auto-populate of analog connections is requested|Sent when auto-populate of analog connections is requested]]\r\n| style="background-color:#f8e8ff;" | Sent when auto-populate of analog connections is requested\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent during simulation if a connected ADC channel changes|Sent during simulation if a connected ADC channel changes]]\r\n| style="background-color:#f8e8ff;" | Sent during simulation if a connected ADC channel changes\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent when the target device has changed|Sent when the target device has changed]]\r\n| style="background-color:#f8e8ff;" | Sent when the target device has changed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent when the component is compiled with unconnected pins|Sent when the component is compiled with unconnected pins]]\r\n| style="background-color:#f8e8ff;" | Sent when the component is compiled with unconnected pins\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Connection.Sent when some settings of the target device have changed|Sent when some settings of the target device have changed]]\r\n| style="background-color:#f8e8ff;" | Sent when some settings of the target device have changed\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Simulation">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Simulation.Broadcast to all components that simulation has paused|Broadcast to all components that simulation has paused]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has paused\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Simulation.Broadcast to all components that simulation has resumed|Broadcast to all components that simulation has resumed]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has resumed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Simulation.Broadcast to all components that simulation is starting|Broadcast to all components that simulation is starting]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation is starting\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Simulation.Broadcast to all components that simulation has stopped|Broadcast to all components that simulation has stopped]]\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has stopped\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="System">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event System.Called when a custom handle is deleted to allow cleanup of resources|Called when a custom handle is deleted to allow cleanup of resources]]\r\n| style="background-color:#f8e8ff;" | Called when a custom handle is deleted to allow cleanup of resources\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event System.Called back on the panel command System.TimerStart|Called back on the panel command System.TimerStart]]\r\n| style="background-color:#f8e8ff;" | Called back on the panel command System.TimerStart\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event System.Called back on the panel command System.Notify|Called back on the panel command System.Notify]]\r\n| style="background-color:#f8e8ff;" | Called back on the panel command System.Notify\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event System.Broadcast after a project has finished loading|Broadcast after a project has finished loading]]\r\n| style="background-color:#f8e8ff;" | Broadcast after a project has finished loading\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Sound">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Sound.Sent when a sound queued by the component has finished playing|Sent when a sound queued by the component has finished playing]]\r\n| style="background-color:#f8e8ff;" | Sent when a sound queued by the component has finished playing\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="DataRecorder">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event DataRecorder.Sent when Packet_ResyncEv is specified in scope decoding|Sent when Packet_ResyncEv is specified in scope decoding]]\r\n| style="background-color:#f8e8ff;" | Sent when Packet_ResyncEv is specified in scope decoding\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event DataRecorder.Sent when a block of the stream is to be decoded into packets|Sent when a block of the stream is to be decoded into packets]]\r\n| style="background-color:#f8e8ff;" | Sent when a block of the stream is to be decoded into packets\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event DataRecorder.Sent when a %e is read in a format string when decoding a packet|Sent when a %e is read in a format string when decoding a packet]]\r\n| style="background-color:#f8e8ff;" | Sent when a %e is read in a format string when decoding a packet\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event DataRecorder.Sent when the mouse hovers over a scope stream|Sent when the mouse hovers over a scope stream]]\r\n| style="background-color:#f8e8ff;" | Sent when the mouse hovers over a scope stream\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Tooltip">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Tooltip.Called when a tooltip graphic is updating with the draw image already pushed|Called when a tooltip graphic is updating with the draw image already pushed]]\r\n| style="background-color:#f8e8ff;" | Called when a tooltip graphic is updating with the draw image already pushed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Tooltip.Called when a tooltip text string can be displayed|Called when a tooltip text string can be displayed]]\r\n| style="background-color:#f8e8ff;" | Called when a tooltip text string can be displayed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Tooltip.Called when a tooltip graphic can be displayed with the draw image already pushed|Called when a tooltip graphic can be displayed with the draw image already pushed]]\r\n| style="background-color:#f8e8ff;" | Called when a tooltip graphic can be displayed with the draw image already pushed\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="File">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event File.Sent when a file being watched has changed|Sent when a file being watched has changed]]\r\n| style="background-color:#f8e8ff;" | Sent when a file being watched has changed\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event File.Sent when a file monitor is being closed|Sent when a file monitor is being closed]]\r\n| style="background-color:#f8e8ff;" | Sent when a file monitor is being closed\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Graphics">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Graphics.Notification than an animation has finished|Notification than an animation has finished]]\r\n| style="background-color:#f8e8ff;" | Notification than an animation has finished\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Graphics.Updates the background container of the 2d panel|Updates the background container of the 2d panel]]\r\n| style="background-color:#f8e8ff;" | Updates the background container of the 2d panel\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Graphics.Reconstructs and redraws the target component|Reconstructs and redraws the target component]]\r\n| style="background-color:#f8e8ff;" | Reconstructs and redraws the target component\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Keyboard">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Keyboard.Sent to give a meaningful name to a button on a simulated mouse-click|Sent to give a meaningful name to a button on a simulated mouse-click]]\r\n| style="background-color:#f8e8ff;" | Sent to give a meaningful name to a button on a simulated mouse-click\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Keyboard.Post when a mapped key is pressed for the component|Post when a mapped key is pressed for the component]]\r\n| style="background-color:#f8e8ff;" | Post when a mapped key is pressed for the component\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Keyboard.Post when a mapped key is released for the component|Post when a mapped key is released for the component]]\r\n| style="background-color:#f8e8ff;" | Post when a mapped key is released for the component\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Keyboard.Sent to find out how many keys it is possible to map to the component during simulation|Sent to find out how many keys it is possible to map to the component during simulation]]\r\n| style="background-color:#f8e8ff;" | Sent to find out how many keys it is possible to map to the component during simulation\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Keyboard.Sent to give a meaningful name to a custom key-map event for a component|Sent to give a meaningful name to a custom key-map event for a component]]\r\n| style="background-color:#f8e8ff;" | Sent to give a meaningful name to a custom key-map event for a component\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
<tab name="Mouse">
 +
 
 +
{| class="wikitable" style="width: 800px; background-color:#FFFFFF;"
 +
|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Mouse.Post when the mouse is released on a child of the component during simulation|Post when the mouse is released on a child of the component during simulation]]\r\n| style="background-color:#f8e8ff;" | Post when the mouse is released on a child of the component during simulation\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Mouse.Post when the mouse is clicked on a child of the component during simulation|Post when the mouse is clicked on a child of the component during simulation]]\r\n| style="background-color:#f8e8ff;" | Post when the mouse is clicked on a child of the component during simulation\r\n|-
 +
| colspan="2" style="background-color:#f8e8ff;" | [[Event Mouse.Post when the mouse is dragged on a child of the component during simulation|Post when the mouse is dragged on a child of the component during simulation]]\r\n| style="background-color:#f8e8ff;" | Post when the mouse is dragged on a child of the component during simulation\r\n|-
 +
|}
 +
 
 +
</tab>
 +
 
 +
</tabs>

Revision as of 15:46, 13 January 2023

Built in functions

Property
Gets the value of a property as a string\r\n|- Sets a components 'color' property as a R,G,B value\r\n|- Sets a components property as a string\r\n|- Copies a property value from one target to another\r\n|- Sets all child components property as a string\r\n|- Copies the values of a properties children from the source to dest\r\n|- Sets whether the property is visible or not\r\n|- Sets whether the property can be edited in the UI or not\r\n|- Gets whether the property is visible or not\r\n|- Gets whether the property can be edited in the UI or not\r\n|- Gets a components property filter string for lists, files, etc\r\n|- Sets a components property filter string for lists, files, etc\r\n|- Copies a property filter from one target to another\r\n|- Gets a single lists index value from a property by line number\r\n|- Gets a single list entry from a property by named index\r\n|- Sets an existing list entries text for the property by named index\r\n|- Alters or appends a list entries text for the property by named index\r\n|- Returns the id of the panel hosting the component\r\n|- Sets whether a component can interact with the mouse\r\n|- Gets whether a component can interact with the mouse\r\n|- Sets whether a component can be seen on the panel\r\n|- Gets whether a component can be seen on the panel\r\n|- Sets whether a component is checked in collision detections\r\n|- Gets whether a component is checked in collision detections\r\n|- Sets whether a component is considered for compilation or not\r\n|- Gets whether a component will be compiled or not\r\n|- Gets the type-instance of the component, >= 1 is valid\r\n|- Finds a named object that is part of the component\r\n|- Gets the root component handle\r\n|- Gets the top-level owner of the component\r\n|- Gets the owner of the component\r\n|- Gets the next (younger) sibling of the components handle\r\n|- Gets the previous (elder) sibling of the components handle\r\n|- Gets the first (eldest) child of the component\r\n|- Gets the last (youngest) child of the component\r\n|- Gets the original definition of the component, returns Current if no original copy\r\n|- Clones an existing object to another position on the panel\r\n|- Deletes an existing object, removing it from the panel\r\n|-
Returns the name of the panel from the id\r\n|- Returns the main background colour of the panel\r\n|- Gets the number of 2d panels\r\n|- Creates a new 2d panel\r\n|- Adds a new component to a panel\r\n|- Position
Returns the positions coordinates in (X,Y,Z) array\r\n|- Returns the component size in (X,Y,Z) array\r\n|- Moves the object to the given coordinates in World coordinates\r\n|- Sets the objects size to a value\r\n|- Gets a handle to an object representing the components current position\r\n|- Gets a handle to an empty position\r\n|- Sets an objects position based on a component or pre-defined position\r\n|- Sets an objects coordinates based on a position\r\n|- Sets an objects scale based on a position\r\n|- Sets an objects orientation based on a position\r\n|- Gets a handle to an object representing the components bounding box position\r\n|- Returns the position of a line's nodes as a comma-separated list\r\n|- Sets the nodes of a line\r\n|- Blends positions from two sources to a destination\r\n|- Blends positions from two sources to a destination over time\r\n|- Stops all animations started by this component\r\n|- Moves the object by the given offset relative to its parent along an axis\r\n|- Moves the object by the given offset relative to its parent\r\n|- Moves the object to the given coordinates relative to its parent\r\n|- Sets the objects scale to a value\r\n|- Multiplies the objects scale by a value\r\n|- Divides the objects scale by a value\r\n|- Rotates the object to the given rotation\r\n|- Rotates the object by the given rotation along an axis\r\n|- Rotates the object around the X axis\r\n|- Rotates the object around the Y axis\r\n|- Rotates the object around the Z axis\r\n|- Returns the positions coordinates in (X,Y,Z) array\r\n|- Returns the positions scale in (X,Y,Z) array\r\n|- Returns the positions quaternion in (X,Y,Z,W) array\r\n|- Returns the positions euler angles in (P,Y,R) array\r\n|- Coordinate maths functions\r\n|- 2D Panel functions\r\n|- Camera positioning for 3D panel\r\n|- PCloud
Creates a new point cloud tied to a position handle\r\n|- Sets whether the point cloud is displayed or not\r\n|- Sets the position for the point cloud to be located at\r\n|- Gets the position the point cloud is located at\r\n|- Sets the X,Y,Z point lists\r\n|- Sets the X,Y,Z point lists\r\n|- Sets the X,Y,Z point lists in a height-map grid\r\n|- Sets the X,Y,Z point lists in a height-map grid\r\n|- Sets the X,Y,Z point lists in a flat height-map grid\r\n|- Given an XY on the grid, sets the vertex value at that point\r\n|- Creates a unit scaled axis (X, Y or Z) with a center of zero and a range of two\r\n|- Sets the RGB colour of the entire cloud\r\n|- Sets the RGB colour of the individual points in the cloud\r\n|- Given an XY on the grid, sets the vertex colour at that point\r\n|- Sets the rendering mode of the point cloud\r\n|- Enables or disables simple lighting for point mode, providing a normal passing through the point and (0,0,0)\r\n|- Manually refresh the screen the point cloud exists on\r\n|- LinkBar
Creates a new bar linking a pair of position handles\r\n|- Sets whether the link is displayed or not\r\n|- Sets the position for the start point of the bar\r\n|- Sets the position for the end point of the bar\r\n|- Sets the clipping adjustments for the beginning of the link\r\n|- Sets the clipping adjustments for the end of the link\r\n|- Sets the graphic for the start point of the bar\r\n|- Sets the graphic for the main line of the bar\r\n|- Sets the graphic for the end point of the bar\r\n|- Gets the position the bars start point is located at\r\n|- Gets the position the bar is located at\r\n|- Gets the position the bars end point is located at\r\n|- Manually refresh the screen the bar exists on\r\n|- Sets whether Flowcode should automatically draw links for component object property types\r\n|- TextLabel
Creates a new text label that always faces the camera\r\n|- Sets whether the label is displayed or not\r\n|- Sets the position for the point to draw the text at\r\n|- Sets the offset from the SetPos() position for the label\r\n|- Sets the text for the label\r\n|- Sets the multipliers for the width and height of the label\r\n|- Sets the foreground and background colours for the label\r\n|- Sets whether to draw at a fixed size or to scale based on distance from the camera\r\n|- Gets the position the label is located at\r\n|- Manually refresh the screen the label exists on\r\n|- Collision
Tests whether an object collides with the table top, returns Z distance to move to rest on the table\r\n|- Tests whether an object collides with a position\r\n|- Tests whether an object collides with a position\r\n|- Returns the position to move Pos to so it does not collide with Test - null if no collide\r\n|- Tests whether an object collides with a position\r\n|- Returns the position to move Pos to so it does not collide with any other object - null if no collide\r\n|- Graphics
Sends a redraw request to the given component\r\n|- Sets the draw colour for and subsequent graphics objects\r\n|- Sets the draw colour for and subsequent graphics objects\r\n|- Sets the text font for subsequent text objects\r\n|- Sets the text scale for subsequent text objects\r\n|- Sets the thinkness when drawing lines and points\r\n|- Creates a drawing area on a shape\r\n|- Begins drawing on a given shape\r\n|- Ends drawing started with DrawBegin()\r\n|- Deletes a drawing area for a shape\r\n|- Draws a line of text texture\r\n|- Draws a point on a texture\r\n|- Draws a line on a texture\r\n|- Draws a smooth line on a texture\r\n|- Draws a rectangle on a texture\r\n|- Draws a circle on a texture\r\n|- Clear texture to the given component\r\n|- Routines to change the last drawn shape\r\n|-
Gets the button state from the mouse: 4 for left, 1 for right\r\n|- Gets the handle of the component under the mouse\r\n|- Gets the position of the mouse, intersecting with a component or the viewing plane\r\n|- Gets the X/Y position of the mouse in screen coords\r\n|- Gets the side of the component clicked on, 0 to 5\r\n|- Simulates a click on an object\r\n|- Simulates a click-drag on an object\r\n|- Simulates a click-release on an object\r\n|-
Simulates a key-press on an object\r\n|- Simulates a key-release on an object\r\n|-
Gets a paths item value from the FCD document\r\n|- Gets a FCD items handle, suitable for traversal with the Tree API\r\n|- Gets a FCD paths handle, suitable for traversal with the Tree API\r\n|- Override item value from the FCD document from path\r\n|- Reset paths item value from the FCD document\r\n|-
Plays a formatted file sound, returns true if the sound played OK\r\n|- Loads a wave file into memory, providing the values needed to play it\r\n|- Creates a sound object that data can be played through\r\n|- Sets the volume of playbacks for this sound\r\n|- Gets the volume of playbacks for this sound in the range 0 to 1\r\n|- Gets the number of bits per sample for the sound\r\n|- Gets the current sample rate for the sound\r\n|- Sets the current sample rate for the sound - this will stop the playing sound\r\n|- Queues a sound for playing\r\n|- Queues a sound for playing, with the format provided\r\n|- Stops all playing and queued sounds\r\n|- Gets the number of sample blocks queued or playing for the sound\r\n|-
Adds a group to the scope to which streams may be added\r\n|- Sets the visibility of the given group\r\n|- Adds a stream to the given group suitable for inputs and operations\r\n|- Adds a fixed-view stream to the given group suitable for inputs and operations\r\n|- Renames the given scope group, stream or buffer\r\n|- Sets the labels for the Y-axis of the given stream\r\n|- Sets the group, stream or buffers line colour\r\n|- Gets the streams line colour\r\n|- Sets the groups background colour\r\n|- Gets the stream groups background colour\r\n|- Sets whether a stream can be decoded via the components event - defaults to 'true'\r\n|- Gets whether a stream can be decoded via the components event - defaults to 'true'\r\n|- Adds an input to the stream from a port\r\n|- Adds an input to the stream from an analog channel\r\n|- Adds an input to the stream from a custom injection\r\n|- Adds an operation to act on the inputs of the stream\r\n|- Clears all inputs and operations from the given stream\r\n|- Sets the contents of a snapshot stream\r\n|- Sets one of 32 custom analog values for the group\r\n|- Gets a block of the output stream with each input sample operated on, returns number of samples read\r\n|- Searches back through the output history for a value, returns offset of found sample from TimeUS, 0 if not found\r\n|- Attempts to calculate the wave period given a series of transitions for the stream, returns calculated period\r\n|- Sets the graphical format of the packets added with AddPacket and Add...Packets\r\n|- Returns the graphical format of the packets added with AddPacket and Add...Packets\r\n|- Adds an overlay packet to the stream at a given offset from the current time\r\n|- Adds overlay packets to the stream by decoding the stream contents with a fixed period rate\r\n|- Adds overlay packets to the stream by decoding the stream contents with a variable period rate\r\n|- Clears existing overlay packets from the stream\r\n|- Clears all existing overlay packets from the stream\r\n|- Converts a duration in ticks into a time in seconds\r\n|- Converts a time in seconds into a duration in ticks\r\n|-
Converts a float to an array containing 4 bytes\r\n|- Returns a float value from an unsigned long representation (used to store or transfer it)\r\n|- Calculates the frequency from an array of data.\r\n|- Calculates the amplitude from an array of data.\r\n|-
Adds a window to the list of consoles available\r\n|- Adds a window to the list of consoles available\r\n|- Gets the default (read-only) console window\r\n|- Gets a console window\r\n|- Returns the name of a console\r\n|- Renames the given console\r\n|- Sets whether to show address and bytes for the console\r\n|- Sets the colour of text inserted by the user from now on\r\n|- Sets the colour of text inserted by the component from now on\r\n|- Adds a block of text to the console window\r\n|- Reads a line of text from the given console, pass -1 for final line\r\n|- Writes a line of text from the given console, pass -1 for final line\r\n|- Reads a line of bytes from the given console extending the array if needed\r\n|- Writes a line of bytes from the given console, pass -1 for final line\r\n|- Counts the number of lines in the console\r\n|- Clears all the text in the console\r\n|-
Gets a ports value from its index\r\n|- Sets a ports value from its index\r\n|- Gets an analog value from its channel index\r\n|- Sets an analog value from its index, range 0->1\r\n|- Gets a ports details from its name or index\r\n|-
Expands a string using the built-in pathname expansion variables\r\n|- Expands a string to the name of a macro used in the generated code\r\n|- Expands a string to the name of a global variable used in the generated code\r\n|- Expands a string to the name of a property used in the generated code\r\n|- Expands a macro name to the code generated for the header of that macro\r\n|- Expands a macro name to the code generated for the body of that macro\r\n|- Expands a macro name to the code generated for the tail of that macro\r\n|-
Gets the value of the given object, if available\r\n|- Gets the name of the given object\r\n|- Gets the full '.' separated name of the given object\r\n|- Gets the value of a named sub-item of the given object, if available\r\n|- Updates the object to step depth-first through the tree\r\n|- Updates the object to point to the next (younger) sibling\r\n|- Updates the object to point to the next (younger) sibling matching the name\r\n|- Updates the object to point to the Nth next (younger) sibling matching the name\r\n|- Updates the object to point to the last (elder) sibling\r\n|- Updates the object to point to its parent object\r\n|- Updates the object to point to the root of the tree\r\n|- Updates the object to point to the head (eldest) child\r\n|- Updates the object to point to the tail (youngest) child\r\n|- Updates the object to point to the '.' separated named child path\r\n|- Returns the number of immediate children present for the object\r\n|- Returns true if the object has children, else false\r\n|- Returns the number of immediate children present for the object\r\n|- Returns true if the object has a parent, else false if it is the root\r\n|- Updates the object to point to the head (eldest) attribute, if any\r\n|- Updates the object to point to the tail (youngest) attribute, if any\r\n|- Updates the object to point to the named attribute, if any\r\n|- Creates a copy of the handle and returns the copy\r\n|-
Gets an absolute path from a relative filename\r\n|- Gets an relative path from an absolute filename\r\n|- Creates a directory structure\r\n|- Finds the type of a file: 0=Unknown, 1=File, 2=Dir, 4=Disk\r\n|- Gets the number of bytes in the file, by handle or name\r\n|- Deletes the file or directory structure\r\n|- Creates the new file as a standard stream\r\n|- Opens the existing file as a standard stream\r\n|- Reads an array from the file, returns elements read\r\n|- Writes an array to the file\r\n|- Sets the position of the next read or write in the file\r\n|- Gets the position of the next read or write in the file\r\n|- Writes all unwritten data to the file in one block\r\n|- Buffer
Opens the existing file as a circular buffer\r\n|- Creates the new file as a circular buffer\r\n|- Reads a single byte from the input stream, -1 if empty\r\n|- Writes a single byte to the input stream\r\n|- Reads an array from the input stream, returns elements read\r\n|- Writes an array to the input stream\r\n|- NVM
Opens the existing file as a block of non-volatile memory\r\n|- Creates the new file as a block of non-volatile memory\r\n|- Reads a single byte from the NVM, -1 if empty\r\n|- Writes a single byte to the NVM multiple times\r\n|- Reads an array from the NVM, returns elements read\r\n|- Writes an array to the NVM\r\n|-
Displays a simple 'Ok' message box\r\n|- Invokes the Win32 API MessageBox function\r\n|- Displays a simple 'Yes/No' message box\r\n|- Displays a simple 'Yes/No/Cancel' message box (0 == Cancel, 1 == No, 2 == Yes)\r\n|- Displays a message box that allows the user to input text. Returns true if 'Ok' clicked, false otherwise\r\n|-
Returns the value of a monotonic non-decrementing millisecond counter\r\n|- Returns the current UTC Modified Julian Date value\r\n|- Returns the current local time as a Modified Julian Date value\r\n|- Increments or decrements a Modified Julian Date and millisecond value\r\n|- Converts a Modified Julian Date into a Gregorian calendar date\r\n|- Converts a Gregorian calendar date into a Modified Julian Date\r\n|- Converts a Modified Julian Date into a number of seconds since a specified epoch\r\n|- Returns the Modified Julian Date given by the number of seconds since a specified epoch\r\n|- Gets the day of the week that the MJD represents\r\n|- Returns true if the given year is a leap year, else false\r\n|- Returns the number of days in the given month\r\n|-
Takes English text and optional hint and converts to the current language\r\n|-
Sends a System.User message to the targeted component\r\n|- Sends the currently processing message to the target\r\n|- Returns true if the macro exists\r\n|- Calls a macro\r\n|- Given a handle to an object with viewable presence, shows that object on screen\r\n|- Creates a general-purpose garbage collected handle for resource management\r\n|- Sets a general purpose word in the handle for use by its owner\r\n|- Gets a general-purpose word set by the owner of a custom handle\r\n|- Deletes any handle created by the component\r\n|- Gets the handle of the component that posted this event - 0 for system\r\n|- Calls the Component.Timer event with Ident as an argument after Millisecs time\r\n|- Kills any timers with the given ident for this component\r\n|- Enables or disables the software watchdog during long operations\r\n|- Claims an event message by name, returns true if claimed\r\n|- Releases a previously claimed an event message by name, returns true if released\r\n|- Allows an event to be fired or removes the ability for an event to fire - this may be nested\r\n|- Claims mouse clicks for the target object\r\n|- Releases mouse clicks for the target object\r\n|- Allows calls to one of your children to be redirected to another component\r\n|- Start the simulation engine\r\n|- Stop the simulation engine\r\n|- Sets the speed the simulation engine\r\n|- Sets the clipboard with text data\r\n|- Reads text data from the clipboard\r\n|- Checks to see if a Flowcode window has the focus\r\n|- Launches an external file or program on this computer\r\n|- Writes an integer value to the registry\r\n|- Writes a string value to the registry\r\n|- Reads an integer value from the registry\r\n|- Reads a string value from the registry\r\n|-
Prints out the string or value on a line in the debug window\r\n|- Prints out the string or value with a new-line in the debug window\r\n|- Temporary debug function\r\n|-

Events

Broadcast to all components immediately before compilation is started\r\n| style="background-color:#f8e8ff;" | Broadcast to all components immediately before compilation is started\r\n|- Sent to a component to allow dynamic amendment of global property declarations\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global property declarations\r\n|- Sent to a component to allow dynamic amendment of global variable declarations\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global variable declarations\r\n|- Sent to a component to allow dynamic amendment of global array-size declarations\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global array-size declarations\r\n|- Sent to a component to allow dynamic amendment of global constant declarations\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of global constant declarations\r\n|- Sent to a component to allow dynamic amendment of header code\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of header code\r\n|- Sent to a component to allow dynamic amendment of the interrupts for a component\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of the interrupts for a component\r\n|- Sent to a component to allow dynamic amendment of a single interrupts code\r\n| style="background-color:#f8e8ff;" | Sent to a component to allow dynamic amendment of a single interrupts code\r\n|- Broadcast to all components that compilation is starting\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that compilation is starting\r\n|- Broadcast to all components that compilation has stopped\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that compilation has stopped\r\n|- Sent to a component to amend the size of the expected array\r\n| style="background-color:#f8e8ff;" | Sent to a component to amend the size of the expected array\r\n|- Sent to a component to retrieve tags to be placed in the html body\r\n| style="background-color:#f8e8ff;" | Sent to a component to retrieve tags to be placed in the html body\r\n|- Sent to a component to retrieve script code to be placed in the html header section\r\n| style="background-color:#f8e8ff;" | Sent to a component to retrieve script code to be placed in the html header section\r\n|-
Sent when a property has been changed by the User (specific property and value identified)\r\n| style="background-color:#f8e8ff;" | Sent when a property has been changed by the User (specific property and value identified)\r\n|- Sent when a property has been changed by the User\r\n| style="background-color:#f8e8ff;" | Sent when a property has been changed by the User\r\n|- Sent to the component when the project is closing\r\n| style="background-color:#f8e8ff;" | Sent to the component when the project is closing\r\n|- Broadcast to all existing components once a new component has been added\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components once a new component has been added\r\n|- Broadcast to all existing components when a new component is about to be added\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components when a new component is about to be added\r\n|- Sent to the mouse target when the user has altered the position of a component child\r\n| style="background-color:#f8e8ff;" | Sent to the mouse target when the user has altered the position of a component child\r\n|- Broadcast to all remaining components after a component has been removed\r\n| style="background-color:#f8e8ff;" | Broadcast to all remaining components after a component has been removed\r\n|- Broadcast to all existing components when a component is about to be removed\r\n| style="background-color:#f8e8ff;" | Broadcast to all existing components when a component is about to be removed\r\n|- Sent to the component when the component is renamed\r\n| style="background-color:#f8e8ff;" | Sent to the component when the component is renamed\r\n|- Closedown routine for the component\r\n| style="background-color:#f8e8ff;" | Closedown routine for the component\r\n|- Send to a component when it is being deleted\r\n| style="background-color:#f8e8ff;" | Send to a component when it is being deleted\r\n|- Initialisation routine for the component once the component is linked to its parent\r\n| style="background-color:#f8e8ff;" | Initialisation routine for the component once the component is linked to its parent\r\n|- Initialisation routine before the component is linked to its parent\r\n| style="background-color:#f8e8ff;" | Initialisation routine before the component is linked to its parent\r\n|-
Post to the owning component when a line is inserted by the user\r\n| style="background-color:#f8e8ff;" | Post to the owning component when a line is inserted by the user\r\n|- Post when the console text is changed by the user in some way\r\n| style="background-color:#f8e8ff;" | Post when the console text is changed by the user in some way\r\n|- Post when the console memory is changed by the user in some way\r\n| style="background-color:#f8e8ff;" | Post when the console memory is changed by the user in some way\r\n|-
Sent when auto-populate of digital connections is requested\r\n| style="background-color:#f8e8ff;" | Sent when auto-populate of digital connections is requested\r\n|- Sent during simulation if a connected port pin changes\r\n| style="background-color:#f8e8ff;" | Sent during simulation if a connected port pin changes\r\n|- Sent when auto-populate of analog connections is requested\r\n| style="background-color:#f8e8ff;" | Sent when auto-populate of analog connections is requested\r\n|- Sent during simulation if a connected ADC channel changes\r\n| style="background-color:#f8e8ff;" | Sent during simulation if a connected ADC channel changes\r\n|- Sent when the target device has changed\r\n| style="background-color:#f8e8ff;" | Sent when the target device has changed\r\n|- Sent when the component is compiled with unconnected pins\r\n| style="background-color:#f8e8ff;" | Sent when the component is compiled with unconnected pins\r\n|- Sent when some settings of the target device have changed\r\n| style="background-color:#f8e8ff;" | Sent when some settings of the target device have changed\r\n|-
Broadcast to all components that simulation has paused\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has paused\r\n|- Broadcast to all components that simulation has resumed\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has resumed\r\n|- Broadcast to all components that simulation is starting\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation is starting\r\n|- Broadcast to all components that simulation has stopped\r\n| style="background-color:#f8e8ff;" | Broadcast to all components that simulation has stopped\r\n|-
Called when a custom handle is deleted to allow cleanup of resources\r\n| style="background-color:#f8e8ff;" | Called when a custom handle is deleted to allow cleanup of resources\r\n|- Called back on the panel command System.TimerStart\r\n| style="background-color:#f8e8ff;" | Called back on the panel command System.TimerStart\r\n|- Called back on the panel command System.Notify\r\n| style="background-color:#f8e8ff;" | Called back on the panel command System.Notify\r\n|- Broadcast after a project has finished loading\r\n| style="background-color:#f8e8ff;" | Broadcast after a project has finished loading\r\n|-
Sent when a sound queued by the component has finished playing\r\n| style="background-color:#f8e8ff;" | Sent when a sound queued by the component has finished playing\r\n|-
Sent when Packet_ResyncEv is specified in scope decoding\r\n| style="background-color:#f8e8ff;" | Sent when Packet_ResyncEv is specified in scope decoding\r\n|- Sent when a block of the stream is to be decoded into packets\r\n| style="background-color:#f8e8ff;" | Sent when a block of the stream is to be decoded into packets\r\n|- Sent when a %e is read in a format string when decoding a packet\r\n| style="background-color:#f8e8ff;" | Sent when a %e is read in a format string when decoding a packet\r\n|- Sent when the mouse hovers over a scope stream\r\n| style="background-color:#f8e8ff;" | Sent when the mouse hovers over a scope stream\r\n|-
Called when a tooltip graphic is updating with the draw image already pushed\r\n| style="background-color:#f8e8ff;" | Called when a tooltip graphic is updating with the draw image already pushed\r\n|- Called when a tooltip text string can be displayed\r\n| style="background-color:#f8e8ff;" | Called when a tooltip text string can be displayed\r\n|- Called when a tooltip graphic can be displayed with the draw image already pushed\r\n| style="background-color:#f8e8ff;" | Called when a tooltip graphic can be displayed with the draw image already pushed\r\n|-
Sent when a file being watched has changed\r\n| style="background-color:#f8e8ff;" | Sent when a file being watched has changed\r\n|- Sent when a file monitor is being closed\r\n| style="background-color:#f8e8ff;" | Sent when a file monitor is being closed\r\n|-
Notification than an animation has finished\r\n| style="background-color:#f8e8ff;" | Notification than an animation has finished\r\n|- Updates the background container of the 2d panel\r\n| style="background-color:#f8e8ff;" | Updates the background container of the 2d panel\r\n|- Reconstructs and redraws the target component\r\n| style="background-color:#f8e8ff;" | Reconstructs and redraws the target component\r\n|-
Sent to give a meaningful name to a button on a simulated mouse-click\r\n| style="background-color:#f8e8ff;" | Sent to give a meaningful name to a button on a simulated mouse-click\r\n|- Post when a mapped key is pressed for the component\r\n| style="background-color:#f8e8ff;" | Post when a mapped key is pressed for the component\r\n|- Post when a mapped key is released for the component\r\n| style="background-color:#f8e8ff;" | Post when a mapped key is released for the component\r\n|- Sent to find out how many keys it is possible to map to the component during simulation\r\n| style="background-color:#f8e8ff;" | Sent to find out how many keys it is possible to map to the component during simulation\r\n|- Sent to give a meaningful name to a custom key-map event for a component\r\n| style="background-color:#f8e8ff;" | Sent to give a meaningful name to a custom key-map event for a component\r\n|-
Post when the mouse is released on a child of the component during simulation\r\n| style="background-color:#f8e8ff;" | Post when the mouse is released on a child of the component during simulation\r\n|- Post when the mouse is clicked on a child of the component during simulation\r\n| style="background-color:#f8e8ff;" | Post when the mouse is clicked on a child of the component during simulation\r\n|- Post when the mouse is dragged on a child of the component during simulation\r\n| style="background-color:#f8e8ff;" | Post when the mouse is dragged on a child of the component during simulation\r\n|-