ReleaseNotes:Feature Review December 2014: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
m (Created page with "This summary covers the extensive Planimate enhancements in 2014, from version 6.3.0 to 7.19.0. == New UI<br> == Planimate has a new editing interface. The palettes have been ...")
 
mNo edit summary
Line 1: Line 1:
This summary covers the extensive Planimate enhancements in 2014, from version 6.3.0 to 7.19.0.
This summary covers the extensive Planimate enhancements in 2014, from version 6.3.0 to 7.19.0.  


== New UI<br> ==
== New UI  ==


Planimate has a new editing interface. The palettes have been replaced by a hierarchy of selections for objects, item classes, paint objects etc. It features the ability to drag out popups with configurable position, size and transparency, and support for click drag or touch usage.<br>
Planimate has a new editing interface. The palettes have been replaced by a hierarchy of selections for objects, item classes, paint objects etc. It features the ability to drag out popups with configurable position, size and transparency, and supports both click-drag or touch usage.<br>  


Interaction mode has been merged into object mode (via the object context menu) and flow editing now features multi-level undo and is readily exitted using the Escape key.<br>
Interaction mode has been merged into object mode (via the object context menu) and flow editing now features multi-level undo and is readily exitted using the Escape key.<br>  


Many context menus have been enhanced to give extra detail and a number of "deep" menus such as paint button click actions have been streamlined.<br>
Many context menus have been enhanced to give extra detail and a number of "deep" menus such as paint button click actions have been streamlined into the top level context menu.<br>  


The appearance of the main window (including the status bar) and the defaults for newly added paint objects / views have been changed to a contemporary flatter look. The application icon and about box reflect InterDynamics' branding.  
The appearance of the main window (particularly the status bar) and the defaults for newly added paint objects / views have been changed to a contemporary flatter look. The application icon and about box reflect InterDynamics' branding.  


== Copy Paste  ==
== Copy Paste Support ==


Portals can be copied and pasted between different instances of Planimate, as well as directly saved/loaded from file.<br>
Portals can be copied and pasted between different instances of Planimate, as well as directly saved/loaded from file from within a model.<br>  


Copying and pasting a selection of objects within a model now also copies any flows that connect them.<br>
Copying and pasting a selection of objects within a model now also copies any flows that connect them.<br>  


Routine code can be copied/pasted between different instances, the text can be saved, shared via email then later pasted back into a model.  
Routine code can be copied/pasted between different instances, the text can be saved, shared via email etc, then later pasted back into a model.  


== Digital Signing  ==
== Digital Signing  ==
Line 23: Line 23:
Planimate releases are now digitally signed, this prevents Windows questioning their authenticity. The application compiler includes services to create an un-signed compiled PBA and, optionally, re-sign it with your own code signing certificate. This will prevent end users having to deal with Windows questions about application safety and will become increasingly important as operating system security is further tighteneded to protect against untrusted software.  
Planimate releases are now digitally signed, this prevents Windows questioning their authenticity. The application compiler includes services to create an un-signed compiled PBA and, optionally, re-sign it with your own code signing certificate. This will prevent end users having to deal with Windows questions about application safety and will become increasingly important as operating system security is further tighteneded to protect against untrusted software.  


=== New Short Cut Keys  ===
Planimate also now supports developers in operating under modern security policies where the Program Files folder is read only to applications.


In table views, DEL, Ctrl-C and Ctrl-X are supported. In a routine list, Ctrl-A selects all, Ctrl-R activates replace reference and F2 activates entire-line text editing. Ctrl-G (run), Ctrl-T (stop) and Ctrl-Shift-H (toggle user mode) now work from within the routine editor, debug window and other mode-less windows.
== Modelling &amp; Editing  ==


<br>
=== New Short Cut Keys ===
 
=== Viewports ===
 
More support for complex combinations of viewports and resizing.
 
== Modelling  ==
 
=== Map Enhancements  ===
 
The Map Paint Object now supports making a selected co-ordinate range visible. This is useful in providing "make visible" to end users for a set of locations.
 
=== Label Combining  ===
 
Labels which are bit flags can be combined using "|" instead of respecifying the label list name for each one.
 
=== Text Columns  ===
 
Custom cell formats can override text columns, enabling data and text to be mixed in a column.
 
=== Unused Code  ===
 
Unused change objects and routine lines that are disabled no longer generate errors, enabling text/template code to remain in a model.
 
=== Breakpoints  ===
 
Any routine line can have a breakpoint set on it, you do not need to insert a breakpoint line


=== Graph Enhancements  ===
*In table views, DEL, Ctrl-C and Ctrl-X are supported.
 
