May-31, 2010
- New Release 9.7 of the SDL Component Suite
- Support of both Embarcadero Delphi 2010 and C++Builder 2010
- new components available:
- SDL_onoffbut: a component to display binary switches
- SDL_sevenseg: 7-segment displays
- SDL_rotlab: rotable label
- SDL_boxplot
- bug fix: memory leak fixed (due to not freeing FLabels)
- SDL_complex
- new function CpxIsNearEqual tests if two complex numbers are almost equal
- SDL_datatable
- the new methods CRCofCellStates and CRCofNamesAndAttributes allow to calculate a CRC code over the cell states and the names and attributes of the table
- the methods ExchangeColumns and ExchangeRows allow to exchange two columns/rows
- the following new methods can be applied to cells having a particular cell state: SumOfMarkedCells (sums up cells), MinMaxOfMarkedCells (searches the minimum and maximum), and MeanVarOfMarkedCells (calculates the mean and the standard deviation)
- ClearNominalIDs clears all nominal IDs of a column
- the methods MirrorColumns and MirrorRows allow to mirror a data table
- new method CountValidCells counts all valid non-empty cells
- new method MinMaxOfValidCells finds minimum and maximum of valid non-empty cells
- the methods GeometricMeanOfNumCells, HarmonicMeanOfNumCells, MeanVarOfNumCells, QuartilesOfNumCells, CountNumCells, SumOfNumCells, MinMaxOfNumCells, and PercentileOfNumCells now account for categorial columns
- ExportAsASC and ExportAsCSV are now functions returning an error message if the file cannot be created or overwritten
- ImportASC and ReadFromASC now check if the file exists and return an error code if not
- greatly improved speed of ExportAsASC for large data matrices
- the method Changed has been renamed to ChangedData
- new method ChangedSetup allows to trigger the OnChangeSetup event programmatically
- new event OnChangeSetup is triggered when the layout of the table is changed
- bug fix: ImportFromCSV did not reset scaling information of variables
- bug fix: ImportFromCSV now marks empty cells as empty (instead of setting them to zero values)
- SDL_dendrogram
- new method RetrieveClusterClasses implemented
- method CalcClasses is now a function and returns TRUE if the max. number of classes is exceeded
- SDL_dstruct
- new method TStringArray.CopyRow implemented
- SDL_filesys
- the new function CountFiles counts all files matching particular search criteria
- bug fix: version [2] of ReadHeaderOfASC now correctly reads old ASC-file headers which do not specify any information on categorial values.
- SDL_gauge
- logarithmic scale implemented (property Logarithmic)
- new properties MinTicks and ShortTicks allow better control of scale ticks
- SDL_htmlsupport
- SDL_marksel
- new property ShowZeroAsCross allows to control symbol at index zero
- new property Enabled allows to disable the component
- SDL_math1
- new function CheckPowerOfTwo checks if an integer number is a power of two
- new function DistFromRect calculates the distance from a rectangular region
- bug fix: IsValidDecInt returns now correct result for isolated minus or plus signs
- SDL_math2
- new methods TCurveFit.QuartilesX and TCurveFit.QuartilesY calculate the quartiles of data in the TCurveFit container
- class TMathExpression supports now three new functions: nddens, ndint, and ndquant calculate the density, the integral, and the quantile of a standard normal distribution, respectively.
- ExportAsASC is now a function (instead of a procedure) returning an error message if the file cannot be created or overwritten
- the new method TCurveFit.CalcAnovaReg performs the analysis of variances
- bug fix: CalcCovar crashed if the target matrix was too small
- bug fix: TCurveFit.SpearmanRankCorr does not crash any more if more than approx. 1250 values are used for the calculation
- bug fix: TCurveFit.SmoothedSpline calculates the smoothed spline at position TCurveFit.MaxX as well
- SDL_matrix
- new method CRCofData calculates the CRC over all matrix cells
- new methods MirrorColumns and MirrorRows allow to mirror the matrix
- new methods ExchangeRows and ExchangeColumns allow to exchange to rows or columns of a matrix
- new function FindInSortedColumn searches a sorted column by a binary search
- bug fix: depending on the data the calculation of the determinant resulted in a wrong sign (but correct absolute values) for matrices of even dimension (bug was introduced with release 9.51)
- bug fix: sorting the matrix (both rows and columns) does no longer reduce the numeric precision to 12 significant digits
- SDL_meter
- TMeter component now supports logarithmic scales
- bug fix: second needle is now automatically limited to meter range when changing MeterMinValue or MeterMaxValue
- SDL_ntabed
- new property AutoAdvanceDir controls the direction of the automatic cell pointer movement when the "Enter" key is pressed
- the new event OnBeforeRenderCell allows to adjust individual cells
- mouse wheel support added
- new property DataReadOnly allows to switch the table editor into read-only mode
- new function GetClipMatrixSize retrieves the size of a text matrix in the clipboard
- popup menu of the heading area extended to support the selection of entire rows and columns
- the methods MirrorColumns and MirrorRows allow to mirror a data table
- sort speed improved by suppressing intermediate repaints
- the method Changed has been renamed to ChangedData
- new method ChangedHeading allows to trigger an OnHeadingChanged event
- bug fix: empty cells are now indicated by empty boxes again (instead of '???') - bug was introduced with release 9.51
- bug fix: inverted headers (when right clicking) operate now as expected
- bug fix: when interactively changing the row/column attributes the OnHeaderChanged event is triggered (instead of the OnChange event)
- bug fix: CopyContentsFrom did not copy scaling information
- bug fix: font changes show immediate effects now
- buf fix: changing any Nominal IDs now triggers the OnChange event
- SDL_numio
- the new public variable ButtonPivots allows to predefine a list of button pivot points
- the new method OutOfRange checks the validity of the current value
- up/down button in TNumIO2 now triggers OnChange event
- bug fix: TNumIO2.InputFormat = itDynamic works now as expected (did not accept floating point numbers)
- bug fix: isolated plus and minus signs are now allowed in TNumIO2
- bug fix: enabled/disabled states are now reflected in the button as well
- bug fix: TNumIO2 now accepts characters from numeric key pad, as well
- SDL_numlab
- flickering of the transparent NumLab component is eliminated if the color of the label value (property ColorLabText) is black
- SDL_plot3d
- speed of the assignment of values to the data grid improved
- property AutoCenter implemented
- caption of axes implemented (properties CaptionX, CaptionY, and CaptionZ)
- properties LabDistX, LabDistY, and LabDistZ control the distance of the caption from the axis
- SDL_polchart
- new property AutoCenter implemented
- bug fix: the grid does no longer become invisible when calling ShowGrafNewOnly
- SDL_progbar
- bug fix: rotated text now works under .NET as well
- SDL_rchart
- new element RectangleRelPix implemented
- the simple text labels (created by the method Text) can now be offset by a number of pixels and can be aligned individually
- isometric scales now try to maintain the center of the scale at the same position when resizing the chart
- a double click on the component does no longer trigger the MouseDown event in addition to the OnDblClick event
- MouseAction supports now maRubberBand and triggers the OnRubberBand event when the mouse is released
- bug fix: vertical alignment of TextLabels containing several lines is now working as expected
- bug fix: line of tkArrow element was offset by one pixel
- bug fix: caption of chart did not scale properly when printing the chart
- bug fix: problems with logarithmic scales upon interactive zooming fixed
- bug fix: black and white copy of chart showed colored labels
- bug fix: memory leak fixed (caused by not freeing TJointLayers and TColorArray)
- bug fix: crosshair of contour plot was not accessible under C++
- SDL_replist
- new property SecondarySortColumn controls the sorting behavior if two or more equal cells are to be sorted
- new property UseCtrlForMultiSel controls behavior when multi-row selection is active
- new properties EmptyMessage and ColorEmptyMsg allow to define a default message for empty report lists
- new method TRLData.CopyRow implemented
- new methods SetAllCheckmarksOfCol and InvertAllCheckmarksOfCol implemented
- bug fix: Assign method of TRLData did not copy column zero
- SDL_rot3d
- new property LineWidth allows to control the line width of the Line and DrawTo methods
- bug fix: colors of the Line method were restricted to the 16 basic Windows colors
- SDL_scale
- bug fix: memory leak fixed (caused by not freeing TDTScale)
- SDL_sdlbase
- TDoubleArray declared
- TRubberBandEvent and TOrientation declared
- the procedure DrawMarkOnCanvas supports now a few additional symbols
- SDL_statis
- two functions for appyling the Grubbs outlier test implemented: GrubbsCriticalValues and GrubbsTest
- bug fix: FDistriQuantile calculated incorrect quantiles for p values less than 0.5 and unequal degrees of freedom
- SDL_STRINGL
- new function CountStringInString implemented
- bug fix: ReadNextTagInString does not crash anymore if string is empty
- SDL_vector
- new method Mirror implemented
- new method FindInSortedVector implements a fast binary search
- the new method CRCofData calculates a CRC code over all vector cells
Mar-09, 2010
- New release 2.700 of DataLab. For a detailed list of improvements, please see the Datalab release history.
Oct-20, 2009
- Internal Release 9.6 of the SDL Component Suite. This release was available to existing customers only. The next public release is 9.7 (all changes of both version 9.6 and 9.7 are described in the 9.7 release history above)
Jun-23, 2009
- New release 2.650 of DataLab. For a detailed list of improvements, please see the Datalab release history.
Apr-28, 2009
- New release 2.640 of DataLab. For a detailed list of improvements, please see the Datalab release history.
Feb-11, 2009
- New release 2.630 of DataLab. For a detailed list of improvements, please see the Datalab release history.
Dec-01, 2008
- New Release 9.51 of the SDL Component Suite
- SDL_DENDROGRAM
- bug fix: Font property is now working as expected
- SDL_DSTRUCT
- search direction for the methods TStringArray.FindCell and TStringArray.FindCellExact has been changed (they now search the string array rowwise)
- bug fix: TAssocArray.Remove now works as expected
- SDL_MATH2
- new function PointIsInsideConvexHull checks whether a point is inside or outside of a convex hull
- bug fix: procedure Convex2DHull produced wrong results if the x-coordinates of two neighboring points were exactly equal
- SDL_MATRIX
- bug fix: methods Determinant and LUDecomposition now work correctly if first diagonal element is zero
- SDL_NTABED
- undefined cells are now indicated by the string '???'
- bug fix: copying a numeric value containing leading or trailing blanks from the Windows clipboard into a cell now works correctly
- SDL_NUMIO
- the TNumio2 component now offers an optional up/down button (properties But3D, ButColor, ButIncrem, ButSpace, ButVisible, and ButWidth)
- bug fix: tab key now shifts focus as expected
- SDL_RCHART
- bug fix: the font of the chart caption is now correctly taken from the Font property
Oct-31, 2008
- New Release 9.5 of the SDL Component Suite
- Support of both CodeGear Delphi 2009 and C++Builder 2009
- Delphi 5 and C++Builder 5 are no longer supported
- new components TColorArray, TColorScale, and TContourPlot
- SDL_COMPLEX
- bug fix: CpxMult now calculates the correct result
- SDL_DATATABLE
- data table now supports reading from CSV files and writing to CSV files - see ImportFromCSV and ExportAsCSV
- additional version of ReadFromASC to read from clipboard
- data table now supports columnwise measurement scales (interval, ratio, nominal, and categorial), see TMScaleType, MScaleType, NominalID, OrdinalOfNominalID, AddNominalID, and ElemNominal
- new methods InsertRow, InsertColumn, RemoveRow, and RemoveColumn allow to insert, delete, and append entire rows and columns
- new methods SortRowNames and SortRowAttributes sort the data according to the row names and the row attributes
- new methods SortColNames and SortColAttributes sort the data according to the column names and the column attributes
- method UnmarkAllCells resets all cell markings to zero values
- new property IsEmpty allows to control the "empty" state of a cell
- new property IsNumber tests a cell for a valid numeric value
- export and import of ASC files now allow for empty column/row identifiers and empty or NAN data cells by storing a special empty cell identifier
- bug fix: StandardizeNumCellColumns and StandardizeNumCellRows did not include the last row/column of the data matrix
- bug fix: assigning a Comment does no longer create a range check error
- QuartilesOfNumCells and PercentileOfNumCells calculate now more appropriate values for very small sample sizes
- bug fix: row attributes are now unchanged if ReadFromASC is used with ReplaceIDs set to FALSE
- SDL_DENDROGRAM
- object labels are now written using a transparent background
- distance scale now spans the entire width/height of the dendrogram window
- bug fix: AutoRange now scales the dendrogram area more properly
- bug fix: after startup, orientation of dendrogram always was downward, regardless of the property Orientation
- bug fix: dendrogram does not generate the "control has no parent window" error anymore when putting it on a form (bug was only active under Delphi 2007 and Delphi 2005)
- SDL_DSTRUCT
- Sort method now provides a secondary sorting key
- SDL_FILESYS
- new procedure ReadNextWordInTextFile implemented
- new function CheckTextFileType implemented
- function ReadHeaderOfASC extended to allow for the definition of nominal and ordinal variables
- SDL_FOURIER
- new function LineOfFreq transforms frequencies to spectral line indexes
- SDL_GEODB
- the methods AddBLOB, AddBorder, AddCity, AddLake, AddRiver, AddRoad, AddRoute, and AddTown are now functions which return the database entry of the newly created entry
- The type declaration of TgdbData has been changed to include the altitude of a database item (the length of the Name property has been decreased by 4 character to create room for the altitude parameter without changing the memory footprint of the type declaration).
- The methods AddBLOB, AddBorder, AddCity, AddLake, AddRiver, AddRoad, AddRoute, AddTown ReplaceBLOB, ReplaceBorder, ReplaceCity, ReplaceLake, ReplaceRiver, ReplaceRoad, ReplaceRoute, and ReplaceTown are now extended to accept altitude data.
- function GetMetaInfo returns now empty meta information if applied to a non-BLOB database entry
- SDL_GEOMAP
- constant array CountryData provides list of most important data on the countries of the world
- method CreateAndLoadEmptyMap improved: illegal parameter do not longer create exceptions; the labeling of the grid lines is now more concise; an additional callback routine allows to hook into customized drawing routines
- SDL_MATH1
- CalcScalePars now allows to force tick marks at integer values along the axis
- new fucntion EEngStr converts floating point numbers to unit prefix notation
- new procedures to store and load floating point numbers as IEEE hex strings: FPNumToHex, HexToDouble, HexToExtended, HexToSingle
- new procedure RoundDegrees implemented
- ScanDegrees now allows to omit the degree symbol if the input string is terminated by a geographic direction ('N','S', 'E', or 'W').
- bug fix: function DegreeToStr now creates minutes and seconds (e.g. 3°0' instead of 2°60') the correct way
- SDL_MATH2
- properties TCurveFit.SkewnessX and TCurveFit.SkewnessY implemented
- properties TCurveFit.KurtosisX and TCurveFit.KurtosisY implemented
- methods TCurveFit.CalcPowerFit, TCurveFit.CalcHoerlFit, and TCurveFit.CalcExponentialFit now rise an exception if the function cannot be fitted
- method TCurveFit.CalcCenteredPolyFit implemented
- method TCurveFit.CalcPolyFit now provides feedback on numerical instabilities (parameter NearSingular)
- TMathExpression now offers new function "sign" to calculate the sign of a variable
- methods TCurveFit.CalcLinFit, TCurveFit.CalcParabolFit, TCurveFit.CalcGaussFit, ... improved to create better fit with data shifted far away from the origin
- bug fix: TCurveFit.CalcCircleFit does not crash anymore, if radius becomes infinite
- bug fix: TMathExpression now calculates the correct result if argument of an odd power is negative
- bug fix: unary minus and signs are now interpreted correctly by TMathExpression
- bug fix: TCurveFit.CalcLinFit does not crash anymore if all data points are zero
- bug fix: TMathExpression.Evaluate: function Gauss does no longer create a range check error
- SDL_MATRIX
- new method Find searches for particular element in matrix
- MeanCenterColumns and MeanCenterRows implemented
- bug fix: methods Quartiles and Percentile calculate now more appropriate values for very small samples
- SDL_NTABED
- TNTabEd now supports empty cells - property IsEmpty allows to control the "empty" state of a cell
- AutoRowHeight and OptimizeRowHeight allow to control the adjustment of row heights
- the method AutoColWidth is now a function which returns the width the adjusted column
- new property BlockInternalPopup allows to remove default popup menus
- new property CommentEditingAllowed controls the interactive editing of comments
- new event OnHeadingChanged allows to react on any user-triggered changes of the orw and column headings
- new methods InsertRow, InsertColumn, RemoveRow, and RemoveColumn allow to insert, delete, and append entire rows and columns
- the new array properties PopupDCaptions, PopupMCaptions, PopupUCaptions, and PopupHCaptions allow to translate the various popup menu entries to other languages
- new property BoldSelHeads controls bold headings of selected cell
- new property TopRow scrolls grid to show a particular row at the top of the table
- new read-only property IsNumber tests a cell for a valid numeric value
- new methods SortRowNames and SortRowAttributes sort the data according to the row names and the row attributes
- new methods SortColNames and SortColAttributes sort the data according to the column names and the column attributes
- commands Select All and Empty Cells implemented in default data popup menu
- new read-only properties VisibleColCount and VisibleRowCount return then number of visible columns and rows
- bug fix: property PopupDMask and property PopupHMask now work as expected (paste and edit commands could not be switched off)
- bug fix: method Clear now resets the row and column attributes, as well
- bug fix: copy and paste routines now take care of cell states as well
- bug fix: assigning a comment does no longer create a range check error
- SDL_NUMIO
- new method TNumIO2.SetFocus implemented
- SDL_NUMLAB
- new display types dtEEng and dtEEngNoDP support the display of electrical engineering notation
- Enabled property now affects font color of left and right text and numeric label when set to FALSE
- SDL_RCHART
- setting the property ScaleNX/Y.MinTicks to zero forces tick marks to be displayed at every integer value along the axis
- bug fix: the color of the scale ticks and the color of the scale labels can now be set independently
- bug fix: the printing routines of TSmithChart work now as expected
- SDL_REPLIST
- LoadLinesFromFile now displays additional rows as expected
- Sort method now provides a secondary sorting key
- SDL_ROT3D
- properties ViewAngleX,Y,Z are now stored in Delphi form (DFM file) even if they use the default values
- SDL_SCALE
- new property Center implemented
- setting the property MinTicks to zero forces tick marks to be displayed at every integer value along the axis
- bug fix: TScale does not generate the "control has no parent window" error anymore when putting it on a form (bug was only active under Delphi 2007 and Delphi 2005)
- SDL_SDLBASE
- AbortMathProc has been moved from unit MATH2 to SDLBASE
- SDL_SDLCOLORS
- new component TColorArray supports the handling of arrays of colors
- new function RGBColorDistance calculates the distance between two colors.
- new functions RGBtoGrayColor and ColorToGrayColor implemented
- new function WavelengthToColor calculates the color associated with a particular wavelength of light
- SDL_STATIS
- new method EstimateProbDensity implements a variable kernel method to estimate densities of univariate distributions
- new method TRandGen.Standardize implemented
- TRandGen.tDistri, TRandGen.FDistri, and TRandGen.Chi2Distri implemented
- DeanDixonTest has been modified to test for the element which lies most outside of the bulk.
- bug fix: TRandGen.Random does not hang if all probabilities are set to zero values
- SDL_STRINGL
- new function SigDigStr implemented
- SDL_THUMBNAILS
- bug fix: NumSlidesVert now returns the correct number of rows
- SDL_UNIVCONST
- Math constants uc_lnMinDouble, uc_lnMaxDouble, uc_lnMaxExtended, uc_lnMinExtended, uc_lnMinReal, uc_lnMaxReal, uc_lnMinSingle, uc_lnMaxSingle added
- SDL_VECTOR
- new method Find searches a particular value in the vector
- new method Mode calculates the Mode of a sample distribution given by the vector elements
- bug fix: methods Quartiles and Percentile calculate now more appropriate values for very small samples
Jul-03, 2008
- New release 2.600 of DataLab. For a detailed list of improvements, please see the Datalab release history.
Aug-22, 2007
- Release 9.0 of the SDL Component Suite is now available for CodeGear C++Builder, too
May-28, 2007
- New release 9.0 of the SDL Component Suite
- new units SDL_COMPLEX and SDL_HTMLSUPPORT
- new components TSline, TScaleGauge, TNumIO2, TSmithChart and TWaveLet1D implemented
- SDL_BOXPLOT
- bug fix: number of horizontal boxplots can now exceed 30 without throwing exceptions
- SDL_COMPLEX
- published with release 9.0 of the SDL Component Suite
- SDL_DATATABLE
- new constants csAll, csNone, and csUser1..csUser4 defined to reflect predefined cell states
- new functions CountMarkedCellsInColumn and CountMarkedCellsInRow count marked cells
- new overloaded method ImportASC allows to read from clipboard
- bug fix: ImportASC now does not crash if data is imported from stream and number of columns is reduced
- SDL_DSTRUCT
- associative arrays support now the retrieval of strings and numbers (ResolveAsString and ResolveAsNumber)
- routines for calculating hash codes implemented: SHA1FromString, SHA1FromStream, SHA1FromFile, and SHA1DigestToHex
- SDL_FILESYS
- new function DetectStringInFile can be used to check validity of a file
- SDL_GAUGE
- published with release 9.0 of the SDL Component Suite
- SDL_GEODB
- two additional versions of AddBLOB implemented
- new property Revision implemented
- new method SearchForItemID searches database item IDs
- The FilePath variable of the meta information record now contains the full file spec of the original file (including the filename)
- ExportDataDebug now includes BLOB sizes, as well
- SDL_GEOMAP
- TGeoMap now supports the OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- new method ZoomFitPage resizes map to fit into current window
- new method CopyToBMP allows to copy portions of a map to a bitmap (including non-visible parts of the map)
- calibration models extended by conic conformal and Miller cylindrical projection
- ParseCalibData now returns the calibration model too
- new method CopyEntireMapToClipboard copies the entire map (including landmarks) into the clipboard
- RemoveAllLandmarks is now available in a second overloaded form restricting the removed landmarks to a specific class number
- procedure WriteRawCalDataToOpenXMLFile extended to additionally store calibration model
- bug fix: ReadLandmarksFromOpenXMLFile and LoadLandmarks now read landmarks correctly (first LM was set to all-zero)
- SDL_GRADFL
- property FrameStyle implemented
- SDL_HTMLSUPPORT
- published with release 9.0 of the SDL Component Suite
- SDL_MATH1
- new routines to check the validity of various numeric types implemented: IsValidBin, IsValidDecInt, IsValidFPNum, IsValidHex, IsValidOct
- RoundNeg125 and RoundPos125 implemented
- interface of function IsValidDouble changed: the parameter DecPChar has been renamed to DecSeparator and is now of type TDecPSep instead of integer
- bug fix: ScanDateTime works now as expected if no date (only time) is specified
- SDL_MATH2
- The algorithm used for TCurveFit.CalcPolyFit has been replaced by an SVD based version which is much more stable for higher orders (up to MaxPolyFitOrder).
- second order derivative of Savitzky-Golay smoothed filter implemented
- SDL_MATRIX
- the matrix inversion routine now works for matrices with very small values, too.
- SDL_NTABED
- new functions NrOfMarkedDataA and NrOfMarkedDataB return number marked data cells
- new property BoldMarks determines bold/normal font of marked cells
- new property IfAnyMarked checks if at least one cell of the table editor is marked.
- PopupMenuClickCopy now copies selected data both to the matrix clipboard and to the Windows clipboard.
- property ClipboardUseFullPrec controls numeric precision when copying to Windows clipboard
- event OnMouseUp published
- bug fix: copy into data clipboard does not crash after matrix transpose
- SDL_NUMIO
- new component TNumIO2 is an improved replacement of the existing TNumIO component (which is no longer supported but still part of the SDL Component Suite for backward compatibility).
- type declaration TDecPSep moved from unit SDL_numio to SDL_sdlbase
- SDL_NUMLAB
- new property Transparent allows to make the outer background transparent
- SDL_PLOT3D
- TPlot3D now supports the OnKeyPress, OnKeyDown, OnKeyUp, OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- various mesh kinds implemented (new property MeshKind)
- SDL_POLCHART
- property SuppressPaint implemented
- property MouseAction supports now maZoomWind and maZoomWindPos
- property LabelModeAngular extended to provide symmetric labels around zero (-p to +p radians)
- TPolChart is now derived from TCustomControl instead of TGraphicControl
- SDL_RCHART
- TSmithChart is a new component derived from RChart. It supports Smith charts which are commonly used in electronics and electrical engineering
- new method SetEqualScales implemented
- new method SetEqualScalesXOnly implemented
- new method SetEqualScalesYOnly implemented
- mouse wheel events are now published
- function FindUsedLayers implemented
- improvement: the background color of dashed lines is now controlled by the property FillColor
- improvement of the methods AutoRange, AutoRangeXOnly, and AutoRangeYOnly
- bug fix: AddTextLabel now works as expected (bug was introduced with release 8.5)
- bug fix: mouse cursor adjusts its image according to MouseAction (bug was introduced with release 8.5)
- bug fix: changing the range of any axis does no longer force several repaints
- bug fix: rectangles and ellipses are now filled with the correct color after switching from transparent to opaque items
- bug fix: maZoomWind now keeps scale ratio of axes if IsoMetric is TRUE
- bug fix: number of grid lines per axis is no longer limited to 50 (new limit is 250)
- SDL_REPLIST
- new method RemoveEmptyRows implemented
- internal data structure of component is now packed into separate class TRLData
- new property ShowEmptyCheckBoxes allows to hide check boxes of empty cells
- new function MouseCell returns the cell number of a particular point of the report list
- two new functions CountCheckedElemsInCol and CountCheckedElemsInRow count checked elements
- new property CountHeadRows returns number of visible headers
- Enabled property now affects colors of text, check boxes and highlighting (cells appear dimmed if disabled)
- column headers can now be adjusted in color by ColorColumnHd and ColorColumnHdText
- the data of the report listview can now be displayed without any headers by setting both the new CommonHeaderVisible and the new ColumnHeadersVisible properties to FALSE.
- new common header implemented, which is controlled by the following properties: CommonHeader, CommonHeaderVisible, CommonHeaderAlignment, ColorCommonHd, ColorCommonHdText
- new property FixedFirstColumn can be used to create a row header
- improvement: component uses now double buffering to reduce flicker when scrolling
- bug fix: horizontal scrolling no longer creates spurious vertical lines in header
- bug fix: FirstSelectedRow returned 1 in some cases despite the number of rows was zero
- bug fix: InterRowIndicatorPos works now correctly if TopRow is greater than 1
- bug fix: component is no longer disabled if EditRowEntries is called with an readonly column formatter
- bug fix: Fill now works correctly for checked columns too
- bug fix: ExportHTMLTable now creates correct HTML tables for checked columns, too
- bug fix: property LeftCol now addresses the columns correctly (had an offset of +1)
- SDL_ROT3D
- TRot3D now supports the OnKeyPress, OnKeyDown, OnKeyUp, OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- the events OnDataRendered and OnBeforeRenderData implemented
- bug fix: rotated image was compressed to zero thickness for very small z angles
- SDL_SCALE
- ConvertPixelToScale implemented
- SetBounds implemented
- SetRange implemented
- improvement: numeric labels are suppressed on non-integer tick marks if number of decimal places is set to zero
- SDL_SDLBASE
- type declaration TDecPSep moved from unit SDL_numio to SDL_sdlbase
- SDL_SLINE
- published with release 9.0 of the SDL Component Suite
- SDL_STRINGL
- strffForcePlus implemented
- function Tokenize implemented
- The following procedures and functions have been moved to the unit SDL_htmlsupport: ResolveHTMLEntities, MakeStringHTMLCompatible, HTMLEntityToAnsi, ExtractHTTPPath, CountWordsHTML, and AnsiToHTMLEntity
- bug fix: TGrep now does not crash with expressions such as "a+" applied to empty strings
- bug fix: expressions such as "[a-z]*" or "a*" are now handled correctly
- SDL_THUMBNAILS
- Paint method published
- SDL_VECTOR
- new methods StoreOnFile and LoadFromFile implemented
- new property IsEmpty implemented
- SDL_WAVELET
- published with release 9.0 of the SDL Component Suite
(news older than Mar 2007 removed)



