TMS Diagram Studio Changelog

What's new in TMS Diagram Studio 4.29

Feb 2, 2023
  • Fixed : Zoom in and zoom out now keeping the clicked point under mouse cursor. Ticket #19894.
  • Fixed : Page lines drawn wrongly when screen DPI was different than 96 (not 100% scaling). Ticket #20155.
  • Fixed : Changing the registered diagram control caption was not updating the hint text in diagram toolbar control. Ticket #20130.

New in TMS Diagram Studio 4.28 (Dec 22, 2022)

  • Fixed : AddArc not working correctly in Direct2D when using elliptical arcs.

New in TMS Diagram Studio 4.27 (May 10, 2022)

  • Fixed : Diagram objects painted horizontally mirrored when graphic lib was set to GDI+.
  • Fixed : Diagram objects painted horizontally mirrored when graphic lib was set to GDI+.

New in TMS Diagram Studio 4.26 (Mar 17, 2022)

  • Fixed: Font being draw with wrong size, after loading a diagram from file/stream in High DPI.

New in TMS Diagram Studio 4.23 (Aug 27, 2020)

  • Improved : High DPI improvements: TDiagramToolbar has correct height and button sizes. Ruler has now correct division lines.

New in TMS Diagram Studio 4.22 (Jun 2, 2020)

  • New : Support for RAD Studio 10.4 Sydney.
  • Improved : Better display of alternate line dashes in Direct2D rendering.
  • Fixed : Sporadic Access Violation in TUMLBlock.

New in TMS Diagram Studio 4.21 (Feb 28, 2020)

  • Fixed : Some blocks not appearing when exporting to bitmap in some situations.
  • Fixed : Node collapsing not correctly working for grouped blocks.

New in TMS Diagram Studio 4.20 (Jan 8, 2020)

  • Fixed : TatDiagram.MoveBlocks method behaving wrongly when moving group blocks and parameter AOnlySelected is false.

New in TMS Diagram Studio 4.19 (Nov 29, 2019)

  • New : Experimental (beta) support for High DPI monitorsFor now only the TatDiagram component itself is supposed to the HDPI compatibleThe full editor (provided by TDiagramEditor component) is not yet HDPI compatible.
  • Fixed : Access Violation when clearing a diagram containing grouped blocksThe "clearing" operation happens actually in several situations, like undo, adding block to library, closing a diagram, etc.The error didn't happen in every diagram with grouped blocks, usually only when groups had many diagram lines connected to each others.

New in TMS Diagram Studio 4.18 (Jul 22, 2019)

  • Improved : TDiagramEditor.DialogMode allows displaying the diagram editor window as non-modal.
  • Fixed : Memory leak when opening the diagram editor with existing custom blocks in user library.

New in TMS Diagram Studio 4.17 (Dec 5, 2018)

  • New TPictureMore.pmStretchProportional stretches the picture to the whole block size but still keeps original image ratio.
  • New Support for Delphi/C++Builder 10.3 Rio.
  • New PasteOffsetX and PasteOffsetY properties controls where a new pasted diagram object will be positioned compared to the original copied one.
  • Improved PageLines now follows FixedPageWidth, FixedPageHeight, FixedPageCols and FixedPageRows, if they are defined.
  • Fixed UML Blocks showing wrong margins around title section depending on font size.
  • Fixed Sporadic Access Violation when destroying diagram with layers.

New in TMS Diagram Studio 4.15 (Mar 2, 2018)

  • Fixed : Fixed: Showing a modal form during OnDblClick would cause diagram to enter select mode even with mouse button unpressed.
  • Fixed : Fixed: Round rectangles (shaped based on bsSquareShape) not showing correctly in diagram navigator.
  • Fixed : Fixed: LiveDiagram was not restoring visual settings of EndBlock after an execution