*In a routine list, Ctrl-A selects all, Ctrl-R activates replace reference and F2 activates entire-line text editing.
Control over text centering in graph label overlays
*Ctrl-G (run), Ctrl-T (stop) and Ctrl-Shift-H (toggle user mode) now work from within the routine editor, debug window and other mode-less windows.
 
=== Debugging  ===
 
Item attribute values can be edited during run from the item click menu
 
== Run Engine  ==


=== File Operations In Routines  ===
=== File Operations In Routines  ===
Line 69: Line 37:
*The file operations in Change Object -&gt; File have been made available as routine operations (the Change-File operations will be removed). They are compatible with text expressions and are supported by a "_fileoptions" label list. The new ability to combine binary labels using "|" is of particular benefit here.  
*The file operations in Change Object -&gt; File have been made available as routine operations (the Change-File operations will be removed). They are compatible with text expressions and are supported by a "_fileoptions" label list. The new ability to combine binary labels using "|" is of particular benefit here.  
*New Routine operations can determine the number of columns/lines in a text file.  
*New Routine operations can determine the number of columns/lines in a text file.  
*New Routine operations enables writing/reading a customised table view to file, retaining the customised column arrangement and format.
*New Routine operations enables writing/reading a customised table view to file, retaining the customised column arrangement and format.  
*Files with unusual line endings are better handled. The SavePanelImage operation now supports PNG and JPG as well as BMP file types.
 
=== Debugging Improvements  ===


Files with unusual line enddings are better handled. The SavePanelImage operation now supports PNG and JPG as well as BMP file types.  
*The Window close [x] can be used to stop a run which is stuck in a graphical loop even if editing tools are hidden at the time, so long as the user has an edit key and its not a compiled PBA.
*Unused change objects and routine lines that are disabled no longer generate errors, enabling text/template code to remain in a model without it generating errors due to missing data.  
*Multiple lines can be selected and enabled/disabled during a run, even if the lines were disabled at the start of the run.
*Breakpoints can be set/cleared on routine lines during a run without having to insert an explicit BreakpointIF line.


=== Other New Routine Operations / Properties  ===
=== Other New Operations / Properties  ===


*AdvanceToTimeDialog() configures and shows the advance to time dialog.  
*AdvanceToTimeDialog() configures and shows the advance to time dialog.  
Line 79: Line 53:
*Table Columns have a "userdata" value that a modeller can use as required in data management.  
*Table Columns have a "userdata" value that a modeller can use as required in data management.  
*Table Driven Entries in Indexed mode now set "_row" to the row which generated the item.  
*Table Driven Entries in Indexed mode now set "_row" to the row which generated the item.  
*Planimate can now forward gesture events (touches, swipes) which can make an application using maps much more responsive on touch enabled systems.
*Planimate can now forward gesture events (touches, swipes) which can make an application using maps much more responsive on touch enabled systems.  
*RenameLabel() now supports renaming object labels. This is useful for dynamically created objects.
*Paint properties ImageWidth/ImageHeight enable the original size of a Paint Image target file to be read


=== Graphics &amp; Other  ===
=== Other Modeller Features ===


*Line graphs can plot icons on points  
*Line graphs can plot icons on points  
*Clear, Cut, Copy and Delete are supported on multiple selected table rows even if the view has been filtered  
*Clear, Cut, Copy and Delete are supported on multiple selected table rows even if the view has been filtered  
*RTF Notes have been rewritten, supporting set/read in code using text attributes, enabling their content to be stored in text table cells instead of the DB file
*RTF Notes have been rewritten, supporting set/read in code using text attributes, enabling their content to be stored in text table cells instead of the DB file  
 
*More support for complex combinations of viewports and resizeable panels.
== Planimate-As-A-DLL  ==
*The Map Paint Object now supports making a selected co-ordinate range visible. This is useful in providing "make visible" to end users for a set of locations.
 
*Labels which are bit flags can be combined using "|" instead of respecifying the label list name for each one.
The embedding API continues to mature and has been extended to include
*Item attribute values can be edited during run from the item click menu
 
*A broadcast can be filtered at a broadcast entry using filter text. This provides an alternative to creating many broacasts
*callback function on pause
*There are new settings for font scaling, to better support high DPI displays
*thread management functions are now provided by Planimate greatly simplifying embedding Planimate.
*The font used in routine editing can be selected
 
*Paint Image objects now feature optional anti-aliasing
<br> - receiver filter name for broadcasts
*You can access the ReleaseNotes.txt from the help menu
 
*The Gantt click popup is now multi-column and cleaner
- object labels can be renamed by RenameLabel()
*Pipe click broadcasts are now available instead of the default popup
 
