|
pfc_rowfocuschanged
|
|
Full name
|
pfc_n_cst_dwsrv_rowselection.pfc_rowfocuschanged
|
Access
|
public
|
Extend of
|
integer
|
Return value
|
integer
|
Prototype
|
event integer pfc_rowfocuschanged(long)
|
Name
|
Datatype
|
lb_rowclicked
|
boolean
|
lb_rowdeletion
|
boolean
|
li_rc
|
Integer
|
event pfc_rowfocuschanged;call super::pfc_rowfocuschanged;//////////////////////////////////////////////////////////////////////////////
//
// Event: pfc_rowfocuschanged
//
// Arguments:
// al_row: row clicked
//
// Returns: Integer
// 1 if it succeeds and -1 if an error occurs.
//
// Description: Provide Keyboard support. Prior to performing the keyboard
// processing; a) check that the rowfocuschange was not caused by a
// rowdeletion or b) check if the required processing was already
// processed on the clicked action.
//
//////////////////////////////////////////////////////////////////////////////
//
// Revision History
//
// Version
// 6.0 Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1996-1997 Sybase, Inc. and its subsidiaries. All rights reserved.
// Any distribution of the PowerBuilder Foundation Classes (PFC)
// source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////
Integer li_rc=1
boolean lb_rowdeletion=False
boolean lb_rowclicked=False
// Validate required reference.
If IsNull(idw_requestor) Or Not IsValid(idw_requestor) Then
Return -1
End If
// Only perform when the keyboard support is active.
If ib_keyboard Then
// Determine if this rowchange was caused by a RowDeletion operation.
// (Note: al_row=1 is needed for dwSharing.)
lb_rowdeletion = ((al_row = il_prevrow -1 Or al_row=1) And &
idw_requestor.RowCount() = il_prevrowcount -1)
// Determine if this rowchange was caused by a Clicked operation.
lb_rowclicked = (il_currclickedrow = al_row)
// Process row when not a rowdeletion or rowclicked operation.
If (Not lb_rowdeletion) And (Not lb_rowclicked) Then
// Process keyboard behavior depending on selection option
li_rc = of_KeybRowSelect(al_row)
End If
End If
// Reset the currently Clicked row.
il_currclickedrow = 0
// Keep track of the previous row and previous rowcount to catch for
// RowDeletion operations.
il_prevrow = al_row
il_prevrowcount = idw_requestor.RowCount()
Return li_rc
end event