New in TMS Diagram Studio 4.14 (Feb 20, 2018)

  • Improved : Changed order of handle detection - handles at the end of Handles collection will have higher priority on handle selection.
  • Fixed : Wrong preview/print for landscape more (regression).
  • Fixed : TDiagramButtons control displaying all categories regardless of the value of DiagramCategories property.

New in TMS Diagram Studio 4.6 (Mar 6, 2014)

  • New : TForceLayout.ApplyNodesOnError allows the layout to be applied to diagram even if errors occur while calculating the new layout
  • New : TDiagramNavigator control provides an overview and easy navigation of the whole diagram
  • New : TDiagramEditor.ShowNavigator and NavigatorVisible properties allows full control of navigator visibility in the built-in diagram editor dialog

New in TMS Diagram Studio 4.5 (Oct 3, 2013)

  • New : RAD Studio XE5 support
  • New : OnlyFocused property in diagram actions cut, copy, paste and undo, allows such actions to not perform is diagram control is not focused
  • New : Editor option to keep lines orthogonal (vertical/horizontal-only) while resizing, by keeping Ctrl key pressed
  • Fixed : List index out of bounds when no blocks are registered in diagram editor
  • Fixed : "Control has no parent window" error when loading blocks from library manager.

New in TMS Diagram Studio 4.4 (May 30, 2013)

  • New : Diagram auto-layout using force algorithm

New in TMS Diagram Studio 4.3.1.1 (May 30, 2013)

  • Fixed : Issue with installer for Delphi XE4 & C++Builder XE4

New in TMS Diagram Studio 4.3.1.0 (May 30, 2013)

  • New : Added support for Delphi XE4 & C++Builder XE4

New in TMS Diagram Studio 4.3.0.7 (Nov 7, 2012)

  • Fixed : Issues with installer

New in TMS Diagram Studio 4.3.0.0 (Sep 21, 2012)

  • New : TTextCell.ReadOnly property
  • New : Delphi/C++Builder XE3 support
  • Improved : Property StringData now being saved in TGroupBlock and TLineJoin blocks
  • Improved : Better handling of texts in automatic icon creation in library dialog
  • Fixed : Issue with resizing using left/top/right/bottom handles and keeping aspect ratio
  • Fixed : Issue with gradient in some UML blocks
  • Fixed : Error when getting default printer when using Diagram Studio under Citrix
  • Fixed : Collapsable nodes not being hidden when an object is behind another object
  • Fixed : Block position getting rounded values in very specific situations
  • Fixed : Access Violation when a showmessage is displayed in OnInsertDControl event

New in TMS Diagram Studio 4.2.0.0 (Apr 28, 2012)

  • New:
  • TDiagramRuler.Offset property allows you to specify an initial number for the ruler different from zero
  • TDiagramRuler.Inverse property allows you to set the initial point of the ruler at the right (instead of left) or bottom (instead of top)
  • Support for collation and duplex in diagram printing (TDiagramPrintSettings)
  • Support for 64-bit applications
  • Automatic scroll when selecting controls and mouse cursor is positioned outside diagram boundaries
  • Improved:
  • New TGroupBlock BeginUpdateMembers and EndUpdateMembers allow faster member including in group blocks
  • Fixed:
  • Various smaller improvements & fixes
  • Sporadic Access Violation when a showmessage is displayed in OnInsertDControl event
  • Rare issue with block position getting rounded values when not needed.
  • Issue with select cursor in some situations where line pen width changes.
  • Issue with print preview in Delphi/C++Builder XE2
  • Issue when print previewing diagram in landscape orientation

New in TMS Diagram Studio 4.1.0.0 (Sep 22, 2011)

  • New : RAD Studio XE2 support
  • Fixed : TWinControlBlock not working properly with Direct2D
  • Fixed : Printing in Direct2D (forced to use GDI+)
  • Fixed : Minor issue with polylines and export to WMF
  • Fixed : Minor issue with hints when Application.HintShowPause is different than zero
  • Fixed : Minor issue with TDiagramButtons.BevelFlat property
  • Fixed : Issue with text cell autoframe not working properly with different vertical alignments
  • Fixed : Issue with RequiredConnections and OnAcceptLink event
  • Fixed : Issue with C++Builder XE installation
  • Fixed : Icons in palette toolbar for 3rd party blocks not showing when using runtime packages
  • Fixed : Block palette not updating when a library is deleted

