New features in ModelMaker 9.16

Feature highlights


  • Quick Access Tools in diagram editor allow easy access to most frequently used tools. Particularly useful for connecting symbols with relations. Quick access tools movie
  • Command "Invoke Quick Access Tools at cursor", allows invoking the Quick access menu for a symbol without selecting the symbol first. Can also be invoked in empty diagram space to invoke the Quick access Add menu. Default shortcut Ctrl+Q.
  • Quick-access "Add" sub menu in diagram editor pop up allows adding symbols without using the tool palette. (Nested) Symbols are added at the pop up menu pop up point.
  • (Simplified) ISO 9000 Flow charts supported. Flow charts can contain Document, Decision and Process nodes. Very similar to UML Activity diagrams but in ISO 9000 style.
  • The diagram editor Add field, method, property or event commands have shortcuts to make it easier to add a member to the selected class: Ctrl+Alt+F/M/P/E
  • The diagram editor pop up menu has a context sensitive "Add" sub menu. This allows inserting new symbols without selecting the tool palette - similar to the quick access tools
  • Activity and State diagram tool palette have drop downs to create transition / flow control plus pseudo state. Also available as quick-access tool.
  • Diagram editor add diagram command adds diagram in current folder rather than in the root folder.
  • When no diagram is loaded in the diagram editor, the diagram editor tool palette allows creating a new diagram.
  • Rectangular Drawing shapes support semi-transparency. A preset tool has been added to the Standard tools group in the diagram editor. Like all other tools, this preset can be hidden if desired.
  • Visual Style tab on all symbol dialogs: inplace editors to customize style attributes are easier to invoke.
  • Super hints added to relevant diagram editor commands.

Method Implementation view

  • Pascal: "Add Method" picks up parameter list from editor code. For example:
    procedure Sample.Something(const Value: string);
      I: Integer;
      for I := 1 to 10 do
        AddThisMethod(I, Value); 
    Add Method invoked with the cursor somewhere in identifier AddThisMethod will suggest parameters I: Integer and Value: string for the new method. Picking up parameters works for types declared in the same model, local variables and method parameters. Other types may not be recognized and are assumed "Integer". When used in an assignment statement, Add Method also tries to pick up the method return type. Note: Add procedure and Add Local procedure also try to pick up parameter lists.
  • Pascal: Add Field, Add Property, Add Local Var and Add Parameter try to pick up member type when invoked in an assignment statement.


  • References view | Check modified files: Reparses the selected references. Only if a file was actually changed the imported entities are updated, else nothing additional happens. When re-loading a model, ModelMaker checks if referenced files were modified since the model was saved. This command invokes the same logic without reloading the model. To force updating imported entities for files that have not changed, use the existing Refresh command.
  • The Refresh command automatically applies updates after reparsing the selected references, without the need to interact through the main notification area.
  • An "imported" overlay image is displayed in the references view tree for imported types (classes, delegates). This makes it easier to see which types already are imported.
  • Classes view shows defining reference file name for imported classes in class tree hint. The pop up menu has a "Defining Reference" sub menu that allows:
    • Refresh the defining reference file. The file is reparsed and linked entities are updated - without the need of clicking the notification area.
    • Remove the import link to turn the class into a non-imported normal placeholder class.

Solved problems

  • Pascal: type constant declaration would not emit constant type. Solved.
  • Some diagram editor zoom combobox keystrokes would also be handled by diagram editor. For example: pressing Del in the zoom combobox would also delete the selected symbols. Solved.
  • In some cases "Change Parent" by moving nested symbols with the Alt-key down would result in errors (recursion detected exception or plain crash). Solved.
  • Pascal: using the implementation view inplace editor would reset the visibility to private. Solved.