What’s New in the FlexPro 2021 Object Model
The following sections include a list of all changes made to the FlexPro Object Model.
The changes in the FlexPro 2021 Automation Object Model from the previous version mostly involve backward compatible extensions. The few changes that may require you to change your code are in red in the text below.
If you want to import macros or Automation code from FlexPro 6 through FlexPro 2017 to FlexPro 2021, you should first take a look at the changes listed in the linked Help pages from the previous versions of FlexPro.
Note: You can obtain more information about the significant features of the listed objects, methods and properties by clicking on the links.
New Objects
Presentation
The Axis2DFloor object represents the floor lines of an X or Y axis of a 2D diagram.
The sections of a document were not mapped as explicit objects in the previous version of the object model, but only addressed implicitly via the consecutive page number. This has been improved. The new DocumentSections collection contains the sections of a document and the DocumentSection object represents a document section.
The ControlPanel object represents the new presentation object control panel.
The Button, DropDown, CheckBox, Spinner, ListBox, OptionButton, GroupBox, ScrollBar and EditBox objects represent different controls that you can use like shapes in documents, presentation objects and panels.
The FormControlUpdate object represents the settings for the object update of a control triggered by a control.
Analysis
The SyncOrderAnalysis object represents the new analysis object Revolution Synchronous Order Tracking.
The SyncOrderFilter object represents the new analysis object Revolution Synchronous Order Filter.
The RevolutionSyncSamplingAnalysis object represents the new Revolution Synchronous Sampling.
The HarmonicFilter object represents the new analysis object Revolution Synchronous Harmonic Filter.
The RosetteTransformationAnalysis object represents the new analysis object Rosette Transformation.
Changes to Existing Objects
The Application object has been expanded to include the UpdateUI method.
The Database object has been expanded to include the properties Active, Visible, WindowState, Left, Top, Width, Height, Caption and ShowHiddenObjects, which refer to the main window where the project database is displayed. The OpenObjects collection contains all objects open in the project database.
The objects Window and SearchWindow have also been expanded to include the Active property.
The argument PageNumber of the Export method, which can be used to export any object, has been replaced by the variant argument PageNumbers which can contain not only a single page number, but also a field with multiple page numbers.
All FlexPro objects have the additional properties DoNotIndex and Hidden.
The AlgorithmDerivation property of the SignalAnalysis object has been renamed to AlgorithmDerivative.
The Import method of the Folder object has been expanded to include the optional ItemFilter argument and the Interactive argument has been replaced by the NameClashHandling argument, which allows finer behavior control.
The CursorObject object, which represents all objects that use cursors, has been extensively revised. Some properties were moved to the CursorProperties object, but are still supported to preserve backward compatibility. The new collections MultiMarkers, ImageMarkers and RangeMarkers contain the markers of the corresponding type. The ShowCoordinates property has been renamed to ShowCoordinatesWindow.
The DocObject object, which represents all presentation objects, has been extended with the SharedPages property, which represents a collection of pages with shapes that are displayed in all views of the object.
The CursorProperties object has been expanded to include the properties AuxiliaryCursors, LineFormat, InactiveColor, CoordinatesPosition, Text, Font, NumberOfSidebandCursors, SidebandCursorSpacing, NumberOfOrderTrackingCursors and OrderTrackingCursorSpacing. The properties CursorType, CursorSynchronizationMode and CursorSynchronizationDataSet have been renamed to Type, SynchronizationMode and SynchronizationDataSet. The properties SynchronizeByIndex and HarmonicCursor have been removed, but are still supported to preserve backward compatibility.
The properties PositionIndex, PositionX, PositionY and PositionZ of the FpCursor object have been expanded to include the optional ZIndex argument. The methods DeleteValue, DeleteRangeBetweenCursors, XShiftRangeBetweenCursors and YShiftRangeBetweenCursors and the properties Marker, CursorProperties andAuxiliaryPositionsParam have been added. The PlaceMarker method has been expanded so that all types of markers can be set. The methods PlaceRangeMarker and PlaceImageMarker have been removed, but are still supported. The signatures of the methods CopyRange and CopyMarkers have been expanded. The properties HarmonicsPositionIndex, HarmonicsPositionX and HarmonicsPositionY have been renamed to AuxiliaryPositionsIndex, AuxiliaryPositionX and AuxiliaryPositionsY. However, the previous names will continue to be supported. The RemoveAllMarkers method has been expanded to include the optional argument CursorScope argument.
The CopyCoordinate method of the CoordinateWindow object has been expanded to include the optional ToClipboard argument.
The Markers collection has been extensively revised. The properties PositionIndex, PositionZIndex and PositionCurve have been renamed to PositionIndex, PositionZIndex and PositionCurve and expanded to include the optional arguments Curve and ZIndex. However, the previous names will continue to be supported. The properties PositionX, PositionY and PositionZ and the properties PositionCurve2, PositionIndex2 and PositionZIndex2 have also been expanded to include the optional arguments Curve and ZIndex. Since the properties provide an array, there may be an incompatibility here in Visual Basic. For example, in the previous version of FlexPro, the 0 in Markers.PositionX(0) was interpreted as an index to the array returned by PositionX . In FlexPro 2021, the 0 is now interpreted as an optional argument Curve of the PositionX(Curve, ZIndex) property. You must therefore change the code in Markers.PositionX()(0) . The same applies to the other properties. The features PositionX2, PositionY2, PositionZ2, PositionSlope, PositionOrderTrackingValue and AreaOfRange have been added. The properties FrameColor, LineColor and BackgroundColor have been replaced by the properties Border, FillFormat, CursorFormat and SymbolFormat. However, the previous names will continue to be supported. The Position property has been renamed to LabelPosition and the Type property has been replaced by three properties: LabelType, CursorType and SymbolType. The SymbolSize and TextAngle properties have been added. The properties LabelAlignment, LabelLeftPadding, LabelRightPadding, LabelTopPadding and LabelBottomPadding have been renamed to TextAlignment, TextLeftPadding, TextRightPadding, TextTopPadding and TextBottomPadding.
Similarly, the Marker object has been extensively revised. The properties PositionIndex, PositionZIndex and PositionCurve have been renamed to PositionIndex, PositionZIndex and PositionCurve and have been expanded to include the optional Index argument. However, the previous names will continue to be supported. The properties HorizontalOffset, VerticalOffset, PositionX, PositionY and PositionZ have been expanded to include the optional Index argument. The properties TextColor, FrameColor, LineColor and BackgroundColor have been replaced by the properties Font, Border, FillFormat, CursorFormat and SymbolFormat. However, the previous names are still supported. The following properties have been added: PositionX2, PositionY2, PositionZ2, PositionSlope, PositionOrderTrackingValue and AreaOfRange. The Position property has been renamed to LabelPosition and the following three properties have been added: LabelType, CursorType and SymbolType. The following properties have been added: PlotOrder, ShowInAllViews, SymbolSize, TextAngle, TextAlignment, TextLeftPadding, TextRightPadding, TextTopPadding and TextBottomPadding.
The DocObjectSelection object has been extended to include the OpenObject, MoveFromPageToSharedPage, MoveFromSharedPageToPage and Protect methods.
The WorksheetSelection object has been extended to include the OpenObject method.
The Diagram2D object has been expanded to include the TemplateCurve properties.
The Axis2D object has been expanded to include the Floorproperties.
The Axis2DScaling object has been expanded to include the properties SymmetricalScaling, AlignOrigin and AlignDivisions.
The objects Curve2DSymbols, Curve2DIndicators, Curve3DSymbols and CurveLabels have been expanded to include the properties PlacementMode, OffsetPercentage and Count.
The properties ZoomToFitPage and PrintBlackAndWhite have been removed from the objects DocObject, Worksheet and Document, but are still supported. The following properties have been added: PrintPageLayout, TopPageMargin, LeftPageMargin, RightPageMargin, BottomPageMargin and MirrorMargins. For the Document object, the following properties have been removed: LeftMargin, RightMargin, TopMargin and BottomMargin.
The Document object has been expanded to include the following properties: PageColor, HeaderAndFooter, ResetNumbering, StartAt, Sections and CurrentSection extended.
The Shapes collection has been extended by the method AddFormControl, LeftAnchor, RightAnchor, TopAnchor and BottomAnchor extended.
The Shape object has been expanded to include the properties Protected, LeftAnchor, RightAnchor, TopAnchor, BottomAnchor and ShowOnInsertedPages extended. In addition, the object has been expanded to include the Position, LeftPadding, RightPadding, TopPadding, BottomPadding, Width, Title and IndexMode properties. The existing Count property, which returned the number of vertices in the shape, has been renamed toNumberOfPoints.
The Axis3DScaling object has been expanded to include the SymmetricalScaling property.
The data type of the UseAlternatingColors property of the ColumnTable object has been changed to FpTriState.
The ColumnTable object has been expanded to include the following properties:Orientation, Pagination, TableSpacingHorizontal and TableSpacingVertical.
The objects ColumnTableTitle and ColumnTableColumnTitle have been expanded to include the Angle property.
The objects ColumnTableColumnData, ColumnTableColumnRowIndex and ColumnTableColumnColumnIndex have been expanded to include the properties Angle, WrapText and AlignToDecimalSeparator.
The StoredInDatabase property of the Media object has been replaced by the Source property and the CursorFormat property has been renamed to CursorOutputFormat.
The objects FourierSpectralAnalysis, TimeFreqSpectralAnalysis and CrossSpectralAnalysis have been expanded to include the properties Angle, StepMode and GapSize.
See Also
What's New in the FlexPro 2019 Object Model
What's New in the FlexPro 2017 Object Model
What's New in FlexPro 10's Object Model
What's New in FlexPro 9's Object Model