Important changes and extensions

Strong typing removed
The strong typing was removed for the following methods, accesses and assigns:

bItemList:Exist()

bKeyCommandList:Exist()

Removed methods

bBrowser

DrawGrid()
The Grid is now drawn in method bBrowser:DrawData().

SetFirstRow()
As a replacement the access bBrowser:FirstVisibleRecNo can be used.

New classes

bBackgroundStyle

bCellDragSelectEvent

bCellGroupEvent

bCellGroupItem

bCellGroupItemStyle

bCellGroupList

bCellGroupMoveEvent

bCellGroupResizeEvent

bCellSelectEvent

bGridCondition

bGridConditionList

bHighlightStyle

bInfoInReadProcess

bRecordGroup

bRecordGroupEvent

bRecordGroupHeader

bRecordGroupInfo

bRecordGroupItem

bRecordGroupItemList

bRecordGroupLevel

bRecordGroupLevelList

bTextStyle

New methods

bArrayServer

OrderKeyGoTo()

OrderKeyNo()

PropertyExist()

 

bBorderStyle

OuterSpace

 

bBrowser

AdjustRecordGroupWidth()

CellDragSelect()

CellGroup

CellGroupMove()

CellGroupResize()

ColumnHighlightStyle

DataFont

DrawCellGroup()

DrawCellGroupItem()

DrawRecordGroup()

EnableCaptionSortMarker()

EnableCellGroupMove()

EnableCellGroupResize()

EoFRecNo

ExistGridConditions()

ExistRecordGroupHeaders()

ExistRecordGroups()

ExistRecordGroupsWithVariableHeight()

ExistRecords()

GetCellAreaRect()

GetColumnHighlightStyle()

GetFormatFromColumns()

GetGridSpec()

GetInfoData()

GetLastRec()

GetPropertyFromDataCache()

GetRecordGroupInfoAlignment()

GetRecordGroupInfoAlphaBlendRatio()

GetRecordGroupInfoBackground()

GetRecordGroupInfoFont()

GetRecordGroupInfoForeground()

GetRecordGroupInfoGrid()

GetRecordGroupInfoOptions()

GetRecordGroupItemAlignment()

GetRecordGroupItemOptions()

GetRecordGroupItemRect()

GetVisiblePosFromPoint()

GetVisiblePosFromRecordGroupItem()

GridCondition

IsCaptionSortMarker()

IsCellAreaVisible()

IsCellGroupMovable()

IsCellGroupResizable()

IsRecordGroupItemVisible()

MoveCellGroup()

PropertyExist()

RecordGroup

RecordGroupClick()

RecordGroupDoubleClick()

RecordGroupItemChangeState()

RecordGroupItemClose()

RecordGroupItemOpen()

RecordGroupUpdate()

RecordGroupView

ResizeCellGroup()

SetInfoData()

VisibleRecordGroupHeaderCount

 

bBrowserColumn

AllowedGroupColumnList

CaptionHighlighted

CaptionSortMarker

FooterHighlighted

HighlightStyle

PropertyExist()

ToolTipText

 

bCellEditEvent

EditArea

 

bCellToolTipEvent

Column

RecordGroupLevel

 

bCodeblock

GetArgumentPos()

 

bCompoundValue

Transform()

TransformBlock

 

bDataColumn

DataHighlighted

ExistGridConditions()

GetGridSpec()

GridCondition

PropertyExist()

ToolTipText

 

bGroupColumn

CalculateWidth()

 

bDBServer

PropertyExist()

RecordFilterRemoveDuplicateRecNo()

 

bDrawValueEvent

AlphaBlendRatio

Cell

 

bItemList

BlockSize

Changes in methods and accesses

bBorderStyle

Init()

New argument:

uOuterSpace

 

 

 

 

bBrowser

CellToolTip()

New arguments:

<oColumn>

<oRecordGroupLevel>

 

 

 

EditCreate()

New supported value:

<uSpecial>

 

 

 

EditCloseFlags

New supported value:

BECF_ONMOUSEWHEEL_MOVETOROW

 



EditStartFlags

New supported value:

BESF_ONMOUSE_BUTTONUP

 

 

 

EnableContextMenu()

New argument:

<lRecordGroup>

 

 

 

FormatColumns()

New supported values:

#EditCloseFlags

#EditStartFlags

#HeightVariable

#ToolTipText

#ValueTransformList

#ViewEmptyValuesAs

#WidthMax

#WidthMin




GetColorSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

<oForeground>

<oBackground>

 

 

 

GetContextMenu()

New supported value:

BCM_RECORDGROUP

 

 

 

GetEditSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

GetRowRect()

New argument:

<oRecordGroupItem>

 

 

 

GetSelectorRect()

New argument:

<oRecordGroupItem>

 

 

 

GetFontSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

IsContextMenuEnabled()

New supported value:

BCM_RECORDGROUP

 

 

 

MoveColumn()

New argument:

<iMoveFlags>

 

 

 

PropertyDelete(),
PropertyGet(),
PropertyPut()

New properties:

#CaptionPointer

#CellGroupMoveEnableIcon

#CellGroupMoveDisableIcon

#ComboListHeightMax

#DragMultiplePointer

#DragSinglePointer

#DragStartDelay

