Module: _tbrowse      Library: Clipper 5.3


This module contains the following functions and procedures:



Note: Because this is raw decompiler output, the code is closer
to that seen in a .PPO file, rather than a .PRG file. In other
words, you must allow for the preprocessor conversions normally 
performed based on the contents of STD.CH and other .CH files
 
#include "common.ch"
#include "inkey.ch"

//---------------------------------------------------[top]-
//  TAPPLYKEY( Arg1, Arg2 )
//
function TAPPLYKEY( Arg1, Arg2 )

   local Local1 := Arg2:setkey(Arg1), Local2
   default Local1 to Arg2:setkey(0)
   if ( ISNIL( Local1 ) )
      Local2 := 1
   else
      Local2 := eval(Local1, Arg2, Arg1)
   endif
   return Local2

//---------------------------------------------------[top]-
//  TBCOLUMNNE( Arg1, Arg2 )
//
function TBCOLUMNNE( Arg1, Arg2 )

   local Local1[14]
   Local1[ 6 ] := Arg1
   Local1[ 3 ] := Arg2
   Local1[ 4 ] := {1, 2}
   Local1[ 5 ] := { || Nil }
   Local1[ 8 ] := Nil
   Local1[ 10 ] := ""
   Local1[ 9 ] := Nil
   Local1[ 7 ] := Nil
   Local1[ 14 ] := {Nil, Nil, Nil}
   Local1[ 14 ][ 1 ] := .F.
   Local1[ 14 ][ 2 ] := .F.
   Local1[ 14 ][ 3 ] := .F.
   __totbcolu(Local1)
   return Local1

//---------------------------------------------------[top]-
//  TBROWSENEW( Arg1, Arg2, Arg3, Arg4 )
//
function TBROWSENEW( Arg1, Arg2, Arg3, Arg4 )

   local Local1[18]
   default Arg1 to 0
   default Arg2 to 0
   default Arg3 to MaxRow()
   default Arg4 to MaxCol()
   __totbrows(Local1)
   Local1:ntop(Arg1)
   Local1:nleft(Arg2)
   Local1:nbottom(Arg3)
   Local1:nright(Arg4)
   Local1[ 6 ] := {}
   Local1[ 7 ] := ""
   Local1[ 8 ] := " "
   Local1[ 9 ] := ""
   Local1[ 10 ] := SetColor()
   Local1[ 11 ] := { || Nil }
   Local1[ 12 ] := { || Nil }
   Local1[ 13 ] := { || Nil }
   Local1:autolite(.T.)
   Local1:colpos(1)
   Local1:freeze(0)
   Local1:hitbottom(.F.)
   Local1:hittop(.F.)
   return Local1

//---------------------------------------------------[top]-
//  __CPOSTBLO( Arg1 )
//
function __CPOSTBLO( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 13 ] := _einstvar(qself(), "POSTBLOCK", Arg1, "B", 1001)
   endif
   return qself()[ 13 ]

//---------------------------------------------------[top]-
//  __CPREBLOC( Arg1 )
//
function __CPREBLOC( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 12 ] := _einstvar(qself(), "PREBLOCK", Arg1, "B", 1001)
   endif
   return qself()[ 12 ]

//---------------------------------------------------[top]-
//  __CSETBLOC( Arg1 )
//
function __CSETBLOC( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 3 ] := _einstvar(qself(), "BLOCK", Arg1, "B", 1001)
   endif
   return qself()[ 3 ]

//---------------------------------------------------[top]-
//  __CSETCOLO( Arg1 )
//
function __CSETCOLO( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 5 ] := _einstvar(qself(), "COLORBLOCK", Arg1, "B", 1001)
   endif
   return qself()[ 5 ]

//---------------------------------------------------[top]-
//  __CSETCOLS( Arg1 )
//
function __CSETCOLS( Arg1 )

   local Local1
   if ( Arg1 != Nil )
      Local1 := _einstvar(qself(), "COLSEP", Arg1, "C", 1001)
   endif
   if ( PCount() == 1 )
      qself()[ 8 ] := Local1
   endif
   return qself()[ 8 ]

//---------------------------------------------------[top]-
//  __CSETDEFC( Arg1 )
//
function __CSETDEFC( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 4 ] := _einstvar(qself(), "DEFCOLOR", Arg1, "A", 1001)
   endif
   return qself()[ 4 ]

