Files
harbour-core/doc/en/tbrowse.txt
Viktor Szakats 03ac58b17b 2017-09-08 18:22 UTC Viktor Szakats (vszakats users.noreply.github.com)
* 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
2017-09-08 18:25:11 +00:00

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$
*/