*You can dynamically control if a pipe uses load limiting, avoiding complex workarounds in special cases
- font selection/scaling settings for routines/dialogs - paint image smoothing - can use property ImageWidth/ImageHeight to query size of image - can access releasenotes.txt from the help meni - multi column gantt bar click - program files folder security implemented - pipe click broadcasts - dynamic control over use of pipe load limiting - window close[x] gives access to stuck model
*Custom cell formats can override text columns, enabling data and text to be mixed in a column.
 
*Control over text centering in graph Plot Label mode
<br>
*Exceptionally significant effort was invested in cleaning up the codebase to improve performance, make better use of CPU caching and improve maintainability


== Track/Rail Modelling  ==
== Track/Rail Modelling  ==
Line 115: Line 91:
*There are now 4 tail data attributes that a modeller can use to store information at the head of the train that is made available when the tail passes the same point
*There are now 4 tail data attributes that a modeller can use to store information at the head of the train that is made available when the tail passes the same point


<br>
== Planimate-As-A-DLL  ==
 
The embedding API continues to mature and is in active use.
 
*Calling back a function on pause is available
*Thread management functions are now provided by Planimate greatly simplifying embedding Planimate. The separate loader DLL is no longer needed.


== Changes, Removed and Deprecated  ==
== Changes, Removed and Deprecated  ==
Line 141: Line 122:
*Writing row/column references to a file
*Writing row/column references to a file


== Deprecated  ==
=== Deprecated  ===


*Change-File submenu options (replaced by routine operations)  
*Change-File submenu options (replaced by routine operations)  
Line 147: Line 128:
*Dialog() is being reviewed, use the MessageBox() functions where possible
*Dialog() is being reviewed, use the MessageBox() functions where possible


[[Category:Release Note]]
[[Category:Release_Note]]

Revision as of 00:30, 7 January 2015

This summary covers the extensive Planimate enhancements in 2014, from version 6.3.0 to 7.19.0.

New UI

Planimate has a new editing interface. The palettes have been replaced by a hierarchy of selections for objects, item classes, paint objects etc. It features the ability to drag out popups with configurable position, size and transparency, and supports both click-drag or touch usage.

Interaction mode has been merged into object mode (via the object context menu) and flow editing now features multi-level undo and is readily exitted using the Escape key.

Many context menus have been enhanced to give extra detail and a number of "deep" menus such as paint button click actions have been streamlined into the top level context menu.

The appearance of the main window (particularly the status bar) and the defaults for newly added paint objects / views have been changed to a contemporary flatter look. The application icon and about box reflect InterDynamics' branding.

Copy Paste Support

Portals can be copied and pasted between different instances of Planimate, as well as directly saved/loaded from file from within a model.

Copying and pasting a selection of objects within a model now also copies any flows that connect them.

Routine code can be copied/pasted between different instances, the text can be saved, shared via email etc, then later pasted back into a model.

Digital Signing

Planimate releases are now digitally signed, this prevents Windows questioning their authenticity. The application compiler includes services to create an un-signed compiled PBA and, optionally, re-sign it with your own code signing certificate. This will prevent end users having to deal with Windows questions about application safety and will become increasingly important as operating system security is further tighteneded to protect against untrusted software.

Planimate also now supports developers in operating under modern security policies where the Program Files folder is read only to applications.

Modelling & Editing

New Short Cut Keys

  • In table views, DEL, Ctrl-C and Ctrl-X are supported.
  • In a routine list, Ctrl-A selects all, Ctrl-R activates replace reference and F2 activates entire-line text editing.
  • Ctrl-G (run), Ctrl-T (stop) and Ctrl-Shift-H (toggle user mode) now work from within the routine editor, debug window and other mode-less windows.

File Operations In Routines

  • The file operations in Change Object -> File have been made available as routine operations (the Change-File operations will be removed). They are compatible with text expressions and are supported by a "_fileoptions" label list. The new ability to combine binary labels using "|" is of particular benefit here.
  • New Routine operations can determine the number of columns/lines in a text file.
  • New Routine operations enables writing/reading a customised table view to file, retaining the customised column arrangement and format.
  • Files with unusual line endings are better handled. The SavePanelImage operation now supports PNG and JPG as well as BMP file types.

Debugging Improvements

  • The Window close [x] can be used to stop a run which is stuck in a graphical loop even if editing tools are hidden at the time, so long as the user has an edit key and its not a compiled PBA.
  • Unused change objects and routine lines that are disabled no longer generate errors, enabling text/template code to remain in a model without it generating errors due to missing data.
  • Multiple lines can be selected and enabled/disabled during a run, even if the lines were disabled at the start of the run.
  • Breakpoints can be set/cleared on routine lines during a run without having to insert an explicit BreakpointIF line.