//---------------------------------------------------[top]-
//  __CSETFOOT( Arg1 )
//
function __CSETFOOT( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 10 ] := _einstvar(qself(), "FOOTING", Arg1, "C", 1001)
   endif
   return qself()[ 10 ]

//---------------------------------------------------[top]-
//  __CSETFSEP( Arg1 )
//
function __CSETFSEP( Arg1 )

   local Local1
   if ( Arg1 != Nil )
      Local1 := _einstvar(qself(), "FOOTSEP", Arg1, "C", 1001)
   endif
   if ( PCount() == 1 )
      qself()[ 9 ] := Local1
   endif
   return qself()[ 9 ]

//---------------------------------------------------[top]-
//  __CSETHEAD( Arg1 )
//
function __CSETHEAD( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 6 ] := _einstvar(qself(), "HEADING", Arg1, "C", 1001)
   endif
   return qself()[ 6 ]

//---------------------------------------------------[top]-
//  __CSETHSEP( Arg1 )
//
function __CSETHSEP( Arg1 )

   local Local1
   if ( Arg1 != Nil )
      Local1 := _einstvar(qself(), "HEADSEP", Arg1, "C", 1001)
   endif
   if ( PCount() == 1 )
      qself()[ 7 ] := Local1
   endif
   return qself()[ 7 ]

//---------------------------------------------------[top]-
//  __CSETPICT( Arg1 )
//
function __CSETPICT( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 11 ] := Arg1
   endif
   return qself()[ 11 ]

//---------------------------------------------------[top]-
//  __CSETSTYL( Arg1, Arg2 )
//
function __CSETSTYL( Arg1, Arg2 )

   if ( Len(qself()[ 14 ]) < Arg1 )
      asize(qself()[ 14 ], Arg1)
   endif
   if ( ISLOGICAL( Arg2 ) )
      qself()[ 14 ][ Arg1 ] := Arg2
   endif
   return qself()[ 14 ][ Arg1 ]

//---------------------------------------------------[top]-
//  __CSETWIDT( Arg1 )
//
function __CSETWIDT( Arg1 )

   if ( Arg1 != Nil )
      qself()[ 2 ] := _einstvar(qself(), "WIDTH", Arg1, "N", 1001)
   endif
   return qself()[ 2 ]

//---------------------------------------------------[top]-
//  __TADDCOLU( Arg1 )
//
function __TADDCOLU( Arg1 )

   AAdd(qself()[ 6 ], Arg1)
   qself():configure(2)
   return qself()

//---------------------------------------------------[top]-
//  __TAPPLYKE( Arg1 )
//
function __TAPPLYKE( Arg1 )

   return tapplykey(Arg1, qself())

//---------------------------------------------------[top]-
//  __TBORDER( Arg1 )
//
function __TBORDER( Arg1 )

   local Local1, Local2
   if ( ( Local2 := Len(( Local1:= _einstvar(qself(), "BORDER", Arg1, ;
         "C", 1001), Local1 )), !( ISNIL( Arg1 ) ) .AND. ( Local2 == ;
         0 .OR. Local2 == 8 ) ) )
      if ( Empty(qself()[ 15 ]) .AND. !Empty(Local1) )
         qself()[ 2 ]++
         qself()[ 3 ]++
         qself()[ 4 ]--
         qself()[ 5 ]--
         qself():configure(2)
      elseif ( !Empty(qself()[ 15 ]) .AND. Empty(Local1) )
         qself()[ 2 ]--
         qself()[ 3 ]--
         qself()[ 4 ]++
         qself()[ 5 ]++
         qself():configure(2)
      endif
      qself()[ 15 ] := Local1
   endif
   return qself()[ 15 ]

//---------------------------------------------------[top]-
//  __TCARGO
//
function __TCARGO

   return qself()[ 1 ]

//---------------------------------------------------[top]-
//  __TCOLCOUN
//
function __TCOLCOUN

   return Len(qself()[ 6 ])

//---------------------------------------------------[top]-
//  __TCOLUMN( Arg1 )
//
function __TCOLUMN( Arg1 )

   return qself()[ 6 ][ Arg1 ]

//---------------------------------------------------[top]-
//  __TDELCOLU( Arg1 )
//
function __TDELCOLU( Arg1 )

   local Local1 := qself()[ 6 ][ Arg1 ]
   adel(qself()[ 6 ], Arg1)
   asize(qself()[ 6 ], Len(qself()[ 6 ]) - 1)
   qself():configure(2)
   return Local1