New in TMS Diagram Studio 4.0.4.0 (Sep 22, 2011)

  • Fixed : Error when opening diagram design-time editor in Delphi 7 and previous versions

New in TMS Diagram Studio 4.0.3.0 (Dec 24, 2010)

  • New : Context menu for layer assignment in diagram objects.
  • Improved : Properties made public to allow creating descendants for TDgrLibraryFiler
  • Fixed : TextCell not resizing proportionally to the length of the text
  • Fixed : Text cell bounds of some diagram blocks to avoid text going outside the shape
  • Fixed : Text bounds calculated incorrectly when drawing CellFrame with AutoFrame=true (Direct2D)
  • Fixed : Painting issue moving blocks with DragStyle = dsOutline
  • Fixed : Issues exporting/printing a diagram using Direct2D
  • Fixed : Issue with block clipping (Direct2D)
  • Fixed : Issue with GDI+ using Diagram inside a DLL
  • Fixed : Issue drawing UMLStateBlock and FlowTerminalBlock with height larger than width
  • Fixed : Issue calculating handles of arcs into a group block after moving, rotating or resizing
  • Fixed : Error drawing linkpoints using GDI library
  • Fixed : Access Violation selecting a PNG file in Open Picture dialog

New in TMS Diagram Studio 4.0.2.0 (Oct 25, 2010)

  • New : Properties TGdipPen.GPPen and TGdipBrush.GPBrush
  • Fixed : Issue with painting of rounded blocks (Direct2D)
  • Fixed : Incorrect drawing of Switch block (Electric blocks)
  • Fixed : Icons not painted properly on library manager when the library contains more than 15 items
  • Fixed : Flickering when moving blocks on LiveDiagram
  • Fixed : Coordinates calculated incorrectly when using AutoFrame in TextCell
  • Fixed : Access Violation in Layer Manager after changing diagram layers

New in TMS Diagram Studio 4.0.1.0 (Sep 16, 2010)

  • New : TDgrLibraryItem.CreateControl to allow adding a library control to diagram programmatically
  • New : TDgrLibrary.FindItem method
  • New : RAD Studio XE support
  • Fixed : Memory leaks
  • Fixed : Arrow blocks could not be selected when using GDI library
  • Fixed : Access Violation drawing collapsable link points

New in TMS Diagram Studio 4.0.0.0 (Jul 13, 2010)

  • New : TatDiagram.PageColCount and TatDiagram.PageRowCount properties
  • New : TatDiagram.GraphicLib and TDiagramControl.GraphicLib properties
  • New : TatDiagram.CustomGroupBlockClass property
  • New : TatDiagram.CustomDiagramMemoClass property
  • New : TatDiagram methods BeginUpdateSel and EndUpdateSel made public
  • New : TDiagramEditor.Diagram property
  • New : Parameter in TatDiagram.EndUpdate method for optimization
  • New : New UML and DFD blocks
  • New : Menu option to show/hide Diagram Objects tab in diagram editor
  • New : Load/clear background features in diagram editor
  • New : Improved positioning precision (from integer to floating point)
  • New : Generic classes and methods for drawing regardless of graphic library used (GDI+, Direct2D)
  • New : Fully documented source code
  • New : Direct2D support (Delphi 2010 and up)
  • Improved : Save / "Save as" features in diagram editor
  • Fixed : TDiagramToolBar.Mode property was not correctly updated on Object Inspector
  • Fixed : Problem redrawing blocks with a rotation angle
  • Fixed : Linked lines were not being moved together when moving blocks with ctrl+arrow
  • Fixed : Issues with copy/paste of runtime created blocks
  • Fixed : Incorrect width of line buttons in TDiagramEditor interface
  • Fixed : Access Violation caused by copying/pasting of layered blocks

