For structograms, there is a so-called Icon Mode now.
Structograms can be switched to the Icon Mode and back with menu command View > Structograms with icons (Ctrl+Shift+I).
The Icon Mode builds a bridge from structograms to UML2 activity diagrams:
It shows UML2 symbols in constructs that have a counterpart in activity diagrams.
If a construct type is identified by a keyword, the keyword is replaced by the corresponding UML2 symbol.
The if-then-else structogram element corresponds in an UML2 activity diagram to a decision node with two outgoing edges.
The keyword if is replaced by the UML2 symbol for decision nodes.
When moving the mouse over the symbol, a tool tip appears, showing the UML2 name of the construct, the name of the current programming language and the destination code including the replaced keywords.
The innovative floating display of the symbols provides an optimal orientation and navigation:
Even if the beginning of a construct runs out of the structogram's visible area (when scrolling), the symbol remains at the upper border of the structogram view, as long as there is part of the construct visible. In this way, you can overlook the symbols of all parent constructs at a glance and can call up their tool tip information, even in deep construct nestings.
Above the structogram, there is now optionally a breadcrumb navigation shown.
Menu command View > Breadcrumb navigation switches the navigation bar on/off, separately for each structogram document.
The default setting can be changed under Options > Structogram Settings > View/Print.
The breadcrumb navigation bar displays the path to the currently selected structogram element.
When clicking on an element within the path, EasyCODE navigates in the structogram to that element.
When clicking the arrow on the right of a path element, a menu appears, showing a list of all direct sub elements.
EasyCODE now integrates the version control system of Microsoft Team Foundation Server 2012:
The connection automatically checks - if enabled - whether a project is in a directory managed by TFS.
If this is the case, the status of all project files will be displayed automatically.
In addition, various version control functionalities such as Checkin, Checkout, Add, Delete, Get Latest Version and Show History are provided.
In the menu Project > Settings for the current Project > Version Control System, by double-clicking Team Foundation Server DB, you can associate several EasyCODE key events with the TFS, e.g. that when a project is opened, automatically the latest versions of all files in the project are retrieved.
EasyCODE now supports Doxygen to generate a source code documentation for C/C++.
For this purpose, a new menu called Doxygen provides commands for starting the documentation generation, displaying the output contents and configuring Doxygen for EasyCODE.
Also, the default layout for the Doxygen comments can be set here.
Moreover, there are new elements in the C/C++ toolbar that help to insert C/C++ comment blocks with the defined layout.
In addition, you can set that a Doxygen comment is added automatically when inserting new functions, classes and files.
It is also possible to define here, for example, whether the documentation should be automatically regenerated in the background when you save a file.
Plugin for Microchip MPLAB X (for exchanging debug information between MPLAB X and EasyCODE):
There is now a new plugin version that supports also MPLAB X 1.85 and higher.
A project description can be added to EasyCODE projects now.
(Under Menu Project > Settings for the current Project > Miscellaneous.)
This description is also used in the documentation generated by Doxygen.
For the setting whether the structure tree view should be displayed by default when opening structograms, there is now a checkbox under Options > Structogram Settings > View/Print.
(As for the setting Show breadcrumb navigation by default, too.)
Expand/Collapse structogram level:
Under Options > Structogram Settings > Editing can now be set whether a structogram should be marked as changed when a level is expanded or collapsed (via "+"/"-" button).
There are now several video tutorials for EasyCODE:
There are new predefined build steps:
All predefined build steps of the Userdefined Build are now also callable via the automation interface.
Amongst others the following new methods:
There is also a new property:
Example of use in an automation script:
The selection list when entering Events, Guards and Actions has been improved with respect to the treatment of Tab and Enter key:
First no entry is selected in the list. As long as no selection takes place by arrow-up/down, pressing the Tab or Return key only closes the selection list.
In contrast, if an entry is selected, Tab or Return key cause a takeover of the selected text.
When editing Guards and Actions, following useful code snippets are now displayed in the selection list, in addition to the already used Guards/Actions:
Latest bugfixes from version 9.2 to 9.2.3:
If a project path contained umlauts, the BrowseInfo was not displayed in the tree view.
This bug is now fixed.
In the view window, no red X is displayed anymore for new files; instead the EasyCODE icon is used.
In addition, also new statechart documents are now listed in the view window.
The file selection dialog Add Files in the project context menu now filters the files of the selected folder properly - depending on the filter that was specified for the associated project folder.
An error when commenting out in COBOL structograms has been fixed:
If a commented-out area was immediately followed by a command element, under certain circumstances the command element got lost when saving and reopening the structogram.
Problems when reading C++ files in the context of "Structure-Incompliant" comments and uncompleted apostrophe formations have been fixed.
Such files should now be able to be read.
In the automation interface, the interface method get_CurrentText (= property CurrentText) ended with E_FAIL so far when there was no element selected anymore after leaving the edit field by clicking outside.
Now the method was changed so that it always ends with S_OK and returns an empty string if there is no CurrentText.
To query the recently edited text, LastEditedText property was added to the interface.
Bugfix for PLC structograms:
The first structogram element within a level which is at the beginning of a CASE...OF branch was saved with incorrect indentation.
This meant that with each re-opening of the structogram extra spaces in front of the element's following lines were produced.
In the template for statechart projects the errorcode checkbox is now activated for all compiler/linker build steps, so that compiler/linker errors are immediately recognizable in the output window.
The menu item File > Project > New Project for Statecharts is now also available when a statechart or a structogram document is active.
In the EcFramework for statecharts, an incorrect assertion has been replaced:
File EcBaseStatemachine.cpp, function CEcBaseStatemachine::handleEvent() (line 431):
ASSERT(isRunning()); // must have been checked by calling function
has been replaced by:
if ( !isRunning() )
return FALSE; // not handled
A user reported crashes when saving files while EasyCODE is being closed.
We could not reproduce these crashes, but we suspect that they are related to the automatic creation of the BrowseInfo.
So, to be on the safe side, from now on the BrowseInfo will no longer be created while EasyCODE is being closed.
Sporadic crashes (memory protection violations) when opening the edit field in a structogram or statechart should no longer occur now.
The following error during file opening has been eliminated:
When dragging an EasyCODE project file from Windows Explorer to the EasyCODE desktop icon, EasyCODE was opened but ended immediately.
The same behavior when a project file was opened from the Windows Start menu.
The following error in statecharts has been eliminated:
Once in an already manually resized state the first subelement (substate, internal transition, entry action, ...) had been inserted, the state scaled back.
There were sporadic crashes when closing EasyCODE, particularly on Windows 8.
These problems could now be traced back to errors in memory management and have been corrected.
When calling the command Edit> Replace in files... there was a crash.
This bug is now fixed.
When a selection is drawn in the structogram within the edit field with Shift + arrow key and the cursor reaches the edge of the view, it will be automatically scrolled now.
The mode for moving the currently selected structogram element can no longer be activated (via Ctrl+M) while the edit field is open, because this caused an undesired behavior when scrolling the view.
In COBOL structograms there was a crash when moving elements.
This bug is now fixed.
Plugin for MPLAB X:
Up to now, under certain conditions not all MPLAB X breakpoints were displayed in the EasyCODE structogram. Now the synchronization of the breakpoint display has been improved significantly.
Plugin for MPLAB X:
In earlier versions of the plugin - depending on the MPLAB X version - the contents of string variables in the tool tips and in the output window were incorrectly displayed as hexadecimal values.
Now they are properly displayed as characters.