ReleaseNotes:Planimate 4.29 Release Notes
Bug fixes and misc enhancements to Planimate 4.29
- Added button action to open table editor
- these currently dont get updated if tables get renamed
- they dont allow access to tables not in scope
These are intended to help in debugging. They have a slightly smaller memory footprint than a table view and (unlike a table view) no impact on table processing speed if a view is not open.
- Fixed Trace Animation system attribute (started it ok but didn't stop it)
- fixed Pausing issue with broadcast buttons with the continue run option on. They no longer do a separate continue to clear zero time events if the modeller has indicated the run should continue after that broadcast.
- Have reworked the control keys
CTRL-B (screen history navigation) now has the following action:
- if at front of history list, steps back one
eg: A B C D [E] => A B C [D] E CTRLB
- if not at front of history list, the current screen is put to the front of the history list and the previous one is selected
eg: A B C [D] E => A B C [E] D CTRLB
The effect of this is that CTRL-B now acts like a toggle between current and previous screen viewed but in addition if its used along with CTRL-F and CTRL-D (forward/back through screen history) the screens can be re-ordered to put screens of interest into close proximity with each other when CTRL-D and CTRL-F are used.
eg: A [B] C D E => A C D [E] B CTRLB
- message dispatchers have a new option
"Dont Copy Back Message Item"
When this is selected, the attributes/carried items of a destroyed message item are NOT copied back to the original item when it leaves the dispatcher.
- navigating panels in browser no longer adds them to the history list
- Added show/hide table editor routine operations (under display)
- fix database model DB read (properly)
- made pausing even more agressive - continue flag will no longer be set if a pause flag is already set
- fixed bug introduced in "u" which caused model DB to be ignored
- new control key shortcuts
- CTRL-B or CTRL-D = back in history
- CTRL-F = forward in history
- CTRL-U = Flow mode (old ctrl-f)
- a number of bugs with empty tables and selection tracking and the menu options have been cleared up to prevent operations on empty tables
- Implemented multi level go back on CTRL-B (back) and new CTRL-V (forward) Stack depth is currently up to 64 screens.
- If a thread ends in a "pause run" exit, any "continue run" set by will be reset. This only applies if the continue event hasn't already been posted to the FEC.
- (Interdyne version only) - set default DB to point to _data.db specifically since it cant create an empty interdyne.db anymore and complains.
- paste/append for cell edits. Note that this always appends the copied data at a new row and starting at column 1
- Added support for Rand and Euro money formats
(the Euro symbol may have problems with some codepages, let me know if it doesn't appear properly on your system)
- index across/down now handles incrementing calendar dates intelligently.
- the input field accepts value formats like 10d, 1W, 1M, 1Y etc.
- indexing by 1M or 1Y for example is recognised and the dates increment properly
- indexing by units (treated as seconds) or days (eg: 100d) still works as expected
- can index by a negative time period
- Window option "Fit Panel To Used Area"
Resizes the current panel to fit around the contents, allowing for a margin which can be specified in a dialog which appears.
(not supported for dials)
- Click-dragging in the background in object edit mode will select all objects which completely lie in the region dragged over (includes paint and views as well)
(not supported for dials)
- Viewports support shift clicking, dragging, copying
- fixed crash bug when a track loop was selected in a region and the region was deleted (these cannot be deleted in a region)
- Have reworked panel code to reduce allocation overhead for paint, viewport and view management lists. This will benefit models with many portals
- a newly added random distribution defaults to "units" for the parameters unless a time is specifically entered
- A new unit mode 'v' can be specified in a value input field (creating attribute, specifying distribution) to force a switch to "Units" mode.
Previously once PL got into time mode, it wasn't possible to get it back into units mode.
- fixed crash bug in modeless Table Editor (uninitialised variable) which caused crashses when double clicking or selecting "Edit Owner" on a view
- fixed bug in time routines which caused fractions of seconds to be lost when in time mode
- fixed Last file path option now appears in the menu
- Last file path system attribute (warning:dont try assign to labels, path may be long)
- fixed table editor bug in Q (wasn't properly checking for pointer when applying updates to editor, causing crash on some models)
- Modeless table editor Editor appears in separate window, can stay open while other parts of model edited Need to implement lockouts for some edit operations during run so be careful (eg: not good idea to rename a table during a run)
- User socket config - user can toggle socket between client and server mode
- Fixed bug when saving model as a stand alone application or bundle The model was not being stopped first, if the run was active it could lead to corrupted date data.
- Fixed bug (introduced in
, hover broadcasts) which caused PL to crash if a model error occurred during initialisation of the model and you used the show location button. While the location was being shown, a message was being processed which stopped the engine before it had finished initialising.
- fixed bug with DB loading introduced in n
- added missing buttons to socket config form
- Now support sending a broadcast when a hover change occurs in a button
- Now support saving and loading PMB files which combine models and their databases.
- Fixed mess bug due to drawing triangles (arrow heads) - wrong array size
- Fixed crash bug when using dynamic object deletion - was using delete object to look up its manager.
- Fixed dialog handling of non editable label fields (they became editable when added calendar field)
- Added display options to enable hiding of file name/panel/status indicator in the status bar when in user mode
- Default new window width/height has been increased to something more contemporary (1020 * 674)
- made it possible to use "SET" in a routine operation with the source and target being a label list reference. This allows a label list to be quickly copied (names and values).
- cancelled file selection in change object file read or write returns -1 if a result variable is used
- Enhanced error trapping for change object file reads, catches more data errors rather than stopping the run. Search on "File Access".
- fixed crash on close for a model. Model used multi label list which contained a sub label list but I was deleting the sub label list first, causing the multi label list to crash as it cleaned itself out. Didnt cause crash with the SC compiler but a good one to be rid of).
- pause animation menu enables debug options to be changed while an item is in flight - very useful for debugging graphical logic
- Routine button now shows popup menu to enable selection of either viewing routine atts (like previous) or exporting routine to a file and opening it.
OBSCURE BUG FIXES:
- save on exit could occur randomly due to uninitialised variable
- track restriction check was broken and always would return "restricted" when it shouldn't messing up decisions in lookahead
- have fixed time calculation bugs in operations like "day of week" and "month of year" when the time is a -ve number (eg: times before the current model start date)
- Adding text window to dialog box now prompts for text
- if a table column is formatted for labels and the "default width" dialog is confirmed, the column title is now left-justified by default. This can be changed by editing the column.
- hover state disable option for button states
- fixed animation bugs when mouse is clicked while animation is occuring with the "Enable Mouse Clicks While Running" option on
- Routine editor for DeleteRow/DeleteCol now will set the "count" to the Row Count / Col Count for the selected table.
idkbase note 105