?? whatsnew.txt
字號:
Version 1.7
-----------
- ADD: Delphi/CBuilder 2009 now supported.
- ADD: New demo project FlexCADImport.
- FIX: The height of the TFlexRegularPolygon object incorrectly changes with its rotation.
- FIX: Added division by zero protect in method TFlexControl.MovePathSegment.
- FIX: The background beyond docuemnt wasn't filled when TFlexPanel.DocClipping=True.
- FIX: In "Windows ClearType" font rendering mode (OS Windows mode) the "garbage" pixels can appear from the right and from the bottom sides of the painted rectangle of the TFlexText object.
- FIX: The result rectangle incorrectly calculated in the TFlexText.GetRefreshRect method.
- FIX: Added FPaintCache.rcPaint cleanup in the TFlexPanel.WMPaint method. Now it is possible to define is the drawing take place via WMPaint or via the PaintTo direct call (if rcPaint contain non-empty rectangle then WMPaint in progress).
- FIX: The TFlexPanel.FPaintCache field moved in the protected class section. Added rcPaint field in FPaintCache that represents drawing rectangle.
- ADD: In the text prcise mode (TFlexText.Precise=True) takes into account the rotation angle (TFlexText.Angle).
- FIX: Removed FG_NEWTEXTROTATE directive (the TFlexText Precise mode should be used instead).
- FIX: The TFlexRegularPolygon object clones incorrectly drawed in case when TFlexRegularPolygon have alternative brush (gradient, texture).
- ADD: Add TFlexPanel.InvalidateControl virtual method which calls from TFlexControl.Invalidate and can be overriden (it is possible now to catch all object invalidation calls).
- FIX: The TFlexPanel.FindControlAtPoint method maked virtual to realize RealTime-capability when on mouse cursor moving the flex-object search not occurs.
- FIX: After deleting the selected points in the TFlexPanel.DeleteSelectedPoints the all figures with one point also deleted.
- FIX: When the curve contain more then one figure and they were all unconfined and curve have alternative brush then whole flex-object bounding rectangle was filed.
- FIX: The MaskColor property lost in TPictureProp.UpdateImageLink method when TBitmap reloads.
- ADD: In TFlexPanel.DefaultLinkPoint property added Size field that lets define visual size of the connection points of the flex-connectors. Initialized with DefaultLinkPointSize constant in the TFlexPanel constructor.
- FIX: The TFlexPanel.DoNotify method now virtual.
- ADD: Added property class TBackgroundOptionsProp. Used in TFlexScheme.BackgroundProp for background painting.
- ADD: New property TFlexPanel.FrostPan. When True then in ftmPanning mode will be shown only cached image of the initial client area. All parts outside will paints of the TFlexPanel.Brush. When returning from ftmPanning mode the complete client area repainting will perform.
- ADD: Added TFlexPanel.FrostPanFullDoc property. When true then in ftmPanning mode the whole document image cache created in currect scale.
- FIX: Support for the Import/Export modules that can't work with Streams. Added TFlexFileFormat.StreamSupport property (default True), which difines, is it necessary to open file stream or give the file name only.
- FIX: If the TCustomProp.Assign method calls when the undo/redo history writing was in progress, the error occured.
- FIX: The TFlexPanel.LoadFlexControl method now virtual.
FlexEdit:
- FIX: Close query twice when program closing with modified documents.
- ADD Added editing form for TBackgroundOptionsProp property in the FlexEdit/FlexEditSE projects.
Version 1.6
-----------
- ADD Import/Export modules support (new unit FlexFileFormats)
- FIX HPen leak in TPenProp.Setup (Graphics.pas problem).
- FIX TFlexPanel.History don't removed in TFlexPanel.Destroy.
- FIX Region (HRGN) leak in TreeInspector.pas, DrawInspectorItem/RemoveClipRgn;
- FIX TTreeInspector.FDelimBmp don't removed in destructor.
- FIX TFlexPanel.FIsOverSegment flag take into account now the pen width.
- ADD TFlexEllipse.Center - read-only public property.
- FIX Trial packages now supports Delphi 2007 and Turbo versions (no changes
for commercial packages).
- FIX TFlexPanel.DragOver wrongs call the OnDragOver event handler.
- ADD The new flex-control TFlexRegularPolygon.
- FIX Break connector link when end point deleted.
- ADD Property TFlexSchemes.ConnectorsKeepLinkProp - if False then when
connector's end point moving, the link is breaks if the move was not on one of
the flex-controls connection points. Contain False as default.
- ADD Added ControlDocRect parameter in event TFlexControlCreateEvent that can
be changed in event handler. The event now fired before flex-control size setup
in TFlexControl.ControlCreate and all changes inside it fall into control
creating undo-group.
- FIX The current scale ignores in TFlexBox.GetRefreshRect and
TFlexEllipse.GetRefreshRect methods for pen width calculation.
- FIX The method TFlexText.GetRefreshRect don't takes into account the geometric
pens.
- FIX The connector wasn't rerouted when OrtogonalProp is changed.
- FIX Add pen width zero check in TPenProp.GetPaintData method.
- FIX Add moving block for first and last connector's segments also for
non-orthogonal connectors.
- FIX Class TPenProp rewrote without TPen delphi object.
- FIX In some cases TFlexCurve.Paint leaves selected black pen in the canvas
which then affects on next flex-control output (in particular when the next
flex-control have gradient fill).
FlexEdit/FlexEditSE:
- ADD Added checkbox "Keep connector's link" in flex-document property form.
- FIX Remaks panel focusing on main form (via PostMessage), since TreeInspector
in FlexEditSE captures focus on self.
- FIX Invalid arc size calculation when flex-control's size changes via DocRect
property. Absence of the UpdateCounter checking brings to reccurent scaling.
Access demo:
- FIX Memory leak in TdmMain.dmMainDestroy method.
Version 1.5
-----------
- FIX: In the methods TFlexPanel CombineSelected and BreakApartSelected
- fixed saving of Undo/Redo actions.
- FIX: In the method TFlexPanel.ResizeSelection exception occurred when
the number of selected items changed while the method was running.
- ADD: Added the method TFlexControl.DoNeedHint - allows
editing the displaying of hint for flex-object within the object.
- ADD: Added the protected-property TFlexPanel.GridControl -
a flex-object for drawing grid on document.
- FIX: The method TFlexPanel.DoSnapToGrid moved to the public section.
- FIX: In TFlexControl.SetOwner, object from the FOwner.FWithoutParent
list (contains flex-objects with Parent = Nil and the owner = Owner).
- FIX: In BCB a problem occurred with TFlexText.DrawText, which for some
reason kept being renamed by linker to DrawTextA. For BCB the method
was renamed to DrawTextCPP.
- FIX: Problems grouping objects linked with connectors.
(Their paths used to break during grouping). Fixed
TFlexControl.DoNotify for fnRect, fnParent.
- FIX: Function ListScanEx in the module FlexUtils returned wrong item
index (counted from the first index instead of the first list item).
- FIX: In THistory.DeleteActions added validation of FActionIndex
(FActionIndex could appear beyond the list boundaries). Thanks to
Giedrius Matonis.
- ADD: Added the method TCustomProp.Assign - a source flex-property
is written to stream, which is then read by the flex-property, for
which the Assign method is called.
- ADD: In TIdPool (module FlexUtils), added the method NextUsed (allows
iterating all taken identifiers).
- ADD: Added the method TEnumProp.SetItem for convenience. The enumerable
type can now be defined as a sequence:
TEnum = ( eOne, eTwo );
. . .
EnumProp.SetItem(integer(eOne), 'One');
EnumProp.SetItem(integer(eTwo), 'Two');
If some items are skipped when filling data this way, for such
items a blank line is added to the list
(EnumProp.Add('')).
- ADD: Added the method TEnumProp.SetEnumType, setting all enumerable
type items in compliance with the Delphi type:
SetEnumType(TypeInfo('TMyDelphiEnumType'));
- ADD: Added the functions PathLength and PathLengthPos in the module FlexPath.
Also added the parameter LengthPos in the function PointOnLine (see the
updated tutorial-project CurveDemo). These functions allow defining a point
on a curve by the distance from the original point on the perimeter.
- ADD: Added the method TCustomProp.GetPublishedComplexProp - returns
included complex flex-property by name registered through
TCustomProp.InitPublished.
- ADD: Added the property TCustomProp.PropData[PropName]: Variant,
which uses the methods GetPropValue/SetPropValue for reading/writing data.
- FIX: The method TCustomProp.GetPropNames moved to the public section and
returns the list of published-property names of the complex flex-property.
- FIX: The method TPropRefList.IndexOfRecode could sometimes lead to the
infinite loop (due to an error in ListScanEx in the method FlexUtils).
- FIX: The value of some string flex-properties that began with a parenthese or
curly bracket had no apostrophe at the end; that caused an error when reading.
(fixed TPropList.SavePropValue for the ptSimple type).
- ADD: In the module FlexUtils added the constant BooleanWords - an array
containing the words 'false' and 'true' for saving/reading TBoolProp.
- ADD: In the module FlexUtils added the function FlexStrNeedQuote.
Returns True if the string must be enclosed in quotes
(flex-property value) before saving in the filer.
- ADD: In the class TFlexGrid added the methods DoSnap and DoCustomSnap
(the last one can be overridden for the implementation of new alignment
rules).
- ADD: The property TFlexPanel.GridControl moved to the public section and
is now available for writing (during the writing, the standard grid object
TFlexGrid is released, and a user's one is set).
- ADD: In the class TFlexGrid added the properties HOffset and VOffset -
contain grid offset relative to document's upper-left corner.
- FIX: In the large-size documents, the drawing of the pixel grid took
too long (error in TFlexGrid.Paint).
- FIX: With little difference between curve angles at smaller scales the
curve was drawn backwards (error in TFlexEllipse.Paint).
- ADD: Support of the binary document format. Added the public property
TFlexFiler.Binary, which can be modified at any time while saving
document (the document can alternate binary and text sections.
- ADD: The method TFlexPanel.CreateFlexFiler moved to the public; an
optional parameter ABinary added to the method. Its value will be set
in the created filer for the processes ppSave and ppCopy (or ignored
otherwise).
- FIX: In TFlexPanel.MouseDown: if Button = mbMiddle it jumps to the
parent method without any other actions.
- ADD: Added the property TFlexLayer.Resizable. Now to block the moving
and resizing Moveable and Resizable must be set to False.
- ADD: The object TFlexClone can now display objects from other panes.
- ADD: In the function NextControl added the optional parameter Sibling
(false by default). If it is true - jumps to the next object in parent
without visiting children.
- FIX: The method ResizeSelected works more correctly for groups with
locked Width and Height.
- ADD: The internal panel in the class TFlexLibraries has gotten the
(component) name 'FlexLibraries' for linking between panes.
- ADD: In the module FlexBase added the procedure variables
GetFlexPanelByNameLink and GetNameLinkByFlexPanel, which by
default point to the procedures DefaultGetFlexPanelByNameLink and
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -