diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index 1a0e962b7f..64e330b612 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -16,6 +16,17 @@
The license applies to all entries newer than 2009-04-28.
*/
+2012-07-31 02:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ * contrib/hbide/projectwizard.prg
+ * contrib/hbide/projectwizard.ui
+ + Implemented: the contents entered in the "New Project Wizard" are
+ saved in _thePathdesignatedForHbp_.hbptmplt. This will be the
+ intermediate file from where .hbp will be created as per standardards
+ adopted so far and then loaded in HbIDE. If such template already
+ exists on the .hbp path asked for, it will be loaded in the
+ interface. How and what action will ask for loading/saving may
+ change. for now examine the template file.
+
2012-07-30 21:01 UTC+0200 Viktor Szakats (harbour syenar.net)
* INSTALL
+ added NOTE on 'install' not working in partial rebuild mode
diff --git a/harbour/contrib/hbide/projectwizard.prg b/harbour/contrib/hbide/projectwizard.prg
index c0f26f1a22..37b34ab8e0 100644
--- a/harbour/contrib/hbide/projectwizard.prg
+++ b/harbour/contrib/hbide/projectwizard.prg
@@ -1,4 +1,4 @@
-/*
+ /*
* $Id$
*/
@@ -99,8 +99,18 @@
/*----------------------------------------------------------------------*/
+#define PROPS_TREENODE 1
+#define PROPS_PROPNAME 2
+#define PROPS_TREEBUTTON 6
+
+#define UI_LOAD_NORMAL 0
+#define UI_LOAD_DEFAULTS 1
+
+/*----------------------------------------------------------------------*/
+
CREATE CLASS IdeProjectWizard INHERIT IdeObject
+ DATA oProject
DATA lEdited INIT .f.
DATA aItmProps INIT {}
DATA aItmSrc INIT {}
@@ -139,6 +149,8 @@ METHOD IdeProjectWizard:create( oIde )
DEFAULT oIde TO ::oIde
::oIde := oIde
+ ::oProject := IdeExProject():new()
+
RETURN Self
/*----------------------------------------------------------------------*/
@@ -151,68 +163,6 @@ METHOD IdeProjectWizard:destroy()
METHOD IdeProjectWizard:clear()
- ::oUI:editProjPath : setText( "" )
- ::oUI:editProjName : setText( "" )
- ::oUI:editOutName : setText( "" )
- ::oUI:editOutPath : setText( "" )
- ::oUI:editWorkPath : setText( "" )
- ::oUI:editWorkPath : setText( "" )
- ::oUI:editLaunchExe : setText( "" )
- ::oUI:editLaunchParams : setText( "" )
- ::oUI:editStayIn : setText( "" )
-
- ::oUI:plainSwitches : setPlainText( "" )
-
- ::oUi:chkXhb : setChecked( .F. )
- ::oUi:chkXBase : setChecked( .F. )
- ::oUi:chkHbQt : setChecked( .F. )
- ::oUi:chkXbp : setChecked( .F. )
- ::oUi:chkFWH : setChecked( .F. )
- ::oUi:chkHMG : setChecked( .F. )
- ::oUi:chkOther : setChecked( .F. )
-
- ::oUi:chkA : setChecked( .T. )
- ::oUi:chkB : setChecked( .F. )
- ::oUi:chkES : setChecked( .T. )
- ::oUi:chkG : setChecked( .F. )
- ::oUi:chkJ : setChecked( .F. )
- ::oUi:chkL : setChecked( .F. )
- ::oUi:chkM : setChecked( .T. )
- ::oUi:chkN : setChecked( .T. )
- ::oUi:chkV : setChecked( .F. )
- ::oUi:chkW : setChecked( .F. )
- ::oUi:chkZ : setChecked( .F. )
- ::oUi:chkQ : setChecked( .F. )
- ::oUi:chkBuild : setChecked( .F. )
- ::oUi:chkCredits : setChecked( .F. )
-
- ::oUi:chkInc : setChecked( .T. )
- ::oUi:chkGui : setChecked( .F. )
- ::oUi:chkInfo : setChecked( .T. )
- ::oUi:chkShared : setChecked( .F. )
- ::oUi:chkMt : setChecked( .F. )
- ::oUi:chkTrace : setChecked( .F. )
- ::oUi:chkFullstatic : setChecked( .F. )
-
- ::oUi:chkGtgui : setChecked( .F. )
- ::oUi:chkGtwin : setChecked( .F. )
- ::oUi:chkGtwvt : setChecked( .F. )
- ::oUi:chkGtwvg : setChecked( .F. )
- ::oUi:chkGtxwc : setChecked( .F. )
- ::oUi:chkGttrm : setChecked( .F. )
- ::oUi:chkGtstd : setChecked( .F. )
- ::oUi:chkGtsln : setChecked( .F. )
- ::oUi:chkGtpca : setChecked( .F. )
- ::oUi:chkGtos2 : setChecked( .F. )
- ::oUi:chkGtcrs : setChecked( .F. )
- ::oUi:chkGtcgi : setChecked( .F. )
-
- ::oUI:editES : setText( "0" )
- ::oUI:editG : setText( "" )
- ::oUI:editM : setText( "" )
- ::oUI:editQ : setText( "" )
- ::oUI:editW : setText( "" )
-
::oUI:comboProjType : setCurrentIndex( 0 )
::oUI:comboGT : setCurrentIndex( 9 )
@@ -222,6 +172,8 @@ METHOD IdeProjectWizard:clear()
::oUI:treeSrc : clear()
::loadSourcesSections()
+ ::oProject:loadUI( Self, UI_LOAD_DEFAULTS )
+
::lEdited := .f.
RETURN Self
@@ -320,7 +272,6 @@ METHOD IdeProjectWizard:show()
aadd( ::aItmSrc, { NIL, "UI Files" , QBrush( QColor( 144, 144, 144 ) ), oBrush, ".ui" , NIL, "background-color: rgb(144,144,144);" } )
aadd( ::aItmSrc, { NIL, "All Other Files", QBrush( QColor( 136, 136, 136 ) ), oBrush, "*" , NIL, "background-color: rgb(136,136,136);" } )
-
::clear()
::oUI:frameSrc:setAcceptDrops( .t. )
@@ -375,8 +326,8 @@ METHOD IdeProjectWizard:execEvent( nEvent, p, p1 )
CASE __treeProps_itemExpanded__
IF ( n := ::oUI:treeProps:indexOfTopLevelItem( p ) ) >= 0
n++
- IF hb_isObject( ::aItmProps[ n, 6 ] )
- ::aItmProps[ n, 6 ]:setIcon( QIcon( hbide_image( iif( nEvent == __treeProps_itemExpanded__, "collapse_m", "expand_m" ) ) ) )
+ IF hb_isObject( ::aItmProps[ n, PROPS_TREEBUTTON ] )
+ ::aItmProps[ n, PROPS_TREEBUTTON ]:setIcon( QIcon( hbide_image( iif( nEvent == __treeProps_itemExpanded__, "collapse_m", "expand_m" ) ) ) )
ENDIF
p:setSelected( .t. )
ENDIF
@@ -384,45 +335,45 @@ METHOD IdeProjectWizard:execEvent( nEvent, p, p1 )
CASE __treeSrc_itemExpanded__
CASE __treeSrc_itemCollapsed__
IF ( n := ::oUI:treeSrc:indexOfTopLevelItem( p ) ) >= 0
- IF hb_isObject( ::aItmSrc[ n+1,6 ] )
- ::aItmSrc[ n+1,6 ]:setIcon( QIcon( hbide_image( iif( nEvent == __treeSrc_itemCollapsed__, "expand_m", "collapse_m" ) ) ) )
+ IF hb_isObject( ::aItmSrc[ n+1, PROPS_TREEBUTTON ] )
+ ::aItmSrc[ n+1, PROPS_TREEBUTTON ]:setIcon( QIcon( hbide_image( iif( nEvent == __treeSrc_itemCollapsed__, "expand_m", "collapse_m" ) ) ) )
ENDIF
p:setSelected( .t. )
ENDIF
EXIT
CASE __qTBtn_clicked__
- IF ::aItmProps[ p,1 ]:isExpanded()
- ::aItmProps[ p,1 ]:setExpanded( .f. )
+ IF ::aItmProps[ p, PROPS_TREENODE ]:isExpanded()
+ ::aItmProps[ p, PROPS_TREENODE ]:setExpanded( .f. )
ELSE
- IF ::aItmProps[ p,1 ]:childCount() > 0
- ::aItmProps[ p,1 ]:setExpanded( .t. )
+ IF ::aItmProps[ p, PROPS_TREENODE ]:childCount() > 0
+ ::aItmProps[ p, PROPS_TREENODE ]:setExpanded( .t. )
ENDIF
ENDIF
IF ! empty( qItm := ::oUI:treeProps:currentItem() )
qItm:setSelected( .f. )
ENDIF
- ::aItmProps[ p,1 ]:setSelected( .t. )
+ ::aItmProps[ p, PROPS_TREENODE ]:setSelected( .t. )
EXIT
CASE __qSBtn_clicked__
- IF ::aItmSrc[ p,1 ]:isExpanded()
- ::aItmSrc[ p,1 ]:setExpanded( .f. )
+ IF ::aItmSrc[ p, PROPS_TREENODE ]:isExpanded()
+ ::aItmSrc[ p, PROPS_TREENODE ]:setExpanded( .f. )
ELSE
- IF ::aItmSrc[ p,1 ]:childCount() > 0
- ::aItmSrc[ p,1 ]:setExpanded( .t. )
+ IF ::aItmSrc[ p, PROPS_TREENODE ]:childCount() > 0
+ ::aItmSrc[ p, PROPS_TREENODE ]:setExpanded( .t. )
ENDIF
ENDIF
IF ! empty( qItm := ::oUI:treeSrc:currentItem() )
qItm:setSelected( .f. )
ENDIF
- ::aItmSrc[ p,1 ]:setSelected( .t. )
+ ::aItmSrc[ p, PROPS_TREENODE ]:setSelected( .t. )
EXIT
CASE __toolSrcDel_clicked__
IF hbide_getYesNo( "Do you really want to delete all sources ?", "Dangerous Action", "Confirmation Required!", ::oUI:oWidget )
FOR EACH aItm IN ::aItmSrc
- IF ! empty( aItm[ 1 ] )
- n := aItm[ 1 ]:childCount()
+ IF ! empty( aItm[ PROPS_TREENODE ] )
+ n := aItm[ PROPS_TREENODE ]:childCount()
FOR i := 1 TO n
- aItm[ 1 ]:removeChild( aItm[ 1 ]:child( 0 ) )
+ aItm[ PROPS_TREENODE ]:removeChild( aItm[ PROPS_TREENODE ]:child( 0 ) )
NEXT
ENDIF
NEXT
@@ -437,22 +388,22 @@ METHOD IdeProjectWizard:execEvent( nEvent, p, p1 )
EXIT
CASE __toolSrcMax_clicked__
FOR EACH aItm IN ::aItmSrc
- IF ! empty( aItm[ 1 ] )
- aItm[ 1 ]:setExpanded( .T. )
+ IF ! empty( aItm[ PROPS_TREENODE ] )
+ aItm[ PROPS_TREENODE ]:setExpanded( .T. )
ENDIF
NEXT
EXIT
CASE __btnSwMin_clicked__
FOR EACH aItm IN ::aItmProps
- IF ! empty( aItm[ 1 ] )
- aItm[ 1 ]:setExpanded( .F. )
+ IF ! empty( aItm[ PROPS_TREENODE ] )
+ aItm[ PROPS_TREENODE ]:setExpanded( .F. )
ENDIF
NEXT
EXIT
CASE __btnSwMax_clicked__
FOR EACH aItm IN ::aItmProps
- IF ! empty( aItm[ 1 ] )
- aItm[ 1 ]:setExpanded( .T. )
+ IF ! empty( aItm[ PROPS_TREENODE ] )
+ aItm[ PROPS_TREENODE ]:setExpanded( .T. )
ENDIF
NEXT
EXIT
@@ -494,9 +445,9 @@ METHOD IdeProjectWizard:execEvent( nEvent, p, p1 )
::deleteTreeItem( qItm )
ENDIF
ELSEIF cText == "Sort Ascending"
- ::aItmSrc[ n,1 ]:sortChildren( 0, Qt_AscendingOrder )
+ ::aItmSrc[ n, PROPS_TREENODE ]:sortChildren( 0, Qt_AscendingOrder )
ELSEIF cText == "Sort Descending"
- ::aItmSrc[ n,1 ]:sortChildren( 0, Qt_DescendingOrder )
+ ::aItmSrc[ n, PROPS_TREENODE ]:sortChildren( 0, Qt_DescendingOrder )
ENDIF
ENDIF
EXIT
@@ -520,9 +471,9 @@ METHOD IdeProjectWizard:execEvent( nEvent, p, p1 )
::deleteTreeItem( qItm )
ENDIF
ELSEIF cText == "Sort Ascending"
- ::aItmProps[ n,1 ]:sortChildren( 0, Qt_AscendingOrder )
+ ::aItmProps[ n, PROPS_TREENODE ]:sortChildren( 0, Qt_AscendingOrder )
ELSEIF cText == "Sort Descending"
- ::aItmProps[ n,1 ]:sortChildren( 0, Qt_DescendingOrder )
+ ::aItmProps[ n, PROPS_TREENODE ]:sortChildren( 0, Qt_DescendingOrder )
ENDIF
ENDIF
EXIT
@@ -699,10 +650,10 @@ METHOD IdeProjectWizard:loadSwichesSections()
oFont:setBold( .t. )
FOR EACH aAct IN ::aItmProps
qItm := QTreeWidgetItem()
- aAct[ 1 ] := qItm
+ aAct[ PROPS_TREENODE ] := qItm
qItm:setFlags( 0 )
qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) )
- qItm:setText( 0, space( 7 ) + aAct[ 2 ] )
+ qItm:setText( 0, space( 7 ) + aAct[ PROPS_PROPNAME ] )
qItm:setBackground( 0, aAct[ 3 ] )
qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) )
qItm:setFont( 0, oFont )
@@ -711,7 +662,7 @@ METHOD IdeProjectWizard:loadSwichesSections()
oTree:setFirstItemColumnSpanned( qItm, .t. )
qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator )
- aAct[ 6 ] := ::addDropIndicator( oTree, aAct[ 1 ], __qTBtn_clicked__, aAct[ 7 ], aAct:__enumIndex() )
+ aAct[ PROPS_TREEBUTTON ] := ::addDropIndicator( oTree, aAct[ PROPS_TREENODE ], __qTBtn_clicked__, aAct[ 7 ], aAct:__enumIndex() )
NEXT
RETURN Self
@@ -726,10 +677,10 @@ METHOD IdeProjectWizard:loadSourcesSections()
oFont:setBold( .t. )
FOR EACH aAct IN ::aItmSrc
qItm := QTreeWidgetItem()
- aAct[ 1 ] := qItm
+ aAct[ PROPS_TREENODE ] := qItm
qItm:setFlags( 0 )
qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) )
- qItm:setText( 0, space( 7 ) + aAct[ 2 ] )
+ qItm:setText( 0, space( 7 ) + aAct[ PROPS_PROPNAME ] )
qItm:setBackground( 0, aAct[ 3 ] )
qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) )
qItm:setFont( 0, oFont )
@@ -738,7 +689,7 @@ METHOD IdeProjectWizard:loadSourcesSections()
oTree:setFirstItemColumnSpanned( qItm, .t. )
qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator )
- aAct[ 6 ] := ::addDropIndicator( oTree, aAct[ 1 ], __qSBtn_clicked__, aAct[ 7 ], aAct:__enumIndex() )
+ aAct[ PROPS_TREEBUTTON ] := ::addDropIndicator( oTree, aAct[ PROPS_TREENODE ], __qSBtn_clicked__, aAct[ 7 ], aAct:__enumIndex() )
NEXT
RETURN Self
@@ -746,7 +697,7 @@ METHOD IdeProjectWizard:loadSourcesSections()
/*----------------------------------------------------------------------*/
METHOD IdeProjectWizard:loadDefaults()
- LOCAL cProjPath, cPath, cName, cExt
+ LOCAL cProjPath, cPath, cName, cExt, lTmpltExists := .f.
cProjPath := ::oUI:editProjPath:text()
IF empty( cProjPath )
@@ -754,20 +705,29 @@ METHOD IdeProjectWizard:loadDefaults()
IF empty( cProjPath )
RETURN .f.
ENDIF
- IF hb_fileExists( cProjPath )
- MsgBox( "Project file already exists, cannot reload in wizard!" )
- RETURN .f.
- ENDIF
+
hb_fNameSplit( cProjPath, @cPath, @cName, @cExt )
IF ! ( lower( cExt ) == ".hbp" )
MsgBox( "Wrong type of project name !" )
RETURN .f.
ENDIF
+
+ IF hb_fileExists( cPath + cName + ".hbptmplt" )
+ lTmpltExists := .t.
+ ELSEIF hb_fileExists( cProjPath )
+ MsgBox( "Project file already exists, cannot reload in wizard!" )
+ RETURN .f.
+ ENDIF
::cProjPath := cPath
- ::oUI:editProjPath:setText( cProjPath )
- ::oUI:editProjName:setText( upper( substr( cName, 1, 1 ) ) + lower( substr( cName, 2 ) ) )
- ::oUI:editOutName:setText( cName )
+ IF lTmpltExists
+ ::oProject:load( cPath + cName + ".hbptmplt" )
+ ::oProject:loadUI( Self, UI_LOAD_NORMAL )
+ ELSE
+ ::oUI:editProjPath:setText( cProjPath )
+ ::oUI:editProjName:setText( upper( substr( cName, 1, 1 ) ) + lower( substr( cName, 2 ) ) )
+ ::oUI:editOutName:setText( cName )
+ ENDIF
::lEdited := .t.
ENDIF
@@ -777,6 +737,11 @@ METHOD IdeProjectWizard:loadDefaults()
/*----------------------------------------------------------------------*/
METHOD IdeProjectWizard:saveProject()
+ LOCAL cPath, cFile, cExt
+
+ ::oProject:saveUI( Self )
+ hb_fNameSplit( ::oUI:editProjPath:text(), @cPath, @cFile, @cExt )
+ ::oProject:save( cPath + cFile + ".hbptmplt" )
RETURN Self
@@ -791,24 +756,97 @@ CREATE CLASS IdeExProject
DATA cPathTmplt
DATA cPathHbp
- DATA aSrcALL INIT {}
- DATA aSrcPRG INIT {}
- DATA aSrcC INIT {}
- DATA aSrcCPP INIT {}
- DATA aSrcCH INIT {}
- DATA aSrcH INIT {}
- DATA aSrcUI INIT {}
- DATA aSrcRest INIT {}
-
- DATA aHbc INIT {}
- DATA aFlags
+ DATA cProjPath
+ DATA cProjName
+ DATA cProjType
+ DATA cOutName
+ DATA cOutPath
+ DATA cWorkPath
+ DATA cLaunchExe
+ DATA cLaunchParams
+ DATA cStayIn
+ DATA lXhb
+ DATA lXbase
+ DATA lHbQt
+ DATA lXbp
+ DATA lFwh
+ DATA lHmg
+ DATA lOther
+ DATA lA
+ DATA lB
+ DATA lES
+ DATA lG
+ DATA lJ
+ DATA lL
+ DATA lM
+ DATA lN
+ DATA lV
+ DATA lW
+ DATA lZ
+ DATA lQ
+ DATA lBuild
+ DATA lCredits
+ DATA cES
+ DATA cG
+ DATA cM
+ DATA cW
+ DATA cQ
+ DATA lInc
+ DATA lGui
+ DATA lMt
+ DATA lShared
+ DATA lFullStatic
+ DATA lTrace
+ DATA lInfo
+ DATA cGT
+ DATA lGtGui
+ DATA lGtWin
+ DATA lGtWvt
+ DATA lGtWvg
+ DATA lGtXwc
+ DATA lGtCgi
+ DATA lGtTrm
+ DATA lGtStd
+ DATA lGtSln
+ DATA lGtPca
+ DATA lGtOs2
+ DATA lGtCrs
+ DATA aExtras
+ DATA aPrpHbcs
+ DATA aPrpLibs
+ DATA aPrpLPaths
+ DATA aPrpIPaths
+ DATA aPrpDefines
+ DATA aPrpUnDefines
+ DATA aPrpHbmk2
+ DATA aPrpBatch
+ DATA aPrpAActions
+ DATA aSrcPrgs
+ DATA aSrcCs
+ DATA aSrcCpps
+ DATA aSrcChs
+ DATA aSrcHs
+ DATA aSrcUIs
+ DATA aSrcOthers
METHOD new( cPathTmplt )
METHOD create( cPathTmplt )
- METHOD loadUI( oUI )
- METHOD saveUI( oUI )
- METHOD load()
- METHOD save( nMode )
+ METHOD defaults()
+ METHOD setTmpltPath( cPathTmplt ) INLINE ::cPathTmplt := cPathTmplt
+ METHOD load( cPathTmplt )
+ METHOD save( cPathTmplt )
+ METHOD loadUI( oWizard, nMode )
+ METHOD saveUI( oWizard )
+ METHOD retrieveProps( oWizard )
+ METHOD retrieveSources( oWizard )
+ METHOD retrieveExtras( oWizard )
+ METHOD loadProps( oWizard )
+ METHOD loadSources( oWizard )
+ METHOD loadExtras( oWizard )
+ METHOD addSection( aTxt, cSection, aValues )
+ METHOD sectionToArray( cBuffer, cSection )
+ METHOD getKeyValuePair( cStr )
+ METHOD retrieveSection( cBuffer, cSection, aPost )
ENDCLASS
@@ -830,33 +868,611 @@ METHOD IdeExProject:create( cPathTmplt )
::cPathTmplt := cPathTmplt
- RETURN Self
-
-/*----------------------------------------------------------------------*/
-
-METHOD IdeExProject:load()
+ ::defaults()
RETURN Self
/*----------------------------------------------------------------------*/
-METHOD IdeExProject:save( nMode )
- HB_SYMBOL_UNUSED( nMode )
+METHOD IdeExProject:defaults()
+
+ ::cProjPath := ""
+ ::cProjName := ""
+ ::cProjType := ""
+ ::cOutName := ""
+ ::cOutPath := ""
+ ::cWorkPath := ""
+ ::cLaunchExe := ""
+ ::cLaunchParams := ""
+ ::cStayIn := ""
+ ::lXhb := .F.
+ ::lXbase := .F.
+ ::lHbQt := .F.
+ ::lXbp := .F.
+ ::lFwh := .F.
+ ::lHmg := .F.
+ ::lOther := .F.
+ ::lA := .F.
+ ::lB := .F.
+ ::lES := .T.
+ ::lG := .F.
+ ::lJ := .F.
+ ::lL := .F.
+ ::lM := .T.
+ ::lN := .T.
+ ::lV := .F.
+ ::lW := .F.
+ ::lZ := .F.
+ ::lQ := .F.
+ ::lBuild := .F.
+ ::lCredits := .F.
+ ::cES := "0"
+ ::cG := ""
+ ::cM := ""
+ ::cW := ""
+ ::cQ := ""
+ ::lInc := .T.
+ ::lGui := .F.
+ ::lMt := .F.
+ ::lShared := .F.
+ ::lFullStatic := .F.
+ ::lTrace := .F.
+ ::lInfo := .T.
+ ::cGT := ""
+ ::lGtGui := .F.
+ ::lGtWin := .F.
+ ::lGtWvt := .F.
+ ::lGtWvg := .F.
+ ::lGtXwc := .F.
+ ::lGtCgi := .F.
+ ::lGtTrm := .F.
+ ::lGtStd := .F.
+ ::lGtSln := .F.
+ ::lGtPca := .F.
+ ::lGtOs2 := .F.
+ ::lGtCrs := .F.
+ ::aExtras := {}
+ ::aPrpHbcs := {}
+ ::aPrpLibs := {}
+ ::aPrpLPaths := {}
+ ::aPrpIPaths := {}
+ ::aPrpDefines := {}
+ ::aPrpUnDefines := {}
+ ::aPrpHbmk2 := {}
+ ::aPrpBatch := {}
+ ::aPrpAActions := {}
+ ::aSrcPrgs := {}
+ ::aSrcCs := {}
+ ::aSrcCpps := {}
+ ::aSrcChs := {}
+ ::aSrcHs := {}
+ ::aSrcUIs := {}
+ ::aSrcOthers := {}
RETURN Self
/*----------------------------------------------------------------------*/
-METHOD IdeExProject:loadUI( oUI )
- HB_SYMBOL_UNUSED( oUI )
+METHOD IdeExProject:loadUI( oWizard, nMode )
+ LOCAL oUI := oWizard:oUI
+ IF nMode == 1
+ ::defaults()
+ ENDIF
+
+ oUI:editProjPath : setText( ::cProjPath )
+ oUI:editProjName : setText( ::cProjName )
+ oUI:editOutName : setText( ::cOutName )
+ oUI:editOutPath : setText( ::cOutPath )
+ oUI:editWorkPath : setText( ::cWorkPath )
+ oUI:editWorkPath : setText( ::cWorkPath )
+ oUI:editLaunchExe : setText( ::cLaunchExe )
+ oUI:editLaunchParams : setText( ::cLaunchParams )
+ oUI:editStayIn : setText( ::cStayIn )
+ oUi:chkXhb : setChecked( ::lXhb )
+ oUi:chkXBase : setChecked( ::lXBase )
+ oUi:chkHbQt : setChecked( ::lHbQt )
+ oUi:chkXbp : setChecked( ::lXbp )
+ oUi:chkFWH : setChecked( ::lFWH )
+ oUi:chkHMG : setChecked( ::lHMG )
+ oUi:chkOther : setChecked( ::lOther )
+ oUi:chkA : setChecked( ::lA )
+ oUi:chkB : setChecked( ::lB )
+ oUi:chkES : setChecked( ::lES )
+ oUi:chkG : setChecked( ::lG )
+ oUi:chkJ : setChecked( ::lJ )
+ oUi:chkL : setChecked( ::lL )
+ oUi:chkM : setChecked( ::lM )
+ oUi:chkN : setChecked( ::lN )
+ oUi:chkV : setChecked( ::lV )
+ oUi:chkW : setChecked( ::lW )
+ oUi:chkZ : setChecked( ::lZ )
+ oUi:chkQ : setChecked( ::lQ )
+ oUi:chkBuild : setChecked( ::lBuild )
+ oUi:chkCredits : setChecked( ::lCredits )
+ oUi:chkInc : setChecked( ::lInc )
+ oUi:chkGui : setChecked( ::lGui )
+ oUi:chkInfo : setChecked( ::lInfo )
+ oUi:chkShared : setChecked( ::lShared )
+ oUi:chkMt : setChecked( ::lMt )
+ oUi:chkTrace : setChecked( ::lTrace )
+ oUi:chkFullstatic : setChecked( ::lFullstatic )
+ oUi:chkGtgui : setChecked( ::lGtgui )
+ oUi:chkGtwin : setChecked( ::lGtwin )
+ oUi:chkGtwvt : setChecked( ::lGtwvt )
+ oUi:chkGtwvg : setChecked( ::lGtwvg )
+ oUi:chkGtxwc : setChecked( ::lGtxwc )
+ oUi:chkGttrm : setChecked( ::lGttrm )
+ oUi:chkGtstd : setChecked( ::lGtstd )
+ oUi:chkGtsln : setChecked( ::lGtsln )
+ oUi:chkGtpca : setChecked( ::lGtpca )
+ oUi:chkGtos2 : setChecked( ::lGtos2 )
+ oUi:chkGtcrs : setChecked( ::lGtcrs )
+ oUi:chkGtcgi : setChecked( ::lGtcgi )
+ oUI:editES : setText( ::cES )
+ oUI:editG : setText( ::cG )
+ oUI:editM : setText( ::cM )
+ oUI:editQ : setText( ::cQ )
+ oUI:editW : setText( ::cW )
+
+ ::loadProps( oWizard )
+ ::loadSources( oWizard )
+ ::loadExtras( oWizard )
RETURN Self
/*----------------------------------------------------------------------*/
-METHOD IdeExProject:saveUI( oUI )
- HB_SYMBOL_UNUSED( oUI )
+METHOD IdeExProject:saveUI( oWizard )
+ LOCAL oUI := oWizard:oUI
+
+ ::defaults() /* Clean the variables */
+
+ ::cProjPath := oUI:editProjPath : text()
+ ::cProjName := oUI:editProjName : text()
+ ::cProjType := oUI:comboProjType : currentText()
+ ::cOutName := oUI:editOutName : text()
+ ::cOutPath := oUI:editOutPath : text()
+ ::cWorkPath := oUI:editWorkPath : text()
+ ::cLaunchExe := oUI:editLaunchExe : text()
+ ::cLaunchParams := oUI:editLaunchParams : text()
+ ::cStayIn := oUI:editStayIn : text()
+ ::lXhb := oUI:chkXhb : isChecked()
+ ::lXbase := oUI:chkXbase : isChecked()
+ ::lHbQt := oUI:chkHbQt : isChecked()
+ ::lXbp := oUI:chkXbp : isChecked()
+ ::lFwh := oUI:chkFwh : isChecked()
+ ::lHmg := oUI:chkHmg : isChecked()
+ ::lOther := oUI:chkOther : isChecked()
+ ::lA := oUI:chkA : isChecked()
+ ::lB := oUI:chkB : isChecked()
+ ::lES := oUI:chkES : isChecked()
+ ::lG := oUI:chkG : isChecked()
+ ::lJ := oUI:chkJ : isChecked()
+ ::lL := oUI:chkL : isChecked()
+ ::lM := oUI:chkM : isChecked()
+ ::lN := oUI:chkN : isChecked()
+ ::lV := oUI:chkV : isChecked()
+ ::lW := oUI:chkW : isChecked()
+ ::lZ := oUI:chkZ : isChecked()
+ ::lQ := oUI:chkQ : isChecked()
+ ::lBuild := oUI:chkBuild : isChecked()
+ ::lCredits := oUI:chkCredits : isChecked()
+ ::cES := oUI:editES : text()
+ ::cG := oUI:editG : text()
+ ::cM := oUI:editM : text()
+ ::cW := oUI:editW : text()
+ ::cQ := oUI:editQ : text()
+ ::lInc := oUI:chkInc : isChecked()
+ ::lGui := oUI:chkGui : isChecked()
+ ::lMt := oUI:chkMt : isChecked()
+ ::lShared := oUI:chkShared : isChecked()
+ ::lFullStatic := oUI:chkFullStatic : isChecked()
+ ::lTrace := oUI:chkTrace : isChecked()
+ ::lInfo := oUI:chkInfo : isChecked()
+ ::cGT := oUI:comboGT : currentText()
+ ::lGtGui := oUI:chkGtGui : isChecked()
+ ::lGtWin := oUI:chkGtWin : isChecked()
+ ::lGtWvt := oUI:chkGtWvt : isChecked()
+ ::lGtWvg := oUI:chkGtWvg : isChecked()
+ ::lGtXwc := oUI:chkGtXwc : isChecked()
+ ::lGtCgi := oUI:chkGtCgi : isChecked()
+ ::lGtTrm := oUI:chkGtTrm : isChecked()
+ ::lGtStd := oUI:chkGtStd : isChecked()
+ ::lGtSln := oUI:chkGtSln : isChecked()
+ ::lGtPca := oUI:chkGtPca : isChecked()
+ ::lGtOs2 := oUI:chkGtOs2 : isChecked()
+ ::lGtCrs := oUI:chkGtCrs : isChecked()
+
+ ::retrieveProps( oWizard )
+ ::retrieveSources( oWizard )
+ ::retrieveExtras( oWizard )
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:retrieveProps( oWizard )
+ LOCAL a_, n, cNode, cText
+
+ FOR EACH a_ IN oWizard:aItmProps
+ IF hb_isObject( a_[ PROPS_TREENODE ] )
+ cNode := alltrim( a_[ PROPS_TREENODE ]:text( 0 ) )
+ FOR n := 1 TO a_[ PROPS_TREENODE ]:childCount()
+ cText := alltrim( a_[ PROPS_TREENODE ]:child( n - 1 ):text( 0 ) )
+ SWITCH cNode
+ CASE "Hbc Files" ; AAdd( ::aPrpHbcs , cText ) ; EXIT
+ CASE "Libraries" ; AAdd( ::aPrpLibs , cText ) ; EXIT
+ CASE "Library Paths" ; AAdd( ::aPrpLPaths , cText ) ; EXIT
+ CASE "Include Paths" ; AAdd( ::aPrpIPaths , cText ) ; EXIT
+ CASE "PRG Defines" ; AAdd( ::aPrpDefines , cText ) ; EXIT
+ CASE "PRG Undefines" ; AAdd( ::aPrpUnDefines , cText ) ; EXIT
+ CASE "hbmk2 Command-Line Params" ; AAdd( ::aPrpHbmk2 , cText ) ; EXIT
+ CASE "Batch File Commands" ; AAdd( ::aPrpBatch , cText ) ; EXIT
+ CASE "Actions after Successful Build" ; AAdd( ::aPrpAActions , cText ) ; EXIT
+ ENDSWITCH
+ NEXT
+ ENDIF
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:retrieveSources( oWizard )
+ LOCAL a_, n, cNode, cText
+
+ FOR EACH a_ IN oWizard:aItmSrc
+ IF hb_isObject( a_[ PROPS_TREENODE ] )
+ cNode := alltrim( a_[ PROPS_TREENODE ]:text( 0 ) )
+ FOR n := 1 TO a_[ PROPS_TREENODE ]:childCount()
+ cText := alltrim( a_[ PROPS_TREENODE ]:child( n - 1 ):text( 0 ) )
+ SWITCH cNode
+ CASE "PRG Files" ; AAdd( ::aSrcPrgs , cText ) ; EXIT
+ CASE "C Files" ; AAdd( ::aSrcCs , cText ) ; EXIT
+ CASE "CPP Files" ; AAdd( ::aSrcCpps , cText ) ; EXIT
+ CASE "CH Files" ; AAdd( ::aSrcChs , cText ) ; EXIT
+ CASE "H Files" ; AAdd( ::aSrcHs , cText ) ; EXIT
+ CASE "UI Files" ; AAdd( ::aSrcUIs , cText ) ; EXIT
+ CASE "All Other Files" ; AAdd( ::aSrcOthers , cText ) ; EXIT
+ ENDSWITCH
+ NEXT
+ ENDIF
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:retrieveExtras( oWizard )
+ LOCAL s, a_:= hbide_memoToArray( oWizard:oUI:plainExtras:toPlainText() )
+
+ FOR EACH s IN a_
+ aadd( ::aExtras, alltrim( s ) )
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:loadProps( oWizard )
+ LOCAL a_, aValues, cValue, qItm
+
+ FOR EACH a_ IN oWizard:aItmProps
+ IF hb_isObject( a_[ PROPS_TREENODE ] )
+ SWITCH alltrim( a_[ PROPS_TREENODE ]:text( 0 ) )
+ CASE "Hbc Files" ; aValues := ::aPrpHbcs ; EXIT
+ CASE "Libraries" ; aValues := ::aPrpLibs ; EXIT
+ CASE "Library Paths" ; aValues := ::aPrpLPaths ; EXIT
+ CASE "Include Paths" ; aValues := ::aPrpIPaths ; EXIT
+ CASE "PRG Defines" ; aValues := ::aPrpDefines ; EXIT
+ CASE "PRG Undefines" ; aValues := ::aPrpUnDefines ; EXIT
+ CASE "hbmk2 Command-Line Params" ; aValues := ::aPrpHbmk2 ; EXIT
+ CASE "Batch File Commands" ; aValues := ::aPrpBatch ; EXIT
+ CASE "Actions after Successful Build" ; aValues := ::aPrpAActions ; EXIT
+ ENDSWITCH
+ IF ! empty( aValues )
+ FOR EACH cValue IN aValues
+ IF ! empty( cValue )
+ qItm := QTreeWidgetItem()
+ qItm:setText( 0, cValue )
+ a_[ PROPS_TREENODE ]:addChild( qItm )
+ ENDIF
+ NEXT
+ ENDIF
+ a_[ PROPS_TREENODE ]:setExpanded( .t. )
+ ENDIF
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:loadSources( oWizard )
+ LOCAL a_, aValues, cValue, qItm
+
+ FOR EACH a_ IN oWizard:aItmSrc
+ IF hb_isObject( a_[ PROPS_TREENODE ] )
+ SWITCH alltrim( a_[ PROPS_TREENODE ]:text( 0 ) )
+ CASE "PRG Files" ; aValues := ::aSrcPrgs ; EXIT
+ CASE "C Files" ; aValues := ::aSrcCs ; EXIT
+ CASE "CPP Files" ; aValues := ::aSrcCpps ; EXIT
+ CASE "CH Files" ; aValues := ::aSrcChs ; EXIT
+ CASE "H Files" ; aValues := ::aSrcHs ; EXIT
+ CASE "UI Files" ; aValues := ::aSrcUIs ; EXIT
+ CASE "All Other Files" ; aValues := ::aSrcOthers ; EXIT
+ ENDSWITCH
+
+ IF ! empty( aValues )
+ FOR EACH cValue IN aValues
+ IF ! empty( cValue )
+ qItm := QTreeWidgetItem()
+ qItm:setText( 0, cValue )
+ a_[ PROPS_TREENODE ]:addChild( qItm )
+ ENDIF
+ NEXT
+ ENDIF
+ a_[ PROPS_TREENODE ]:setExpanded( .t. )
+ ENDIF
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:loadExtras( oWizard )
+
+ oWizard:oUI:plainExtras : setPlainText( hbide_arrayToMemo( ::aExtras ) )
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:addSection( aTxt, cSection, aValues )
+ LOCAL s
+
+ AAdd( aTxt, "" )
+ AAdd( aTxt, " <" + cSection + ">" )
+ FOR EACH s IN aValues
+ AAdd( aTxt, " " + s )
+ NEXT
+ AAdd( aTxt, " " + cSection + ">" )
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:save( cPathTmplt )
+ LOCAL cTxt, aGen :={}, aTxt := {}
+
+ AAdd( aGen, "cProjPath = " + ::cProjPath )
+ AAdd( aGen, "cProjName = " + ::cProjName )
+ AAdd( aGen, "cProjType = " + ::cProjType )
+ AAdd( aGen, "cOutName = " + ::cOutName )
+ AAdd( aGen, "cOutPath = " + ::cOutPath )
+ AAdd( aGen, "cWorkPath = " + ::cWorkPath )
+ AAdd( aGen, "cLaunchExe = " + ::cLaunchExe )
+ AAdd( aGen, "cLaunchParams = " + ::cLaunchParams )
+ AAdd( aGen, "cStayIn = " + ::cStayIn )
+ AAdd( aGen, "lXhb = " + iif( ::lXhb , "YES", "NO" ) )
+ AAdd( aGen, "lXbase = " + iif( ::lXbase , "YES", "NO" ) )
+ AAdd( aGen, "lHbQt = " + iif( ::lHbQt , "YES", "NO" ) )
+ AAdd( aGen, "lXbp = " + iif( ::lXbp , "YES", "NO" ) )
+ AAdd( aGen, "lFwh = " + iif( ::lFwh , "YES", "NO" ) )
+ AAdd( aGen, "lHmg = " + iif( ::lHmg , "YES", "NO" ) )
+ AAdd( aGen, "lOther = " + iif( ::lOther , "YES", "NO" ) )
+ AAdd( aGen, "lA = " + iif( ::lA , "YES", "NO" ) )
+ AAdd( aGen, "lB = " + iif( ::lB , "YES", "NO" ) )
+ AAdd( aGen, "lES = " + iif( ::lES , "YES", "NO" ) )
+ AAdd( aGen, "lG = " + iif( ::lG , "YES", "NO" ) )
+ AAdd( aGen, "lJ = " + iif( ::lJ , "YES", "NO" ) )
+ AAdd( aGen, "lL = " + iif( ::lL , "YES", "NO" ) )
+ AAdd( aGen, "lM = " + iif( ::lM , "YES", "NO" ) )
+ AAdd( aGen, "lN = " + iif( ::lN , "YES", "NO" ) )
+ AAdd( aGen, "lV = " + iif( ::lV , "YES", "NO" ) )
+ AAdd( aGen, "lW = " + iif( ::lW , "YES", "NO" ) )
+ AAdd( aGen, "lZ = " + iif( ::lZ , "YES", "NO" ) )
+ AAdd( aGen, "lQ = " + iif( ::lQ , "YES", "NO" ) )
+ AAdd( aGen, "lBuild = " + iif( ::lBuild , "YES", "NO" ) )
+ AAdd( aGen, "lCredits = " + iif( ::lCredits , "YES", "NO" ) )
+ AAdd( aGen, "cES = " + ::cES )
+ AAdd( aGen, "cG = " + ::cG )
+ AAdd( aGen, "cM = " + ::cM )
+ AAdd( aGen, "cW = " + ::cW )
+ AAdd( aGen, "cQ = " + ::cQ )
+ AAdd( aGen, "lInc = " + iif( ::lInc , "YES", "NO" ) )
+ AAdd( aGen, "lGui = " + iif( ::lGui , "YES", "NO" ) )
+ AAdd( aGen, "lMt = " + iif( ::lMt , "YES", "NO" ) )
+ AAdd( aGen, "lShared = " + iif( ::lShared , "YES", "NO" ) )
+ AAdd( aGen, "lFullStatic = " + iif( ::lFullStatic , "YES", "NO" ) )
+ AAdd( aGen, "lTrace = " + iif( ::lTrace , "YES", "NO" ) )
+ AAdd( aGen, "lInfo = " + iif( ::lInfo , "YES", "NO" ) )
+ AAdd( aGen, "cGT = " + ::cGT )
+ AAdd( aGen, "lGtGui = " + iif( ::lGtGui , "YES", "NO" ) )
+ AAdd( aGen, "lGtWin = " + iif( ::lGtWin , "YES", "NO" ) )
+ AAdd( aGen, "lGtWvt = " + iif( ::lGtWvt , "YES", "NO" ) )
+ AAdd( aGen, "lGtWvg = " + iif( ::lGtWvg , "YES", "NO" ) )
+ AAdd( aGen, "lGtXwc = " + iif( ::lGtXwc , "YES", "NO" ) )
+ AAdd( aGen, "lGtCgi = " + iif( ::lGtCgi , "YES", "NO" ) )
+ AAdd( aGen, "lGtTrm = " + iif( ::lGtTrm , "YES", "NO" ) )
+ AAdd( aGen, "lGtStd = " + iif( ::lGtStd , "YES", "NO" ) )
+ AAdd( aGen, "lGtSln = " + iif( ::lGtSln , "YES", "NO" ) )
+ AAdd( aGen, "lGtPca = " + iif( ::lGtPca , "YES", "NO" ) )
+ AAdd( aGen, "lGtOs2 = " + iif( ::lGtOs2 , "YES", "NO" ) )
+ AAdd( aGen, "lGtCrs = " + iif( ::lGtCrs , "YES", "NO" ) )
+
+ AAdd( aTxt, "" )
+ AAdd( aTxt, " " )
+ //
+ ::addSection( aTxt, "GENERAL" , aGen )
+ ::addSection( aTxt, "EXTRAS" , ::aExtras )
+ ::addSection( aTxt, "HBCS" , ::aPrpHbcs )
+ ::addSection( aTxt, "LIBS" , ::aPrpLibs )
+ ::addSection( aTxt, "LIBPATHS" , ::aPrpLPaths )
+ ::addSection( aTxt, "INCLUDEPATHS" , ::aPrpIPaths )
+ ::addSection( aTxt, "DEFINES" , ::aPrpDefines )
+ ::addSection( aTxt, "UNDEFINES" , ::aPrpUnDefines )
+ ::addSection( aTxt, "HBMK2CMDLINEPARAMS" , ::aPrpHbmk2 )
+ ::addSection( aTxt, "BATCHCOMMANDS" , ::aPrpBatch )
+ ::addSection( aTxt, "ACTIONSAFTERBUILD" , ::aPrpAActions )
+ ::addSection( aTxt, "SOURCESPRG" , ::aSrcPrgs )
+ ::addSection( aTxt, "SOURCESC" , ::aSrcCs )
+ ::addSection( aTxt, "SOURCESCPP" , ::aSrcCpps )
+ ::addSection( aTxt, "SOURCESCH" , ::aSrcChs )
+ ::addSection( aTxt, "SOURCESH" , ::aSrcHs )
+ ::addSection( aTxt, "SOURCESUI" , ::aSrcUIs )
+ ::addSection( aTxt, "SOURCESOTHER" , ::aSrcOthers )
+ //
+ AAdd( aTxt, "" )
+ AAdd( aTxt, " " )
+ AAdd( aTxt, "" )
+
+ cTxt := ""
+ aeval( aTxt, {|e| cTxt += e + hb_eol() } )
+
+ RETURN hb_memowrit( cPathTmplt, cTxt )
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:sectionToArray( cBuffer, cSection )
+ LOCAL cTxt, n, nn, cTknB, cTknE
+ LOCAL a_:={}
+
+ cTknB := "<" + cSection + ">"
+ cTknE := "" + cSection + ">"
+
+ IF ( n := at( cTknB, cBuffer ) ) > 0
+ IF( nn := at( cTknE, cBuffer ) ) > 0
+ cTxt := SubStr( cBuffer, n + Len( cTknB ), nn - 1 - ( n + Len( cTknB ) ) )
+ ENDIF
+ IF ! Empty( cTxt )
+ a_:= hb_ATokens( cTxt, Chr( 10 ) )
+ ENDIF
+ ENDIF
+
+ RETURN a_
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:getKeyValuePair( cStr )
+ LOCAL n
+
+ IF ( n := at( "=", cStr ) ) > 0
+ RETURN { alltrim( substr( cStr, 1, n - 1 ) ), alltrim( substr( cStr, n + 1 ) ) }
+ ENDIF
+
+ RETURN {}
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:retrieveSection( cBuffer, cSection, aPost )
+ LOCAL s
+
+ FOR EACH s IN ::sectiontoArray( cBuffer, cSection )
+ AAdd( aPost, alltrim( s ) )
+ NEXT
+
+ RETURN Self
+
+/*----------------------------------------------------------------------*/
+
+METHOD IdeExProject:load( cPathTmplt )
+ LOCAL cBuffer := hb_memoRead( cPathTmplt )
+ LOCAL cValid := ""
+ LOCAL s, a_
+
+ IF ! ( left( cBuffer, len( cValid ) ) == cValid )
+ RETURN Self
+ ENDIF
+
+ IF !( hb_eol() == Chr( 10 ) )
+ cBuffer := StrTran( cBuffer, hb_eol(), Chr( 10 ) )
+ ENDIF
+ IF !( hb_eol() == Chr( 13 ) + Chr( 10 ) )
+ cBuffer := StrTran( cBuffer, Chr( 13 ) + Chr( 10 ), Chr( 10 ) )
+ ENDIF
+
+ ::defaults() /* Clear variables */
+
+ FOR EACH s IN ::sectiontoArray( cBuffer, "GENERAL" )
+ IF ! empty( a_:= ::getKeyValuePair( s ) )
+ SWITCH a_[ 1 ]
+ CASE "cProjPath" ; ::cProjPath := a_[ 2 ] ; EXIT
+ CASE "cProjName" ; ::cProjName := a_[ 2 ] ; EXIT
+ CASE "cProjType" ; ::cProjType := a_[ 2 ] ; EXIT
+ CASE "cOutName" ; ::cOutName := a_[ 2 ] ; EXIT
+ CASE "cOutPath" ; ::cOutPath := a_[ 2 ] ; EXIT
+ CASE "cWorkPath" ; ::cWorkPath := a_[ 2 ] ; EXIT
+ CASE "cLaunchExe" ; ::cLaunchExe := a_[ 2 ] ; EXIT
+ CASE "cLaunchParams" ; ::cLaunchParams := a_[ 2 ] ; EXIT
+ CASE "cStayIn" ; ::cStayIn := a_[ 2 ] ; EXIT
+ CASE "lXhb" ; ::lXhb := a_[ 2 ] == "YES" ; EXIT
+ CASE "lXbase" ; ::lXbase := a_[ 2 ] == "YES" ; EXIT
+ CASE "lHbQt" ; ::lHbQt := a_[ 2 ] == "YES" ; EXIT
+ CASE "lXbp" ; ::lXbp := a_[ 2 ] == "YES" ; EXIT
+ CASE "lFwh" ; ::lFwh := a_[ 2 ] == "YES" ; EXIT
+ CASE "lHmg" ; ::lHmg := a_[ 2 ] == "YES" ; EXIT
+ CASE "lOther" ; ::lOther := a_[ 2 ] == "YES" ; EXIT
+ CASE "lA" ; ::lA := a_[ 2 ] == "YES" ; EXIT
+ CASE "lB" ; ::lB := a_[ 2 ] == "YES" ; EXIT
+ CASE "lES" ; ::lES := a_[ 2 ] == "YES" ; EXIT
+ CASE "lG" ; ::lG := a_[ 2 ] == "YES" ; EXIT
+ CASE "lJ" ; ::lJ := a_[ 2 ] == "YES" ; EXIT
+ CASE "lL" ; ::lL := a_[ 2 ] == "YES" ; EXIT
+ CASE "lM" ; ::lM := a_[ 2 ] == "YES" ; EXIT
+ CASE "lN" ; ::lN := a_[ 2 ] == "YES" ; EXIT
+ CASE "lV" ; ::lV := a_[ 2 ] == "YES" ; EXIT
+ CASE "lW" ; ::lW := a_[ 2 ] == "YES" ; EXIT
+ CASE "lZ" ; ::lZ := a_[ 2 ] == "YES" ; EXIT
+ CASE "lQ" ; ::lQ := a_[ 2 ] == "YES" ; EXIT
+ CASE "lBuild" ; ::lBuild := a_[ 2 ] == "YES" ; EXIT
+ CASE "lCredits" ; ::lCredits := a_[ 2 ] == "YES" ; EXIT
+ CASE "cES" ; ::cES := a_[ 2 ] ; EXIT
+ CASE "cG" ; ::cG := a_[ 2 ] ; EXIT
+ CASE "cM" ; ::cM := a_[ 2 ] ; EXIT
+ CASE "cW" ; ::cW := a_[ 2 ] ; EXIT
+ CASE "cQ" ; ::cQ := a_[ 2 ] ; EXIT
+ CASE "lInc" ; ::lInc := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGui" ; ::lGui := a_[ 2 ] == "YES" ; EXIT
+ CASE "lMt" ; ::lMt := a_[ 2 ] == "YES" ; EXIT
+ CASE "lShared" ; ::lShared := a_[ 2 ] == "YES" ; EXIT
+ CASE "lFullStatic" ; ::lFullStatic := a_[ 2 ] == "YES" ; EXIT
+ CASE "lTrace" ; ::lTrace := a_[ 2 ] == "YES" ; EXIT
+ CASE "lInfo" ; ::lInfo := a_[ 2 ] == "YES" ; EXIT
+ CASE "cGT" ; ::cGT := a_[ 2 ] ; EXIT
+ CASE "lGtGui" ; ::lGtGui := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtWin" ; ::lGtWin := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtWvt" ; ::lGtWvt := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtWvg" ; ::lGtWvg := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtXwc" ; ::lGtXwc := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtCgi" ; ::lGtCgi := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtTrm" ; ::lGtTrm := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtStd" ; ::lGtStd := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtSln" ; ::lGtSln := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtPca" ; ::lGtPca := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtOs2" ; ::lGtOs2 := a_[ 2 ] == "YES" ; EXIT
+ CASE "lGtCrs" ; ::lGtCrs := a_[ 2 ] == "YES" ; EXIT
+ ENDSWITCH
+ ENDIF
+ NEXT
+
+ ::retrieveSection( cBuffer, "EXTRAS" , ::aExtras )
+ ::retrieveSection( cBuffer, "HBCS" , ::aPrpHbcs )
+ ::retrieveSection( cBuffer, "LIBS" , ::aPrpLibs )
+ ::retrieveSection( cBuffer, "LIBPATHS" , ::aPrpLPaths )
+ ::retrieveSection( cBuffer, "INCLUDEPATHS" , ::aPrpIPaths )
+ ::retrieveSection( cBuffer, "DEFINES" , ::aPrpDefines )
+ ::retrieveSection( cBuffer, "UNDEFINES" , ::aPrpUnDefines )
+ ::retrieveSection( cBuffer, "HBMK2CMDLINEPARAMS" , ::aPrpHbmk2 )
+ ::retrieveSection( cBuffer, "BATCHCOMMANDS" , ::aPrpBatch )
+ ::retrieveSection( cBuffer, "ACTIONSAFTERBUILD" , ::aPrpAActions )
+ ::retrieveSection( cBuffer, "SOURCESPRG" , ::aSrcPrgs )
+ ::retrieveSection( cBuffer, "SOURCESC" , ::aSrcCs )
+ ::retrieveSection( cBuffer, "SOURCESCPP" , ::aSrcCpps )
+ ::retrieveSection( cBuffer, "SOURCESCH" , ::aSrcChs )
+ ::retrieveSection( cBuffer, "SOURCESH" , ::aSrcHs )
+ ::retrieveSection( cBuffer, "SOURCESUI" , ::aSrcUIs )
+ ::retrieveSection( cBuffer, "SOURCESOTHER" , ::aSrcOthers )
RETURN Self
diff --git a/harbour/contrib/hbide/projectwizard.ui b/harbour/contrib/hbide/projectwizard.ui
index 3ed90ebe9a..98585875af 100644
--- a/harbour/contrib/hbide/projectwizard.ui
+++ b/harbour/contrib/hbide/projectwizard.ui
@@ -1279,7 +1279,7 @@
QFrame::Raised
-
+
8