Routine Operations: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
This page lists all of the routine operations available in Planimate as of 5.09m. The operations all link to pages with their name but most of these pages will not exist. Where an operation warrents further discussion, these links can be followed and the pages created.
This page lists all of the routine operations available in Planimate as of 5.09m. The operations all link to pages with their name but most of these pages will not exist. Where an operation warrents further discussion, these links can be followed and the pages created.  


''This page is automatically created. Please do not edit it.''
''This page is automatically created. Please do not edit it.''  


__TOC__
__TOC__  


== Arithmetic ==
== Arithmetic ==


=== Add ( + ) ===
=== Add ( + ) ===


Add two values/rows/columns/tables
Add two values/rows/columns/tables  


  '''[[Add|$R = $1 + $2]]'''
  '''[[Add|$R = $1 + $2]]'''
Line 17: Line 17:
  $2 = Value 2
  $2 = Value 2


=== Clear ===
=== Clear ===


Set the target value to its initialising value
Set the target value to its initialising value  


  '''[[Clear|$R = CLEAR]]'''
  '''[[Clear|$R = CLEAR]]'''
Line 25: Line 25:
  $R = Clear
  $R = Clear


=== Dec ( -= ) ===
=== Dec ( -= ) ===


Decrement first value/row/column/table by second value
Decrement first value/row/column/table by second value  


  '''[[Dec|$R -= $1]]'''
  '''[[Dec|$R -= $1]]'''
Line 34: Line 34:
  $1 = Decr. by
  $1 = Decr. by


=== Div ( / ) ===
=== Div ( / ) ===


Divide values/rows/columns/tables
Divide values/rows/columns/tables  


  '''[[Div|$R = $1 / $2]]'''
  '''[[Div|$R = $1 / $2]]'''
Line 44: Line 44:
  $2 = Value 2
  $2 = Value 2


=== Inc ( += ) ===
=== Inc ( += ) ===


Increment first value/row/column/table by second value
Increment first value/row/column/table by second value  


  '''[[Inc|$R += $1]]'''
  '''[[Inc|$R += $1]]'''
Line 53: Line 53:
  $1 = Incr. by
  $1 = Incr. by


=== InterpolateValue ===
=== InterpolateValue ===


Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)
Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)  


  '''[[InterpolateValue|$R = InterpolateValue($1,$2,$3)]]'''
  '''[[InterpolateValue|$R = InterpolateValue($1,$2,$3)]]'''
Line 64: Line 64:
  $3 = Ratio
  $3 = Ratio


=== Mul ( * ) ===
=== Mul ( * ) ===


Multiply values/rows/columns/tables
Multiply values/rows/columns/tables  


  '''[[Mul|$R = $1 * $2]]'''
  '''[[Mul|$R = $1 * $2]]'''
Line 74: Line 74:
  $2 = Value 2
  $2 = Value 2


=== Scale ( *= ) ===
=== Scale ( *= ) ===


Scale first value/row/column/table by second value
Scale first value/row/column/table by second value  


  '''[[Scale|$R *= $1]]'''
  '''[[Scale|$R *= $1]]'''
Line 83: Line 83:
  $1 = Scale by
  $1 = Scale by


=== Set ( = ) ===
=== Set ( = ) ===


Assign a value/row/column/table to another of the same type and size
Assign a value/row/column/table to another of the same type and size  


  '''[[Set|$R = $1]]'''
  '''[[Set|$R = $1]]'''
Line 92: Line 92:
  $1 = Set To
  $1 = Set To


=== Sub ( - ) ===
=== Sub ( - ) ===


Subtract two values/rows/columns/tables
Subtract two values/rows/columns/tables  


  '''[[Sub|$R = $1 - $2]]'''
  '''[[Sub|$R = $1 - $2]]'''
Line 102: Line 102:
  $2 = Value 2
  $2 = Value 2


== Control ==
== Control ==


=== BREAKLOOP ===
=== BREAKLOOP ===


Immediately exits an ITERATE loop
Immediately exits an ITERATE loop  


  '''[[BREAKLOOP|BREAKLOOP]]'''
  '''[[BREAKLOOP|BREAKLOOP]]'''
   
   


=== CASE ===
=== CASE ===


Tests a condition and if true, executes the code following until another CASE or DEFAULT is reached
Tests a condition and if true, executes the code following until another CASE or DEFAULT is reached  


  '''[[CASE|CASE ($F)]]'''
  '''[[CASE|CASE ($F)]]'''
Line 119: Line 119:
  $F = CASE
  $F = CASE


=== DEFAULT ===
=== DEFAULT ===


Marks code that should be executed if no CASES match in a SELECT block
Marks code that should be executed if no CASES match in a SELECT block  


  '''[[DEFAULT|DEFAULT]]'''
  '''[[DEFAULT|DEFAULT]]'''
   
   


=== ELSE ===
=== ELSE ===


Enables an alternate block of code to execute if an IF test fails to be true
Enables an alternate block of code to execute if an IF test fails to be true  


  '''[[ELSE|ELSE]]'''
  '''[[ELSE|ELSE]]'''
   
   


=== ENDIF ===
=== ENDIF ===


Marks the end of an IF block
Marks the end of an IF block  


  '''[[ENDIF|ENDIF]]'''
  '''[[ENDIF|ENDIF]]'''
   
   


=== ENDLOOP ===
=== ENDLOOP ===


Marks the end of an ITERATE block
Marks the end of an ITERATE block  


  '''[[ENDLOOP|ENDLOOP]]'''
  '''[[ENDLOOP|ENDLOOP]]'''
   
   


=== ENDSELECT ===
=== ENDSELECT ===


Marks the end of a SELECT block
Marks the end of a SELECT block  


  '''[[ENDSELECT|ENDSELECT]]'''
  '''[[ENDSELECT|ENDSELECT]]'''
   
   


=== ENDWHILE ===
=== ENDWHILE ===


Marks the end of a WHILE block
Marks the end of a WHILE block  


  '''[[ENDWHILE|ENDWHILE]]'''
  '''[[ENDWHILE|ENDWHILE]]'''
   
   


=== IF ===
=== IF ===


Executes lines following only if the condition is true
Executes lines following only if the condition is true  


  '''[[IF|IF ($F)]]'''
  '''[[IF|IF ($F)]]'''
Line 169: Line 169:
  $F = IF
  $F = IF


=== ITERATE ===
=== ITERATE ===


Repeats a block of routine lines, incrementing an attribute over a range
Repeats a block of routine lines, incrementing an attribute over a range  


  '''[[ITERATE|ITERATE $R FROM $1 TO $2]]'''
  '''[[ITERATE|ITERATE $R FROM $1 TO $2]]'''
Line 179: Line 179:
  $2 = Last Value
  $2 = Last Value


=== ITERATEROWS ===
=== ITERATEROWS ===


Iterate Row Index over all the rows in the table
Iterate Row Index over all the rows in the table  


  '''[[ITERATEROWS|ITERATEROWS $R OVER $1]]'''
  '''[[ITERATEROWS|ITERATEROWS $R OVER $1]]'''
   
   
  $R = Row Index  
  $R = Row Index
  $1 = Table    
  $1 = Table


=== REVERSEITERATE ===
=== REVERSEITERATE ===


Iterate the result attribute over the given range in descending order
Iterate the result attribute over the given range in descending order  


  '''[[REVERSEITERATE|REVERSEITERATE $R FROM $1 TO $2]]'''
  '''[[REVERSEITERATE|REVERSEITERATE $R FROM $1 TO $2]]'''
Line 198: Line 198:
  $2 = Last Value
  $2 = Last Value


=== SELECT ===
=== SELECT ===


Starts a block where CASEs can be used to execute different code for conditions tested
Starts a block where CASEs can be used to execute different code for conditions tested  


  '''[[SELECT|SELECT]]'''
  '''[[SELECT|SELECT]]'''
   
   


=== WHILE ===
=== WHILE ===


Repeats a block of lines until the condition is false; the condition is tested first
Repeats a block of lines until the condition is false; the condition is tested first  


  '''[[WHILE|WHILE ($F)]]'''
  '''[[WHILE|WHILE ($F)]]'''
Line 213: Line 213:
  $F = WHILE
  $F = WHILE


== Display ==
== Display ==


=== Animate ===
=== Animate ===


Animate a model object to a new screen position
Animate a model object to a new screen position  


  '''[[Animate|Animate($1,$2,$3)]]'''
  '''[[Animate|Animate($1,$2,$3)]]'''
   
   
  $1 = Object
  $1 = Object
  $2 = X Pos  
  $2 = X Pos
  $3 = Y Pos  
  $3 = Y Pos


=== ChooseColor ===
=== ChooseColor ===


Shows the color palette selector dialog
Shows the color palette selector dialog  


  '''[[ChooseColor|$R = ChooseColor($1)]]'''
  '''[[ChooseColor|$R = ChooseColor($1)]]'''
Line 234: Line 234:
  $1 = Selection Color
  $1 = Selection Color


=== ColorPaletteEntry ===
=== ColorPaletteEntry ===


Returns the RGB color for a given color index in the Planimate color palette
Returns the RGB color for a given color index in the Planimate color palette  


  '''[[ColorPaletteEntry|$R = ColorPaletteEntry($1)]]'''
  '''[[ColorPaletteEntry|$R = ColorPaletteEntry($1)]]'''
   
   
  $R = Result      
  $R = Result
  $1 = Palette Index
  $1 = Palette Index


=== FitPanelToArea ===
=== FitPanelToArea ===


Fits the panel to the area of its contents with a margin
Fits the panel to the area of its contents with a margin  


  '''[[FitPanelToArea|FitPanelToArea($1,$2)]]'''
  '''[[FitPanelToArea|FitPanelToArea($1,$2)]]'''
Line 252: Line 252:
  $2 = Margin
  $2 = Margin


=== ForceRepaint ===
=== ForceRepaint ===


Repaints all windows; use with care, it can cause slowdown
Repaints all windows; use with care, it can cause slowdown  


  '''[[ForceRepaint|ForceRepaint]]'''
  '''[[ForceRepaint|ForceRepaint]]'''
   
   


=== ForceRepaintPanel ===
=== ForceRepaintPanel ===


Repaints the specified panel
Repaints the specified panel  


  '''[[ForceRepaintPanel|ForceRepaintPanel($1)]]'''
  '''[[ForceRepaintPanel|ForceRepaintPanel($1)]]'''
Line 267: Line 267:
  $1 = Panel
  $1 = Panel


=== GetSystemColorRGB ===
=== GetSystemColorRGB ===


Returns the RGB color for a given color in the Windows system color palette
Returns the RGB color for a given color in the Windows system color palette  


  '''[[GetSystemColorRGB|$R = GetSystemColorRGB($1)]]'''
  '''[[GetSystemColorRGB|$R = GetSystemColorRGB($1)]]'''
Line 276: Line 276:
  $1 = Value
  $1 = Value


=== GraphXOffset ===
=== GraphXOffset ===


Read the offset of a graph view for a table on the given panel
Read the offset of a graph view for a table on the given panel  


  '''[[GraphXOffset|$R = GraphXOffset($1,$2)]]'''
  '''[[GraphXOffset|$R = GraphXOffset($1,$2)]]'''
Line 286: Line 286:
  $2 = Panel
  $2 = Panel


=== GraphXWidth ===
=== GraphXWidth ===


Read the width of a graph view for a table on the given panel
Read the width of a graph view for a table on the given panel  


  '''[[GraphXWidth|$R = GraphXWidth($1,$2)]]'''
  '''[[GraphXWidth|$R = GraphXWidth($1,$2)]]'''
Line 296: Line 296:
  $2 = Panel
  $2 = Panel


=== HidePanel ===
=== HidePanel ===


Hides any popup for the given panel
Hides any popup for the given panel  


  '''[[HidePanel|HidePanel($1)]]'''
  '''[[HidePanel|HidePanel($1)]]'''
Line 304: Line 304:
  $1 = Target Panel
  $1 = Target Panel


=== HideTableEditor ===
=== HideTableEditor ===


Close any open table editor for the given table
Close any open table editor for the given table  


  '''[[HideTableEditor|HideTableEditor($1)]]'''
  '''[[HideTableEditor|HideTableEditor($1)]]'''
Line 312: Line 312:
  $1 = Table
  $1 = Table


=== MakeVisible ===
=== MakeVisible ===


Makes the specified panel the active panel on the main window
Makes the specified panel the active panel on the main window  


  '''[[MakeVisible|MakeVisible($1)]]'''
  '''[[MakeVisible|MakeVisible($1)]]'''
Line 320: Line 320:
  $1 = Target Subsystem
  $1 = Target Subsystem


=== PanelWindowLeft ===
=== PanelWindowLeft ===


