* bin/commit.hb
* config/detect.mk
* config/detfun.mk
* config/detplat.mk
* config/dir.mk
* config/dirsh.mk
* config/global.mk
* config/globsh.mk
* config/instsh.mk
* config/lang.hb
* config/lang2po.hb
* config/po2lang.hb
* config/postinst.hb
* contrib/hbexpat/tests/tohash.prg
* contrib/hbformat/utils/hbformat.ini
* contrib/hbmisc/hbedit.prg
* contrib/hbmxml/tests/testmxml.prg
* contrib/hbnetio/utils/hbnetio/_console.prg
* contrib/hbnetio/utils/hbnetio/_winsvc.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* contrib/hbnetio/utils/hbnetio/netiomgm.hb
* contrib/hbwin/tests/ole.prg
* contrib/hbwin/tests/oletst2.js
* contrib/hbwin/tests/oletst2.vbs
* contrib/hbxpp/doc/en/binnumx.txt
* contrib/hbxpp/doc/en/dbcmdx.txt
* contrib/xhb/htmutil.prg
* contrib/xhb/tfile.prg
* contrib/xhb/tframe.prg
* contrib/xhb/thtm.prg
* ChangeLog.txt
* debian/copyright
* doc/class_tp.txt
* doc/hdr_tpl.txt
* doc/xhb-diff.txt
* LICENSE.txt
* package/harbour-wce.spec.in
* package/harbour-win.spec.in
* package/harbour.spec
* package/mpkg_rpm_wce.sh
* package/mpkg_rpm_win.sh
* package/mpkg_rpm.sh
* package/mpkg_src.sh
* package/mpkg_ver.sh
* src/rtl/achoice.prg
* src/rtl/getsys53.prg
* src/rtl/tgetlist.prg
* src/rtl/tlabel.prg
* src/rtl/tmenusys.prg
* tests/hbdoc.prg
* tests/langmsg.prg
* tests/rto_get.prg
* tests/rto_tb.prg
+ doc/en/ati.txt
+ doc/en/dirdrive.txt
+ doc/en/hashfunc.txt
+ doc/en/hbtoken.txt
+ doc/en/left.txt
+ doc/en/proc.txt
+ doc/en/strtran.txt
+ doc/en/transfrm.txt
+ doc/en/typefile.txt
* doc/en/*
* more partial sync with 3.4 fork
310 lines
9.4 KiB
Plaintext
310 lines
9.4 KiB
Plaintext
/* $DOC$
|
|
$TEMPLATE$
|
|
Class
|
|
$NAME$
|
|
TBrowseNew()
|
|
$CATEGORY$
|
|
TBrowse class
|
|
$ONELINER$
|
|
Create a Browse Object
|
|
$SYNTAX$
|
|
TBrowseNew( <nTop>, <nLeft>, <nBottom>, <nRight> ) --> oBrowse
|
|
$ARGUMENTS$
|
|
<nTop> Top Row
|
|
|
|
<nLeft> Top Left Column
|
|
|
|
<nBottom> Bottom Row
|
|
|
|
<nRight> Bottom Right Column
|
|
$RETURNS$
|
|
<oBrowse> An new Browse Object
|
|
$DESCRIPTION$
|
|
This function set up a browsing window at top-left coordinates of
|
|
<nTop>, <nLeft> to bottom-right coordinates of <nBottom>, <nRight>.
|
|
To browse Database files use TBrowseDB() function instead.
|
|
$DATANOLINK$
|
|
`:aColumns` Array to hold all browse columns
|
|
|
|
`:autoLite` Logical value to control highlighting
|
|
|
|
`:cargo` User-definable variable
|
|
|
|
`:colorSpec` Color table for the TBrowse display
|
|
|
|
`:colPos` Current cursor column position
|
|
|
|
`:colSep` Column separator character
|
|
|
|
`:footSep` Footing separator character
|
|
|
|
`:freeze` Number of columns to freeze
|
|
|
|
`:goBottomBlock` Code block executed by `TBrowse:goBottom()`
|
|
|
|
`:goTopBlock` Code block executed by `TBrowse:goTop()`
|
|
|
|
`:headSep` Heading separator character
|
|
|
|
`:hitBottom` Indicates the end of available data
|
|
|
|
`:hitTop` Indicates the beginning of available data
|
|
|
|
`:leftVisible` Indicates position of leftmost unfrozen column
|
|
in display
|
|
|
|
`:nBottom` Bottom row number for the TBrowse display
|
|
|
|
`:nLeft` Leftmost column for the TBrowse display
|
|
|
|
`:nRight` Rightmost column for the TBrowse display
|
|
|
|
`:nTop` Top row number for the TBrowse display
|
|
|
|
`:rightVisible` Indicates position of rightmost unfrozen column
|
|
in display
|
|
|
|
`:rowCount` Number of visible data rows in the TBrowse
|
|
display
|
|
|
|
`:rowPos` Current cursor row position
|
|
|
|
`:skipBlock` Code block used to reposition data source
|
|
|
|
`:stable` Indicates if the TBrowse object is stable
|
|
|
|
`:aRedraw` Array of logical items indicating, is appropriate
|
|
row need to be redraw
|
|
|
|
`:RelativePos` Indicates record position relatively position of
|
|
first record on the screen
|
|
|
|
`:lHeaders` Internal variable which indicates whether there
|
|
are column footers to paint
|
|
|
|
`:lFooters` Internal variable which indicates whether there
|
|
are column footers to paint
|
|
|
|
`:aRect` The rectangle specified with `:ColorRect()`
|
|
|
|
`:aRectColor` The color positions to use in the rectangle
|
|
specified with `:ColorRect()`
|
|
|
|
`:aKeys` Holds the Default movement keys
|
|
$METHODSLINK$
|
|
`:AddColumn()` Adds an new TBColumn object to the current Browse
|
|
|
|
`:Applykey()` Perform the Browse Key movement
|
|
|
|
`:SetKey()` Add an New key to the Keyboard dictionary
|
|
$METHODSNOLINK$
|
|
`:New( nTop, nLeft, nBottom, nRight )` Create an new Browse class and set the
|
|
default values
|
|
|
|
`:Down()` Moves the cursor down one row
|
|
|
|
`:End()` Moves the cursor to the rightmost visible data column
|
|
|
|
`:GoBottom()` Repositions the data source to the bottom of file
|
|
|
|
`:GoTop()` Repositions the data source to the top of file
|
|
|
|
`:Home()` Moves the cursor to the leftmost visible data column
|
|
|
|
`:Left()` Moves the cursor left one column
|
|
|
|
`:PageDown()` Repositions the data source downward
|
|
|
|
`:PageUp()` Repositions the data source upward
|
|
|
|
`:PanEnd()` Moves the cursor to the rightmost data column
|
|
|
|
`:PanHome()` Moves the cursor to the leftmost visible data column
|
|
|
|
`:PanLeft()` Pans left without changing the cursor position
|
|
|
|
`:PanRight()` Pans right without changing the cursor position
|
|
|
|
`:Right()` Moves the cursor right one column
|
|
|
|
`:Up()` Moves the cursor up one row
|
|
|
|
`:ColCount()` Return the Current number of Columns
|
|
|
|
`:ColorRect()` Alters the color of a rectangular group of cells
|
|
|
|
`:ColWidth( nColumn )` Returns the display width of a particular column
|
|
|
|
`:Configure( nMode )` Reconfigures the internal settings of the TBrowse()
|
|
object <nMode> is an undocumented parameter in CA-Cl*pper
|
|
|
|
`:LeftDetermine()` Determine leftmost unfrozen column in display
|
|
|
|
`:DeHilite()` Dehighlights the current cell
|
|
|
|
`:DelColumn( nPos )` Delete a column object from a browse
|
|
|
|
`:ForceStable()` Performs a full stabilization
|
|
|
|
`:GetColumn( nColumn )` Gets a specific TBColumn() object
|
|
|
|
`:Hilite()` Highlights the current cell
|
|
|
|
`:InsColumn( nPos, oCol )` Insert a column object in a browse
|
|
|
|
`:Invalidate()` Forces entire redraw during next stabilization
|
|
|
|
`:RefreshAll()` Causes all data to be recalculated during the next
|
|
stabilize
|
|
|
|
`:RefreshCurrent()` Causes the current row to be refilled and repainted
|
|
on next stabilize
|
|
|
|
`:SetColumn( nColumn, oCol )` Replaces one TBColumn() object with another
|
|
|
|
`:Stabilize()` Performs incremental stabilization
|
|
|
|
`:DispCell( nColumn, cColor )` Displays a single cell
|
|
$EXAMPLES$
|
|
// See tests/tbrowse.prg
|
|
$STATUS$
|
|
S
|
|
$COMPLIANCE$
|
|
This functions is Compatible with CA-Cl*pper 5.2. The `:applykey()` and
|
|
`:SetKey()` methods are only visible if HB_COMPAT_C53 is defined.
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
TBrowseNew(), TBColumnNew()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Class
|
|
$NAME$
|
|
TBrowse():SetKey()
|
|
$CATEGORY$
|
|
TBrowse Method
|
|
$ONELINER$
|
|
Get an optionally Set an new Code block associated to a inkey value
|
|
$SYNTAX$
|
|
:SetKey( <nKey>[, <bBlock>] ) --> bOldBlock
|
|
$ARGUMENTS$
|
|
<nKey> An valid inkey Code
|
|
|
|
<bBlock> An optional action to associate to the inkey value.
|
|
$RETURNS$
|
|
<bOldBlock> If a key-press has it code block changes, it will return
|
|
the previous one; otherwise, it will return the current one
|
|
$DESCRIPTION$
|
|
This method Get an optionally set an code block that is associated to
|
|
an inkey value.
|
|
The table below show the default key-press/Code Block definitions
|
|
|
|
<table>
|
|
Inkey Value Code Block
|
|
|
|
K_DOWN {| oB, nKey | oB:Down(), 0 }
|
|
K_END {| oB, nKey | oB:End(), 0 }
|
|
K_CTRL_PGDN {| oB, nKey | oB:GoBottom(), 0 }
|
|
K_CTRL_PGUP {| oB, nKey | oB:GoTop(), 0 }
|
|
K_HOME {| oB, nKey | oB:Home(), 0 }
|
|
K_LEFT {| oB, nKey | oB:Left(), 0 }
|
|
K_PGDN {| oB, nKey | oB:PageDown(), 0 }
|
|
K_PGUP {| oB, nKey | oB:PageUp(), 0 }
|
|
K_CTRL_END {| oB, nKey | oB:PanEnd(), 0 }
|
|
K_CTRL_HOME {| oB, nKey | oB:PanHome(), 0 }
|
|
K_CTRL_LEFT {| oB, nKey | oB:PanLeft(), 0 }
|
|
K_CTRL_RIGHT {| oB, nKey | oB:PanRight(), 0 }
|
|
K_RIGHT {| oB, nKey | oB:Right(), 0 }
|
|
K_UP {| oB, nKey | oB:Up(), 0 }
|
|
K_ESC {| oB, nKey | -1 }
|
|
</table>
|
|
|
|
The keys handlers can be queried, added and replace an removed from
|
|
the internal keyboard dictionary. See the example.
|
|
```
|
|
oTb:SetKey( K_TAB, {| oTb, nKey | -1 } )
|
|
```
|
|
An default key handler can be declared by specifying a value of 0
|
|
for <nKey>. It associate code block will be evaluated each time
|
|
TBrowse:Applykey() is called with an key value that is not contained
|
|
in the dictionary. For example
|
|
```
|
|
oTb:SetKey( 0, {| oTb, nKey | DefKeyHandler( oTb, nkey } )
|
|
```
|
|
This call the a function named DefKeyHandler() when <nKey> is not
|
|
contained in the dictionary.
|
|
|
|
To remove an key-press/code block definition, specify NIL for <bBlock>
|
|
```
|
|
oTb:SetKey( K_ESC, NIL )
|
|
```
|
|
$EXAMPLES$
|
|
#include "inkey.ch"
|
|
LOCAL oTb := TBrowseNew( 0, 0, 10, 20 )
|
|
oTb:SetKey( K_F10, {| oTb, nkey | ShowListByname( oTb ) } )
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Class
|
|
$NAME$
|
|
TBrowse():ApplyKey()
|
|
$CATEGORY$
|
|
TBrowse Method
|
|
$ONELINER$
|
|
Evaluates an code block associated with an specific key
|
|
$SYNTAX$
|
|
:ApplyKey( <nKey> ) --> nResult
|
|
$ARGUMENTS$
|
|
<nKey> An valid Inkey code
|
|
$RETURNS$
|
|
<nResult> Value returned from the evaluated Code Block
|
|
See Table Below
|
|
|
|
<table>
|
|
Value Meaning
|
|
-1 User request for the browse lost input focus
|
|
0 Code block associated with <nkey> was evaluated
|
|
1 Unable to locate <nKey> in the dictionary, Key was not processed
|
|
</table>
|
|
$DESCRIPTION$
|
|
This method evaluate an code block associated with <nkey> that is
|
|
contained in the TBrowse:SetKey() dictionary.
|
|
$EXAMPLES$
|
|
LOCAL oTb := TBrowseNew( 0, 0, 10, 20 )
|
|
DO WHILE .T.
|
|
oTb:forceStable()
|
|
IF oTb:applykey( Inkey( 0 ) ) == -1
|
|
EXIT
|
|
ENDIF
|
|
ENDDO
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Class
|
|
$NAME$
|
|
TBrowse():AddColumn()
|
|
$CATEGORY$
|
|
TBrowse Method
|
|
$ONELINER$
|
|
Add an New Column to an TBrowse Object
|
|
$SYNTAX$
|
|
:AddColumn( <oCol> ) --> Self
|
|
$ARGUMENTS$
|
|
<oCol> Is an TbColumn object
|
|
$RETURNS$
|
|
<Self> The Current object
|
|
$DESCRIPTION$
|
|
This method add an new column object specified as <oCol> to the
|
|
assigned browsing object.
|
|
$END$
|
|
*/
|