Software Ideas Modeler 13.50 with Generic Types and Type Parameters, Improved UI and Better C++ Generation

The new version improves type system - the types support generics and parameters. The user interface of the application was improved - especially the tab controls in Properties dialogs. You can also find other improvements in C++, C# and VB.NET source code generation and IDEF1X diagrams.

Release Highlights

Vertical Tabs in Properties Dialogs

The new version shows the tabs vertically on the left in the tab control. This way, you can usually see all the tabs without scrolling. If you do not like the new tab control style, you can change it to the original one with the tabs on the top - go to the Options, section General and choose Top radio button in the GUI Style/Properties tabs position group.

Vertical Tabs in Properties Dialogs
Vertical Tabs in Properties Dialogs

Improved Types

Type sets can include parameters for the types now. Types can be derived from other types and support the generics in this way. The whole application was improved to support this change. You can add and edit the parameters and types using the enhanced Type Set Editor.

Improved Type Set Editor
Improved Type Set Editor

You can change the parameters using the context menu in the diagram editor. You can enter the type parameters within less-than greater-than signs, e.g. Integer for nullable integer or int<*> for integer pointer. (The meaning of characters such as '?' or '*' is specified by the used type set and can differ between various type sets.) The generics are entered in a similar way: Dictionary. The parameters must be defined in the used type set to be able to use them.

Type Parameters
Type Parameters

Superclass Name and Inherited Fields

You can show the name of the superclass (or superclasses) and all inherited fields using new Show Part parameters:

  • Super Elements Names
  • Inherited Fields
Superclass Name and Inherited Fields
Superclass Name and Inherited Fields

New Features and Improvements

  • Added option to show Properties dialog tabs on the left (default option now)
  • Improved Types manager
  • Added support for generic types
  • Added support for type parameters (nullability, pointers, etc.)
  • Added support for stereotypes to operation parameters
  • Added rendering options to the Diagram Editor section in the Options dialog
  • Added new rendering option Text Anti-Aliasing
  • Added new rendering option Text Contrast
  • Canceled confirmation for Options dialog close
  • Changed default type of UI Paragraph to schematic waves
  • Added new parameter to template command Namespace(namespaceSeparator)
  • Added button for clearing filter in the Options dialog
  • Container auto-inflating also without re-adding the nested element
  • Added default options for IDEF1X cardinalities to the diagram editor
  • Added option to show inherited fields (attributes, operations)
  • Added option to show association attributes
  • Added option to show superclasses in a class header
  • Improved Quick Action Box results sorting
  • UML Association is created with UML Property for each association's end
  • Added new template evaluator commands:
    • For Classifier: SubClassifiers, SuperClassifiers, SuperClassifier, HasSuperClassifier
    • For Type: NameWithParameters, LocalName, Parameters, TemplateParameters, IsGeneric, IsNullable, HasLength, IsPointer, IsReference
    • For Type Parameter: Id, Name, Kind, Code, Description, Meaning, IsNullable, IsLength, IsPointer, IsReference, IsOther, IsFlag, HasEnumValue, HasNumericValue, HasTextValue
    • For Operation Parameter: IsReference, IsOut
    • For Attribute, Operation, Operation Parameter: HasPointerType, HasReferenceType, HasNullableType
  • Added support for typed enum to C# source code generation
  • Added support for enums and enum classes to C++ source code generation [RQ#1706]
  • Added support for nullable types to C# and VB.NET
  • Added support for pointers and references to C++
  • New UML attributes, UML operations, and ERD attributes can be added without an additional dialog in the Properties editor
  • Added new tools for IDEF1X diagram for other cardinalities
  • More specific icons for IDEF1X tools in the toolbox

Fixed Bugs

  • Fixed navigation using arrow keys in Model Navigator
  • Fixed hierarchy parsing when indentation size is larger than one
  • Fixed UI Paragraph rendering
  • Fixed consistent toolbox showing/hiding behavior by the current setting
  • Fixed generation of interface implementation for C++ source code generation [RQ#1702]
  • Fixed C++ namespace names in generated source codes [RQ#1703]
  • Fixed setting operation static modifier by abstract modifier when editing using the Properties dialog [RQ#1704]
  • Fixed menu items in View menu: Add Document and Add Resource Item
  • Fixed moving cardinality labels for IDEF1X relationships
  • Fixed type combo box size height for high DPI
  • Fixed blinking when editing values for some fields in the Properties pane
  • Fixed input dialogs layout for high DPI
  • Fixed parsing ERD attribute names with spaces
  • Fixed Remove All Field Styles action to not remove also the main element style
  • Fixed choosing a nested option using a radio button in the Options dialog
  • Fixed undesired selecting labeled elements by clicking on the label area when the label is hidden
  • Fixed auto-size and rendering for IDEF1X entities without attributes
  • Fixed some style issues for dark mode
  • Fixed icon size in diagram editor context menus for high DPI
  • Fixed auto-size for UML Signal Send and Signal Receipt elements


New Comment