Returns the left window co-ordinate of a popup panel
Returns the left window co-ordinate of a popup panel  


  '''[[PanelWindowLeft|$R = PanelWindowLeft($1)]]'''
  '''[[PanelWindowLeft|$R = PanelWindowLeft($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Panel  
  $1 = Panel


=== PanelWindowTop ===
=== PanelWindowTop ===


Returns the top window co-ordinate of a popup panel
Returns the top window co-ordinate of a popup panel  


  '''[[PanelWindowTop|$R = PanelWindowTop($1)]]'''
  '''[[PanelWindowTop|$R = PanelWindowTop($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Panel  
  $1 = Panel


=== PrintPanel ===
=== PrintPanel ===


Queues the nominated panel for printing; additional panels can be printed by intercepting the _Panel Printed broadcast
Queues the nominated panel for printing; additional panels can be printed by intercepting the _Panel Printed broadcast  


  '''[[PrintPanel|PrintPanel($1)]]'''
  '''[[PrintPanel|PrintPanel($1)]]'''
Line 346: Line 346:
  $1 = Target Subsystem
  $1 = Target Subsystem


=== RepaintObjects ===
=== RepaintObjects ===


Forces a repaint of dynamic objects only; faster than a full force repaint
Forces a repaint of dynamic objects only; faster than a full force repaint  


  '''[[RepaintObjects|RepaintObjects]]'''
  '''[[RepaintObjects|RepaintObjects]]'''
   
   


=== SetActivityString ===
=== SetActivityString ===


Sets text in the status bar activity area
Sets text in the status bar activity area  


  '''[[SetActivityString|SetActivityString($1)]]'''
  '''[[SetActivityString|SetActivityString($1)]]'''
Line 361: Line 361:
  $1 = Activity Text
  $1 = Activity Text


=== SetColorPaletteEntry ===
=== SetColorPaletteEntry ===


Sets the RGB color for a given color in the Planimate color palette
Sets the RGB color for a given color in the Planimate color palette  


  '''[[SetColorPaletteEntry|SetColorPaletteEntry($1,$2)]]'''
  '''[[SetColorPaletteEntry|SetColorPaletteEntry($1,$2)]]'''
   
   
  $1 = Palette Index
  $1 = Palette Index
  $2 = RGB Value  
  $2 = RGB Value


=== SetGraphXOffset ===
=== SetGraphXOffset ===


Set the offset of a graph view for a table on the given panel
Set the offset of a graph view for a table on the given panel  


  '''[[SetGraphXOffset|SetGraphXOffset($1,$2,$3)]]'''
  '''[[SetGraphXOffset|SetGraphXOffset($1,$2,$3)]]'''
Line 380: Line 380:
  $3 = Value
  $3 = Value


=== SetGraphXWidth ===
=== SetGraphXWidth ===


Set the width of a graph view for a table on the given panel
Set the width of a graph view for a table on the given panel  


  '''[[SetGraphXWidth|SetGraphXWidth($1,$2,$3)]]'''
  '''[[SetGraphXWidth|SetGraphXWidth($1,$2,$3)]]'''
Line 390: Line 390:
  $3 = Value
  $3 = Value


=== SetPanelColor ===
=== SetPanelColor ===


Sets the background color of a panel
Sets the background color of a panel  


  '''[[SetPanelColor|SetPanelColor($1,$2)]]'''
  '''[[SetPanelColor|SetPanelColor($1,$2)]]'''
   
   
  $1 = Panel  
  $1 = Panel
  $2 = Color
  $2 = Color


=== SetPanelTransparency ===
=== SetPanelTransparency ===


Enables the use of transparency for a panel, value 0..254 or 255 to disable transparency
Enables the use of transparency for a panel, value 0..254 or 255 to disable transparency  


  '''[[SetPanelTransparency|SetPanelTransparency($1,$2)]]'''
  '''[[SetPanelTransparency|SetPanelTransparency($1,$2)]]'''
   
   
  $1 = Panel  
  $1 = Panel
  $2 = Transparency
  $2 = Transparency


=== SetStatusItemAreaString ===
=== SetStatusItemAreaString ===


Sets the text in the status bar area where item class names are displayed during editing
Sets the text in the status bar area where item class names are displayed during editing  


  '''[[SetStatusItemAreaString|SetStatusItemAreaString($1)]]'''
  '''[[SetStatusItemAreaString|SetStatusItemAreaString($1)]]'''
Line 416: Line 416:
  $1 = Item Area Text
  $1 = Item Area Text


=== SetViewportScroll ===
=== SetViewportScroll ===


Set the x and y scroll of a viewport on a given panel
Set the x and y scroll of a viewport on a given panel  


  '''[[SetViewportScroll|SetViewportScroll($R,$1,$2,$3)]]'''
  '''[[SetViewportScroll|SetViewportScroll($R,$1,$2,$3)]]'''
   
   
  $R = Panel With Viewport
  $R = Panel With Viewport
  $1 = Panel Inside Viewport
  $1 = Panel Inside Viewport
  $2 = X Offset
  $2 = X Offset
  $3 = Y Offset
  $3 = Y Offset


=== SetViewportTarget ===
=== SetViewportTarget ===


Set the target of a viewport. Current Panel identifies the viewport and can be zero of the containing panel only has 1 viewport. New Panel sets the new panel to display, 0 makes the viewport hidden in user mode.
Set the target of a viewport. Current Panel identifies the viewport and can be zero of the containing panel only has 1 viewport. New Panel sets the new panel to display, 0 makes the viewport hidden in user mode.  


  '''[[SetViewportTarget|SetViewportTarget($1,$2,$3)]]'''
  '''[[SetViewportTarget|SetViewportTarget($1,$2,$3)]]'''
   
   
  $1 = Panel With Viewport
  $1 = Panel With Viewport
  $2 = Current Panel Inside Viewport
  $2 = Current Panel Inside Viewport
  $3 = New Panel Inside Viewport
  $3 = New Panel Inside Viewport


=== SetViewportZoom ===
=== SetViewportZoom ===


Set the zoom factor of a viewport on a given panel
Set the zoom factor of a viewport on a given panel  


  '''[[SetViewportZoom|SetViewportZoom($R,$1,$2)]]'''
  '''[[SetViewportZoom|SetViewportZoom($R,$1,$2)]]'''
   
   
  $R = Panel With Viewport
  $R = Panel With Viewport
  $1 = Panel Inside Viewport
  $1 = Panel Inside Viewport
  $2 = Zoom Value
  $2 = Zoom Value


=== ShowPopupPanel ===
=== ShowPopupPanel ===


Opens the given panel in a separate window at the specified window co-ordinates
Opens the given panel in a separate window at the specified window co-ordinates  


  '''[[ShowPopupPanel|ShowPopupPanel($1,$2,$3)]]'''
  '''[[ShowPopupPanel|ShowPopupPanel($1,$2,$3)]]'''
Line 457: Line 457:
  $3 = Y Position
  $3 = Y Position


=== ShowTableEditor ===
=== ShowTableEditor ===


Open table editor for the given table
Open table editor for the given table  


  '''[[ShowTableEditor|ShowTableEditor($1)]]'''
  '''[[ShowTableEditor|ShowTableEditor($1)]]'''
Line 465: Line 465:
  $1 = Table
  $1 = Table


=== SwapPopupPanel ===
=== SwapPopupPanel ===


Swaps which panels are visible in a popup panel without closing/reopening it
Swaps which panels are visible in a popup panel without closing/reopening it  


  '''[[SwapPopupPanel|SwapPopupPanel($1,$2)]]'''
  '''[[SwapPopupPanel|SwapPopupPanel($1,$2)]]'''
   
   
  $1 = Target Panel  
  $1 = Target Panel
  $2 = Replace With  
  $2 = Replace With


== Label ==
== Label ==


=== AddLabelDialog ===
=== AddLabelDialog ===


Show a dialog so the user can add a label to the given label list
Show a dialog so the user can add a label to the given label list  


  '''[[AddLabelDialog|AddLabelDialog($R)]]'''
  '''[[AddLabelDialog|AddLabelDialog($R)]]'''
Line 484: Line 484:
  $R = Result
  $R = Result


=== AddSubLabel ===
=== AddSubLabel ===


Makes the new sublabel for the parent label $1 (if it doesn't exist) and returns its index as a sublabel
Makes the new sublabel for the parent label $1 (if it doesn't exist) and returns its index as a sublabel  


  '''[[AddSubLabel|AddSubLabel($R,$1)]]'''
  '''[[AddSubLabel|AddSubLabel($R,$1)]]'''
Line 493: Line 493:
  $1 = Label
  $1 = Label


=== ClearLabelList ===
=== ClearLabelList ===


Removes all labels from a label list
Removes all labels from a label list  


  '''[[ClearLabelList|ClearLabelList($1)]]'''
  '''[[ClearLabelList|ClearLabelList($1)]]'''
Line 501: Line 501:
  $1 = Clear Label List
  $1 = Clear Label List


=== CreateLabelList ===
=== CreateLabelList ===


Creates a label list with the given name and formats the result attribute to reference it
Creates a label list with the given name and formats the result attribute to reference it  


  '''[[CreateLabelList|CreateLabelList($R,$1)]]'''
  '''[[CreateLabelList|CreateLabelList($R,$1)]]'''
Line 510: Line 510:
  $1 = List Name
  $1 = List Name


=== CreateLabelListFromCol ===
=== CreateLabelListFromCol ===


Uses the provided column to provide text for creating a new label list
Uses the provided column to provide text for creating a new label list  


  '''[[CreateLabelListFromCol|CreateLabelListFromColumn($R,$1)]]'''
  '''[[CreateLabelListFromCol|CreateLabelListFromColumn($R,$1)]]'''
   
   
  $R = Target List
  $R = Target List
  $1 = Source Column
  $1 = Source Column


=== CreatePanelPortalLabel ===
=== CreatePanelPortalLabel ===


Creates a panel label for the subsystem of the given portal object label
Creates a panel label for the subsystem of the given portal object label  


  '''[[CreatePanelPortalLabel|$R = CreatePanelPortalLabel($1)]]'''
  '''[[CreatePanelPortalLabel|$R = CreatePanelPortalLabel($1)]]'''
   
   
  $R = New Panel Label  
  $R = New Panel Label
  $1 = Portal Object Label
  $1 = Portal Object Label


=== CreateSubLabelList ===
=== CreateSubLabelList ===


Creates an empty sub label list of an existing label list and formats an attribute to reference it
Creates an empty sub label list of an existing label list and formats an attribute to reference it  


  '''[[CreateSubLabelList|CreateSubLabelList($R,$1,$2)]]'''
  '''[[CreateSubLabelList|CreateSubLabelList($R,$1,$2)]]'''
Line 538: Line 538:
  $2 = Parent List
  $2 = Parent List


=== CreateSubsystemObjectLabel ===
=== CreateSubsystemObjectLabel ===
 
  '''[[CreateSubsystemObjectLabel|$R = CreateSubsystemObjectLabel()]]'''
  '''[[CreateSubsystemObjectLabel|$R = CreateSubsystemObjectLabel()]]'''
   
   
  $R = New Object Label
  $R = New Object Label


=== DeleteLabel ===
=== DeleteLabel ===


Deletes the given label from its labellist
Deletes the given label from its labellist  


  '''[[DeleteLabel|DeleteLabel($1)]]'''
  '''[[DeleteLabel|DeleteLabel($1)]]'''
Line 551: Line 552:
  $1 = Label
  $1 = Label


=== LabelCount ===
=== LabelCount ===


Returns how many labels in the given label list
Returns how many labels in the given label list  


  '''[[LabelCount|$R = LabelCount($1)]]'''
  '''[[LabelCount|$R = LabelCount($1)]]'''
Line 560: Line 561:
  $1 = Label Count
  $1 = Label Count


=== MaxLabelIndex ===
=== MaxLabelIndex ===


Returns the highest allocated label index in the given label list
Returns the highest allocated label index in the given label list  


  '''[[MaxLabelIndex|$R = MaxLabelIndex()]]'''
  '''[[MaxLabelIndex|$R = MaxLabelIndex()]]'''
Line 568: Line 569:
  $R = Result
  $R = Result


=== MinLabelIndex ===
=== MinLabelIndex ===


Returns the lowest allocated label index in the given label list
Returns the lowest allocated label index in the given label list  


  '''[[MinLabelIndex|$R = MinLabelIndex()]]'''
  '''[[MinLabelIndex|$R = MinLabelIndex()]]'''
Line 576: Line 577:
  $R = Result
  $R = Result


=== NextLabelIndex ===
=== NextLabelIndex ===


The next allocated label index for the list or -1 if none
The next allocated label index for the list or -1 if none  


  '''[[NextLabelIndex|$R = NextLabelIndex($1)]]'''
  '''[[NextLabelIndex|$R = NextLabelIndex($1)]]'''
Line 585: Line 586:
  $1 = Label Index
  $1 = Label Index


=== PrevLabelIndex ===
=== PrevLabelIndex ===


The previous allocated label index for the list or -1 if none
The previous allocated label index for the list or -1 if none  


  '''[[PrevLabelIndex|$R = PrevLabelIndex($1)]]'''
  '''[[PrevLabelIndex|$R = PrevLabelIndex($1)]]'''
Line 594: Line 595:
  $1 = Label Index
  $1 = Label Index


=== ReIndexLabelList ===
=== ReIndexLabelList ===


Re-indexes all members in a label list so they have ascending and continuous index values
Re-indexes all members in a label list so they have ascending and continuous index values  


  '''[[ReIndexLabelList|ReIndexLabelList($1)]]'''
  '''[[ReIndexLabelList|ReIndexLabelList($1)]]'''
Line 602: Line 603:
  $1 = Re-index Label List
  $1 = Re-index Label List


=== ReIndexLabels ===
=== ReIndexLabels ===


Remaps labels in the given list using 2 columns of matching from and to values
Remaps labels in the given list using 2 columns of matching from and to values  


  '''[[ReIndexLabels|ReIndexLabels($1,$2,$3)]]'''
  '''[[ReIndexLabels|ReIndexLabels($1,$2,$3)]]'''
   
   
  $1 = Re-index List  
  $1 = Re-index List
  $2 = From Values (Col)
  $2 = From Values (Col)
  $3 = To Values (Col)
  $3 = To Values (Col)


=== RemoveSubLabel ===
=== RemoveSubLabel ===


Removes the sublabel as a member of the sublabel list
Removes the sublabel as a member of the sublabel list  


  '''[[RemoveSubLabel|RemoveSubLabel($1)]]'''
  '''[[RemoveSubLabel|RemoveSubLabel($1)]]'''
Line 620: Line 621:
  $1 = Label
  $1 = Label


=== TestLabelIndex ===
=== TestLabelIndex ===


Tests whether an index has been used in a label list
Tests whether an index has been used in a label list  


  '''[[TestLabelIndex|$R = TestLabelIndex($1,$2)]]'''
  '''[[TestLabelIndex|$R = TestLabelIndex($1,$2)]]'''
Line 630: Line 631:
  $2 = Label List
  $2 = Label List


== Label String ==
== Label String ==


=== AppendToLabel ===
=== AppendToLabel ===


Append text to an existing label
Append text to an existing label  


  '''[[AppendToLabel|AppendToLabel($R,$1)]]'''
  '''[[AppendToLabel|AppendToLabel($R,$1)]]'''
Line 641: Line 642:
  $1 = Source
  $1 = Source


=== CreatePasswordHash ===
=== CreatePasswordHash ===


Uses the 3 text sources to create an unpredictable hash string
Uses the 3 text sources to create an unpredictable hash string  


  '''[[CreatePasswordHash|$R = CreatePasswordHash($1,$2,$3)]]'''
  '''[[CreatePasswordHash|$R = CreatePasswordHash($1,$2,$3)]]'''
Line 652: Line 653:
  $3 = Text-3
  $3 = Text-3


=== CropToCharacters ===
=== CropToCharacters ===


Crop a label to a subset of its text
Crop a label to a subset of its text  


  '''[[CropToCharacters|CropToCharacters($R,$1,$2)]]'''
  '''[[CropToCharacters|CropToCharacters($R,$1,$2)]]'''
Line 662: Line 663:
  $2 = To Char
  $2 = To Char


=== ExtractFileExtention ===
=== ExtractFileExtention ===


Create a label in the target label list which is the file extention of the path/file text
Create a label in the target label list which is the file extention of the path/file text  


  '''[[ExtractFileExtention|ExtractFileExtention($R,$1)]]'''
  '''[[ExtractFileExtention|ExtractFileExtention($R,$1)]]'''
   
   
  $R = Result  
  $R = Result
  $1 = Path/File
  $1 = Path/File


=== ExtractFileName ===
=== ExtractFileName ===


Create a label in the target label list which is the file name from a full path/file text
Create a label in the target label list which is the file name from a full path/file text  


  '''[[ExtractFileName|ExtractFileName($R,$1)]]'''
  '''[[ExtractFileName|ExtractFileName($R,$1)]]'''
   
   
  $R = Result  
  $R = Result
  $1 = Path/File
  $1 = Path/File


=== ExtractIntoFormat ===
=== ExtractIntoFormat ===


Extracts a substring from a formatted value/label and interprets it in the format of the target. If the target is a label list, it gets added as a label if its not already in that list.
Extracts a substring from a formatted value/label and interprets it in the format of the target. If the target is a label list, it gets added as a label if its not already in that list.  


  '''[[ExtractIntoFormat|$R = ExtractIntoFormat($1,$2,$3)]]'''
  '''[[ExtractIntoFormat|$R = ExtractIntoFormat($1,$2,$3)]]'''
Line 691: Line 692:
  $3 = To Char
  $3 = To Char


=== ExtractPathName ===
=== ExtractPathName ===


Create a label in the target label list which is the file name from a full path/file text
Create a label in the target label list which is the file name from a full path/file text  


  '''[[ExtractPathName|ExtractPathName($R,$1)]]'''
  '''[[ExtractPathName|ExtractPathName($R,$1)]]'''
   
   
  $R = Result  
  $R = Result
  $1 = Path/File
  $1 = Path/File


=== FilesInFolder ===
=== FilesInFolder ===


Returns how many files matching a wildcard in the given folder
Returns how many files matching a wildcard in the given folder  


  '''[[FilesInFolder|$R = FilesInFolder($1)]]'''
  '''[[FilesInFolder|$R = FilesInFolder($1)]]'''
   
   
  $R = Target List
  $R = Target List
  $1 = Path/File
  $1 = Path/File


=== FilesInHierarchy ===
=== FilesInHierarchy ===


Retrieve how many files in a file folder (including subfolders)
Retrieve how many files in a file folder (including subfolders)  


  '''[[FilesInHierarchy|$R = FilesInHierarchy($1)]]'''
  '''[[FilesInHierarchy|$R = FilesInHierarchy($1)]]'''
   
   
  $R = Target List
  $R = Target List
  $1 = Path/File
  $1 = Path/File


=== FormatIntoLabel ===
=== FormatIntoLabel ===


Create a new label with the formatted text of the source
Create a new label with the formatted text of the source  


  '''[[FormatIntoLabel|FormatIntoLabel($R,$1)]]'''
  '''[[FormatIntoLabel|FormatIntoLabel($R,$1)]]'''
Line 727: Line 728:
  $1 = Source
  $1 = Source


=== FormatIntoLabelIndex ===
=== FormatIntoLabelIndex ===


Creates a label from the text of source and using the provided index
Creates a label from the text of source and using the provided index  


  '''[[FormatIntoLabelIndex|$R = FormatIntoLabelIndex($1,$2)]]'''
  '''[[FormatIntoLabelIndex|$R = FormatIntoLabelIndex($1,$2)]]'''
Line 737: Line 738:
  $2 = Index
  $2 = Index


=== FormatNameIntoLabel ===
=== FormatNameIntoLabel ===


Creates a label from the name of the given object
Creates a label from the name of the given object  


  '''[[FormatNameIntoLabel|$R = FormatNameIntoLabel($1)]]'''
  '''[[FormatNameIntoLabel|$R = FormatNameIntoLabel($1)]]'''
Line 746: Line 747:
  $1 = Source
  $1 = Source


=== FormattedLabelIndex ===
=== FormattedLabelIndex ===


Determines if the source text is a label and returns its index if it is
Determines if the source text is a label and returns its index if it is  


  '''[[FormattedLabelIndex|$R = FormattedLabelIndex($1)]]'''
  '''[[FormattedLabelIndex|$R = FormattedLabelIndex($1)]]'''
Line 755: Line 756:
  $1 = Source
  $1 = Source


=== FormattedWidth ===
=== FormattedWidth ===


Returns how many characters the referenced data has when it is formatted for display
Returns how many characters the referenced data has when it is formatted for display  


  '''[[FormattedWidth|$R = FormattedWidth($1)]]'''
  '''[[FormattedWidth|$R = FormattedWidth($1)]]'''
Line 764: Line 765:
  $1 = Width Of
  $1 = Width Of


=== FormatTitleIntoLabel ===
=== FormatTitleIntoLabel ===


Creates a label from the title text of the given object
Creates a label from the title text of the given object  


  '''[[FormatTitleIntoLabel|$R = FormatTitleIntoLabel($1)]]'''
  '''[[FormatTitleIntoLabel|$R = FormatTitleIntoLabel($1)]]'''
Line 773: Line 774:
  $1 = Source
  $1 = Source


=== GetAppDataName ===
=== GetAppDataName ===


Get a full documents and settings/Application Data path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.
Get a full documents and settings/Application Data path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.  


  '''[[GetAppDataName|$R = GetAppDataName($1,$2)]]'''
  '''[[GetAppDataName|$R = GetAppDataName($1,$2)]]'''
Line 783: Line 784:
  $2 = Filename
  $2 = Filename


=== GetCharacter ===
=== GetCharacter ===


Extracts a character from the formatted value provided and returns the ascii code
Extracts a character from the formatted value provided and returns the ascii code  


  '''[[GetCharacter|$R = GetCharacter($1,$2)]]'''
  '''[[GetCharacter|$R = GetCharacter($1,$2)]]'''
   
   
  $R = Target  
  $R = Target
  $1 = String  
  $1 = String
  $2 = Character
  $2 = Character


=== GetMyDocumentsName ===
=== GetMyDocumentsName ===


Get a full My Documents path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.
Get a full My Documents path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.  


  '''[[GetMyDocumentsName|$R = GetMyDocumentsName($1,$2)]]'''
  '''[[GetMyDocumentsName|$R = GetMyDocumentsName($1,$2)]]'''
Line 803: Line 804:
  $2 = Filename
  $2 = Filename


=== GetProgramName ===
=== GetProgramName ===


Get the folder containing the running Planimate EXE and append a filename. Sets s.LastAccessedDataFilePath.
Get the folder containing the running Planimate EXE and append a filename. Sets s.LastAccessedDataFilePath.  


  '''[[GetProgramName|GetProgramName($1)]]'''
  '''[[GetProgramName|GetProgramName($1)]]'''
Line 811: Line 812:
  $1 = Filename
  $1 = Filename


=== RemoveFileExtention ===
=== RemoveFileExtention ===


Crop label to remove trailing dot and text
Crop label to remove trailing dot and text  


  '''[[RemoveFileExtention|RemoveFileExtention($R)]]'''
  '''[[RemoveFileExtention|RemoveFileExtention($R)]]'''
Line 819: Line 820:
  $R = Result
  $R = Result


=== RenameLabel ===
=== RenameLabel ===


Change the text of a label
Change the text of a label  


  '''[[RenameLabel|RenameLabel($R,$1)]]'''
  '''[[RenameLabel|RenameLabel($R,$1)]]'''
Line 828: Line 829:
  $1 = Source
  $1 = Source


=== SetFreeTextTitle ===
=== SetFreeTextTitle ===


Sets title of free text editor dialog
Sets title of free text editor dialog  


  '''[[SetFreeTextTitle|SetFreeTextTitle($1)]]'''
  '''[[SetFreeTextTitle|SetFreeTextTitle($1)]]'''
Line 836: Line 837:
  $1 = Title Text
  $1 = Title Text


== Logical ==
== Logical ==


=== BitAND ===
=== BitAND ===


Treat values as integers and bitwise AND them (limited to 14 bits of precision)
Treat values as integers and bitwise AND them (limited to 14 bits of precision)  


  '''[[BitAND|$R = BitAND($1,$2)]]'''
  '''[[BitAND|$R = BitAND($1,$2)]]'''
Line 848: Line 849:
  $2 = Value 2
  $2 = Value 2


=== BitOR ===
=== BitOR ===


Treat values as integers and bitwise OR them (limited to 14 bits of precision)
Treat values as integers and bitwise OR them (limited to 14 bits of precision)  


  '''[[BitOR|$R = BitOR($1,$2)]]'''
  '''[[BitOR|$R = BitOR($1,$2)]]'''
Line 858: Line 859:
  $2 = Value 2
  $2 = Value 2


=== BitXOR ===
=== BitXOR ===


Treat values as integers and bitwise XORs them (limited to 14 bits of precision)
Treat values as integers and bitwise XORs them (limited to 14 bits of precision)  


  '''[[BitXOR|$R = BitXOR($1,$2)]]'''
  '''[[BitXOR|$R = BitXOR($1,$2)]]'''
Line 868: Line 869:
  $2 = Value 2
  $2 = Value 2


=== Condition ===
=== Condition ===


Evaluate a condition specified in a dialog
Evaluate a condition specified in a dialog  


  '''[[Condition|$R = Condition($F)]]'''
  '''[[Condition|$R = Condition($F)]]'''
Line 877: Line 878:
  $F = Set using
  $F = Set using


=== EQ ( == ) ===
=== EQ ( == ) ===


Determines if 2 values are numerically close to each other
Determines if 2 values are numerically close to each other  


  '''[[EQ|$R = $1 == $2]]'''
  '''[[EQ|$R = $1 == $2]]'''
Line 887: Line 888:
  $2 = Value 2
  $2 = Value 2


=== GE ( >= ) ===
=== GE ( >= ) ===


Determines if the first value is greater than or equal to the second
Determines if the first value is greater than or equal to the second  


  '''[[GE|$R = $1 >= $2]]'''
  '''[[GE|$R = $1 >= $2]]'''
   
   
  $R = Result
  $R = Result
Line 897: Line 898:
  $2 = Value 2
  $2 = Value 2


=== GT ( > ) ===
=== GT ( > ) ===


Determines if the first value is significantly greater than the second value
Determines if the first value is significantly greater than the second value  


  '''[[GT|$R = $1 > $2]]'''
  '''[[GT|$R = $1 > $2]]'''
   
   
  $R = Result
  $R = Result
Line 907: Line 908:
  $2 = Value 2
  $2 = Value 2


=== LE ( <= ) ===
=== LE ( &lt;= ) ===


Determines if the first value is less than or equal to the second
Determines if the first value is less than or equal to the second  


  '''[[LE|$R = $1 <= $2]]'''
  '''[[LE|$R = $1 &lt;= $2]]'''
   
   
  $R = Result
  $R = Result
Line 917: Line 918:
  $2 = Value 2
  $2 = Value 2


=== LT ( < ) ===
=== LT ( &lt; ) ===


Determines if the first value is significantly less than the second value
Determines if the first value is significantly less than the second value  


  '''[[LT|$R = $1 < $2]]'''
  '''[[LT|$R = $1 &lt; $2]]'''
   
   
  $R = Result
  $R = Result
Line 927: Line 928:
  $2 = Value 2
  $2 = Value 2


=== NEQ ( != ) ===
=== NEQ (&nbsp;!= ) ===


Determines if 2 values are not numerically close to each otherclose to each other
Determines if 2 values are not numerically close to each otherclose to each other  


  '''[[NEQ|$R = $1 != $2]]'''
  '''[[NEQ|$R = $1 != $2]]'''
Line 937: Line 938:
  $2 = Value 2
  $2 = Value 2


== Message ==
== Message ==


=== Broadcast ===
=== Broadcast ===


Sends a broadcast to the entire model, optionally including the item's attributes
Sends a broadcast to the entire model, optionally including the item's attributes  


  '''[[Broadcast|Broadcast($1,$2)]]'''
  '''[[Broadcast|Broadcast($1,$2)]]'''
Line 948: Line 949:
  $2 =  With Item Info
  $2 =  With Item Info


=== BroadcastScoped ===
=== BroadcastScoped ===


Sends a broadcast to a specified dynamic panel and all under it, optionally including the item's attributes
Sends a broadcast to a specified dynamic panel and all under it, optionally including the item's attributes  


  '''[[BroadcastScoped|BroadcastScoped($1,$2,$3)]]'''
  '''[[BroadcastScoped|BroadcastScoped($1,$2,$3)]]'''
Line 958: Line 959:
  $3 = Send To Subsystem
  $3 = Send To Subsystem


=== BroadcastToPanel ===
=== BroadcastToPanel ===


Sends a broadcast to a specified dynamic panel, optionally including the item's attributes
Sends a broadcast to a specified dynamic panel, optionally including the item's attributes  


  '''[[BroadcastToPanel|BroadcastToPanel($1,$2,$3)]]'''
  '''[[BroadcastToPanel|BroadcastToPanel($1,$2,$3)]]'''
Line 968: Line 969:
  $3 = Send To Subsystem
  $3 = Send To Subsystem


=== ImmediateMessage ===
=== ImmediateMessage ===


Send a message whilst the item waits at the change object
Send a message whilst the item waits at the change object  


  '''[[ImmediateMessage|ImmediateMessage($1)]]'''
  '''[[ImmediateMessage|ImmediateMessage($1)]]'''
   
   
  $1 = Message Target  
  $1 = Message Target


=== ImmediateMessageNamed ===
=== ImmediateMessageNamed ===


Send a message to a specified portal with a specific name whilst the item waits at the change object
Send a message to a specified portal with a specific name whilst the item waits at the change object  


  '''[[ImmediateMessageNamed|ImmediateMessageNamed($1,$2)]]'''
  '''[[ImmediateMessageNamed|ImmediateMessageNamed($1,$2)]]'''
   
   
  $1 = Message Target  
  $1 = Message Target
  $2 = Message Name  
  $2 = Message Name


=== ReleaseWaitingItem ===
=== ReleaseWaitingItem ===


Used to signal a waiting dispatcher on the target panel that a given item should be released
Used to signal a waiting dispatcher on the target panel that a given item should be released  


  '''[[ReleaseWaitingItem|$R = ReleaseWaitingItem($1,$2)]]'''
  '''[[ReleaseWaitingItem|$R = ReleaseWaitingItem($1,$2)]]'''
Line 995: Line 996:
  $2 = Scope Panel
  $2 = Scope Panel


=== ReverseItemDirection ===
=== ReverseItemDirection ===


Searches spatial links for the item and if found, reverses the direction of the item
Searches spatial links for the item and if found, reverses the direction of the item  


  '''[[ReverseItemDirection|$R = ReverseItemDirection($1,$2)]]'''
  '''[[ReverseItemDirection|$R = ReverseItemDirection($1,$2)]]'''
Line 1,005: Line 1,006:
  $2 = Scope Panel
  $2 = Scope Panel


== Numeric ==
== Numeric ==


=== abs ===
=== abs ===


Magnitude of a value, without the sign
Magnitude of a value, without the sign  


  '''[[abs|$R = abs($1)]]'''
  '''[[Abs|$R = abs($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value 1
  $1 = Value 1


=== max ===
=== max ===


Determines the greater of 2 values
Determines the greater of 2 values  


  '''[[max|$R = max($1,$2)]]'''
  '''[[Max|$R = max($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,026: Line 1,027:
  $2 = Value 2
  $2 = Value 2


=== min ===
=== min ===


Determines the lesser of 2 values
Determines the lesser of 2 values  


  '''[[min|$R = min($1,$2)]]'''
  '''[[Min|$R = min($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,036: Line 1,037:
  $2 = Value 2
  $2 = Value 2


=== mod ===
=== mod ===


Modulus of $1 over base $2
Modulus of $1 over base $2  


  '''[[mod|$R = mod($1,$2)]]'''
  '''[[Mod|$R = mod($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,046: Line 1,047:
  $2 = Value 2
  $2 = Value 2


=== random ===
=== random ===


Random value between 0 and 1
Random value between 0 and 1  


  '''[[random|$R = random($F)]]'''
  '''[[Random|$R = random($F)]]'''
   
   
  $R = Result
  $R = Result
  $F = Set to
  $F = Set to


=== round ===
=== round ===


Integer closest to the value
Integer closest to the value  


  '''[[round|$R = round($1)]]'''
  '''[[Round|$R = round($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Round Value
  $1 = Round Value


=== RoundToN ===
=== RoundToN ===


Round value to the specified number of digits of precision
Round value to the specified number of digits of precision  


  '''[[RoundToN|$R = RoundToN($1,$2)]]'''
  '''[[RoundToN|$R = RoundToN($1,$2)]]'''
Line 1,074: Line 1,075:
  $2 = Sig. Digits
  $2 = Sig. Digits


=== trunc ===
=== trunc ===


Integer equal or lower than the value
Integer equal or lower than the value  


  '''[[trunc|$R = trunc($1)]]'''
  '''[[Trunc|$R = trunc($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Truncate
  $1 = Truncate


== Paint ==
== Paint ==


=== CopyPaintObject ===
=== CopyPaintObject ===


Enables a paint object to be copied, optionally keeping it inherited from the given master
Enables a paint object to be copied, optionally keeping it inherited from the given master  


  '''[[CopyPaintObject|$R = CopyPaintObject($1,$2,$3)]]'''
  '''[[CopyPaintObject|$R = CopyPaintObject($1,$2,$3)]]'''
   
   
  $R = New Paint Label      
  $R = New Paint Label
  $1 = Original Paint Label
  $1 = Original Paint Label
  $2 = Destination Panel  
  $2 = Destination Panel
  $3 = Inherit The Copy  
  $3 = Inherit The Copy


=== CopyPaintProperties ===
=== CopyPaintProperties ===


Copies the graphical properties between paint objects
Copies the graphical properties between paint objects  


  '''[[CopyPaintProperties|CopyPaintProperties($1,$2)]]'''
  '''[[CopyPaintProperties|CopyPaintProperties($1,$2)]]'''
   
   
  $1 = Paint Object To Update
  $1 = Paint Object To Update
  $2 = Original Paint Object  
  $2 = Original Paint Object


=== DeleteAllPaintObjects ===
=== DeleteAllPaintObjects ===


Delete all paint objects on the given panel
Delete all paint objects on the given panel  


  '''[[DeleteAllPaintObjects|DeleteAllPaintObject($1)]]'''
  '''[[DeleteAllPaintObjects|DeleteAllPaintObject($1)]]'''
Line 1,113: Line 1,114:
  $1 = Target Panel
  $1 = Target Panel


=== DeleteInheritedPaintObjects ===
=== DeleteInheritedPaintObjects ===


Removes all paint objects which inherit from a given panel
Removes all paint objects which inherit from a given panel  


  '''[[DeleteInheritedPaintObjects|DeleteInheritedPaintObjects($1,$2)]]'''
  '''[[DeleteInheritedPaintObjects|DeleteInheritedPaintObjects($1,$2)]]'''
   
   
  $1 = Target Pane    
  $1 = Target Pane
  $2 = Un Inherit Panel
  $2 = Un Inherit Panel


=== DeletePaintObject ===
=== DeletePaintObject ===


Deletes a paint object
Deletes a paint object  


  '''[[DeletePaintObject|DeletePaintObject($1,$2)]]'''
  '''[[DeletePaintObject|DeletePaintObject($1,$2)]]'''
   
   
  $1 = Paint Label  
  $1 = Paint Label
  $2 = With Inherited
  $2 = With Inherited


=== GetPaintProperty ===
=== GetPaintProperty ===


Read a property of a paint object
Read a property of a paint object  


  '''[[GetPaintProperty|$R = GetPaintProperty($1,$2)]]'''
  '''[[GetPaintProperty|$R = GetPaintProperty($1,$2)]]'''
Line 1,139: Line 1,140:
  $R = Result
  $R = Result
  $1 = Paint Object Label
  $1 = Paint Object Label
  $2 = Property Label  
  $2 = Property Label


=== InheritPaintObjects ===
=== InheritPaintObjects ===


Enables a panel to be populated with paint objects from another panel
Enables a panel to be populated with paint objects from another panel  


  '''[[InheritPaintObjects|InheritPaintObjects($1,$2)]]'''
  '''[[InheritPaintObjects|InheritPaintObjects($1,$2)]]'''
   
   
  $1 = Target Panel    
  $1 = Target Panel
  $2 = Inherit From Panel
  $2 = Inherit From Panel


=== InterpolateColor ===
=== InterpolateColor ===


Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)
Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)  


  '''[[InterpolateColor|$R = InterpolateColor($1,$2,$3)]]'''
  '''[[InterpolateColor|$R = InterpolateColor($1,$2,$3)]]'''
Line 1,161: Line 1,162:
  $3 = Ratio
  $3 = Ratio


=== SetNoteVisible ===
=== SetNoteVisible ===


Shows or hides an RTF note
Shows or hides an RTF note  


  '''[[SetNoteVisible|SetNoteVisible($1,$2)]]'''
  '''[[SetNoteVisible|SetNoteVisible($1,$2)]]'''
   
   
  $1 = Paint Object Label
  $1 = Paint Object Label
  $2 = Visibility      
  $2 = Visibility


=== SetPaintImage ===
=== SetPaintImage ===


Sets the image of a paint object
Sets the image of a paint object  


  '''[[SetPaintImage|SetPaintImage($1,$2)]]'''
  '''[[SetPaintImage|SetPaintImage($1,$2)]]'''
Line 1,179: Line 1,180:
  $2 = Set Image To
  $2 = Set Image To


=== SetPaintPosition ===
=== SetPaintPosition ===


Moves a paint object to a new position
Moves a paint object to a new position  


  '''[[SetPaintPosition|SetPaintPosition($1,$2,$3)]]'''
  '''[[SetPaintPosition|SetPaintPosition($1,$2,$3)]]'''
Line 1,189: Line 1,190:
  $3 = Y Pos (lower left)
  $3 = Y Pos (lower left)


=== SetPaintProperty ===
=== SetPaintProperty ===


Set a property of a paint object directly
Set a property of a paint object directly  


  '''[[SetPaintProperty|SetPaintProperty($1,$2,$3)]]'''
  '''[[SetPaintProperty|SetPaintProperty($1,$2,$3)]]'''
   
   
  $1 = Paint Object Label
  $1 = Paint Object Label
  $2 = Property Label  
  $2 = Property Label
  $3 = Property Value  
  $3 = Property Value


=== SetPaintText ===
=== SetPaintText ===


Sets the text of a paint object
Sets the text of a paint object  


  '''[[SetPaintText|SetPaintText($1,$2,$3)]]'''
  '''[[SetPaintText|SetPaintText($1,$2,$3)]]'''
   
   
  $1 = Paint Object Label
  $1 = Paint Object Label
  $2 = Set Text/File To
  $2 = Set Text/File To
  $3 = For All States  
  $3 = For All States


=== SetPaintTip ===
=== SetPaintTip ===


Sets the tool tip text of a paint object
Sets the tool tip text of a paint object  


  '''[[SetPaintTip|SetPaintTip($1,$2,$3)]]'''
  '''[[SetPaintTip|SetPaintTip($1,$2,$3)]]'''
   
   
  $1 = Paint Object Label
  $1 = Paint Object Label
  $2 = Set Tip To
  $2 = Set Tip To
  $3 = For All States  
  $3 = For All States
 
== Route ==
 
=== AddPrimaryBookings ===
 
Adds track network bookings from the table
 
'''[[AddPrimaryBookings|AddPrimaryBookings($1,$2,$3)]]'''
$1 = Section
$2 = Road #
$3 = Source


=== AddSecondaryBookings ===
== Route  ==


Adds track network secondary bookings from the table


'''[[AddSecondaryBookings|AddSecondaryBookings($1,$2,$3)]]'''
$1 = Section
$2 = Road #
$3 = Source


=== AssignRoute ===
=== AssignRoute ===


Sets an item's track route from a route table
Sets an item's track route from a route table  


  '''[[AssignRoute|AssignRoute($1)]]'''
  '''[[AssignRoute|AssignRoute($1)]]'''
   
   
  $1 = Timetable Source
  $1 = Timetable Source
<br>
=== ClearRoute  ===


=== ClearPrimaryBookings ===
Clear an item's routing database  
 
Clears track network primary bookings
 
'''[[ClearPrimaryBookings|ClearPrimaryBookings($1,$2)]]'''
$1 = Section
$2 = Road #
 
=== ClearRoute ===
 
Clear an item's routing database


  '''[[ClearRoute|ClearRoute()]]'''
  '''[[ClearRoute|ClearRoute()]]'''
   
   
<br>
=== EnableTrackCheckNext  ===


=== ClearSecondaryBookings ===
Used during lookahead, this enables a modeller to signal objects downstream of a lookahead that the current lookahead is for track capacity purposes and wont be taken immediately. It automatically resets when lookahead unwinds behind the routine.  
 
Clears track network secondary bookings
 
'''[[ClearSecondaryBookings|ClearSecondaryBookings($1,$2)]]'''
$1 = Section
$2 = Road #
 
=== EnableTrackCheckNext ===
 
Used during lookahead, this enables a modeller to signal objects downstream of a lookahead that the current lookahead is for track capacity purposes and wont be taken immediately. It automatically resets when lookahead unwinds behind the routine.


  '''[[EnableTrackCheckNext|EnableTrackCheckNext()]]'''
  '''[[EnableTrackCheckNext|EnableTrackCheckNext()]]'''
   
   


=== FillRouteSteps ===
=== FillRouteSteps ===


Fills in all intermediate portals and loops in an item's track route
Fills in all intermediate portals and loops in an item's track route  


  '''[[FillRouteSteps|FillRouteSteps($1)]]'''
  '''[[FillRouteSteps|FillRouteSteps($1)]]'''
Line 1,289: Line 1,254:
  $1 = Include Loops (1=yes)
  $1 = Include Loops (1=yes)


=== InsertRouteStep ===
=== InsertRouteStep ===


Insert a track route step into an item's internal routing database
Insert a track route step into an item's internal routing database  


  '''[[InsertRouteStep|InsertRouteStep($1,$2)]]'''
  '''[[InsertRouteStep|InsertRouteStep($1,$2)]]'''
Line 1,297: Line 1,262:
  $1 = Route Step
  $1 = Route Step
  $2 = Route Location
  $2 = Route Location
<br>
=== ReadRoute  ===


=== ReadPrimaryBookings ===
Reads an item's track route into a table  
 
Reads track network primary bookings into a table
 
'''[[ReadPrimaryBookings|ReadPrimaryBookings($R,$1,$2)]]'''
$R = Target
$1 = Section
$2 = Road #
 
=== ReadRoute ===
 
Reads an item's track route into a table


  '''[[ReadRoute|ReadRoute($R)]]'''
  '''[[ReadRoute|ReadRoute($R)]]'''
   
   
  $R = Timetable Target
  $R = Timetable Target
<br>
=== RegisterBlockedTrain  ===


=== ReadSecondaryBookings ===
Register the item (train) into the track blocked list  
 
Reads track network secondary bookings into a table
 
'''[[ReadSecondaryBookings|ReadSecondaryBookings($R,$1,$2)]]'''
$R = Target
$1 = Section
$2 = Road #
 
=== RegisterBlockedTrain ===
 
Register the item (train) into the track blocked list


  '''[[RegisterBlockedTrain|RegisterBlockedTrain()]]'''
  '''[[RegisterBlockedTrain|RegisterBlockedTrain()]]'''
   
   


=== RoadsInTrackSection ===
=== RoadsInTrackSection ===


Returns how many roads a given track section has been configured for
Returns how many roads a given track section has been configured for  


  '''[[RoadsInTrackSection|$R = RoadsInTrackSection($1)]]'''
  '''[[RoadsInTrackSection|$R = RoadsInTrackSection($1)]]'''
Line 1,342: Line 1,287:
  $1 = Section
  $1 = Section


=== SetActAsJunction ===
=== SetActAsJunction ===


Enables the Act As Junction flag to be set or cleared for a given portal on a track network
Enables the Act As Junction flag to be set or cleared for a given portal on a track network  


  '''[[SetActAsJunction|SetActAsJunction($1,$2)]]'''
  '''[[SetActAsJunction|SetActAsJunction($1,$2)]]'''
Line 1,351: Line 1,296:
  $2 = Act As Junction
  $2 = Act As Junction


=== SetOncomingCheck ===
=== SetOncomingCheck ===


Enables the Oncoming Train Check flag to be set or cleared for a given portal on a track network
Enables the Oncoming Train Check flag to be set or cleared for a given portal on a track network  


  '''[[SetOncomingCheck|SetOncomingCheck($1,$2)]]'''
  '''[[SetOncomingCheck|SetOncomingCheck($1,$2)]]'''
Line 1,360: Line 1,305:
  $2 = Oncoming Check
  $2 = Oncoming Check


=== TrackSectionType ===
=== TrackSectionType ===


Returns the type of a track section (_section_types label list)
Returns the type of a track section (_section_types label list)  


  '''[[TrackSectionType|$R = TrackSectionType($1)]]'''
  '''[[TrackSectionType|$R = TrackSectionType($1)]]'''
Line 1,369: Line 1,314:
  $1 = Section
  $1 = Section


== Row/Column ==
== Row/Column ==


=== Average ===
=== Average ===


Determines the average of values in a row or column
Determines the average of values in a row or column  


  '''[[Average|$R = Average($1,$2,$3)]]'''
  '''[[Average|$R = Average($1,$2,$3)]]'''
Line 1,382: Line 1,327:
  $3 = To
  $3 = To


=== MaxIndex ===
=== MaxIndex ===


Determines the index of the highest value in a row or column
Determines the index of the highest value in a row or column  


  '''[[MaxIndex|$R = MaxIndex($1,$2,$3)]]'''
  '''[[MaxIndex|$R = MaxIndex($1,$2,$3)]]'''
Line 1,393: Line 1,338:
  $3 = To
  $3 = To


=== MinIndex ===
=== MinIndex ===


Determines the index of the lowest value in a row or column
Determines the index of the lowest value in a row or column  


  '''[[MinIndex|$R = MinIndex($1,$2,$3)]]'''
  '''[[MinIndex|$R = MinIndex($1,$2,$3)]]'''
Line 1,404: Line 1,349:
  $3 = To
  $3 = To


=== StdDev ===
=== StdDev ===


Determines the Standard Deviation of values in a row or column
Determines the Standard Deviation of values in a row or column  


  '''[[StdDev|$R = StdDev($1,$2,$3)]]'''
  '''[[StdDev|$R = StdDev($1,$2,$3)]]'''
Line 1,415: Line 1,360:
  $3 = To
  $3 = To


=== Sum ===
=== Sum ===


Determines the sum of values in a row or column
Determines the sum of values in a row or column  


  '''[[Sum|$R = Sum($1,$2,$3)]]'''
  '''[[Sum|$R = Sum($1,$2,$3)]]'''
Line 1,426: Line 1,371:
  $3 = To
  $3 = To


=== SumSquared ===
=== SumSquared ===


Determines the sum of squares of values in a row or column
Determines the sum of squares of values in a row or column  


  '''[[SumSquared|$R = SumSquared($1,$2,$3)]]'''
  '''[[SumSquared|$R = SumSquared($1,$2,$3)]]'''
Line 1,437: Line 1,382:
  $3 = To
  $3 = To


== Scientific ==
== Scientific ==


=== arccos ===
=== arccos ===


Inverse cosine function, returns radians
Inverse cosine function, returns radians  


  '''[[arccos|$R = arccos($1)]]'''
  '''[[Arccos|$R = arccos($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== arcsin ===
=== arcsin ===


Inverse sine function, returns radians
Inverse sine function, returns radians  


  '''[[arcsin|$R = arcsin($1)]]'''
  '''[[Arcsin|$R = arcsin($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== arctan ===
=== arctan ===


Inverse tan function, returns radians
Inverse tan function, returns radians  


  '''[[arctan|$R = arctan($1)]]'''
  '''[[Arctan|$R = arctan($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== atan2 ===
=== atan2 ===


Determines angle (in radians) given x and y displacement
Determines angle (in radians) given x and y displacement  


  '''[[atan2|$R = atan2($1,$2)]]'''
  '''[[Atan2|$R = atan2($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,476: Line 1,421:
  $2 = Denominator (X)
  $2 = Denominator (X)


=== cos ===
=== cos ===


Cosine function, value in radians
Cosine function, value in radians  


  '''[[cos|$R = cos($1)]]'''
  '''[[Cos|$R = cos($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== DegToRad ===
=== DegToRad ===


Converts degrees to radians
Converts degrees to radians  


  '''[[DegToRad|$R = DegToRad($1)]]'''
  '''[[DegToRad|$R = DegToRad($1)]]'''
Line 1,494: Line 1,439:
  $1 = Value
  $1 = Value


=== exp ===
=== exp ===


Calculates $1 to the power of E
Calculates $1 to the power of E  


  '''[[exp|$R = exp($1)]]'''
  '''[[Exp|$R = exp($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== hypot ===
=== hypot ===


Hypotenuse of right angled triangle with given sides
Hypotenuse of right angled triangle with given sides  


  '''[[hypot|$R = hypot($1,$2)]]'''
  '''[[Hypot|$R = hypot($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,513: Line 1,458:
  $2 = Y Value
  $2 = Y Value


=== log10 ===
=== log10 ===


Calculates the decimal logarithm of the value
Calculates the decimal logarithm of the value  


  '''[[log10|$R = log10($1)]]'''
  '''[[Log10|$R = log10($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== logN ===
=== logN ===


Calculates the natural logarithm of the value
Calculates the natural logarithm of the value  


  '''[[logN|$R = logN($1)]]'''
  '''[[LogN|$R = logN($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== pow ===
=== pow ===


Calculates $1 to the power of $2
Calculates $1 to the power of $2  


  '''[[pow|$R = pow($1,$2)]]'''
  '''[[Pow|$R = pow($1,$2)]]'''
   
   
  $R = Result
  $R = Result
Line 1,541: Line 1,486:
  $2 = Power
  $2 = Power


=== RadToDeg ===
=== RadToDeg ===


Converts radians to degrees
Converts radians to degrees  


  '''[[RadToDeg|$R = RadToDeg($1)]]'''
  '''[[RadToDeg|$R = RadToDeg($1)]]'''
Line 1,550: Line 1,495:
  $1 = Value
  $1 = Value


=== sin ===
=== sin ===


Sine function, value in radians
Sine function, value in radians  


  '''[[sin|$R = sin($1)]]'''
  '''[[Sin|$R = sin($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== sqr ===
=== sqr ===


Value multiplied by itself
Value multiplied by itself  


  '''[[sqr|$R = sqr($1)]]'''
  '''[[Sqr|$R = sqr($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== sqrt ===
=== sqrt ===


Square root of value
Square root of value  


  '''[[sqrt|$R = sqrt($1)]]'''
  '''[[Sqrt|$R = sqrt($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


=== tan ===
=== tan ===


Tan function, value in radians
Tan function, value in radians  


  '''[[tan|$R = tan($1)]]'''
  '''[[Tan|$R = tan($1)]]'''
   
   
  $R = Result
  $R = Result
  $1 = Value
  $1 = Value


== Spatial Link ==
== Spatial Link ==


=== AddBendPoint ===
=== AddBendPoint ===


Adds a bend point to a spatial link between the two objects specified
Adds a bend point to a spatial link between the two objects specified  


  '''[[AddBendPoint|AddBendPoint($R,$1,$2,$3)]]'''
  '''[[AddBendPoint|AddBendPoint($R,$1,$2,$3)]]'''
   
   
  $R = From Object
  $R = From Object
  $1 = To Object  
  $1 = To Object
  $2 = X Position
  $2 = X Position
  $3 = Y Position
  $3 = Y Position


=== AddDirectionalLink ===
=== AddDirectionalLink ===


Adds a spatial link between objects which can only be traversed in the forward direction
Adds a spatial link between objects which can only be traversed in the forward direction  


  '''[[AddDirectionalLink|AddDirectionalLink($1,$2)]]'''
  '''[[AddDirectionalLink|AddDirectionalLink($1,$2)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object


=== AddSpatialLink ===
=== AddSpatialLink ===


Add a spatial link between the two objects labels specified
Add a spatial link between the two objects labels specified  


  '''[[AddSpatialLink|AddSpatialLink($1,$2)]]'''
  '''[[AddSpatialLink|AddSpatialLink($1,$2)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object


=== ClearSpatialCache ===
=== ClearSpatialCache ===


Instructs Planimate to update spatial link information after links are created or objects are moved
Instructs Planimate to update spatial link information after links are created or objects are moved  


  '''[[ClearSpatialCache|ClearSpatialCache()]]'''
  '''[[ClearSpatialCache|ClearSpatialCache()]]'''
   
   


=== CopySpatialLink ===
=== CopySpatialLink ===


Creates a spatial link between objects, copying an existing link's properties
Creates a spatial link between objects, copying an existing link's properties  


  '''[[CopySpatialLink|CopySpatialLink($1,$2,$3)]]'''
  '''[[CopySpatialLink|CopySpatialLink($1,$2,$3)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object
  $3 = Copy Link  
  $3 = Copy Link


=== DeletePanelSpatialLinks ===
=== DeletePanelSpatialLinks ===


Deletes all spatial links on a given panel
Deletes all spatial links on a given panel  


  '''[[DeletePanelSpatialLinks|DeletePanelSpatialLinks($1)]]'''
  '''[[DeletePanelSpatialLinks|DeletePanelSpatialLinks($1)]]'''
Line 1,642: Line 1,587:
  $1 = Panel
  $1 = Panel


=== RemoveSpatialLink ===
=== RemoveSpatialLink ===


Removes any spatial links from and to the specified object labels (directional)
Removes any spatial links from and to the specified object labels (directional)  


  '''[[RemoveSpatialLink|RemoveSpatialLink($1,$2)]]'''
  '''[[RemoveSpatialLink|RemoveSpatialLink($1,$2)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object


=== SetItemTransitTarget ===
=== SetItemTransitTarget ===


Sets the destination an item will look for once it enters a spatial link
Sets the destination an item will look for once it enters a spatial link  


  '''[[SetItemTransitTarget|SetItemTransitTarget($1)]]'''
  '''[[SetItemTransitTarget|SetItemTransitTarget($1)]]'''
Line 1,659: Line 1,604:
  $1 = To Target
  $1 = To Target


=== SetItemTransitTime ===
=== SetItemTransitTime ===


Sets the time an item will take to reach its destination once it enters a spatial link
Sets the time an item will take to reach its destination once it enters a spatial link  


  '''[[SetItemTransitTime|SetItemTransitTime($1)]]'''
  '''[[SetItemTransitTime|SetItemTransitTime($1)]]'''
Line 1,667: Line 1,612:
  $1 = To Time
  $1 = To Time


=== SetLinkColor ===
=== SetLinkColor ===


Sets the color of a spatial link between 2 given objects
Sets the color of a spatial link between 2 given objects  


  '''[[SetLinkColor|SetLinkColor($1,$2,$3)]]'''
  '''[[SetLinkColor|SetLinkColor($1,$2,$3)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object
  $3 = Color    
  $3 = Color


=== SetLinkCost ===
=== SetLinkCost ===


Sets the link cost of a spatial link (normally computed from the link's distance)
Sets the link cost of a spatial link (normally computed from the link's distance)  


  '''[[SetLinkCost|SetLinkCost($1,$2,$3)]]'''
  '''[[SetLinkCost|SetLinkCost($1,$2,$3)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object
  $3 = Cost    
  $3 = Cost


=== SetSpatialLinkWidth ===
=== SetSpatialLinkWidth ===


Sets the width of a spatial link between two objects
Sets the width of a spatial link between two objects  


  '''[[SetSpatialLinkWidth|SetSpatialLinkWidth($1,$2,$3)]]'''
  '''[[SetSpatialLinkWidth|SetSpatialLinkWidth($1,$2,$3)]]'''
   
   
  $1 = From Object
  $1 = From Object
  $2 = To Object  
  $2 = To Object
  $3 = Width    
  $3 = Width


== Special ==
== Special ==


=== ---| Only During Move |--- ===
=== ---| Only During Move |--- ===


Enables the modeller to specifically mark that the following routine lines do not execute during lookahead
Enables the modeller to specifically mark that the following routine lines do not execute during lookahead  


  '''[[---| Only During Move |---||----- Following Only During Move -----|]]'''
  '''[[---| Only During Move |---||----- Following Only During Move -----|]]'''
   
   


=== BREAKPOINTIF ===
=== BREAKPOINTIF ===


If the parameter is true, this interrupts the routine and displays a debugging dialog enabling inspection of the models state
If the parameter is true, this interrupts the routine and displays a debugging dialog enabling inspection of the models state  


  '''[[BREAKPOINTIF|BREAKPOINTIF ($1)]]'''
  '''[[BREAKPOINTIF|BREAKPOINTIF ($1)]]'''
   
   
  $1 = Enable Break  
  $1 = Enable Break


=== CallDLL ===
=== CallDLL ===


Enables a Planimate compatible DLL to be called
Enables a Planimate compatible DLL to be called  


  '''[[CallDLL|$R = CallDLL($F)]]'''
  '''[[CallDLL|$R = CallDLL($F)]]'''
Line 1,723: Line 1,668:
  $F = Set to
  $F = Set to


=== CallRoutine ===
=== CallRoutine ===


Calls a subroutine
Calls a subroutine  


  '''[[CallRoutine|CallRoutine($F)]]'''
  '''[[CallRoutine|CallRoutine($F)]]'''
Line 1,731: Line 1,676:
  $F = Call
  $F = Call


=== Comment (//) ===
=== Comment (//) ===


A comment line
A comment line  


  '''[[Comment|Comment]]'''
  '''[[Comment|Comment]]'''
   
   


=== CopyFont ===
=== CopyFont ===


Copies the font properties between cells and columns
Copies the font properties between cells and columns  


  '''[[CopyFont|CopyFont($R,$1)]]'''
  '''[[CopyFont|CopyFont($R,$1)]]'''
Line 1,747: Line 1,692:
  $1 = Format From
  $1 = Format From


=== CopyFormat ===
=== CopyFormat ===


Copies the format/unit type/label reference between cells, columns and attributes
Copies the format/unit type/label reference between cells, columns and attributes  


  '''[[CopyFormat|CopyFormat($R,$1)]]'''
  '''[[CopyFormat|CopyFormat($R,$1)]]'''
Line 1,756: Line 1,701:
  $1 = Format From
  $1 = Format From


=== DescribeRoutineData ===
=== DescribeRoutineData ===


Describe the data accessed by a change object routine
Describe the data accessed by a change object routine  


  '''[[DescribeRoutineData|DescribeRoutineData($1,$2,$3)]]'''
  '''[[DescribeRoutineData|DescribeRoutineData($1,$2,$3)]]'''
Line 1,766: Line 1,711:
  $3 = Output Filename
  $3 = Output Filename


=== EncodeRGB ===
=== EncodeRGB ===


Encodes red, green and blue components (0..255) into a single value used to specify any color
Encodes red, green and blue components (0..255) into a single value used to specify any color  


  '''[[EncodeRGB|$R = EncodeRGB($1,$2,$3)]]'''
  '''[[EncodeRGB|$R = EncodeRGB($1,$2,$3)]]'''
Line 1,777: Line 1,722:
  $3 = Blue Value
  $3 = Blue Value


=== FormatForList ===
=== FormatForList ===


Formats the result object to reference a label list with the given name
Formats the result object to reference a label list with the given name  


  '''[[FormatForList|FormatForList($R,$1)]]'''
  '''[[FormatForList|FormatForList($R,$1)]]'''
Line 1,786: Line 1,731:
  $1 = List Name
  $1 = List Name


=== GetFormat ===
=== GetFormat ===


Returns the value format of the data
Returns the value format of the data  


  '''[[GetFormat|$R = GetFormat($1)]]'''
  '''[[GetFormat|$R = GetFormat($1)]]'''
Line 1,795: Line 1,740:
  $1 = Data To Test
  $1 = Data To Test


=== GetFormatListName ===
=== GetFormatListName ===


Creates a new label with the name of the label list the target is formatted to. If no list, no change to the target is made
Creates a new label with the name of the label list the target is formatted to. If no list, no change to the target is made  


  '''[[GetFormatListName|GetFormatListName($R,$1)]]'''
  '''[[GetFormatListName|GetFormatListName($R,$1)]]'''
Line 1,804: Line 1,749:
  $1 = Data To Test
  $1 = Data To Test


=== ListRoutineCode ===
=== ListRoutineCode ===


Write a change object routine code to a file
Write a change object routine code to a file  


  '''[[ListRoutineCode|ListRoutineCode($1,$2,$3)]]'''
  '''[[ListRoutineCode|ListRoutineCode($1,$2,$3)]]'''
Line 1,814: Line 1,759:
  $3 = Output Filename
  $3 = Output Filename


=== LoadDataSet ===
=== LoadDataSet ===


Initiates loading of a given data set from a file name specified by a label
Initiates loading of a given data set from a file name specified by a label  


  '''[[LoadDataSet|LoadDataSet($1,$2)]]'''
  '''[[LoadDataSet|LoadDataSet($1,$2)]]'''
   
   
  $1 = Data Set #
  $1 = Data Set #
  $2 = File Name  
  $2 = File Name


=== LoadDataSet2 ===
=== LoadDataSet2 ===


Load a version 2 dataset
Load a version 2 dataset  


  '''[[LoadDataSet2|$R = LoadDataSet2($1,$2,$3)]]'''
  '''[[LoadDataSet2|$R = LoadDataSet2($1,$2,$3)]]'''
Line 1,831: Line 1,776:
  $R = Result
  $R = Result
  $1 = Definition Table
  $1 = Definition Table
  $2 = File Name  
  $2 = File Name
  $3 = Pass Phrase
  $3 = Pass Phrase


=== ObjectType ===
=== ObjectType ===


Returns the type of the object that the object label refers to  
Returns the type of the object that the object label refers to  
Line 1,843: Line 1,788:
  $1 = Object
  $1 = Object


=== SaveDataSet ===
=== SaveDataSet ===


Initiates saving of a given data set to a file name specified as a label
Initiates saving of a given data set to a file name specified as a label  


  '''[[SaveDataSet|SaveDataSet($1,$2)]]'''
  '''[[SaveDataSet|SaveDataSet($1,$2)]]'''
   
   
  $1 = Data Set #
  $1 = Data Set #
  $2 = File Name  
  $2 = File Name


=== SaveDataSet2 ===
=== SaveDataSet2 ===


Save a version 2 dataset
Save a version 2 dataset  


  '''[[SaveDataSet2|$R = SaveDataSet2($1,$2,$3)]]'''
  '''[[SaveDataSet2|$R = SaveDataSet2($1,$2,$3)]]'''
Line 1,860: Line 1,805:
  $R = Result
  $R = Result
  $1 = Definition Table
  $1 = Definition Table
  $2 = File Name  
  $2 = File Name
  $3 = Pass Phrase
  $3 = Pass Phrase


=== SetFormat ===
=== SetFormat ===


Sets format of $1 to mode $2, with $3 being the label list name if its a label format
Sets format of $1 to mode $2, with $3 being the label list name if its a label format  


  '''[[SetFormat|SetFormat($1,$2,$3)]]'''
  '''[[SetFormat|SetFormat($1,$2,$3)]]'''
Line 1,873: Line 1,818:
  $3 = List Name
  $3 = List Name


=== SetLastDataFile ===
=== SetLastDataFile ===


Sets the last data filename, optionally visible in the titlebar
Sets the last data filename, optionally visible in the titlebar  


  '''[[SetLastDataFile|SetLastDataFile($1)]]'''
  '''[[SetLastDataFile|SetLastDataFile($1)]]'''
Line 1,881: Line 1,826:
  $1 = Name
  $1 = Name


=== StartScheduledEntries ===
=== StartScheduledEntries ===


Signals that scheduled entries should start (if options deferred them starting when the model was run)
Signals that scheduled entries should start (if options deferred them starting when the model was run)  


  '''[[StartScheduledEntries|StartScheduledEntries]]'''
  '''[[StartScheduledEntries|StartScheduledEntries]]'''
   
   


== Table ==
== Table ==


=== AdvancedSort ===
=== AdvancedSort ===


Performs a sort on a table using another table to define the sort criteria
Performs a sort on a table using another table to define the sort criteria  


  '''[[AdvancedSort|AdvancedSort($R,$1)]]'''
  '''[[AdvancedSort|AdvancedSort($R,$1)]]'''
   
   
  $R = Target  
  $R = Target
  $1 = Sort Info
  $1 = Sort Info


=== AllocateTableRowMemory ===
=== AllocateTableRowMemory ===


Enables memory to be reserved for a table which is expected to grow to a large number of rows
Enables memory to be reserved for a table which is expected to grow to a large number of rows  


  '''[[AllocateTableRowMemory|AllocateTableRowMemory($R,$1)]]'''
  '''[[AllocateTableRowMemory|AllocateTableRowMemory($R,$1)]]'''
   
   
  $R = Target Table  
  $R = Target Table
  $1 = Allocate Rows
  $1 = Allocate Rows


=== AppendCol ===
=== AppendCol ===


Append a column to a table
Append a column to a table  


  '''[[AppendCol|AppendColumn($R)]]'''
  '''[[AppendCol|AppendColumn($R)]]'''
Line 1,916: Line 1,861:
  $R = Target
  $R = Target


=== AppendRow ===
=== AppendRow ===


Append a row to the table
Append a row to the table  


  '''[[AppendRow|AppendRow($R)]]'''
  '''[[AppendRow|AppendRow($R)]]'''
Line 1,924: Line 1,869:
  $R = Target
  $R = Target


=== BlockMove ===
=== BlockMove ===


Block copy a range of cells to another table
Block copy a range of cells to another table  


  '''[[BlockMove|BlockMove($R,$1,Range[$2][$3])]]'''
  '''[[BlockMove|BlockMove($R,$1,Range[$2][$3])]]'''
Line 1,935: Line 1,880:
  $3 = # of Cols
  $3 = # of Cols


=== CopyToClipboard ===
=== CopyToClipboard ===


Copy table to clipboard using its clipboard settings and the option modifiers
Copy table to clipboard using its clipboard settings and the option modifiers  


  '''[[CopyToClipboard|CopyToClipboard($R,$1)]]'''
  '''[[CopyToClipboard|CopyToClipboard($R,$1)]]'''
Line 1,944: Line 1,889:
  $1 = Options
  $1 = Options


=== CreateSortIndex ===
=== CreateSortIndex ===


Creates an ordered list of row numbers if the given column was sorted alphabetically
Creates an ordered list of row numbers if the given column was sorted alphabetically  


  '''[[CreateSortIndex|CreateSortIndex($R,$1)]]'''
  '''[[CreateSortIndex|CreateSortIndex($R,$1)]]'''
   
   
  $R = Target Column  
  $R = Target Column
  $1 = Column To Sort
  $1 = Column To Sort


=== DeleteCol ===
=== DeleteCol ===


Delete a range of columns from a table
Delete a range of columns from a table  


  '''[[DeleteCol|DeleteColumn($R,$1,$2)]]'''
  '''[[DeleteCol|DeleteColumn($R,$1,$2)]]'''
Line 1,963: Line 1,908:
  $2 = Col Count
  $2 = Col Count


=== DeleteRow ===
=== DeleteRow ===


Delete a number of rows starting at a given row in a table
Delete a number of rows starting at a given row in a table  


  '''[[DeleteRow|DeleteRow($R,$1,$2)]]'''
  '''[[DeleteRow|DeleteRow($R,$1,$2)]]'''
Line 1,973: Line 1,918:
  $2 = Row Count
  $2 = Row Count


=== EnableColumnEditing ===
=== EnableColumnEditing ===


Controls whether a given table column can be edited
Controls whether a given table column can be edited  


  '''[[EnableColumnEditing|EnableColumnEditing($R,$1)]]'''
  '''[[EnableColumnEditing|EnableColumnEditing($R,$1)]]'''
   
   
  $R = Target Column
  $R = Target Column
  $1 = Edit Control  
  $1 = Edit Control


=== GetColumnProperty ===
=== GetColumnProperty ===


Read a property of a table column
Read a property of a table column  


  '''[[GetColumnProperty|$R = GetColumnProperty($1,$2)]]'''
  '''[[GetColumnProperty|$R = GetColumnProperty($1,$2)]]'''
Line 1,990: Line 1,935:
  $R = Result
  $R = Result
  $1 = Table Column
  $1 = Table Column
  $2 = Property Label  
  $2 = Property Label


=== InsertCol ===
=== InsertCol ===


Insert columns into a table with the option of copying formatting from another column
Insert columns into a table with the option of copying formatting from another column  


  '''[[InsertCol|InsertColumn($R,$1,$2,$3)]]'''
  '''[[InsertCol|InsertColumn($R,$1,$2,$3)]]'''
Line 2,003: Line 1,948:
  $3 = Copy Format
  $3 = Copy Format


=== InsertRow ===
=== InsertRow ===


Insert a number of rows at a given row in a table
Insert a number of rows at a given row in a table  


  '''[[InsertRow|InsertRow($R,$1,$2)]]'''
  '''[[InsertRow|InsertRow($R,$1,$2)]]'''
Line 2,013: Line 1,958:
  $2 = Row Count
  $2 = Row Count


=== OutOfScopeWrite ===
=== OutOfScopeWrite ===


Enable writing to item table reference $1 even if it is not in scope
Enable writing to item table reference $1 even if it is not in scope  


  '''[[OutOfScopeWrite|OutOfScopeWrite($1)]]'''
  '''[[OutOfScopeWrite|OutOfScopeWrite($1)]]'''
Line 2,021: Line 1,966:
  $1 = Item Table Ref
  $1 = Item Table Ref


=== PasteFromClipboard ===
=== PasteFromClipboard ===


Paste the clipboard into the table using its clipboard options and the modifiers
Paste the clipboard into the table using its clipboard options and the modifiers  


  '''[[PasteFromClipboard|PasteFromClipboard($R,$1)]]'''
  '''[[PasteFromClipboard|PasteFromClipboard($R,$1)]]'''
   
   
  $R = Target Table
  $R = Target Table
  $1 = Configure  
  $1 = Configure


=== PurgeDuplicateRows ===
=== PurgeDuplicateRows ===


Removes any identical rows from the given table
Removes any identical rows from the given table  


  '''[[PurgeDuplicateRows|PurgeDuplicateRows($R)]]'''
  '''[[PurgeDuplicateRows|PurgeDuplicateRows($R)]]'''
   
   
  $R = Target
  $R = Target
<br>
=== Search  ===


=== RegenerateBillboardTable ===
Search table until a condition is true  
 
Regenerate a billboard table to reflect changes in the model
 
'''[[RegenerateBillboardTable|RegenerateBillboardTable($R)]]'''
$R = Billboard Table
 
=== Search ===
 
Search table until a condition is true


  '''[[Search|$R = Search($F)]]'''
  '''[[Search|$R = Search($F)]]'''
Line 2,055: Line 1,992:
  $F = Set to
  $F = Set to


=== SetCellFreeText ===
=== SetCellFreeText ===


Sets the free text (not bound by label text rules) for a table cell
Sets the free text (not bound by label text rules) for a table cell  


  '''[[SetCellFreeText|SetCellFreeText($R,$1)]]'''
  '''[[SetCellFreeText|SetCellFreeText($R,$1)]]'''
Line 2,064: Line 2,001:
  $1 = Source Cell
  $1 = Source Cell


=== SetColAlignment ===
=== SetColAlignment ===


Enables a column's text alignment to be changed
Enables a column's text alignment to be changed  


  '''[[SetColAlignment|SetColumnAlignment($R,$1)]]'''
  '''[[SetColAlignment|SetColumnAlignment($R,$1)]]'''
   
   
  $R = Target Column
  $R = Target Column
  $1 = Align Mode  
  $1 = Align Mode


=== SetColSecondTitle ===
=== SetColSecondTitle ===


Sets the text of the second title row for the given column
Sets the text of the second title row for the given column  


  '''[[SetColSecondTitle|SetColumnSecondTitle($R,$1)]]'''
  '''[[SetColSecondTitle|SetColumnSecondTitle($R,$1)]]'''
Line 2,082: Line 2,019:
  $1 = Title Text
  $1 = Title Text


=== SetColTitle ===
=== SetColTitle ===


Set the title text of a table column
Set the title text of a table column  


  '''[[SetColTitle|SetColumnTitle($R,$1)]]'''
  '''[[SetColTitle|SetColumnTitle($R,$1)]]'''
Line 2,091: Line 2,028:
  $1 = Title Text
  $1 = Title Text


=== SetColTupleName ===
=== SetColTupleName ===


Sets the name used to internally identify a column
Sets the name used to internally identify a column  


  '''[[SetColTupleName|SetColumnTupleName($R,$1)]]'''
  '''[[SetColTupleName|SetColumnTupleName($R,$1)]]'''
Line 2,100: Line 2,037:
  $1 = Tuple Text
  $1 = Tuple Text


=== SetColumnProperty ===
=== SetColumnProperty ===


Set a property of a table column
Set a property of a table column  


  '''[[SetColumnProperty|SetColumnProperty($1,$2,$3)]]'''
  '''[[SetColumnProperty|SetColumnProperty($1,$2,$3)]]'''
   
   
  $1 = Table Column
  $1 = Table Column
  $2 = Property Label  
  $2 = Property Label
  $3 = Property Value  
  $3 = Property Value


=== SetColWidth ===
=== SetColWidth ===


Sets the formatting width of a table column
Sets the formatting width of a table column  


  '''[[SetColWidth|SetColWidth($R,$1)]]'''
  '''[[SetColWidth|SetColWidth($R,$1)]]'''
Line 2,119: Line 2,056:
  $1 = Column Width
  $1 = Column Width


=== SetTableRowHeight ===
=== SetTableRowHeight ===


Sets the height of table rows
Sets the height of table rows  


  '''[[SetTableRowHeight|SetTableRowHeight($1,$2)]]'''
  '''[[SetTableRowHeight|SetTableRowHeight($1,$2)]]'''
Line 2,128: Line 2,065:
  $2 = Row Height
  $2 = Row Height


=== SetTableTitle ===
=== SetTableTitle ===


Set the title text of the table from the label
Set the title text of the table from the label  


  '''[[SetTableTitle|SetTableTitle($R,$1)]]'''
  '''[[SetTableTitle|SetTableTitle($R,$1)]]'''
Line 2,137: Line 2,074:
  $1 = Title Text
  $1 = Title Text


=== ShiftCol ===
=== ShiftCol ===


Shift the columns in a table
Shift the columns in a table  


  '''[[ShiftCol|ShiftColumn($R,$1,$2)]]'''
  '''[[ShiftCol|ShiftColumn($R,$1,$2)]]'''
Line 2,145: Line 2,082:
  $R = Result
  $R = Result
  $1 = Source
  $1 = Source
  $2 = Shift <+ ->
  $2 = Shift &lt;+ -&gt;


=== ShiftRow ===
=== ShiftRow ===


Shift the rows in a table
Shift the rows in a table  


  '''[[ShiftRow|ShiftRow($R,$1,$2)]]'''
  '''[[ShiftRow|ShiftRow($R,$1,$2)]]'''
Line 2,157: Line 2,094:
  $2 = Shift ^+ -v
  $2 = Shift ^+ -v


=== Sort ===
=== Sort ===


Sort table by up to 3 columns
Sort table by up to 3 columns  


  '''[[Sort|Sort($R,$1,$2,$3)]]'''
  '''[[Sort|Sort($R,$1,$2,$3)]]'''
Line 2,168: Line 2,105:
  $3 = Third Col.
  $3 = Third Col.


=== TableReferenceSet ===
=== TableReferenceSet ===


Returns non zero if the reference resolves to a table
Returns non zero if the reference resolves to a table  


  '''[[TableReferenceSet|$R = TableReferenceSet($1)]]'''
  '''[[TableReferenceSet|$R = TableReferenceSet($1)]]'''
Line 2,177: Line 2,114:
  $1 = Item Table Ref
  $1 = Item Table Ref


=== TableSortDialog ===
=== TableSortDialog ===


Enables the user to set up and perform a sort using the table sort dialog
Enables the user to set up and perform a sort using the table sort dialog  


  '''[[TableSortDialog|TableSortDialog($R)]]'''
  '''[[TableSortDialog|TableSortDialog($R)]]'''
Line 2,185: Line 2,122:
  $R = Target
  $R = Target


== Table View ==
== Table View ==


=== GetFilteredRows ===
=== GetFilteredRows ===


Retrieves the filter mapping of view rows to actual rows into the list table
Retrieves the filter mapping of view rows to actual rows into the list table  


  '''[[GetFilteredRows|GetFilteredRows($1,$2,$3)]]'''
  '''[[GetFilteredRows|GetFilteredRows($1,$2,$3)]]'''
Line 2,197: Line 2,134:
  $3 = Panel
  $3 = Panel


=== GetTableView ===
=== GetTableView ===


Read columns of a table view into another table
Read columns of a table view into another table  


  '''[[GetTableView|GetTableView($1,$2,$3)]]'''
  '''[[GetTableView|GetTableView($1,$2,$3)]]'''
Line 2,207: Line 2,144:
  $3 = Config Table
  $3 = Config Table


=== ImportIntoView ===
=== ImportIntoView ===


Imports the system clipboard into a table view starting at the specified Top Left cell. Returns zero on success
Imports the system clipboard into a table view starting at the specified Top Left cell. Returns zero on success  


  '''[[ImportIntoView|$R = ImportIntoView($1,$2,$3,$4,$5,$6,$7)]]'''
  '''[[ImportIntoView|$R = ImportIntoView($1,$2,$3,$4,$5,$6,$7)]]'''
Line 2,222: Line 2,159:
  $7 = Cols Read
  $7 = Cols Read


=== ReFilterTableView ===
=== ReFilterTableView ===


Reapply any active filters to the current data in the table
Reapply any active filters to the current data in the table  


  '''[[ReFilterTableView|ReFilterTableView($1,$2)]]'''
  '''[[ReFilterTableView|ReFilterTableView($1,$2)]]'''
Line 2,231: Line 2,168:
  $2 = Panel
  $2 = Panel


=== SetTableView ===
=== SetTableView ===


Set columns that a table view will display
Set columns that a table view will display  


  '''[[SetTableView|SetTableView($1,$2,$3)]]'''
  '''[[SetTableView|SetTableView($1,$2,$3)]]'''
Line 2,241: Line 2,178:
  $3 = Config Table
  $3 = Config Table


=== SetTableViewColScroll ===
=== SetTableViewColScroll ===


Sets the column scroll of a view for a table on a given panel
Sets the column scroll of a view for a table on a given panel  


  '''[[SetTableViewColScroll|SetTableViewColScroll($1,$2,$3)]]'''
  '''[[SetTableViewColScroll|SetTableViewColScroll($1,$2,$3)]]'''
Line 2,251: Line 2,188:
  $3 = Value
  $3 = Value


=== SetTableViewRowScroll ===
=== SetTableViewRowScroll ===


Sets the row scroll of a view for a table on a given panel
Sets the row scroll of a view for a table on a given panel  


  '''[[SetTableViewRowScroll|SetTableViewRowScroll($1,$2,$3)]]'''
  '''[[SetTableViewRowScroll|SetTableViewRowScroll($1,$2,$3)]]'''
Line 2,261: Line 2,198:
  $3 = Value
  $3 = Value


=== TableViewColScroll ===
=== TableViewColScroll ===


Reads the column scroll of a view for a table on a given panel
Reads the column scroll of a view for a table on a given panel  


  '''[[TableViewColScroll|$R = TableViewColScroll($1,$2)]]'''
  '''[[TableViewColScroll|$R = TableViewColScroll($1,$2)]]'''
Line 2,271: Line 2,208:
  $2 = Panel
  $2 = Panel


=== TableViewRows ===
=== TableViewRows ===


Reads the number of rows in a table view. If a filter is set, this may differ from the number of rows in the table
Reads the number of rows in a table view. If a filter is set, this may differ from the number of rows in the table  


  '''[[TableViewRows|$R = TableViewRows($1,$2)]]'''
  '''[[TableViewRows|$R = TableViewRows($1,$2)]]'''
Line 2,281: Line 2,218:
  $2 = Panel
  $2 = Panel


=== TableViewRowScroll ===
=== TableViewRowScroll ===


Reads the row scroll of a view for a table on a given panel
Reads the row scroll of a view for a table on a given panel  


  '''[[TableViewRowScroll|$R = TableViewRowScroll($1,$2)]]'''
  '''[[TableViewRowScroll|$R = TableViewRowScroll($1,$2)]]'''
Line 2,291: Line 2,228:
  $2 = Panel
  $2 = Panel


=== TableViewVisibleCols ===
=== TableViewVisibleCols ===


Reads the number of visible columns in a table view
Reads the number of visible columns in a table view  


  '''[[TableViewVisibleCols|$R = TableViewVisibleCols($1,$2)]]'''
  '''[[TableViewVisibleCols|$R = TableViewVisibleCols($1,$2)]]'''
Line 2,301: Line 2,238:
  $2 = Panel
  $2 = Panel


=== TableViewVisibleRows ===
=== TableViewVisibleRows ===


Reads the number of visible rows in a table view
Reads the number of visible rows in a table view  


  '''[[TableViewVisibleRows|$R = TableViewVisibleRows($1,$2)]]'''
  '''[[TableViewVisibleRows|$R = TableViewVisibleRows($1,$2)]]'''
Line 2,311: Line 2,248:
  $2 = Panel
  $2 = Panel


== Time ==
== Time ==


=== DayOfMonth ===
=== DayOfMonth ===


Returns the day of the month, starting at 1
Returns the day of the month, starting at 1  


  '''[[DayOfMonth|$R = DayOfMonth($1)]]'''
  '''[[DayOfMonth|$R = DayOfMonth($1)]]'''
Line 2,322: Line 2,259:
  $1 = Time
  $1 = Time


=== DayOfWeek ===
=== DayOfWeek ===


Returns the day of the week, starting at 1 for Sunday
Returns the day of the week, starting at 1 for Sunday  


  '''[[DayOfWeek|$R = DayOfWeek($1)]]'''
  '''[[DayOfWeek|$R = DayOfWeek($1)]]'''
Line 2,331: Line 2,268:
  $1 = Time
  $1 = Time


=== DaysInDateMonth ===
=== DaysInDateMonth ===


Returns how many days in the month of the absolute time
Returns how many days in the month of the absolute time  


  '''[[DaysInDateMonth|$R = DaysInDateMonth($1)]]'''
  '''[[DaysInDateMonth|$R = DaysInDateMonth($1)]]'''
Line 2,340: Line 2,277:
  $1 = Time
  $1 = Time


=== FormDate ===
=== FormDate ===


Computes the absolute time representing midnight on the given date
Computes the absolute time representing midnight on the given date  


  '''[[FormDate|$R = FormDate($1,$2,$3)]]'''
  '''[[FormDate|$R = FormDate($1,$2,$3)]]'''
Line 2,351: Line 2,288:
  $3 = Year
  $3 = Year


=== HourOfDay ===
=== HourOfDay ===


Returns the hour into the current day of the time, starting at 0
Returns the hour into the current day of the time, starting at 0  


  '''[[HourOfDay|$R = HourOfDay($1)]]'''
  '''[[HourOfDay|$R = HourOfDay($1)]]'''
Line 2,360: Line 2,297:
  $1 = Time
  $1 = Time


=== HourOfDay+1 ===
=== HourOfDay+1 ===


Returns the hour into the current day of the time, starting at 1 instead of 0
Returns the hour into the current day of the time, starting at 1 instead of 0  


  '''[[HourOfDay+1|$R = HourOfDay_1($1)]]'''
  '''[[HourOfDay+1|$R = HourOfDay_1($1)]]'''
Line 2,369: Line 2,306:
  $1 = Time
  $1 = Time


=== IncrementByMonths ===
=== IncrementByMonths ===


Increments the date by one or more months, attempting to keep the same day of month
Increments the date by one or more months, attempting to keep the same day of month  


  '''[[IncrementByMonths|IncrementByMonths($R,$1)]]'''
  '''[[IncrementByMonths|IncrementByMonths($R,$1)]]'''
Line 2,378: Line 2,315:
  $1 = # of months
  $1 = # of months


=== MonthOfYear ===
=== MonthOfYear ===


Returns the month of the year, starting at 1 for January
Returns the month of the year, starting at 1 for January  


  '''[[MonthOfYear|$R = MonthOfYear($1)]]'''
  '''[[MonthOfYear|$R = MonthOfYear($1)]]'''
Line 2,387: Line 2,324:
  $1 = Time
  $1 = Time


=== TimeOfDay ===
=== TimeOfDay ===


Returns the number of seconds into the current day of the time  
Returns the number of seconds into the current day of the time  
Line 2,396: Line 2,333:
  $1 = Time
  $1 = Time


=== WeekOfYear ===
=== WeekOfYear ===


Returns the week of the year, starting at 1
Returns the week of the year, starting at 1  


  '''[[WeekOfYear|$R = WeekOfYear($1)]]'''
  '''[[WeekOfYear|$R = WeekOfYear($1)]]'''
Line 2,405: Line 2,342:
  $1 = Time
  $1 = Time


=== YearOfDate ===
=== YearOfDate ===


Returns the year of the given calendar time
Returns the year of the given calendar time  


  '''[[YearOfDate|$R = YearOfDate($1)]]'''
  '''[[YearOfDate|$R = YearOfDate($1)]]'''
Line 2,414: Line 2,351:
  $1 = Time
  $1 = Time


== Tuple ==
== Tuple ==


=== DecodeMultiLabelToTuple ===
=== DecodeMultiLabelToTuple ===


Extracts the fields of a multi-label to item attributes with names matching the label lists in the multi-label
Extracts the fields of a multi-label to item attributes with names matching the label lists in the multi-label  


  '''[[DecodeMultiLabelToTuple|DecodeMultiLabelToItem($R)]]'''
  '''[[DecodeMultiLabelToTuple|DecodeMultiLabelToItem($R)]]'''
Line 2,424: Line 2,361:
  $R = Target
  $R = Target


=== EncodeItemToMultiLabel ===
=== EncodeItemToMultiLabel ===


Combines item attributes to form a multi-label, for item attributes with names matching the label lists in the multi-label
Combines item attributes to form a multi-label, for item attributes with names matching the label lists in the multi-label  


  '''[[EncodeItemToMultiLabel|EncodeItemToMultiLabel($R)]]'''
  '''[[EncodeItemToMultiLabel|EncodeItemToMultiLabel($R)]]'''
Line 2,432: Line 2,369:
  $R = Target
  $R = Target


=== MatchedCopyRow ===
=== MatchedCopyRow ===


Copy rows between tables where the column names match
Copy rows between tables where the column names match  


  '''[[MatchedCopyRow|MatchedCopyRow($R,$1)]]'''
  '''[[MatchedCopyRow|MatchedCopyRow($R,$1)]]'''
Line 2,441: Line 2,378:
  $1 = Set To
  $1 = Set To


=== TupleAppendFromCarried ===
=== TupleAppendFromCarried ===


Append a row to the table and for it, set table columns from a carried item's attributes with the same name
Append a row to the table and for it, set table columns from a carried item's attributes with the same name  


  '''[[TupleAppendFromCarried|TupleAppendFromCarried($R,$1)]]'''
  '''[[TupleAppendFromCarried|TupleAppendFromCarried($R,$1)]]'''
Line 2,450: Line 2,387:
  $1 = Carried Index
  $1 = Carried Index


=== TupleAppendFromItem ===
=== TupleAppendFromItem ===


Append a row into the table and for it, set table columns from item attributes with the same name
Append a row into the table and for it, set table columns from item attributes with the same name  


  '''[[TupleAppendFromItem|TupleAppendFromItem($R)]]'''
  '''[[TupleAppendFromItem|TupleAppendFromItem($R)]]'''
Line 2,458: Line 2,395:
  $R = Table
  $R = Table


=== TupleCarriedToRow ===
=== TupleCarriedToRow ===


For the specified row, set table columns from a carried item's attributes with the same name
For the specified row, set table columns from a carried item's attributes with the same name  


  '''[[TupleCarriedToRow|TupleCarriedToRow($R,$1)]]'''
  '''[[TupleCarriedToRow|TupleCarriedToRow($R,$1)]]'''
Line 2,467: Line 2,404:
  $1 = Carried Index
  $1 = Carried Index


=== TupleDecrementToRow ===
=== TupleDecrementToRow ===


For the specified row, decrement cells with the values of item attributes with matching names
For the specified row, decrement cells with the values of item attributes with matching names  


  '''[[TupleDecrementToRow|TupleDecrementFromRow($R)]]'''
  '''[[TupleDecrementToRow|TupleDecrementFromRow($R)]]'''
Line 2,475: Line 2,412:
  $R = Row
  $R = Row


=== TupleExtractToCarried ===
=== TupleExtractToCarried ===


For the specified row, set a carried item's attributes from table columns with the same name then delete the row
For the specified row, set a carried item's attributes from table columns with the same name then delete the row  


  '''[[TupleExtractToCarried|TupleExtractToCarried($R,$1)]]'''
  '''[[TupleExtractToCarried|TupleExtractToCarried($R,$1)]]'''
Line 2,484: Line 2,421:
  $1 = Carried Index
  $1 = Carried Index


=== TupleExtractToItem ===
=== TupleExtractToItem ===


For the specified row, set item attributes from table columns with the same name then delete the row
For the specified row, set item attributes from table columns with the same name then delete the row  


  '''[[TupleExtractToItem|TupleExtractToItem($R)]]'''
  '''[[TupleExtractToItem|TupleExtractToItem($R)]]'''
Line 2,492: Line 2,429:
  $R = Row
  $R = Row


=== TupleIncrementToRow ===
=== TupleIncrementToRow ===


For the specified row, increment cells with the values of item attributes with matching names
For the specified row, increment cells with the values of item attributes with matching names  


  '''[[TupleIncrementToRow|TupleIncrementToRow($R)]]'''
  '''[[TupleIncrementToRow|TupleIncrementToRow($R)]]'''
Line 2,500: Line 2,437:
  $R = Row
  $R = Row


=== TupleInsertFromCarried ===
=== TupleInsertFromCarried ===


Insert a row into the table and for it, set table columns from a carried item's attributes with the same name
Insert a row into the table and for it, set table columns from a carried item's attributes with the same name  


  '''[[TupleInsertFromCarried|TupleInsertFromCarried($R,$1)]]'''
  '''[[TupleInsertFromCarried|TupleInsertFromCarried($R,$1)]]'''
Line 2,509: Line 2,446:
  $1 = Carried Index
  $1 = Carried Index


=== TupleInsertFromItem ===
=== TupleInsertFromItem ===


Insert a row into the table and for it, set table columns from item attributes with the same name
Insert a row into the table and for it, set table columns from item attributes with the same name  


  '''[[TupleInsertFromItem|TupleInsertFromItem($R)]]'''
  '''[[TupleInsertFromItem|TupleInsertFromItem($R)]]'''
Line 2,517: Line 2,454:
  $R = Row
  $R = Row


=== TupleItemToRow ===
=== TupleItemToRow ===


For the specified row, set table columns from item attributes with the same name
For the specified row, set table columns from item attributes with the same name  


  '''[[TupleItemToRow|TupleItemToRow($R)]]'''
  '''[[TupleItemToRow|TupleItemToRow($R)]]'''
Line 2,525: Line 2,462:
  $R = Row
  $R = Row


=== TupleRowToCarried ===
=== TupleRowToCarried ===


For the specified row, set a carried item's attributes from table columns with the same name
For the specified row, set a carried item's attributes from table columns with the same name  


  '''[[TupleRowToCarried|TupleRowToCarried($R,$1)]]'''
  '''[[TupleRowToCarried|TupleRowToCarried($R,$1)]]'''
Line 2,534: Line 2,471:
  $1 = Carried Index
  $1 = Carried Index


=== TupleRowToItem ===
=== TupleRowToItem ===


For the specified row, set item attributes from table columns with the same name
For the specified row, set item attributes from table columns with the same name  


  '''[[TupleRowToItem|TupleRowToItem($R)]]'''
  '''[[TupleRowToItem|TupleRowToItem($R)]]'''
Line 2,542: Line 2,479:
  $R = Row
  $R = Row


== UI ==
== UI ==


=== AddListToMenu ===
=== AddListToMenu ===


Appends a new menu to the modeller custom menu bar
Appends a new menu to the modeller custom menu bar  


  '''[[AddListToMenu|AddListToMenu($1,$2)]]'''
  '''[[AddListToMenu|AddListToMenu($1,$2)]]'''
Line 2,553: Line 2,490:
  $2 = Item List
  $2 = Item List


=== BrowseFile ===
=== BrowseFile ===


Browse for a file. Returns non zero if one chosen. $1 sets an initial file, $2 enables a save-style dialog. Use s.LastAccessedDataFile and s.LastAccessedDataFilePath to access the file and full path spec of the file selected.
Browse for a file. Returns non zero if one chosen. $1 sets an initial file, $2 enables a save-style dialog. Use s.LastAccessedDataFile and s.LastAccessedDataFilePath to access the file and full path spec of the file selected.  


  '''[[BrowseFile|$R = BrowseFile($1,$2)]]'''
  '''[[BrowseFile|$R = BrowseFile($1,$2)]]'''
Line 2,563: Line 2,500:
  $2 = Save Mode
  $2 = Save Mode


=== ClearCustomMenubar ===
=== ClearCustomMenubar ===


Removes all menu items from the modeller custom menu bar
Removes all menu items from the modeller custom menu bar  


  '''[[ClearCustomMenubar|ClearCustomMenubar]]'''
  '''[[ClearCustomMenubar|ClearCustomMenubar]]'''
   
   


=== Dialog ===
=== Dialog ===


Show a dialog box for the user to interact with
Show a dialog box for the user to interact with  


  '''[[Dialog|$R = Dialog($F)]]'''
  '''[[Dialog|$R = Dialog($F)]]'''
Line 2,579: Line 2,516:
  $F = Dialog
  $F = Dialog


=== HandlePopupMenu ===
=== HandlePopupMenu ===


Interprets columns in table as depth/name/index and generates a popup menu. Returns index of selected item or 0 if cancelled
Interprets columns in table as depth/name/index and generates a popup menu. Returns index of selected item or 0 if cancelled  


  '''[[HandlePopupMenu|$R = HandlePopupMenu($1)]]'''
  '''[[HandlePopupMenu|$R = HandlePopupMenu($1)]]'''
Line 2,588: Line 2,525:
  $1 = Table
  $1 = Table


=== InitiateFieldEdit ===
=== InitiateFieldEdit ===


Starts editing attribute/cell views on a panel, as if the user clicked on the first one
Starts editing attribute/cell views on a panel, as if the user clicked on the first one  


  '''[[InitiateFieldEdit|InitiateFieldEdit($1)]]'''
  '''[[InitiateFieldEdit|InitiateFieldEdit($1)]]'''
Line 2,596: Line 2,533:
  $1 = Target Panel
  $1 = Target Panel


=== SetMenuBar ===
=== SetMenuBar ===


Interprets columns in table as depth/name/index and builds a custom menu bar
Interprets columns in table as depth/name/index and builds a custom menu bar  


  '''[[SetMenuBar|SetMenuBar($1)]]'''
  '''[[SetMenuBar|SetMenuBar($1)]]'''
Line 2,604: Line 2,541:
  $1 = Table
  $1 = Table


[[Category:Routine]]
[[Category:Routine]] [[Category:Data]]
[[Category:Data]]

Revision as of 16:27, 3 November 2008

This page lists all of the routine operations available in Planimate as of 5.09m. The operations all link to pages with their name but most of these pages will not exist. Where an operation warrents further discussion, these links can be followed and the pages created.

This page is automatically created. Please do not edit it.

Arithmetic

Add ( + )

Add two values/rows/columns/tables

$R = $1 + $2

$R = Result
$1 = Value 1
$2 = Value 2

Clear

Set the target value to its initialising value

$R = CLEAR

$R = Clear

Dec ( -= )

Decrement first value/row/column/table by second value

$R -= $1

$R = Result
$1 = Decr. by

Div ( / )

Divide values/rows/columns/tables

$R = $1 / $2

$R = Result
$1 = Value 1
$2 = Value 2

Inc ( += )

Increment first value/row/column/table by second value

$R += $1

$R = Result
$1 = Incr. by

InterpolateValue

Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)

$R = InterpolateValue($1,$2,$3)

$R = Result
$1 = Value1
$2 = Value2
$3 = Ratio

Mul ( * )

Multiply values/rows/columns/tables

$R = $1 * $2

$R = Result
$1 = Value 1
$2 = Value 2

Scale ( *= )

Scale first value/row/column/table by second value

$R *= $1

$R = Result
$1 = Scale by

Set ( = )

Assign a value/row/column/table to another of the same type and size

$R = $1

$R = Result
$1 = Set To

Sub ( - )

Subtract two values/rows/columns/tables

$R = $1 - $2

$R = Result
$1 = Value 1
$2 = Value 2

Control

BREAKLOOP

Immediately exits an ITERATE loop

BREAKLOOP

CASE

Tests a condition and if true, executes the code following until another CASE or DEFAULT is reached

CASE ($F)

$F = CASE

DEFAULT

Marks code that should be executed if no CASES match in a SELECT block

DEFAULT

ELSE

Enables an alternate block of code to execute if an IF test fails to be true

ELSE

ENDIF

Marks the end of an IF block

ENDIF

ENDLOOP

Marks the end of an ITERATE block

ENDLOOP

ENDSELECT

Marks the end of a SELECT block

ENDSELECT

ENDWHILE

Marks the end of a WHILE block

ENDWHILE

IF

Executes lines following only if the condition is true

IF ($F)

$F = IF

ITERATE

Repeats a block of routine lines, incrementing an attribute over a range

ITERATE $R FROM $1 TO $2

$R = Index Using
$1 = First Value
$2 = Last Value

ITERATEROWS

Iterate Row Index over all the rows in the table

ITERATEROWS $R OVER $1

$R = Row Index
$1 = Table

REVERSEITERATE

Iterate the result attribute over the given range in descending order

REVERSEITERATE $R FROM $1 TO $2

$R = Index Using
$1 = First Value
$2 = Last Value

SELECT

Starts a block where CASEs can be used to execute different code for conditions tested

SELECT

WHILE

Repeats a block of lines until the condition is false; the condition is tested first

WHILE ($F)

$F = WHILE

Display

Animate

Animate a model object to a new screen position

Animate($1,$2,$3)

$1 = Object
$2 = X Pos
$3 = Y Pos

ChooseColor

Shows the color palette selector dialog

$R = ChooseColor($1)

$R = Result
$1 = Selection Color

ColorPaletteEntry

Returns the RGB color for a given color index in the Planimate color palette

$R = ColorPaletteEntry($1)

$R = Result
$1 = Palette Index

FitPanelToArea

Fits the panel to the area of its contents with a margin

FitPanelToArea($1,$2)

$1 = Target Panel
$2 = Margin

ForceRepaint

Repaints all windows; use with care, it can cause slowdown

ForceRepaint

ForceRepaintPanel

Repaints the specified panel

ForceRepaintPanel($1)

$1 = Panel

GetSystemColorRGB

Returns the RGB color for a given color in the Windows system color palette

$R = GetSystemColorRGB($1)

$R = Result
$1 = Value

GraphXOffset

Read the offset of a graph view for a table on the given panel

$R = GraphXOffset($1,$2)

$R = Target
$1 = Table
$2 = Panel

GraphXWidth

Read the width of a graph view for a table on the given panel

$R = GraphXWidth($1,$2)

$R = Target
$1 = Table
$2 = Panel

HidePanel

Hides any popup for the given panel

HidePanel($1)

$1 = Target Panel

HideTableEditor

Close any open table editor for the given table

HideTableEditor($1)

$1 = Table

MakeVisible

Makes the specified panel the active panel on the main window

MakeVisible($1)

$1 = Target Subsystem

PanelWindowLeft

Returns the left window co-ordinate of a popup panel

$R = PanelWindowLeft($1)

$R = Result
$1 = Panel

PanelWindowTop

Returns the top window co-ordinate of a popup panel

$R = PanelWindowTop($1)

$R = Result
$1 = Panel

PrintPanel

Queues the nominated panel for printing; additional panels can be printed by intercepting the _Panel Printed broadcast

PrintPanel($1)

$1 = Target Subsystem

RepaintObjects

Forces a repaint of dynamic objects only; faster than a full force repaint

RepaintObjects

SetActivityString

Sets text in the status bar activity area

SetActivityString($1)

$1 = Activity Text

SetColorPaletteEntry

Sets the RGB color for a given color in the Planimate color palette

SetColorPaletteEntry($1,$2)

$1 = Palette Index
$2 = RGB Value

SetGraphXOffset

Set the offset of a graph view for a table on the given panel

SetGraphXOffset($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetGraphXWidth

Set the width of a graph view for a table on the given panel

SetGraphXWidth($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetPanelColor

Sets the background color of a panel

SetPanelColor($1,$2)

$1 = Panel
$2 = Color

SetPanelTransparency

Enables the use of transparency for a panel, value 0..254 or 255 to disable transparency

SetPanelTransparency($1,$2)

$1 = Panel
$2 = Transparency

SetStatusItemAreaString

Sets the text in the status bar area where item class names are displayed during editing

SetStatusItemAreaString($1)

$1 = Item Area Text

SetViewportScroll

Set the x and y scroll of a viewport on a given panel

SetViewportScroll($R,$1,$2,$3)

$R = Panel With Viewport
$1 = Panel Inside Viewport
$2 = X Offset
$3 = Y Offset

SetViewportTarget

Set the target of a viewport. Current Panel identifies the viewport and can be zero of the containing panel only has 1 viewport. New Panel sets the new panel to display, 0 makes the viewport hidden in user mode.

SetViewportTarget($1,$2,$3)

$1 = Panel With Viewport
$2 = Current Panel Inside Viewport
$3 = New Panel Inside Viewport

SetViewportZoom

Set the zoom factor of a viewport on a given panel

SetViewportZoom($R,$1,$2)

$R = Panel With Viewport
$1 = Panel Inside Viewport
$2 = Zoom Value

ShowPopupPanel

Opens the given panel in a separate window at the specified window co-ordinates

ShowPopupPanel($1,$2,$3)

$1 = Target Panel
$2 = X Position
$3 = Y Position

ShowTableEditor

Open table editor for the given table

ShowTableEditor($1)

$1 = Table

SwapPopupPanel

Swaps which panels are visible in a popup panel without closing/reopening it

SwapPopupPanel($1,$2)

$1 = Target Panel
$2 = Replace With

Label

AddLabelDialog

Show a dialog so the user can add a label to the given label list

AddLabelDialog($R)

$R = Result

AddSubLabel

Makes the new sublabel for the parent label $1 (if it doesn't exist) and returns its index as a sublabel

AddSubLabel($R,$1)

$R = Result
$1 = Label

ClearLabelList

Removes all labels from a label list

ClearLabelList($1)

$1 = Clear Label List

CreateLabelList

Creates a label list with the given name and formats the result attribute to reference it

CreateLabelList($R,$1)

$R = Format Result
$1 = List Name

CreateLabelListFromCol

Uses the provided column to provide text for creating a new label list

CreateLabelListFromColumn($R,$1)

$R = Target List
$1 = Source Column

CreatePanelPortalLabel

Creates a panel label for the subsystem of the given portal object label

$R = CreatePanelPortalLabel($1)

$R = New Panel Label
$1 = Portal Object Label

CreateSubLabelList

Creates an empty sub label list of an existing label list and formats an attribute to reference it

CreateSubLabelList($R,$1,$2)

$R = Format Result
$1 = List Name
$2 = Parent List

CreateSubsystemObjectLabel

$R = CreateSubsystemObjectLabel()

$R = New Object Label

DeleteLabel

Deletes the given label from its labellist

DeleteLabel($1)

$1 = Label

LabelCount

Returns how many labels in the given label list

$R = LabelCount($1)

$R = Result
$1 = Label Count

MaxLabelIndex

Returns the highest allocated label index in the given label list

$R = MaxLabelIndex()

$R = Result

MinLabelIndex

Returns the lowest allocated label index in the given label list

$R = MinLabelIndex()

$R = Result

NextLabelIndex

The next allocated label index for the list or -1 if none

$R = NextLabelIndex($1)

$R = Result
$1 = Label Index

PrevLabelIndex

The previous allocated label index for the list or -1 if none

$R = PrevLabelIndex($1)

$R = Result
$1 = Label Index

ReIndexLabelList

Re-indexes all members in a label list so they have ascending and continuous index values

ReIndexLabelList($1)

$1 = Re-index Label List

ReIndexLabels

Remaps labels in the given list using 2 columns of matching from and to values

ReIndexLabels($1,$2,$3)

$1 = Re-index List
$2 = From Values (Col)
$3 = To Values (Col)

RemoveSubLabel

Removes the sublabel as a member of the sublabel list

RemoveSubLabel($1)

$1 = Label

TestLabelIndex

Tests whether an index has been used in a label list

$R = TestLabelIndex($1,$2)

$R = Result
$1 = Index Value
$2 = Label List

Label String

AppendToLabel

Append text to an existing label

AppendToLabel($R,$1)

$R = Result
$1 = Source

CreatePasswordHash

Uses the 3 text sources to create an unpredictable hash string

$R = CreatePasswordHash($1,$2,$3)

$R = Result
$1 = Text-1
$2 = Text-2
$3 = Text-3

CropToCharacters

Crop a label to a subset of its text

CropToCharacters($R,$1,$2)

$R = Result
$1 = From Char
$2 = To Char

ExtractFileExtention

Create a label in the target label list which is the file extention of the path/file text

ExtractFileExtention($R,$1)

$R = Result
$1 = Path/File

ExtractFileName

Create a label in the target label list which is the file name from a full path/file text

ExtractFileName($R,$1)

$R = Result
$1 = Path/File

ExtractIntoFormat

Extracts a substring from a formatted value/label and interprets it in the format of the target. If the target is a label list, it gets added as a label if its not already in that list.

$R = ExtractIntoFormat($1,$2,$3)

$R = Result
$1 = Label
$2 = From Char
$3 = To Char

ExtractPathName

Create a label in the target label list which is the file name from a full path/file text

ExtractPathName($R,$1)

$R = Result
$1 = Path/File

FilesInFolder

Returns how many files matching a wildcard in the given folder

$R = FilesInFolder($1)

$R = Target List
$1 = Path/File

FilesInHierarchy

Retrieve how many files in a file folder (including subfolders)

$R = FilesInHierarchy($1)

$R = Target List
$1 = Path/File

FormatIntoLabel

Create a new label with the formatted text of the source

FormatIntoLabel($R,$1)

$R = Result
$1 = Source

FormatIntoLabelIndex

Creates a label from the text of source and using the provided index

$R = FormatIntoLabelIndex($1,$2)

$R = Result
$1 = Source
$2 = Index

FormatNameIntoLabel

Creates a label from the name of the given object

$R = FormatNameIntoLabel($1)

$R = Result
$1 = Source

FormattedLabelIndex

Determines if the source text is a label and returns its index if it is

$R = FormattedLabelIndex($1)

$R = Result
$1 = Source

FormattedWidth

Returns how many characters the referenced data has when it is formatted for display

$R = FormattedWidth($1)

$R = Target
$1 = Width Of

FormatTitleIntoLabel

Creates a label from the title text of the given object

$R = FormatTitleIntoLabel($1)

$R = Result
$1 = Source

GetAppDataName

Get a full documents and settings/Application Data path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.

$R = GetAppDataName($1,$2)

$R = Result
$1 = Folder
$2 = Filename

GetCharacter

Extracts a character from the formatted value provided and returns the ascii code

$R = GetCharacter($1,$2)

$R = Target
$1 = String
$2 = Character

GetMyDocumentsName

Get a full My Documents path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.

$R = GetMyDocumentsName($1,$2)

$R = Result
$1 = Folder
$2 = Filename

GetProgramName

Get the folder containing the running Planimate EXE and append a filename. Sets s.LastAccessedDataFilePath.

GetProgramName($1)

$1 = Filename

RemoveFileExtention

Crop label to remove trailing dot and text

RemoveFileExtention($R)

$R = Result

RenameLabel

Change the text of a label

RenameLabel($R,$1)

$R = Result
$1 = Source

SetFreeTextTitle

Sets title of free text editor dialog

SetFreeTextTitle($1)

$1 = Title Text

Logical

BitAND

Treat values as integers and bitwise AND them (limited to 14 bits of precision)

$R = BitAND($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

BitOR

Treat values as integers and bitwise OR them (limited to 14 bits of precision)

$R = BitOR($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

BitXOR

Treat values as integers and bitwise XORs them (limited to 14 bits of precision)

$R = BitXOR($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

Condition

Evaluate a condition specified in a dialog

$R = Condition($F)

$R = Result
$F = Set using

EQ ( == )

Determines if 2 values are numerically close to each other

$R = $1 == $2

$R = Result
$1 = Value 1
$2 = Value 2

GE ( >= )

Determines if the first value is greater than or equal to the second

$R = $1 >= $2

$R = Result
$1 = Value 1
$2 = Value 2

GT ( > )

Determines if the first value is significantly greater than the second value

$R = $1 > $2

$R = Result
$1 = Value 1
$2 = Value 2

LE ( <= )

Determines if the first value is less than or equal to the second

$R = $1 <= $2

$R = Result
$1 = Value 1
$2 = Value 2

LT ( < )

Determines if the first value is significantly less than the second value

$R = $1 < $2

$R = Result
$1 = Value 1
$2 = Value 2

NEQ ( != )

Determines if 2 values are not numerically close to each otherclose to each other

$R = $1 != $2

$R = Result
$1 = Value 1
$2 = Value 2

Message

Broadcast

Sends a broadcast to the entire model, optionally including the item's attributes

Broadcast($1,$2)

$1 = Broadcast Index
$2 =  With Item Info

BroadcastScoped

Sends a broadcast to a specified dynamic panel and all under it, optionally including the item's attributes

BroadcastScoped($1,$2,$3)

$1 = Broadcast Index
$2 =  With Item Info
$3 = Send To Subsystem

BroadcastToPanel

Sends a broadcast to a specified dynamic panel, optionally including the item's attributes

BroadcastToPanel($1,$2,$3)

$1 = Broadcast Index
$2 =  With Item Info
$3 = Send To Subsystem

ImmediateMessage

Send a message whilst the item waits at the change object

ImmediateMessage($1)

$1 = Message Target

ImmediateMessageNamed

Send a message to a specified portal with a specific name whilst the item waits at the change object

ImmediateMessageNamed($1,$2)

$1 = Message Target
$2 = Message Name

ReleaseWaitingItem

Used to signal a waiting dispatcher on the target panel that a given item should be released

$R = ReleaseWaitingItem($1,$2)

$R = Result
$1 = Item Index
$2 = Scope Panel

ReverseItemDirection

Searches spatial links for the item and if found, reverses the direction of the item

$R = ReverseItemDirection($1,$2)

$R = Result
$1 = Item Index
$2 = Scope Panel

Numeric

abs

Magnitude of a value, without the sign

$R = abs($1)

$R = Result
$1 = Value 1

max

Determines the greater of 2 values

$R = max($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

min

Determines the lesser of 2 values

$R = min($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

mod

Modulus of $1 over base $2

$R = mod($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

random

Random value between 0 and 1

$R = random($F)

$R = Result
$F = Set to

round

Integer closest to the value

$R = round($1)

$R = Result
$1 = Round Value

RoundToN

Round value to the specified number of digits of precision

$R = RoundToN($1,$2)

$R = Result
$1 = Round Value
$2 = Sig. Digits

trunc

Integer equal or lower than the value

$R = trunc($1)

$R = Result
$1 = Truncate

Paint

CopyPaintObject

Enables a paint object to be copied, optionally keeping it inherited from the given master

$R = CopyPaintObject($1,$2,$3)

$R = New Paint Label
$1 = Original Paint Label
$2 = Destination Panel
$3 = Inherit The Copy

CopyPaintProperties

Copies the graphical properties between paint objects

CopyPaintProperties($1,$2)

$1 = Paint Object To Update
$2 = Original Paint Object

DeleteAllPaintObjects

Delete all paint objects on the given panel

DeleteAllPaintObject($1)

$1 = Target Panel

DeleteInheritedPaintObjects

Removes all paint objects which inherit from a given panel

DeleteInheritedPaintObjects($1,$2)

$1 = Target Pane
$2 = Un Inherit Panel

DeletePaintObject

Deletes a paint object

DeletePaintObject($1,$2)

$1 = Paint Label
$2 = With Inherited

GetPaintProperty

Read a property of a paint object

$R = GetPaintProperty($1,$2)

$R = Result
$1 = Paint Object Label
$2 = Property Label

InheritPaintObjects

Enables a panel to be populated with paint objects from another panel

InheritPaintObjects($1,$2)

$1 = Target Panel
$2 = Inherit From Panel

InterpolateColor

Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)

$R = InterpolateColor($1,$2,$3)

$R = Result
$1 = Color1
$2 = Color2
$3 = Ratio

SetNoteVisible

Shows or hides an RTF note

SetNoteVisible($1,$2)

$1 = Paint Object Label
$2 = Visibility

SetPaintImage

Sets the image of a paint object

SetPaintImage($1,$2)

$1 = Paint Object Label
$2 = Set Image To

SetPaintPosition

Moves a paint object to a new position

SetPaintPosition($1,$2,$3)

$1 = Paint Object Label
$2 = X Pos (lower left)
$3 = Y Pos (lower left)

SetPaintProperty

Set a property of a paint object directly

SetPaintProperty($1,$2,$3)

$1 = Paint Object Label
$2 = Property Label
$3 = Property Value

SetPaintText

Sets the text of a paint object

SetPaintText($1,$2,$3)

$1 = Paint Object Label
$2 = Set Text/File To
$3 = For All States

SetPaintTip

Sets the tool tip text of a paint object

SetPaintTip($1,$2,$3)

$1 = Paint Object Label
$2 = Set Tip To
$3 = For All States

Route

AssignRoute

Sets an item's track route from a route table

AssignRoute($1)

$1 = Timetable Source


ClearRoute

Clear an item's routing database

ClearRoute()


EnableTrackCheckNext

Used during lookahead, this enables a modeller to signal objects downstream of a lookahead that the current lookahead is for track capacity purposes and wont be taken immediately. It automatically resets when lookahead unwinds behind the routine.

EnableTrackCheckNext()

FillRouteSteps

Fills in all intermediate portals and loops in an item's track route

FillRouteSteps($1)

$1 = Include Loops (1=yes)

InsertRouteStep

Insert a track route step into an item's internal routing database

InsertRouteStep($1,$2)

$1 = Route Step
$2 = Route Location


ReadRoute

Reads an item's track route into a table

ReadRoute($R)

$R = Timetable Target


RegisterBlockedTrain

Register the item (train) into the track blocked list

RegisterBlockedTrain()

RoadsInTrackSection

Returns how many roads a given track section has been configured for

$R = RoadsInTrackSection($1)

$R = Target
$1 = Section

SetActAsJunction

Enables the Act As Junction flag to be set or cleared for a given portal on a track network

SetActAsJunction($1,$2)

$1 = Portal On Track
$2 = Act As Junction

SetOncomingCheck

Enables the Oncoming Train Check flag to be set or cleared for a given portal on a track network

SetOncomingCheck($1,$2)

$1 = Portal On Track
$2 = Oncoming Check

TrackSectionType

Returns the type of a track section (_section_types label list)

$R = TrackSectionType($1)

$R = Target
$1 = Section

Row/Column

Average

Determines the average of values in a row or column

$R = Average($1,$2,$3)

$R = Result
$1 = Average of
$2 = From
$3 = To

MaxIndex

Determines the index of the highest value in a row or column

$R = MaxIndex($1,$2,$3)

$R = Result
$1 = Max of
$2 = From
$3 = To

MinIndex

Determines the index of the lowest value in a row or column

$R = MinIndex($1,$2,$3)

$R = Result
$1 = Min of
$2 = From
$3 = To

StdDev

Determines the Standard Deviation of values in a row or column

$R = StdDev($1,$2,$3)

$R = Result
$1 = StdDev of
$2 = From
$3 = To

Sum

Determines the sum of values in a row or column

$R = Sum($1,$2,$3)

$R = Result
$1 = Sum of
$2 = From
$3 = To

SumSquared

Determines the sum of squares of values in a row or column

$R = SumSquared($1,$2,$3)

$R = Result
$1 = Sum/Sqr of
$2 = From
$3 = To

Scientific

arccos

Inverse cosine function, returns radians

$R = arccos($1)

$R = Result
$1 = Value

arcsin

Inverse sine function, returns radians

$R = arcsin($1)

$R = Result
$1 = Value

arctan

Inverse tan function, returns radians

$R = arctan($1)

$R = Result
$1 = Value

atan2

Determines angle (in radians) given x and y displacement

$R = atan2($1,$2)

$R = Result
$1 = Numerator (Y)
$2 = Denominator (X)

cos

Cosine function, value in radians

$R = cos($1)

$R = Result
$1 = Value

DegToRad

Converts degrees to radians

$R = DegToRad($1)

$R = Result
$1 = Value

exp

Calculates $1 to the power of E

$R = exp($1)

$R = Result
$1 = Value

hypot

Hypotenuse of right angled triangle with given sides

$R = hypot($1,$2)

$R = Result
$1 = X Value
$2 = Y Value

log10

Calculates the decimal logarithm of the value

$R = log10($1)

$R = Result
$1 = Value

logN

Calculates the natural logarithm of the value

$R = logN($1)

$R = Result
$1 = Value

pow

Calculates $1 to the power of $2

$R = pow($1,$2)

$R = Result
$1 = Value
$2 = Power

RadToDeg

Converts radians to degrees

$R = RadToDeg($1)

$R = Result
$1 = Value

sin

Sine function, value in radians

$R = sin($1)

$R = Result
$1 = Value

sqr

Value multiplied by itself

$R = sqr($1)

$R = Result
$1 = Value

sqrt

Square root of value

$R = sqrt($1)

$R = Result
$1 = Value

tan

Tan function, value in radians

$R = tan($1)

$R = Result
$1 = Value

Spatial Link

AddBendPoint

Adds a bend point to a spatial link between the two objects specified

AddBendPoint($R,$1,$2,$3)

$R = From Object
$1 = To Object
$2 = X Position
$3 = Y Position

AddDirectionalLink

Adds a spatial link between objects which can only be traversed in the forward direction

AddDirectionalLink($1,$2)

$1 = From Object
$2 = To Object

AddSpatialLink

Add a spatial link between the two objects labels specified

AddSpatialLink($1,$2)

$1 = From Object
$2 = To Object

ClearSpatialCache

Instructs Planimate to update spatial link information after links are created or objects are moved

ClearSpatialCache()

CopySpatialLink

Creates a spatial link between objects, copying an existing link's properties

CopySpatialLink($1,$2,$3)

$1 = From Object
$2 = To Object
$3 = Copy Link

DeletePanelSpatialLinks

Deletes all spatial links on a given panel

DeletePanelSpatialLinks($1)

$1 = Panel

RemoveSpatialLink

Removes any spatial links from and to the specified object labels (directional)

RemoveSpatialLink($1,$2)

$1 = From Object
$2 = To Object

SetItemTransitTarget

Sets the destination an item will look for once it enters a spatial link

SetItemTransitTarget($1)

$1 = To Target

SetItemTransitTime

Sets the time an item will take to reach its destination once it enters a spatial link

SetItemTransitTime($1)

$1 = To Time

SetLinkColor

Sets the color of a spatial link between 2 given objects

SetLinkColor($1,$2,$3)

$1 = From Object
$2 = To Object
$3 = Color

SetLinkCost

Sets the link cost of a spatial link (normally computed from the link's distance)

SetLinkCost($1,$2,$3)

$1 = From Object
$2 = To Object
$3 = Cost

SetSpatialLinkWidth

Sets the width of a spatial link between two objects

SetSpatialLinkWidth($1,$2,$3)

$1 = From Object
$2 = To Object
$3 = Width

Special

---| Only During Move |---

Enables the modeller to specifically mark that the following routine lines do not execute during lookahead

 Only During Move |---||----- Following Only During Move -----|

BREAKPOINTIF

If the parameter is true, this interrupts the routine and displays a debugging dialog enabling inspection of the models state

BREAKPOINTIF ($1)

$1 = Enable Break

CallDLL

Enables a Planimate compatible DLL to be called

$R = CallDLL($F)

$R = Result
$F = Set to

CallRoutine

Calls a subroutine

CallRoutine($F)

$F = Call

Comment (//)

A comment line

Comment

CopyFont

Copies the font properties between cells and columns

CopyFont($R,$1)

$R = Format Result
$1 = Format From

CopyFormat

Copies the format/unit type/label reference between cells, columns and attributes

CopyFormat($R,$1)

$R = Format Result
$1 = Format From

DescribeRoutineData

Describe the data accessed by a change object routine

DescribeRoutineData($1,$2,$3)

$1 = Routine Panel
$2 = Object Name
$3 = Output Filename

EncodeRGB

Encodes red, green and blue components (0..255) into a single value used to specify any color

$R = EncodeRGB($1,$2,$3)

$R = Result
$1 = Red Value
$2 = Green Value
$3 = Blue Value

FormatForList

Formats the result object to reference a label list with the given name

FormatForList($R,$1)

$R = Format Result
$1 = List Name

GetFormat

Returns the value format of the data

$R = GetFormat($1)

$R = Result
$1 = Data To Test

GetFormatListName

Creates a new label with the name of the label list the target is formatted to. If no list, no change to the target is made

GetFormatListName($R,$1)

$R = Result
$1 = Data To Test

ListRoutineCode

Write a change object routine code to a file

ListRoutineCode($1,$2,$3)

$1 = Routine Panel
$2 = Object Name
$3 = Output Filename

LoadDataSet

Initiates loading of a given data set from a file name specified by a label

LoadDataSet($1,$2)

$1 = Data Set #
$2 = File Name

LoadDataSet2

Load a version 2 dataset

$R = LoadDataSet2($1,$2,$3)

$R = Result
$1 = Definition Table
$2 = File Name
$3 = Pass Phrase

ObjectType

Returns the type of the object that the object label refers to

$R = ObjectType($1)

$R = Result
$1 = Object

SaveDataSet

Initiates saving of a given data set to a file name specified as a label

SaveDataSet($1,$2)

$1 = Data Set #
$2 = File Name

SaveDataSet2

Save a version 2 dataset

$R = SaveDataSet2($1,$2,$3)

$R = Result
$1 = Definition Table
$2 = File Name
$3 = Pass Phrase

SetFormat

Sets format of $1 to mode $2, with $3 being the label list name if its a label format

SetFormat($1,$2,$3)

$1 = Data To Set
$2 = Format
$3 = List Name

SetLastDataFile

Sets the last data filename, optionally visible in the titlebar

SetLastDataFile($1)

$1 = Name

StartScheduledEntries

Signals that scheduled entries should start (if options deferred them starting when the model was run)

StartScheduledEntries

Table

AdvancedSort

Performs a sort on a table using another table to define the sort criteria

AdvancedSort($R,$1)

$R = Target
$1 = Sort Info

AllocateTableRowMemory

Enables memory to be reserved for a table which is expected to grow to a large number of rows

AllocateTableRowMemory($R,$1)

$R = Target Table
$1 = Allocate Rows

AppendCol

Append a column to a table

AppendColumn($R)

$R = Target

AppendRow

Append a row to the table

AppendRow($R)

$R = Target

BlockMove

Block copy a range of cells to another table

BlockMove($R,$1,Range[$2][$3])

$R = Result
$1 = Source
$2 = # of Rows
$3 = # of Cols

CopyToClipboard

Copy table to clipboard using its clipboard settings and the option modifiers

CopyToClipboard($R,$1)

$R = From Table
$1 = Options

CreateSortIndex

Creates an ordered list of row numbers if the given column was sorted alphabetically

CreateSortIndex($R,$1)

$R = Target Column
$1 = Column To Sort

DeleteCol

Delete a range of columns from a table

DeleteColumn($R,$1,$2)

$R = Target Table
$1 = First Col
$2 = Col Count

DeleteRow

Delete a number of rows starting at a given row in a table

DeleteRow($R,$1,$2)

$R = Target Table
$1 = First Row
$2 = Row Count

EnableColumnEditing

Controls whether a given table column can be edited

EnableColumnEditing($R,$1)

$R = Target Column
$1 = Edit Control

GetColumnProperty

Read a property of a table column

$R = GetColumnProperty($1,$2)

$R = Result
$1 = Table Column
$2 = Property Label

InsertCol

Insert columns into a table with the option of copying formatting from another column

InsertColumn($R,$1,$2,$3)

$R = Target Table
$1 = Insert Pos.
$2 = Col Count
$3 = Copy Format

InsertRow

Insert a number of rows at a given row in a table

InsertRow($R,$1,$2)

$R = Target Table
$1 = Insert Pos.
$2 = Row Count

OutOfScopeWrite

Enable writing to item table reference $1 even if it is not in scope

OutOfScopeWrite($1)

$1 = Item Table Ref

PasteFromClipboard

Paste the clipboard into the table using its clipboard options and the modifiers

PasteFromClipboard($R,$1)

$R = Target Table
$1 = Configure

PurgeDuplicateRows

Removes any identical rows from the given table

PurgeDuplicateRows($R)

$R = Target


Search

Search table until a condition is true

$R = Search($F)

$R = Result
$F = Set to

SetCellFreeText

Sets the free text (not bound by label text rules) for a table cell

SetCellFreeText($R,$1)

$R = Target Cell
$1 = Source Cell

SetColAlignment

Enables a column's text alignment to be changed

SetColumnAlignment($R,$1)

$R = Target Column
$1 = Align Mode

SetColSecondTitle

Sets the text of the second title row for the given column

SetColumnSecondTitle($R,$1)

$R = Target Column
$1 = Title Text

SetColTitle

Set the title text of a table column

SetColumnTitle($R,$1)

$R = Target Column
$1 = Title Text

SetColTupleName

Sets the name used to internally identify a column

SetColumnTupleName($R,$1)

$R = Target Column
$1 = Tuple Text

SetColumnProperty

Set a property of a table column

SetColumnProperty($1,$2,$3)

$1 = Table Column
$2 = Property Label
$3 = Property Value

SetColWidth

Sets the formatting width of a table column

SetColWidth($R,$1)

$R = Target Column
$1 = Column Width

SetTableRowHeight

Sets the height of table rows

SetTableRowHeight($1,$2)

$1 = Target Table
$2 = Row Height

SetTableTitle

Set the title text of the table from the label

SetTableTitle($R,$1)

$R = Target Table
$1 = Title Text

ShiftCol

Shift the columns in a table

ShiftColumn($R,$1,$2)

$R = Result
$1 = Source
$2 = Shift <+ ->

ShiftRow

Shift the rows in a table

ShiftRow($R,$1,$2)

$R = Result
$1 = Source
$2 = Shift ^+ -v

Sort

Sort table by up to 3 columns

Sort($R,$1,$2,$3)

$R = Target
$1 = Primary Col.
$2 = Second Col.
$3 = Third Col.

TableReferenceSet

Returns non zero if the reference resolves to a table

$R = TableReferenceSet($1)

$R = Result
$1 = Item Table Ref

TableSortDialog

Enables the user to set up and perform a sort using the table sort dialog

TableSortDialog($R)

$R = Target

Table View

GetFilteredRows

Retrieves the filter mapping of view rows to actual rows into the list table

GetFilteredRows($1,$2,$3)

$1 = Filter List
$2 = Table
$3 = Panel

GetTableView

Read columns of a table view into another table

GetTableView($1,$2,$3)

$1 = View Table
$2 = View Panel
$3 = Config Table

ImportIntoView

Imports the system clipboard into a table view starting at the specified Top Left cell. Returns zero on success

$R = ImportIntoView($1,$2,$3,$4,$5,$6,$7)

$R = Error Result
$1 = Table
$2 = Panel
$3 = TL Row
$4 = TL Col
$5 = Options
$6 = Rows Read
$7 = Cols Read

ReFilterTableView

Reapply any active filters to the current data in the table

ReFilterTableView($1,$2)

$1 = Table
$2 = Panel

SetTableView

Set columns that a table view will display

SetTableView($1,$2,$3)

$1 = View Table
$2 = View Panel
$3 = Config Table

SetTableViewColScroll

Sets the column scroll of a view for a table on a given panel

SetTableViewColScroll($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetTableViewRowScroll

Sets the row scroll of a view for a table on a given panel

SetTableViewRowScroll($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

TableViewColScroll

Reads the column scroll of a view for a table on a given panel

$R = TableViewColScroll($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewRows

Reads the number of rows in a table view. If a filter is set, this may differ from the number of rows in the table

$R = TableViewRows($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewRowScroll

Reads the row scroll of a view for a table on a given panel

$R = TableViewRowScroll($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewVisibleCols

Reads the number of visible columns in a table view

$R = TableViewVisibleCols($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewVisibleRows

Reads the number of visible rows in a table view

$R = TableViewVisibleRows($1,$2)

$R = Target
$1 = Table
$2 = Panel

Time

DayOfMonth

Returns the day of the month, starting at 1

$R = DayOfMonth($1)

$R = Result
$1 = Time

DayOfWeek

Returns the day of the week, starting at 1 for Sunday

$R = DayOfWeek($1)

$R = Result
$1 = Time

DaysInDateMonth

Returns how many days in the month of the absolute time

$R = DaysInDateMonth($1)

$R = Result
$1 = Time

FormDate

Computes the absolute time representing midnight on the given date

$R = FormDate($1,$2,$3)

$R = Result
$1 = Date
$2 = Month
$3 = Year

HourOfDay

Returns the hour into the current day of the time, starting at 0

$R = HourOfDay($1)

$R = Result
$1 = Time

HourOfDay+1

Returns the hour into the current day of the time, starting at 1 instead of 0

$R = HourOfDay_1($1)

$R = Result
$1 = Time

IncrementByMonths

Increments the date by one or more months, attempting to keep the same day of month

IncrementByMonths($R,$1)

$R = Result
$1 = # of months

MonthOfYear

Returns the month of the year, starting at 1 for January

$R = MonthOfYear($1)

$R = Result
$1 = Time

TimeOfDay

Returns the number of seconds into the current day of the time

$R = TImeOfDay($1)

$R = Result
$1 = Time

WeekOfYear

Returns the week of the year, starting at 1

$R = WeekOfYear($1)

$R = Result
$1 = Time

YearOfDate

Returns the year of the given calendar time

$R = YearOfDate($1)

$R = Result
$1 = Time

Tuple

DecodeMultiLabelToTuple

Extracts the fields of a multi-label to item attributes with names matching the label lists in the multi-label

DecodeMultiLabelToItem($R)

$R = Target

EncodeItemToMultiLabel

Combines item attributes to form a multi-label, for item attributes with names matching the label lists in the multi-label

EncodeItemToMultiLabel($R)

$R = Target

MatchedCopyRow

Copy rows between tables where the column names match

MatchedCopyRow($R,$1)

$R = Result
$1 = Set To

TupleAppendFromCarried

Append a row to the table and for it, set table columns from a carried item's attributes with the same name

TupleAppendFromCarried($R,$1)

$R = Table
$1 = Carried Index

TupleAppendFromItem

Append a row into the table and for it, set table columns from item attributes with the same name

TupleAppendFromItem($R)

$R = Table

TupleCarriedToRow

For the specified row, set table columns from a carried item's attributes with the same name

TupleCarriedToRow($R,$1)

$R = Row
$1 = Carried Index

TupleDecrementToRow

For the specified row, decrement cells with the values of item attributes with matching names

TupleDecrementFromRow($R)

$R = Row

TupleExtractToCarried

For the specified row, set a carried item's attributes from table columns with the same name then delete the row

TupleExtractToCarried($R,$1)

$R = Row
$1 = Carried Index

TupleExtractToItem

For the specified row, set item attributes from table columns with the same name then delete the row

TupleExtractToItem($R)

$R = Row

TupleIncrementToRow

For the specified row, increment cells with the values of item attributes with matching names

TupleIncrementToRow($R)

$R = Row

TupleInsertFromCarried

Insert a row into the table and for it, set table columns from a carried item's attributes with the same name

TupleInsertFromCarried($R,$1)

$R = Row
$1 = Carried Index

TupleInsertFromItem

Insert a row into the table and for it, set table columns from item attributes with the same name

TupleInsertFromItem($R)

$R = Row

TupleItemToRow

For the specified row, set table columns from item attributes with the same name

TupleItemToRow($R)

$R = Row

TupleRowToCarried

For the specified row, set a carried item's attributes from table columns with the same name

TupleRowToCarried($R,$1)

$R = Row
$1 = Carried Index

TupleRowToItem

For the specified row, set item attributes from table columns with the same name

TupleRowToItem($R)

$R = Row

UI

AddListToMenu

Appends a new menu to the modeller custom menu bar

AddListToMenu($1,$2)

$1 = Menu Name
$2 = Item List

BrowseFile

Browse for a file. Returns non zero if one chosen. $1 sets an initial file, $2 enables a save-style dialog. Use s.LastAccessedDataFile and s.LastAccessedDataFilePath to access the file and full path spec of the file selected.

$R = BrowseFile($1,$2)

$R = File Chosen
$1 = File Spec
$2 = Save Mode

ClearCustomMenubar

Removes all menu items from the modeller custom menu bar

ClearCustomMenubar

Dialog

Show a dialog box for the user to interact with

$R = Dialog($F)

$R = Result
$F = Dialog

HandlePopupMenu

Interprets columns in table as depth/name/index and generates a popup menu. Returns index of selected item or 0 if cancelled

$R = HandlePopupMenu($1)

$R = Result
$1 = Table

InitiateFieldEdit

Starts editing attribute/cell views on a panel, as if the user clicked on the first one

InitiateFieldEdit($1)

$1 = Target Panel

SetMenuBar

Interprets columns in table as depth/name/index and builds a custom menu bar

SetMenuBar($1)

$1 = Table