New in TMS Diagram Studio 3.4 (Feb 11, 2010)

  • New : TatDiagram.ZoomMoveToFit method to make all existing objects to be visible in the diagram client area
  • New : TatDiagram.RefreshToolbars method for requesting object toolbars to refresh its content
  • New : TatDiagram.OnBeforeCreatecontrol event
  • New : TatDiagram.MoveControlIndex method allows settings the index position of a diagram object in the internal diagram object list
  • New : TatDiagram.DesignMode provides easy way to set the whole diagram into read-only mode
  • New : TTextCell.Transparency and ParentTransparency properties
  • New : TRegDControl.Glyph and UseGlyph properties makes it easier to set an icon for a block in the diagram toolbar
  • New : TPolygonBlock.PointColor allows to define a color for the polygon point handles that is different from the regular block handles
  • New : TDiagramUndoItem.Obj property allows custom data associated with an undo item
  • New : TDiagramEditor.LibManager property
  • New : TDgrLibraryManager component implements custom Library system that allows end-user to build blocks visually in diagram and add them to the toolbar as new custom blocks
  • New : TDgrLibraryFolderFiler component allows custom blocks to be currently saved to files, but an abstract layer is provided to allow saving custom blocks to database or other media
  • New : TDgrLayerSelector combo box allows setting the layer for the selected objects
  • New : Support for diagram usage in frames, page controls, and other types of controls
  • New : Several classes, methods and properties for using new layer system programatically
  • New : Selecting one or more group members is allowed now. You can Ctrl+Click a group to select a member and individually resize, move or set properties for a block belonging to a group
  • New : Photoshop-like layer system. Named layers can be added/removed in a visual layer manager. Each layer can visually be hidden or protected from being edited
  • New : Methods MMToMeasUnit and MeasUnitToMM make it easy unit conversion from mm to currently selected measurement unit
  • New : Library manager window allows end-user to visually manage the libraries, create new libraries, define glyphs for custom blocks, among other tasks
  • New : Horizontal/vertical only moving when Shift key is pressed
  • New : Addicional object restrictions crNoLink (to prevent automatic linking) and crNoRotCenterMove (to prevent moving rotation center)
  • New : Added several events for selectors like OnDropDown, OnCloseUp, OnKeyPress, among others
  • Improved : Old layer system now supports 64 layers instead of 32 layers
  • Improved : Diagram now gives an automatic generated name for blocks inserted programatically without a name. This minimizes losing connection links in some situations
  • Improved : Demo project with library manager component allows testing the new library system
  • Improved : Compatibility with ParentBackground property allows use of transparent diagram controls (following same restrictions of ParentBackground property).
  • Fixed : Small issues with inplace text cell editor
  • Fixed : Small issue with diamond-type arrow not being painted correctly with zoomed diagram
  • Fixed : Several issues with color selectors
  • Fixed : Pasting from clipboard operation was not setting diagram modified flag
  • Fixed : Issue with text cells losing text value in rare situations
  • Fixed : Issue with font name and size selectors disappearing in tms ribbon toolbars
  • Fixed : Issue with custom glyphs in selectors not being displayed when the drop down button was pressed
  • Fixed : Issue with blocks being inserted with zero width or height
  • Fixed : Issue with auto created link points not being correctly positioned in some situations
  • Fixed : Diagram hanging when default installed printer had a default paper with small size
  • Fixed : Cross indicators were not being displayed for side lines when the line object was TDiagramLine

