2009-02-04 14:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

* include/hbextern.ch
  * common.mak
  * source/rtl/Makefile
  + source/rtl/tgetx.prg
  * source/rtl/tget.prg
  * source/rtl/tgetint.prg
    + CA-Cl*pper compatible GET class renamed to HBGet and
      is now always available regardless of feature settings.
    * Xbase++ compatible GET class named Get(), moved to separate
      file and now inherits from HBGet, plus implements
      additional functionality also in the separate file.
    * GetNew() moved to tget.prg from tgetint.prg.
    * Code changed to use HBGet():New() instead of Get():New().
    ; TOFIX: After above changes, Xbase++ compatiblity
             methods are no longer available for regular
             GETs, only if they are explicitly created
             using Get():New(). If this is a problem for someone
             we can start thinking of a solution.
    ; TODO: Do the same with TBrowse() and TColumn().
This commit is contained in:
Viktor Szakats
2009-02-04 13:45:09 +00:00
parent 6be48dbd67
commit 8181b8c258
7 changed files with 337 additions and 238 deletions

View File

@@ -8,6 +8,43 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-02-04 14:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
+ source/rtl/tgetx.prg
* source/rtl/tget.prg
* source/rtl/tgetint.prg
+ CA-Cl*pper compatible GET class renamed to HBGet and
is now always available regardless of feature settings.
* Xbase++ compatible GET class named Get(), moved to separate
file and now inherits from HBGet, plus implements
additional functionality also in the separate file.
* GetNew() moved to tget.prg from tgetint.prg.
* Code changed to use HBGet():New() instead of Get():New().
; TOFIX: After above changes, Xbase++ compatiblity
methods are no longer available for regular
GETs, only if they are explicitly created
using Get():New(). If this is a problem for someone
we can start thinking of a solution.
; TODO: Do the same with TBrowse() and TColumn().
2009-02-04 09:49 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/win_tprn.prg
* Formatting.
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* Cleanups, formatting.
+ Added WIN_ABORTDOC()
(Windows API compatible equivalent of WIN_ENDDOC( .T. ))
* contrib/hbwin/win_misc.c
! Fixed returning handle from WIN_RUNDETACHED().
* contrib/hbwin/tests/testprn.prg
! Fix to prev commit.
2009-02-04 02:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/win_prn1.c
! Typo in prev commit.

View File

@@ -698,6 +698,7 @@ RTL_LIB_OBJS = \
$(OBJ_DIR)\tget$(OBJEXT) \
$(OBJ_DIR)\tgetint$(OBJEXT) \
$(OBJ_DIR)\tgetlist$(OBJEXT) \
$(OBJ_DIR)\tgetx$(OBJEXT) \
$(OBJ_DIR)\thfuncx$(OBJEXT) \
$(OBJ_DIR)\tlabel$(OBJEXT) \
$(OBJ_DIR)\tmenuitm$(OBJEXT) \

View File

@@ -780,6 +780,7 @@ EXTERNAL SHOWMSG
#ifdef HB_COMPAT_XPP
EXTERNAL GET
EXTERNAL BIN2U
EXTERNAL DBPACK
EXTERNAL DBZAP
@@ -1320,6 +1321,7 @@ EXTERNAL HBLOGICAL
EXTERNAL HBNIL
EXTERNAL HBNUMERIC
#endif /* HB_REQUEST_SCALAR */
EXTERNAL HBGET
/* FlagShip extension */

View File

@@ -217,6 +217,7 @@ PRG_SOURCES=\
tget.prg \
tgetint.prg \
tgetlist.prg \
tgetx.prg \
thfuncx.prg \
tlabel.prg \
tmenuitm.prg \

File diff suppressed because it is too large Load Diff

View File

@@ -4,9 +4,9 @@
/*
* Harbour Project source code:
* Get Class
* Get Class helpers
*
* Copyright 1999 Ignacio Ortiz de Zuniga <ignacio@fivetech.com>
* Copyright 2000 Ron Pinkas <Ron@Profit-Master.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
@@ -48,23 +48,11 @@
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
* The following parts are Copyright of the individual authors.
* www - http://www.harbour-project.org
*
* Copyright 2000 RonPinkas <Ron@Profit-Master.com>
* __GET()
* __GETA()
*
*/
#include "hbclass.ch"
REQUEST HB_PVALUE
REQUEST PCOUNT
FUNCTION GetNew( nRow, nCol, bVarBlock, cVarName, cPicture, cColor )
RETURN Get():New( nRow, nCol, bVarBlock, cVarName, cPicture, cColor )
FUNCTION __GET( bSetGet, cVarName, cPicture, bValid, bWhen )
LOCAL oGet
@@ -79,7 +67,7 @@ FUNCTION __GET( bSetGet, cVarName, cPicture, bValid, bWhen )
ENDIF
ENDIF
oGet := Get():New( , , bSetGet, cVarName, cPicture )
oGet := HBGet():New( , , bSetGet, cVarName, cPicture )
oGet:PreBlock := bWhen
oGet:PostBlock := bValid
@@ -100,7 +88,7 @@ FUNCTION __GETA( bGetArray, cVarName, cPicture, bValid, bWhen, aIndex )
ENDIF
ENDIF
oGet := Get():New( , , bGetArray, cVarName, cPicture )
oGet := HBGet():New( , , bGetArray, cVarName, cPicture )
oGet:SubScript := aIndex
oGet:PreBlock := bWhen

View File

@@ -0,0 +1,95 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* Get Class (Xbase++ compatible)
*
* Copyright 2007-2009 Viktor Szakats <viktor.szakats@syenar.hu>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#include "hbclass.ch"
#include "common.ch"
#ifdef HB_COMPAT_XPP
CREATE CLASS Get INHERIT HBGet
EXPORTED:
METHOD posInBuffer( nRow, nCol )
METHOD _end()
METHOD _assign()
METHOD _delete()
ENDCLASS
/* NOTE: Not tested or compared to Xbase++. [vszakats] */
/* TOFIX: To make it work when @S was used. [vszakats] */
METHOD posInBuffer( nRow, nCol ) CLASS Get
IF ::hasFocus .AND. ;
nRow == ::nRow .AND. ;
nCol >= ::nCol + ::nPos - 1 .AND. ;
nCol <= ::nCol + ::nDispLen
RETURN nCol - ::nCol + 1
ENDIF
RETURN 0
METHOD _end() CLASS Get
RETURN ::end()
METHOD _assign() CLASS Get
RETURN ::assign()
METHOD _delete() CLASS Get
RETURN ::delete()
#endif