Other New Operations / Properties

  • AdvanceToTimeDialog() configures and shows the advance to time dialog.
  • UpdateColumnRefs() enables a table to have its structure changed in code with existing column references updated as required by any changes in columns.
  • Table Columns have a "userdata" value that a modeller can use as required in data management.
  • Table Driven Entries in Indexed mode now set "_row" to the row which generated the item.
  • Planimate can now forward gesture events (touches, swipes) which can make an application using maps much more responsive on touch enabled systems.
  • RenameLabel() now supports renaming object labels. This is useful for dynamically created objects.
  • Paint properties ImageWidth/ImageHeight enable the original size of a Paint Image target file to be read

Other Modeller Features

  • Line graphs can plot icons on points
  • Clear, Cut, Copy and Delete are supported on multiple selected table rows even if the view has been filtered
  • RTF Notes have been rewritten, supporting set/read in code using text attributes, enabling their content to be stored in text table cells instead of the DB file
  • More support for complex combinations of viewports and resizeable panels.
  • The Map Paint Object now supports making a selected co-ordinate range visible. This is useful in providing "make visible" to end users for a set of locations.
  • Labels which are bit flags can be combined using "|" instead of respecifying the label list name for each one.
  • Item attribute values can be edited during run from the item click menu
  • A broadcast can be filtered at a broadcast entry using filter text. This provides an alternative to creating many broacasts
  • There are new settings for font scaling, to better support high DPI displays
  • The font used in routine editing can be selected
  • Paint Image objects now feature optional anti-aliasing
  • You can access the ReleaseNotes.txt from the help menu
  • The Gantt click popup is now multi-column and cleaner
  • Pipe click broadcasts are now available instead of the default popup
  • You can dynamically control if a pipe uses load limiting, avoiding complex workarounds in special cases
  • Custom cell formats can override text columns, enabling data and text to be mixed in a column.
  • Control over text centering in graph Plot Label mode
  • Exceptionally significant effort was invested in cleaning up the codebase to improve performance, make better use of CPU caching and improve maintainability

Track/Rail Modelling

  • A new CreateRoute() routine operation enables automatic assignment of a route to an item, useful in cases where ambiguity is not a problem
  • FillRouteStep() now returns any error results to the modeller instead of stopping the model
  • New system attribute s.ItemRouteSectionRoad enables a location to know which road a train which has lookead ahead will depart on
  • Trains can be "reversed" where the tail becomes the front and the train reverses direction
  • The Change / Table Route Assignment now retains a successful route assignment in lookahead, enabling a node to make use of the knowledge of which road an item will take when it enters
  • Routine operation SectionRoadTrain() enables a model to query which item/train is on a given section road
  • A train entering a multiserver delay representing a delay in a loop can "look through" the capacity and use the go/no go outcome to adjust the time it will spend in the delay, reflecting whether it needs to stop or can roll through
  • The modeller can control track colours instead of the automatic colouring
  • Train length/tail handling is robust with zero length/time capacity nodes and the track configuration table handles length data as well
  • There are now 4 tail data attributes that a modeller can use to store information at the head of the train that is made available when the tail passes the same point

Planimate-As-A-DLL

The embedding API continues to mature and is in active use.

  • Calling back a function on pause is available
  • Thread management functions are now provided by Planimate greatly simplifying embedding Planimate. The separate loader DLL is no longer needed.

Changes, Removed and Deprecated

Changed

  • CopyToClipboard chagned to use _fileoptions
  • Blocking a periodic arrival entry is now a model error
  • All colour values can be specified either as palette values or arbitrary colours using #AARRGGBB form.
  • The index values for Pipes and Spatial Links in the _object_types label list have changed due to cleanups
  • Table Clear Before Save has been repurposed to "Dont Save Row Data" which leaves the table intact without saving it
  • The _export_options label list has been replaced by the _fileOptions list. This impacts the clipboard routine operations.
  • Standalone change objects which receive broadcasts are no longer supported, they are converted to have an entry/exit/flow.
  • Matchedrow/cell/index no longer cache results, guaranteeing the lowest matching index is always found
  • The mechanisms for writing files for use with the log viewer PBA have been replaced with an ObjectChange broadcast which works in conjunction with a log viewer module, with a focus on it still being easy for a beginner to use

Removed

  • Table option to "Index Colours From 1 Not 0"
  • Remaining DataSet1 load code and menu options
  • Option to show a button bar
  • Support for the 16 colour DOS ICN files (older versions can convert DBs full of them to BMP)
  • Support for duplicate labels in a list - each label name must be unique
  • Button click actions that are available as routine operations
  • Writing row/column references to a file

Deprecated

  • Change-File submenu options (replaced by routine operations)
  • Condition() routine operation (use a CASE)
  • Dialog() is being reviewed, use the MessageBox() functions where possible