New in TMS Diagram Studio 3.3 (Feb 11, 2010)

  • New : TatDiagram.WheelZoom, WheelZoomIncrement, WheelZoomMin, WheelZoomMax properties, allow diagram zooming in/out using Ctrl+Mouse Scroll
  • New : TatDiagram.UnitSymbol property retrieves the symbol for the current unit used in diagram page
  • New : TatDiagram.PrintSettings allows defining printing options like copies and pages to be printed
  • New : TatDiagram.PageSetupDlg method shows a dialog for page setup by end-user
  • New : TatDiagram.PageSettings property allows setting diagram page properties for printing, like paper size, margins and paper orientation
  • New : TatDiagram.MeasUnit allows to set the global measurement unit (mm, cm, in) used for diagram page settings
  • New : TatDiagram.DPrinter property returns a TDiagramPrinter object which current printer settings
  • New : TDiagramEditor.OnSaveDiagram event
  • New : TDiagramButtons.KeepInsertingMode property
  • New : Menu item "File | Page Setup" in diagram editor
  • New : Diagram print system improves overall diagram printing mechanism / dialog.
  • Improved : TDgrZoomSelector (zoom combo box) update itself automatically, being in sync with the current diagram zoom value
  • Improved : Some properties and functions had types changed from single to double to improve accuracy
  • Improved : Send to back/bring to front operations when using grouped blocks
  • Improved : Print method now can optionally show a print dialog window before printing
  • Fixed : Several fixes in the diagram selectors
  • Fixed : Issue with saving/loading png and jpg images

New in TMS Diagram Studio 3.2 (Feb 11, 2010)

  • New : tmSpecific item in TTextCellsMode allows fixed text cells at source/target position of lines
  • New : Text toolbar in diagram editor dialog allows setting text alignment, vertical alignment and font style (bold, italic and underline)
  • New : TatDiagram.TextRenderingMode allows setting high-quality antialiasing text mode
  • New : TatDiagram.SelectionMode property allows to choose Visio-style block selection (objects selected are displayed as a whole group)
  • New : TatDiagram.FixedSideLines property allows a different side line behavior, where intermediate handles are not automatically repositioned
  • New : TatDiagram.CanMoveOutOfBounds property allows avoiding blocks to moved to negative positions, preventing the whole diagram to be shifted
  • New : TatDiagram methods GroupSelectedBlocks, UngroupSelectedBlocks and AddGroup for handle groups programatically
  • New : TStretchHandle.AlwaysMovable property allows a handle to be moved even when crResize restriction is present
  • New : TLinkPoint properties CanAnchor, CanAnchorInMove and AcceptAnchoreds allow better control of link point behavior
  • New : TDiagramLine.LineStyle property allows a single line object to behave like arc, side line, bezier and straight line. No need for using different line classes anymore
  • New : TDiagramControl properties IsGroup, IsMember, GroupBlock and MasterGroup provides information about block grouping
  • New : TDiagramBackground.Picture property allows more image types for diagram background image (jpg, wmf, etc.)
  • New : Protected method TDiagramControl.TextCellsChanged
  • New : Movable rotation center allows defining a new center point for rotating objects
  • New : Method in TatDiagram to export the diagram as bitmap/metafile to a stream instead of a file
  • New : Grouping concept introduced. Diagram objects can now be grouped and behave like a single object. Multi-level grouping is supported
  • New : Group/ungroup popup menu and toolbar buttons available in diagram editor
  • New : DropDownListColor property for all selector combo boxes (font selector, font size selector, etc.)
  • New : Arrow shape asAngleDiamond is a diamond which rotates according to line angle
  • Improved : TDiagramControl.GetTextCellRect method signature
  • Improved : Side line automatic positioning
  • Fixed : Small visual issue in diagram editor: "target arrow" popup menu item caption was displayed incorrectly
  • Fixed : Several compilation warnings removed
  • Fixed : Issue with arc line when the arc handles were too close to each other
  • Fixed : Error with block gradient in some specific situations
  • Fixed : Database block text cell could not be edited

