Difference between revisions of "Lazarus 1.2.0 release notes"

From Free Pascal wiki
(TLvlGraphControl)
m (TLvlGraphControl)
Line 72: Line 72:
 
== TLvlGraphControl ==
 
== TLvlGraphControl ==
  
This new control is part of the package LazControls and used by the IDE itself as well. The control shows a graph consisting of nodes and edges as level graph (an other name is layered graph).
+
This new control is part of the package LazControls and used by the IDE itself as well. The control shows a graph consisting of nodes and edges as a level graph (this type of graph is also called a layered graph).
  
 
[[File:packagegraph1.png]]
 
[[File:packagegraph1.png]]
  
* automatic topological sorting, option to put nodes leftmost or rightmost
+
TLvlGraphControl Features
* can automatically combine edges. Long edges over multiple levels are combined to single lines with forks.
+
 
* heuristic for minimize crossings
+
* Offers automatic topological sorting, with an option to put nodes leftmost or rightmost
* automatic anti overlapping
+
* You can automatically combine edges. Long edges over multiple levels are combined into single lines with forks.
* can show nodes as rectangles, ellipses or icons from an TImageList
+
* Provides a heuristic to minimize line crossings
* select nodes via mouse
+
* Automatically prevents overlapping of display elements
* multi selection
+
* Nodes can be displayed as rectangles, ellipses or icons stored in a TImageList
* highlight nodes or edges under mouse
+
* You can select nodes using the mouse
* shows back edges with special colors, allows to quickly spot cycles.
+
* You can select multiple nodes at once
* edges can be drawn straight or curved (bezier)
+
* You can highlight nodes or edges under the mouse
* header caption
+
* The control displays back edges in special colours, which facilitates quick visual identification of cycles (e.g. unit circles).
* node captions can be shown left, right, above or below nodes
+
* Edges can be drawn straight or curved (bezier)
* all colors can be set via published properties
+
* There is a header caption
* events to custom draw and/or skip each part of the default drawing
+
* Node captions can be shown to the left, to the right, above or below nodes
 +
* All colors can be set via published properties
 +
* There are events provided to custom-draw and/or skip each part of the default drawing
  
 
There is a simple example in examples/levelgraph/lvlgraph_dependencies.lpi.
 
There is a simple example in examples/levelgraph/lvlgraph_dependencies.lpi.

Revision as of 16:41, 24 March 2013

Template:Lazarus 1.2.0 release notes

Lazarus 1.2.0 is not yet released. This page is under construction!

Statistics:

  1. commits: xxx
  2. log: svn log -r xxxx:xxxx
  3. resolved bug tracker issues: xxx

LCL Interfaces Changes

LCL Changes

IDE Changes

  • Editor
    • Interactive Hints (Mouse can enter Hints / Hints have links). Requires package TurboPowerIProDsgn
    • Macro Recorder/Player
      • Multiple macros. Ability to select/change macro from list.
      • Individual key-shortcuts for each Macro
      • Macros can be saved per project or with the global IDE config
      • Package EditorMacroScripting: Allow use of PascalScript in macros.
    • Sticky selection mode
    • Highlight different (user specified) words in different colors See here
    • Auto-continue for comments and strings
  • Debugger
    • Watches window: added detail view, for selected watch
    • Debug Inspector: Ability to directly input expression to monitor
    • Attach and Detach
  • When option "open last project" is enabled (default) and the IDE was closed with no project, no project will open at start. When a virtual (not saved) project was open a new Application project is created.
  • IDEIntf: Added boolean parameter BringToFront (defaults to false) to TLazIDEInterface.DoShowSearchResultsView. It specifies whether Search Results dialog should be shown on top or under Source Editor. Behavior of existing code calling this method is not affected.
  • IDEIntf: Added TPropertyEditor.GetVerbCount, GetVerb, PrepareItem, ExecuteVerb to let TPropertyEditors add menu items to the Object Inspector.
  • The Package Graph now uses the new TLvlGraphControl, showing all package dependencies including project and IDE.

lazbuild

  • Added options --verbose, --quiet and -q to increase/decrease verbosity. You can pass them multiple times.
  • When compiling a project (.lpi) lazbuild now checks if the project needs compilation and if not will not call the compiler. It also now writes why it recompiles.

Components

TAChart

  • Series:
    • Transparency
    • AddArray, AddNull, AddX and AddY functions, SetText procedure
    • TFitSeries.IEquationText interface
    • TPolarSeries.CloseCircle property
    • TFuncSeries.ExtentAutoY property
    • TBarSeries.GetBarWidth function
  • Tools:
    • New tool: TDataPointDistanceTool
    • EscapeCancels property for dragging tools
    • TDataPointHintTool: UseApplicationHint property, OnHintPosition event
    • TDataPointFragTool: Origin property, OnDrag, OnStartDrag events
    • TZoomDragTool.RestoreExtentOn property
    • TChartToolset.DispatchedShiftState property
  • Sources:
    • TDbChartSource: Options=[dcsoDateTimeX, dcsoDateTimeY] property, OnGetItem event
    • TListChartSource: SetText, SetColor, AddXYList procedures
    • New sources: TCustomAnimatedChartSource, TCustomAxisChartSource
  • Axes and marks:
    • Axis index property editor
    • TChartAxis: Position, Value, ValueCount properties, IsPointInside function
    • Marks: Arrow, Margins, Shape, CalloutAngle properties, OnGetShape event
  • Misc
    • TAChartTeeChart unit with some helpers for migration from TeeChart
    • TChart: IsZoomed, PrevLogicalExtent, AutoFocus properties
    • TChartExtentHistory utility class
    • 3 new demos: lazreport, animate, distance

TLvlGraphControl

This new control is part of the package LazControls and used by the IDE itself as well. The control shows a graph consisting of nodes and edges as a level graph (this type of graph is also called a layered graph).

packagegraph1.png

TLvlGraphControl Features

  • Offers automatic topological sorting, with an option to put nodes leftmost or rightmost
  • You can automatically combine edges. Long edges over multiple levels are combined into single lines with forks.
  • Provides a heuristic to minimize line crossings
  • Automatically prevents overlapping of display elements
  • Nodes can be displayed as rectangles, ellipses or icons stored in a TImageList
  • You can select nodes using the mouse
  • You can select multiple nodes at once
  • You can highlight nodes or edges under the mouse
  • The control displays back edges in special colours, which facilitates quick visual identification of cycles (e.g. unit circles).
  • Edges can be drawn straight or curved (bezier)
  • There is a header caption
  • Node captions can be shown to the left, to the right, above or below nodes
  • All colors can be set via published properties
  • There are events provided to custom-draw and/or skip each part of the default drawing

There is a simple example in examples/levelgraph/lvlgraph_dependencies.lpi.

unitdependencies1.png

Changes affecting compatibility

LCL TCustomForm.AddHandlerFirstShow,AddHandlerClose,AddHandlerCreate parameter AsFirst default value changed to false

  • Reason: Consistency with other LCL AddHandler.
  • Remedy: Add parameter true to caller.

LCL TScreen.AddHandlerFormAdded+AddHandlerRemoveForm+AddHandlerActiveControlChanged+AddHandlerActiveFormChanged+AddHandlerFormVisibleChanged parameter AsFirst default value changed to false

  • Reason: Consistency with other LCL AddHandler.
  • Remedy: Add parameter true to caller.

IDEIntf TOICustomPropertyGrid.Favourites was renamed to Favorites

  • Reason: Consistent American spelling
  • Remedy: Rename used identifier

Previous release notes