* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgcuigdialog.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
* contrib/gtwvg/tests/wvgwvtclasses.prg
* contrib/gtwvg/tests/wvgxbp.prg
! Suffixed remaining resources with hb_dirBase().
* contrib/hbide/hbide.prg
* contrib/hbide/ideenviron.prg
* contrib/hbide/ideprojmanager.prg
! Changed the way hbide.env file is located if not directed to use one.
Before no attempt was made to locate it and user had to assign through
"Compiler Environments" dialog. Now hbIDE looks it alongside hbide.ini,
if one is not assigned, and loads at startup.
* contrib/hbqt/Makefile
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/qtnetwork/Makefile
+ Enabled HB_QT_STATIC for all OSes.
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqts.hbc
- Deleted no more needed special Windows system libs.
* contrib/hbqt/hbqts.hbc
- Deleted webkit libs.
+ Enabled static libs for linux. (they are named the
same as on Windows)
* contrib/gtwvg/tests/demowvg.hbp
! Missing SVN header.
! Missing SVN props.
! Deleted local system specific absolute paths.
TOFIX: HBIDE should make the working (what is it BTW)
and destination folders relative to the location
of .hbp. BTW destination is redundant, since -o
already specifies that.
! Deleted -trace -info. These should be user decisions.
+ contrib/gtwvg/tests/demowvg.hbp
+ Project definition.
+ contrib/gtwvg/tests/wvgactivex.prg
+ contrib/gtwvg/tests/wvgcuigdialog.prg
+ contrib/gtwvg/tests/wvgdyndialogs.prg
+ contrib/gtwvg/tests/wvgmodal.prg
+ contrib/gtwvg/tests/wvgqt.prg
+ contrib/gtwvg/tests/wvgtbrowser.prg
+ contrib/gtwvg/tests/wvgutilities.prg
+ contrib/gtwvg/tests/wvgwvtclasses.prg
+ contrib/gtwvg/tests/wvgxbp.prg
+ Code organized in logical units.
* contrib/gtwvg/tests/demowvg.prg
- Code moved to smaller modular sources as logical units.
This demo was written few years back and then at that point of time
no standradized make system was aavailable which led me to club
everything in one source. Now because we have an excellent hbMK2
in place so this move has been possible.
It is the first in series of reforms pertaining to GTWVG.
More are scheduled to be followed.
* contrib/gtwvg/gtwvg.c
! Fixed the HB_GTI_PALETTE protocol uniform with other GT's.
* contrib/gtwvg/tests/demowvg.prg
! ThreadID() -> Hb_ThreadID()
BTW ThreadID() is a Xbase++ compatible function.
* contrib/gtwvg/tests/demowvg.prg
! Removed all hb_ToOutDebug() calls.
* contrib/gtwvg/tests/demoxbp.prg
! Removed all hb_ToOutDebug() calls.
* contrib/hbide/hbide.prg
! Few more artifacts fixed.
* contrib/xhb/Makefile
! Reverted back to original before my last commit.
* contrib/hbqt/hbqt_misc.prg
* contrib/hbxbp/xbpgeneric.prg
* Synced two similar debug functions after latest change.
% Deleted commented line. gtwvg/hbqt/hbxbp components are
literally full of commented lines, #if 0 parts
and such things. IMO these should be deleted from
final code otherwise it gives the (possibly wrong)
impression that the code is not-mature and in a
temporary development state. Remember that SVN keeps
a copy of every older version of source so in case
it's needed it can always be retreived, so there is no
need to keep old code commented "just in case".
Everyone please keep that in mind.
* contrib/gtwvg/tests/demowvg.prg
! Fixed all warnings which prevented it from being
built.
* src/rtl/hbi18n1.c
! Fixed bcc warning in recent commit.
* contrib/gtwvg/tests/demoxbp.prg
! Fixed to use HB_SYMBOL_UNUSED() instead of local solution.
* contrib/gtwvg/tests/demowvg.prg
+ Added dirbase to icon filenames
* contrib/gtwvg/Makefile
+ Enabled for msvc64 and pocc64.
* contrib/gtwvg/Makefile
* contrib/gtwvg/wvgsysw.prg
* contrib/gtwvg/wvgwing.c
* contrib/gtwvg/wvgwnd.prg
- contrib/gtwvg/wincallb.c
- contrib/gtwvg/wincback.prg
* contrib/gtwvg/tests/demoxbp.prg
! Removed 32 bits only code which made GTWVG unusable on 64 bits
opering systems. I just discoved a way to assign WndProc to
system dialogs and hence this major change is effected.
Viktor, please let me know if GTWVG now compiles fine on 64 bits.
* contrib/hbxbp/tests/demoxbp.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/hbtip/tests/dbtohtml.prg
! Fix to test.dbf path. hb_DirBase() was missing.
* Changed date format to ANSI.
* contrib/gtwvg/gtwvg.hbc
! Fixed missing incpaths= line.
* contrib/gtwvg/tests/demowvg.prg
- contrib/gtwvg/tests/test.dbf
* contrib/hbtip/tests/dbtohtml.prg
- contrib/hbtip/tests/test.dbf
! Fixed to use central test.dbf instead of duplicating it.
* utils/hbmk2/hbmk2.prg
% -undef/-D Harbour options will be reduced in cross-compilation
scenarios. If a __PLATFORM__* value appears as both -undef and
-D it will be omitted. This results in smaller command line,
plus works around this warning:
'Warning W0001 Redefinition or duplicate definition of #define __PLATFORM__WINDOWS'
when using the embedded compiler (doesn't seem to happen with
external compiler).
+ Added autodetection for mingw64 and mingwarm compilers. It should
now be enough to use -arch=wce on the command line to initiate a
WinCE cross-build if the compiler is setup in the path or using
the embedded installation. So it's recommended to use -arch=wce
instead of -arch=mingwarm from now on. For mingw64 builds, no
extra switch is needed, if in the PATH, it will be autodetected.
! Added Harbour command to Harbour command line shown in case of
error.
* contrib/gtwvg/wvgcuig.c
! Fixed one GCC warning. I'm not sure if this is a correct one,
my only goal was to make the warning disappear and to define
a previously undefined case.
; TOFIX: This warning still remains, and indicates unsafe code:
wvgsink.c:516: warning: dereferencing pointer 'hSink.33' does break strict-aliasing rules
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/demowvg.prg
! Fixed hard-wired paths, so that now some more samples
work regardless of Harbour installation dir.
; NOTE: Never use hard-wired absolute paths inside any Harbour
component. We now have hb_DirBase(), please make use of it.
; NOTE: For me most of the samples still don't work, AX toolbar icons
don't appear, and most of the AX samples fail with an unclosable
window.
* contrib/hbwin/axcore.c
* contrib/gtwvg/wvgsink.c
* Moved recently added extra AX functions to GTWVG.
* Kept optimized, hbwin version of HB_AX_ATLCREATEWINDOW().
* Others renamed and commented:
WIN_AXGETUNKNOWN() -> WVG_AXGETUNKNOWN()
WIN_AXSETVERB -> WVG_AXDOVERB()
! HB_AX_ATLSETVERB() now accepts HWND pointers, too.
! HB_AX_ATLAXGETCONTROL() now accepts HWND pointers, too.
; TOFIX: GTWVG uses HB_AX_* prefix to denote AX function, while
these should be named WVG_AX*().
; TODO: Probably the full content, or at least the universally
useful portion of wvgsink.c should eventually go to hbwin,
but all these functions need further cleanups,
and they also have to be renamed. I don't know what we
should stay compatible with so it's difficult to make
any moves. Some test code showing the usefulness of
these function would be probably help.
* INSTALL
* Minor cleanups to prev.
* contrib/hbwin/axcore.c
* Minor formatting.
% Variable scopes adjusted.
% WIN_AXCREATEWINDOW() optimized.
- Deleted ToOutDebug() stuff. Please use TRACE() subsystem for
these parts.
; NOTE: I'm note sure we should have a WIN_AXCREATEWINDOW() function
there. Rather, we should have a WAPI_CREATEWINDOWEX() function
which serves the same purpose, but in a generic manner, also
usable for AX purposes. Is there anything against this idea?
* utils/hbformat/hbformat.prg
* contrib/gtwvg/wvgclass.prg
* contrib/gtwvg/wvgscrlb.prg
* contrib/gtwvg/wvgdlg.prg
* contrib/gtwvg/wvgpaint.prg
* contrib/gtwvg/wvgdarea.prg
* contrib/gtwvg/wvgmle.prg
* contrib/gtwvg/wvglistb.prg
* contrib/gtwvg/wvgtoolb.prg
* contrib/gtwvg/wvgpushb.prg
* contrib/gtwvg/wvgsle.prg
* contrib/gtwvg/wvgtreev.prg
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/wvgwnd.prg
* contrib/gtwvg/wvgcrt.prg
* contrib/gtwvg/wvgdatar.prg
* contrib/gtwvg/wvgradio.prg
* contrib/gtwvg/wvgsysw.prg
* contrib/gtwvg/wvgmenub.prg
* contrib/gtwvg/wvgphdlr.prg
* contrib/gtwvg/wvgbitmp.prg
* contrib/gtwvg/wvgcheck.prg
* contrib/gtwvg/wvgstatb.prg
* contrib/gtwvg/wvgstatc.prg
* contrib/gtwvg/wvghtmlv.prg
* contrib/gtwvg/wincback.prg
* contrib/gtwvg/wvgtabpg.prg
* contrib/gtwvg/wvg3stat.prg
* contrib/gtwvg/wvgcombo.prg
* Some formatting. (' -> " and #include lines)
+ harbour/contrib/gtqtc
+ harbour/contrib/gtqtc/gtqtc.cpp
+ harbour/contrib/gtqtc/gtqtc.h
+ harbour/contrib/gtqtc/Makefile
+ harbour/contrib/gtqtc/moc_gtqtc.cpp
+ harbour/contrib/gtqtc/qtconsolearea.cpp
+ harbour/contrib/gtqtc/qtmainwindow.cpp
+ harbour/contrib/gtqtc/tests
+ harbour/contrib/gtqtc/tests/demoqtc.prg
+ harbour/contrib/gtqtc/tests/hbqt.hbp
+ Added GTQTC - The terminal based on QT framework - files.
NOTE: This is a proof of concept and needs an expert
brain. I will request Przemek to set the basic GT framework
in place. Rest will be quiet easy, easy than Windows itself.
demoqtc.exe remains in the memory after closing it with
X button. I have tried hard to set it right but have faised so far.
So you may need to kill it from task manager.
* harbour/contrib/gtwvg/tests/demowvg.prg
+ Added My_Alert() function which you can copy and
paste in your GTWVG linked applications to have a GUI
replacement of Alert() funtion.
* utils/hbmk2/hbmk2.prg
* contrib/hbole/tests/hbole.hbp
* contrib/gtwvg/tests/gtwvg.hbp
* contrib/hbwin/tests/hbwin.hbp
- utils/hbmk2/examples/winapi.hbp
+ Added all important Windows system libs to all
win compilers in hbmk2.
- Removed above libs from .hbp files.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/browodbc.prg
* contrib/hbodbc/odbc.c
* Further cleanups.
SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
function by the name HB_NUMSETLEN().
* contrib/hbole/tests/testole.prg
* contrib/hbole/tests/sample.odt
+ Updated to latest hbole code.
; TOFIX: hbole code doesn't compile with MSVC in default C++
even if #define CINTERFACE 1 is enabled.
; TOFIX: OpenOffice example fails at some point. It probably
needs array support.
* contrib/hbole/olecore.c
* Minor formatting.
* contrib/hbqt/hbqt_qabstractitemview.cpp
! Fixed backslash to forward slash.
* contrib/hbct/tests/ctwtest.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/pegs.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/calendar.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/examples/terminal/trm_server.prg
* contrib/examples/terminal/trm_client.prg
! Using manifest constants.
* contrib/hbmysql/mysql.c
* contrib/hbodbc/odbc.c
* Minor cleanup.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/testodbc.prg
* Minor.
* harbour/contrib/gtwvg/hbgtwvg.ch
+ #define HB_GTI_SETPOSANDSIZE
+ #define HB_GTI_HB_GTI_REFRESH
+ Two more events to manage new CUI-GUI objects.
+ #define GOBJ_OBJSTATE_*
+ #define GOBJ_OBJDATA_*
+ #define GOBJ_IMAGESOURCE_*
+ Constants to manage CUI=GUI objects.
* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/wvggui.h
! Updated to be compilable for WinCE builds.
* harbour/contrib/gtwvg/gtwvg.c
! Updated to honor WinCE builds.
! Implemented double-buffering of console. Now flickering
should be the topic of the past.
* harbour/contrib/gtwvg/wvggui.c
! Updated to honor WinCE builds.
* harbour/contrib/gtwvg/wvgcuig.c
+ Implemented a highly optimized GUI controls for CUI consoles.
Implementation includes auto-destruction, data-substitution,
enable/disable feast, etc. These controls are almost identical
which are available with Wvt_Draw*() namespace but with a
great difference that these are tied to the urrent GT and
are handelled transparently by the GT itself. Developer
has only to define it. The only requirement is that
SaveScreen()/RestScreen() needs to be changed to new
Modal GT window. Appln screens will never get blurred. It
also employs optimized double-buffering and hence almost
eliminates screen flickering.
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgsink.c
* harbour/contrib/gtwvg/wvgutils.c
* harbour/contrib/gtwvg/wvgwin.c
! Updated to honor WinCE builds.
* harbour/contrib/gtwvg/wvgcrt.prg
! A couple of methods fine-tuned.
! Modal GT's more responsive to user needs.
* harbour/contrib/gtwvg/tests/demowvg.prg
! Demonstrated the latest implemention of CUI-GUI controls. See below.
Please try <Traditional><WVG Console with CGUI> option in the main menu.
Also note the usage of Modal GT to simulate Alert() in new window.
Every GUI object returns a handle to it which may be used to
change its parameters.
; TOFIX( WINCE BUILDS ) - GetSystemDirectory()
/* IMPLEMENTATION OF CUI-GUI CONTROLS - A CODE PREVIEW
#xTranslate Alert( => MyAlert(
PROCEDURE GCUIConsole( oCrt )
LOCAL dDate := date()
LOCAL cName := pad( 'Some Usefule Name' , 35 )
LOCAL cAdd1 := pad( 'Linda Goldman Avenue', 35 )
LOCAL cAdd2 := pad( 'Excellent Street' , 35 )
LOCAL cAdd3 := pad( 'Suit #415' , 35 )
LOCAL nSlry := 9000
LOCAL nColGet := 8
LOCAL GetList := {}
LOCAL cLabel := "VOUCH, that GROWS with you"
LOCAL oTab, oStat, hBoxR, hTxt
SET SCOREBOARD OFF
SetColor( "N/W,N/GR*,,,N/W*" )
CLS
hb_gtInfo( HB_GTI_WINTITLE, "WVG Simplified yet Powerful CUI-GUI Console!" )
@ MaxRow(), 0 SAY PadC( "Navigate the Gets", maxcol()+1 ) COLOR "W+/B"
@ 2, nColGet SAY "< Date >"
@ 5, nColGet SAY "<" + PadC( "Name" , 33 ) + ">"
@ 8, nColGet SAY "<" + PadC( "Address", 33 ) + ">"
@ 15, nColGet SAY "< Salary >"
@ 3, nColGet GET dDate ;
WHEN {|| Wvg_SetGObjData( hTxt, 1, FetchText( 1 ) ) } ;
Valid {|| Wvg_SetGObjData( hTxt, 6, RGB( 255,0,0 ) ), .t. }
@ 6, nColGet GET cName ;
WHEN {|| Wvg_SetGObjData( hTxt, 1, FetchText( 2 ) ) } ;
Valid {|| Wvg_SetGObjData( hTxt, 6, RGB( 255,255,0 ) ), ;
Wvg_SetGObjState( hBoxR, 3 ), .t. }
@ 9, nColGet GET cAdd1 ;
WHEN {|| Wvg_SetGObjData( hTxt, 1, FetchText( 3 ) ) } ;
Valid {|| Wvg_SetGObjData( hTxt, 6, RGB( 255,0,255 ) ), .t. }
@ 11, nColGet GET cAdd2 ;
WHEN {|| Wvg_SetGObjData( hTxt, 1, FetchText( 4 ) ) } ;
Valid {|| Wvg_SetGObjData( hTxt, 6, RGB( 255,255,255 ) ), ;
Wvg_SetGObjState( hBoxR, 1 ), .t. }
@ 13, nColGet GET cAdd3 ;
WHEN {|| Wvg_SetGObjData( hTxt, 6, RGB( 198,21,140 ) ), .t. }
@ 16, nColGet GET nSlry PICTURE "@Z 9999999.99" ;
WHEN {|| Wvg_SetGObjData( hTxt, 6, RGB( 0,0,0 ) ), .t. }
// The only additional calls to render your console GUI
//
// The GETLIST : This can be embedded via @ GET preprocessor command
aEval( GetList, {|oGet| Wvg_BoxGet( oGet:Row, oGet:Col, Len( Transform( oGet:VarGet(), oGet:Picture ) ) ) } )
//
hBoxR := Wvg_BoxRaised( 1,2,18,49, {-5,-5,5,5} )
//
Wvg_BoxRecessed( 1,2,18,49 )
//
// Wvg_BoxGroup( 2,4,17,47 )
//
Wvg_BoxGroupRaised( 2,4,17,47, {-7,-7,7,7} )
//
hTxt := Wvg_TextBox( 3,57,16,75, {10,10,-10,-10}, 'This is first TextBox Line!', 2, 2 )
//
Wvg_Image( 15,36,16,42, {-3,-3,3,3}, GOBJ_IMAGESOURCE_FILE, 'Vouch1.bmp' )
//
Wvg_BoxRaised( 15,36,16,42,{-2,-2,2,2} )
//
Wvg_ShadedRect( 1,54,18,79, { -5,-5,5,5 }, 0, {65000,21000,7000,56000}, {255,32255,16000,32500} )
//
Wvg_BoxRaised( 1,54,18,79, {-5,-5,5,5} )
// Instruct GT to Repaint the Screen with GUI elements.
oCrt:refresh()
// Issue the read
READ
Alert( 'How did you like the "Alert" replacement?', { 'WOW','OK','OOps'} )
RETURN
/*----------------------------------------------------------------------*/
#xUntranslate alert( =>
FUNCTION MyAlert( cMsg, aOpt )
LOCAL nSel, oCrt
oCrt := WvgCrt():New( , , { -1,-1 }, { 9, MaxCol()-6 }, , .t. )
oCrt:lModal := .t.
oCrt:icon := "dia_excl.ico"
oCrt:create()
oCrt:resizable := .t.
SetColor( 'N/W' )
CLS
hb_gtInfo( HB_GTI_WINTITLE, cMsg )
nSel := Alert( cMsg, aOpt )
oCrt:destroy()
RETURN nSel
#xTranslate Alert( => MyAlert(
/*----------------------------------------------------------------------*/
STATIC FUNCTION FetchText( nMode )
LOCAL cText
DO CASE
CASE nMode == 1
cText := 'Do you know Harbour is gaining a popularity what Clipper enjoyed at one time! '
cText += 'Enjoy it.'
CASE nMode == 2
cText := 'Do you know Harbour can host pure console, cui+gui console, pure gui consoles applications? '
cText += 'This demonstration is a proof of that.'
CASE nMode == 3
cText := 'Do you know Harbour is a multi-gt, multi-window, multi-thread compiler far superior than others in the market! '
cText += 'And is FREE.'
CASE nMode == 4
cText := 'Enjoy and contribute to the project any way you can. Develop, Debug, Support, and spread a word of mouth!'
ENDCASE
RETURN cText
/*----------------------------------------------------------------------*/
*/
;TODO - Write a comprehensive help to exploit CUI-GUI functionality.
Will do in a few days.
* harbour/contrib/gtwvg/Makefile
+ wvgtabpg.prg
* harbour/contrib/gtwvg/wvtwin.ch
* harbour/contrib/gtwvg/wvgparts.ch
+ Added constants to manage Tab Pages
* harbour/contrib/gtwvg/gtwvg.c
! Changed the behavior if a GT is child of another GT.
* harbour/contrib/gtwvg/wincallb.c
! Cleanups.
* harbour/contrib/gtwvg/wvgsink.c
! Cleanup.
% Fixed a potential nasty bug. Kept it in the code to refer if some
problem arises in the future.
* harbour/contrib/gtwvg/wvgwin.c
! Cleanup. Removed yet unfinished code.
* harbour/contrib/gtwvg/wvgcombo.prg
! Cleanups and documentation update.
* harbour/contrib/gtwvg/wvgcrt.prg
! Changed the style of modal GT console.
* harbour/contrib/gtwvg/wvgwnd.prg
% Rearrangement of methods.
! Updated to use either protocol - HB_ASCallBck() or SetProp()
controllable by a #define constant.
+ harbour/contrib/gtwvg/wvgtabpg.prg
+ Started WvgTabPage() compatible with - XbpTabPage() of Xbase++.
Unfinished but yet usable as demonstrated in demowvg.prg.
* harbour/contrib/hbwin/hbwapi.h
+ Added wapi_par_WORD|DWORD() macros.
* harbour/contrib/hbwin/wapi_commctrl.c
+ Added TabCtrl_* WINAPI macros as functions.
* harbour/contrib/gtwvg/tests/demowvg.prg
! Updated to execute pure Xbase++ code in all its fury.
+ Added WvgTabPage() implementation via CUI+GUI demo in
<Traditional><WVG Console with GCUI> menu option.
* harbour/contrib/gtwvg/common.mak
* harbour/contrib/gtwvg/Makefile
+ Added wvgcuig.c
* harbour/contrib/gtwvg/gtwvg.h
+ Added PHB_GOBJS structure to hold static CUI enhancement elements.
* harbour/contrib/gtwvg/gtwvg.c
! Implemented hb_gt_wvt_PaintGObjects( PHB_GTWVT pWVT, RECT *uRect )
just before EndPaint() call.
+ harbour/contrib/gtwvg/wvgcuig.c
+ Implementation of pure static controls with Clipper like
approach leaving away the details of heavy GTWVG base
protocol.
* harbour/contrib/gtwvg/tests/demowvg.prg
! Implemented simplified GUI look to a CUI console.
Now it is possible TO build console dialogs pretty fast.
This implementation assumes that appln will NOT use
overlapping screens as with SaveScreen()/RestScreen()
functions. Instead a new window will be opened to host
overlapping screens.
Please look at <Traditional><WVG Console with GCUI> to
look at this functionality. The code goes below:
/* PROCEDURE GCUIConsole()
LOCAL dDate := ctod( "" )
LOCAL cName := Space( 35 )
LOCAL cAdd1 := Space( 35 )
LOCAL cAdd2 := Space( 35 )
LOCAL cAdd3 := Space( 35 )
LOCAL nSlry := 0
LOCAL nColGet := 8
LOCAL GetList := {}
LOCAL cLabel := "VOUCH, that GROWS with you"
SetColor( "N/W,N/GR*,,,N/W*" )
CLS
hb_gtInfo( HB_GTI_WINTITLE, "WVG Simplified GUI Console" )
@ MaxRow(), 0 SAY PadC( "GTWVG Simplified GUI Console", maxcol()+1 ) COLOR "W+/B*"
@ 2, nColGet SAY "< Date >"
@ 5, nColGet SAY "<" + PadC( "Name", 33 ) + ">"
@ 8, nColGet SAY "<" + PadC( "Address", 33) + ">"
@ 15, nColGet SAY "< Salary >"
@ 3, nColGet GET dDate
@ 6, nColGet GET cName
@ 9, nColGet GET cAdd1
@ 11, nColGet GET cAdd2
@ 13, nColGet GET cAdd3
@ 16, nColGet GET nSlry PICTURE "@Z 9999999.99"
// The only additional calls to render your console GUI
//
// The GETLIST : This can be embedded via @ GET preprocessor command
aEval( GetList, {|oGet| Wvg_BoxGet( oGet:Row, oGet:Col, Len( Transform( oGet:VarGet(), oGet:Picture ) ) ) } )
// And thsese can be another @ SAY commands
Wvg_BoxRaised( 1, 2, 18, 49, { -5,-5,5,5 } )
Wvg_BoxRecessed( 1, 2, 18, 49 )
Wvg_BoxGroupRaised( 2, 4, 17, 47, { -7,-7,7,7 } )
// Instruct GT to Repaint the Screen with GUI elements.
Wvt_InvalidateRect( 0, 0, maxrow(), maxcol() )
// Issue the read
READ
RETURN
*/
* utils/hbmk2/hbmk2.prg
+ Added internal function to check for linked GTs, so that
platform/compiler code can act accordingly.
+ Added required system libs and paths for gtsln, gtcrs
and gtxwc. So now it's 100% hbmk script compatible.
This effectively added support for gtsln and gtcrs
(for *nix only). ncur194 support is missing though,
plus maybe some build-time modifier switches aren't
honored (the WITHOUT* ones, but I'm not positive that
all of them have to be handled on hbmk2 level).
Probably some clever autodetection can be used on
hbmk2 level for such cases.
! Fixed to not be case-sensitive when dealing with GT names.
+ Added NOTE about 3rd party/contrib stuff handling.
* Minor formatting.
; NOTE: What remains is cross compilation support, which
is a new topic. -n support tweak, if needed.
And testing, adding missing compilers, fixing
existing ones if needed, syncing with build-time
switches, clean Win32 system libs.
* contrib/gtwvg/tests/gtwvg.hbp
+ Readded gui=yes to better separate compontents.
* ChangeLog
* Entry marked done.
* harbour/contrib/gtwvg/common.mak
* harbour/contrib/gtwvg/Makefile
+ Added wvgdarea.prg
* harbour/contrib/gtwvg/wvgwin.c
+ Added more functions.
+ harbour/contrib/gtwvg/wvgdarea.prg
+ Added WvgDrawingArea(), a helper class to WvgDialog().
* harbour/contrib/gtwvg/wvgdlg.prg
* harbour/contrib/gtwvg/wvgparts.ch
* harbour/contrib/gtwvg/wvgphdlr.prg
* harbour/contrib/gtwvg/wvgstatc.prg
* harbour/contrib/gtwvg/wvgtoolb.prg
* harbour/contrib/gtwvg/wvgwnd.prg
* harbour/contrib/gtwvg/wvtwin.ch
! Numerous class structure enhancements. More Xbase++ compatibility
XbpDialog:drawingArea concept implemented in greater details.
WvgToolbarButtons() now take use of WAPI_ImageList_*() functions.
* harbour/contrib/hbwin/hbwapi.h
! Defines updated to respect pointers also.
+ harbour/contrib/hbwin/wapi_commctrl.c
+ Implemented WAPI ImageList_*() family of functions.
* harbour/contrib/hbwin/Makefile
* harbour/contrib/hbwin/common.mak
+ Added wapi_commctrl.c
* harbour/contrib/gtwvg/tests/demowvg.prg
* harbour/contrib/gtwvg/tests/demoxbp.prg
! Updated TO respect new changes in class structures.
Xbase++ related components are more compatible now.
; TODO: Tooltips on Toolbar Buttons. WHILE implemeting
XbpDialog:drawingArea concept I have lost track of this
feature as buttons are now created via image lists and
Toolbar window is created with CreateWindowEx() instead of
CreateToolbarWindow().
* contrib/hbapollo/tests/hbapollo.hbp
+ Added filters.
; TOFIX: hbapollo test doesn't link with MSVC.
- contrib/hbapollo/tests/hbmk.bat
- contrib/gtwvg/tests/hbmk.bat
- contrib/hbbtree/tests/hbmk.bat
- contrib/examples/terminal/hbmk.bat
- contrib/examples/terminal/hbmk_trm_appn.bat
- Removed batch versions of make files.
Go to the directory the source are located and
use the .hbm files where there is one, or just pass
the .prg name to hbmk.exe.
* utils/hbmk/hbmk.prg
! Fixed handling lib/source files with double extensions.
! Fixed to not add empty items to lists in some occasions.
+ Added -q to suppress informational output + header.
* harbour/contrib/gtwvg/wvtwin.ch
+ Added more constants.
* harbour/contrib/gtwvg/wvgwin.c
+ Added functions to manipulate ChooseFont() WINAPI.
* harbour/contrib/gtwvg/wvgsysw.prg
+ Implemented WvgFontDialog(), WvgFon() Xbase++ compatible classes.
* harbour/contrib/gtwvg/tests/demoxbp.prg
+ Incorporated WvgFontDialog() and WvgFont() functionality.
;IMPORTANT: XBase++ documentation describes that WvgFontDialog()
cannot be opened in modeless state under Windows.
Additionally it also states that its event blocks cannot
be implemented in Windows. It is possible only in OS/2.
But Harbour implementation of WvgFontDialog() has
provided this important functionality in Windows also.
You can :display the font dialog in modeless state as
well as :activate* codeblocks also get fired.
* harbour/contrib/gtwvg/makefile
* harbour/contrib/gtwvg/common.mak
+ wvghtmlv.prg
* harbour/contrib/gtwvg/hbgtwvg.ch
+ HB_GTI_ACTIVATESELECTCOPY
+ HB_GTE_CTLCOLOR
* harbour/contrib/gtwvg/gtwvg.c
+ hb_gtInfo( HB_GTI_ACTIVATESELECTCOPY )
This has the same effect as to activating the select/copy operation
from the sys menu of the application. This way you can define
any key to begin this operation as:
SetKey( K_RBUTTONUP, {|| hb_gtInfo( HB_GTI_ACTIVATESELECTCOPY ) } )
and to start copy operation it will be enough to perform right
click and then dragging the text with left button down.
:TODO: Implementation in GTWVT.
+ harbour/contrib/gtwvg/wvghtmlv.prg
+ Added WvgHTMLViewer() class compatible with XbpHTMLViewer().
It is a fully functional implementation as per Xbase++ documentation
except for method :setHTML( cHTMLtext )
* harbour/contrib/gtwvg/wvggui.c
+ Added evenh handlling for WV_CTLCOLOR* messages.
* harbour/contrib/gtwvg/wvgwin.c
+ Added more winapi functions.
* harbour/contrib/gtwvg/wvg3stat.prg
* harbour/contrib/gtwvg/wvgax.prg
* harbour/contrib/gtwvg/wvgcheck.prg
* harbour/contrib/gtwvg/wvglistb.prg
* harbour/contrib/gtwvg/wvgmle.prg
* harbour/contrib/gtwvg/wvgphdlr.prg
* harbour/contrib/gtwvg/wvgpushb.prg
* harbour/contrib/gtwvg/wvgradio.prg
* harbour/contrib/gtwvg/wvgsle.prg
* harbour/contrib/gtwvg/wvgstatb.prg
* harbour/contrib/gtwvg/wvgstatc.prg
* harbour/contrib/gtwvg/wvgtoolb.prg
* harbour/contrib/gtwvg/wvgtreev.prg
* harbour/contrib/gtwvg/wvgwnd.prg
! Heavy changes especially in event handlling management.
+ ::setColorFG( nRGB ) and ::setColorBG( nRGB ) implemented for
WvgSLE(), WvgMLE(), WvgStatic(), WvgCheckBox(), WvgRadioButton(),
WvgTreeView(), WvgListBox().
* harbour/contrib/gtwvg/tests/demowvg.prg
! Some finer additions.
+ harbour/contrib/gtwvg/tests/demoxbp.prg
Added new demo with pure Xbase++ code clubbing all the committed classes
till date including WvgHTMLViewer().
;
Compile as : hbmk_b32 -mt demoxbp