//---------------------------------------------------[top]-
//  __TINSCOLU( Arg1, Arg2 )
//
function __TINSCOLU( Arg1, Arg2 )

   asize(qself()[ 6 ], Len(qself()[ 6 ]) + 1)
   ains(qself()[ 6 ], Arg1)
   qself()[ 6 ][ Arg1 ] := Arg2
   qself():configure(2)
   return Arg2

//---------------------------------------------------[top]-
//  __TMESSAGE( Arg1 )
//
function __TMESSAGE( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 16 ] := _einstvar(qself(), "MESSAGE", Arg1, "C", 1001)
   endif
   return qself()[ 16 ]

//---------------------------------------------------[top]-
//  __TSETBOTT( Arg1 )
//
function __TSETBOTT( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 13 ] := _einstvar(qself(), "GOBOTTOMBL", Arg1, "B", ;
         1001)
   endif
   return qself()[ 13 ]

//---------------------------------------------------[top]-
//  __TSETCARG( Arg1 )
//
function __TSETCARG( Arg1 )

   return qself()[ 1 ] := Arg1

//---------------------------------------------------[top]-
//  __TSETCOLO( Arg1 )
//
function __TSETCOLO( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 10 ] := _einstvar(qself(), "COLORSPEC", Arg1, "C", 1001)
      qself():configure(1)
   endif
   return qself()[ 10 ]

//---------------------------------------------------[top]-
//  __TSETCOLS( Arg1 )
//
function __TSETCOLS( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 8 ] := _einstvar(qself(), "COLSEP", Arg1, "C", 1001)
   endif
   return qself()[ 8 ]

//---------------------------------------------------[top]-
//  __TSETCOLU( Arg1, Arg2 )
//
function __TSETCOLU( Arg1, Arg2 )

   local Local1
   if ( !( ISNIL( Arg1 ) ) .AND. !( ISNIL( Arg2 ) ) )
      Local1 := qself()[ 6 ][ Arg1 ]
      Arg1 := _einstvar(qself(), "COLUMN", Arg1, "N", 1001)
      qself()[ 6 ][ Arg1 ] := _einstvar(qself(), "COLUMN", Arg2, "O", ;
         1001)
      qself():configure(2)
   endif
   return Local1

//---------------------------------------------------[top]-
//  __TSETFOOT( Arg1 )
//
function __TSETFOOT( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 9 ] := _einstvar(qself(), "FOOTSEP", Arg1, "C", 1001)
   endif
   return qself()[ 9 ]

//---------------------------------------------------[top]-
//  __TSETHEAD( Arg1 )
//
function __TSETHEAD( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 7 ] := _einstvar(qself(), "HEADSEP", Arg1, "C", 1001)
   endif
   return qself()[ 7 ]

//---------------------------------------------------[top]-
//  __TSETKEY( Arg1, Arg2 )
//
function __TSETKEY( Arg1, Arg2 )

   local Local1, Local2
   kbsetup(qself())
   do case
   case ( Local1 := ascan(qself()[ 17 ], { |_1| _1[ 1 ] == Arg1 }) ) ;
         == 0
      if ( ISBLOCK( Arg2 ) )
         Local2 := Arg2
         AAdd(qself()[ 17 ], {Arg1, Arg2})
      endif
   case ISBLOCK( Arg2 )
      qself()[ 17 ][ Local1 ][ 2 ] := Arg2
      Local2 := Arg2
   case PCount() == 1
      Local2 := qself()[ 17 ][ Local1 ][ 2 ]
   case ( Local2 := qself()[ 17 ][ Local1 ][ 2 ], PCount() == 2 .AND. ;
         ISNIL( Arg2 ) .AND. Arg1 != 0 )
      adel(qself()[ 17 ], Local1)
      asize(qself()[ 17 ], Len(qself()[ 17 ]) - 1)
   endcase
   return Local2

//---------------------------------------------------[top]-
//  KBSETUP( Arg1 )
//
static function KBSETUP( Arg1 )

   default Arg1[ 17 ] to {{24, { |_1, _2| ( _1:down(), 0 ) }}, {6, { ;
      |_1, _2| ( _1:end(), 0 ) }}, {30, { |_1, _2| ( _1:gobottom(), ;
      0 ) }}, {31, { |_1, _2| ( _1:gotop(), 0 ) }}, {1, { |_1, _2| ( ;
      _1:home(), 0 ) }}, {19, { |_1, _2| ( _1:left(), 0 ) }}, {3, { ;
      |_1, _2| ( _1:pagedown(), 0 ) }}, {18, { |_1, _2| ( ;
      _1:pageup(), 0 ) }}, {23, { |_1, _2| ( _1:panend(), 0 ) }}, ;
      {29, { |_1, _2| ( _1:panhome(), 0 ) }}, {26, { |_1, _2| ( ;
      _1:panleft(), 0 ) }}, {2, { |_1, _2| ( _1:panright(), 0 ) }}, ;
      {4, { |_1, _2| ( _1:right(), 0 ) }}, {5, { |_1, _2| ( _1:up(), ;
      0 ) }}, {27, { |_1, _2| -1 }}, {1002, { |_1, _2| tbmouse(_1, ;
      mrow(), mcol()) }}}
   return Arg1