#DropNotAllowedPointer

#RecordGroupCaptionGrid

#RecordGroupCaptionBackground

#SelectorCaptionBackground

#SelectorCaptionGrid

#SortMarkerHeight

 

 

 

ProcessState

New supported values:

BPS_INCLOSERECORDGROUP

BPS_INOPENRECORDGROUP

 

 

 

RowCountMode

New supported values:

#Count

#LastRow

 

 

 

SelectionFirstRow()

New argument:

<iOptions>




SelectionMode

New supported values:

#MultipleInColumn

#MultipleInRow

 

 

 

SelectionNextRow()

New argument:

<iOptions>




SetContextMenu()

New argument:

<omnuRecordGroup>

 

 

 

SetInfo()
SetInfoHeight()
SetInfoView()

New supported value:

BINFO_INREADPROCESS

 

 

 

ToolTipMode

New supported value:

#CellRegion

 

 

 

 

bCellEditEvent

EditMode

New supported value:

BEDIT_CALCULATE

 

 

 

 

bCellToolTipEvent

Area

New supported value:

#RecordGroup

 

 

 

Init()

New arguments

<oColumn>

<oRecordGroupLevel>

 

 

 

 

bColorCondition

Eval()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

Init()

New arguments in condition:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bColorConditionList

GetColorSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bCompoundValue

Init()

New argument:

<uTransformBlock>

 

 

 

 

bDataColumn

EditStartFlags

New supported Values:

BESF_ONMOUSE_BUTTONUP

 

 

 

GetColorSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

GetEditSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

GetFontSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bDBServer

RecordFilterFlags

Neuer Wert:

DBRFF_REMOVEDUPLICATERECNO

 

 

 

 

bDrawValueEvent

Init()

Neue Argumente:

<iAlphaBlendRatio>

<oCell>

 

 

 

 

bEditCondition

Eval()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

Init()

New arguments in condition:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bEditConditionList

GetEditSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bFontCondition

Eval()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

Init()

New arguments in condition:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bFontConditionList

GetFontSpec()

New arguments:

<iColumn>

<nRowNo>

<nRecNo>

 

 

 

 

bGroupColumn

GetColumnList()

New supported value:

#OpenColumn

 

 

 

 

bViewStyle

Options

New supported constants:

BVO_ASPECTRATIO

BVO_STRETCHIMAGE

 

 

 

 

bItemList

Add()

New argument:

<iPosition>

 

 

 

New functions

bCombineAlignment()

bGetHorizontalAlignment()

bGetVerticalAlignment()

New samples

bSample - CellGroups

bSample - Relations
The new sample replace the old sample "bSample - MultipleServer"

bSample - RecordGroups

Other changes and extensions

bDBServer and Record-Filter
The bDBServer:RecordFilter supports an active order scope now. Furthermore when a bDBServer:RecordFilter or bDBServer:RecordFilterMode is set, the data server is moved on the first record that corresponds to the record filter.
 

Grid in bBrowser and Visual Styles
If the Visual Styles are active in the bBrowser and a grid with style BGRID_OUTLINE, BGRID_OUTLINEVERTICAL or BGRID_OUTLINEHORIZONTAL is defined but no foreground color for the grid (see bGrid:Foreground), then the grid is drawn with the foreground color of the visual style. This has the consequence that the grid is not drawn in the color black any more but in the color which is defined by the Visual Styles.

The images below shows the different for the grid style BGRID_OUTLINE in Windows XP.

GridAndVisualStyleOld

Old representation with active Visual Styles

 

GridAndVisualStyleNew

New representation with active Visual Styles

 

So that the grid is drawn in black, the foreground color must be defined in the bGrid object. The following code fragment demonstrates the procedure.

oGrid := bGrid{BGRID_OUTLINE, , , , , Color{COLORBLACK}}

 
Important Note: The new behaviour only have an effect when no foreground color is defined for the grid (see bGrid:Foreground) is defined. If a foreground color is defined, then the grid is drawn as usual.
 

bBrowser:CellSelect()
In the past, the bBrowser has used the callback method bBrowser:CellSelect() to check whether a method CellSelect() exists in the owner of the bBrowser and has invoked this with an object of class ControlEvent. Now, the method is passed an object of class bCellSelectEvent instead the ControlEvent. Because the class bCellSelectEvent is inherited from ControlEvent, no modifications are necessary in your source code. If you should have strongly typed the method CellSelect() in your source code, then you can adapt the source code as below:

Old source code:

method CellSelect(oEvent as ControlEvent) as logic pascal class myDataWindow

...

New source code:

method CellSelect(oEvent as bCellSelectEvent) as logic pascal class myDataWindow

...

This modification is not necessary. The old source code will still work correctly. The modification is only necessary when you want to access the new properties of the class bCellSelectEvent.
 

bViewStyle
The class bViewStyle was not inherited from any other class until now. The class bViewStyle is now inherited from class bTextStyle.

Important note: You must not change your source code because of this modification.
 

Support for RightSLE
The support for the class library RightSLE from wmConsulting (www.wmconsulting.com) is improved. Note now that the calendar button in the control DateSLE is shown and managed correctly.
 

 


Page url: http://www.YOURSERVER.com/index.html?update_version_4.htm