New in TMS Diagram Studio 3.1 (Feb 11, 2010)

  • New : TatDiagram methods CanPaste and CanCopy
  • New : TTextCell.Obj property
  • New : TLinkPoint.Visible property
  • New : TGPCanvas.DrawLine method
  • New : Rounded square block shape (TBlockShape type bsSquareRound)
  • New : Half-line arrow (TArrowShape type asHalfLine)
  • New : Delphi 2009/C++Builder 2009 support
  • Improved : TatDiagram CopyToClipboard, PasteFromClipboard and CutToClipboard methods now works with both selected objects and selected text
  • Improved : Copy/paste operations in designer now also works while editing text in blocks
  • Improved : Bezier lines with a smoother look
  • Fixed : Various smaller improvements & fixes

New in TMS Diagram Studio 3.0 (Feb 11, 2010)

  • New : gsRuler grid style for a more modern, Visio-like, ruler-attached snap grid
  • New : TatDiagram.SmoothMode allows setting the anti-aliasing level (drawing in high quality)
  • New : TatDiagram.HandleStyles allows choose the visual style of the handles, between classic (small black squares) or Visio-like (medium-size green)
  • New : TatDiagram.DragStyle allows more Visio-like dragging (objects are fully drawn when moved/resized, not only the frame cursor)
  • New : TatDiagram methods for pixel/unit convertion: ClientToInches, ClientToMilimeters, MilimetersToClient, InchesToClient
  • New : TStretchHandles.RotateHandle function retrieves the handle which performs block rotation
  • New : TLiveDiagram.RunErrorMsg property provides the description of error raised while executing the diagram
  • New : TLiveDiagram.MaximumIdle property specified maximum idle time for executing nodes
  • New : TLiveDiagram protected virtual methods: DoBeforeExecuteNode and DoAfterExecuteNode
  • New : TDiagramEditor.Title property
  • New : TDiagramEditor.OnCreateDesigner and TDiagramEditor.OnShowDesigner public events
  • New : TDiagramControl.Transparency allows to specify the overall transparency for the diagram object (from 0% to 100%)
  • New : TDiagramControl.IsGdiPlus property specified is the object will be drawn using GDI+ functions
  • New : TDgrTransparencySelector control for easy setting block transparency
  • New : TBlockShadow.Transparency allows to specify shadow transparency
  • New : Property Anchors was made published in all selectors
  • New : PNG, TIF, GIF and JPG images supported in blocks (when using GDI+ mode)
  • New : Diagram editor dialog now has a new toolbar selector for setting block transparency
  • New : Design-time context popup menu options to save/load diagram to/from file
  • Improved : More modern look (and Visio-like look) in diagram editor dialog
  • Improved : All existing core blocks (flowchart, electric, arrow, live diagram) updated to be drawn with more modern look (gdi plus functions)
  • Fixed : Rare Access Violations while executing live diagrams
  • Fixed : Preview page not being centered when resizing preview window
  • Fixed : NPTIGBT electric block being drawn incorrectly
  • Fixed : Issue with "No default printed selected" message (*) GDI+ new features are not supported in C++ Builder 6

New in TMS Diagram Studio 2.4 (Feb 11, 2010)

  • New : TatDiagram.OnAfterDrawBlock event
  • New : TatDiagram.KeyActions property
  • New : TTextCell.Visible property
  • New : TSnapGrid.Force property
  • New : TLineArrow.DiagramLine property made public
  • New : TDiagramEditor component. A ready-to-use and full-featured diagram editor including the new Visio-like toolbar (Delphi 2005 or higher) and new alignment palette
  • New : TDiagramControl.IsBackgroundControl property
  • New : TDiagramControl.CalcSize virtual method
  • New : TDiagramButtons control: a new diagram toolbar with a more Visio-like appearance. Only for Delphi version 2005 and higher
  • New : TDiagramAlign action, for making easy alignment and spacing of blocks
  • New : AIgnoreZoom parameter in TatDiagram.HandleAtPos method
  • Improved : Warnings removed
  • Improved : Now the demo just uses the TDiagramEditor component
  • Fixed : Shadow of blocks were sometimes being drawn with wrong pen width