//---------------------------------------------------[top]-
//  __TSETRBOT( Arg1 )
//
function __TSETRBOT( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 4 ] := _einstvar(qself(), "NBOTTOM", Arg1, "N", 1001, ;
         { |_1, _2| _2 >= _1:ntop() })
      if ( !Empty(qself()[ 15 ]) )
         qself()[ 4 ]--
      endif
      qself():configure(2)
   endif
   if ( !Empty(qself()[ 15 ]) )
      return qself()[ 4 ] + 1
   endif
   return qself()[ 4 ]

//---------------------------------------------------[top]-
//  __TSETRLEF( Arg1 )
//
function __TSETRLEF( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 3 ] := _einstvar(qself(), "NLEFT", Arg1, "N", 1001)
      if ( !Empty(qself()[ 15 ]) )
         qself()[ 3 ]++
      endif
      qself():configure(2)
   endif
   if ( !Empty(qself()[ 15 ]) )
      return qself()[ 3 ] - 1
   endif
   return qself()[ 3 ]

//---------------------------------------------------[top]-
//  __TSETRRIG( Arg1 )
//
function __TSETRRIG( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 5 ] := _einstvar(qself(), "NRIGHT", Arg1, "N", 1001, { ;
         |_1, _2| _2 >= _1:nleft() })
      if ( !Empty(qself()[ 15 ]) )
         qself()[ 5 ]--
      endif
      qself():configure(2)
   endif
   if ( !Empty(qself()[ 15 ]) )
      return qself()[ 5 ] + 1
   endif
   return qself()[ 5 ]

//---------------------------------------------------[top]-
//  __TSETRTOP( Arg1 )
//
function __TSETRTOP( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 2 ] := _einstvar(qself(), "NTOP", Arg1, "N", 1001)
      if ( !Empty(qself()[ 15 ]) )
         qself()[ 2 ]++
      endif
      qself():configure(2)
   endif
   if ( !Empty(qself()[ 15 ]) )
      return qself()[ 2 ] - 1
   endif
   return qself()[ 2 ]

//---------------------------------------------------[top]-
//  __TSETSKIP( Arg1 )
//
function __TSETSKIP( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 11 ] := _einstvar(qself(), "SKIPBLOCK", Arg1, "B", 1001)
   endif
   return qself()[ 11 ]

//---------------------------------------------------[top]-
//  __TSETSTYL( Arg1, Arg2 )
//
function __TSETSTYL( Arg1, Arg2 )

   stsetup(qself())
   if ( Len(qself()[ 18 ]) < Arg1 )
      asize(qself()[ 18 ], Arg1)
   endif
   if ( ISLOGICAL( Arg2 ) )
      qself()[ 18 ][ Arg1 ] := Arg2
   endif
   return qself()[ 18 ][ Arg1 ]

//---------------------------------------------------[top]-
//  STSETUP( Arg1 )
//
static function STSETUP( Arg1 )

   if ( ISNIL( Arg1[ 18 ] ) )
      Arg1[ 18 ] := {Nil, Nil, Nil, Nil, Nil, Nil}
      Arg1[ 18 ][ 1 ] := .F.
      Arg1[ 18 ][ 2 ] := .F.
      Arg1[ 18 ][ 3 ] := .F.
      Arg1[ 18 ][ 4 ] := .F.
      Arg1[ 18 ][ 5 ] := .F.
   endif
   return Arg1

//---------------------------------------------------[top]-
//  __TSETTOP( Arg1 )
//
function __TSETTOP( Arg1 )

   if ( !( ISNIL( Arg1 ) ) )
      qself()[ 12 ] := _einstvar(qself(), "GOTOPBLOCK", Arg1, "B", ;
         1001)
   endif
   return qself()[ 12 ]

//---EOF


Use your Browser's BACK button to return to Function Listings