2010-07-22 10:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbxbp/hbpprocess.prg
    + Added: :waitForFinished() method.

  * contrib/hbide/idebrowse.prg
    % Reworked: ideDBU:formView - now it is presented in a scrollable widget.

  * contrib/hbide/ideprojmanager.prg
    + Added: "xbuild" project files .xbp as basis for project conversion.
    ! Changed: hb_processRun() => QProcess().
This commit is contained in:
Pritpal Bedi
2010-07-22 17:19:22 +00:00
parent 29bb18fba1
commit 8531e38655
4 changed files with 106 additions and 87 deletions

View File

@@ -16,6 +16,17 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-07-22 10:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/hbpprocess.prg
+ Added: :waitForFinished() method.
* contrib/hbide/idebrowse.prg
% Reworked: ideDBU:formView - now it is presented in a scrollable widget.
* contrib/hbide/ideprojmanager.prg
+ Added: "xbuild" project files .xbp as basis for project conversion.
! Changed: hb_processRun() => QProcess().
2010-07-22 16:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/generator/qt45.qtp

View File

@@ -471,11 +471,11 @@ METHOD IdeBrowseManager:execEvent( cEvent, p, p1 )
CASE "buttonShowForm_clicked"
IF !empty( ::oCurBrw )
IF ::oCurBrw:qForm:isHidden()
::oCurBrw:qForm:show()
IF ::oCurBrw:qScrollArea:isHidden()
::oCurBrw:qScrollArea:show()
::aToolBtns[ 3 ]:setChecked( .t. )
ELSE
::oCurBrw:qForm:hide()
::oCurBrw:qScrollArea:hide()
::aToolBtns[ 3 ]:setChecked( .f. )
ENDIF
ENDIF
@@ -1236,6 +1236,7 @@ CLASS IdeBrowse INHERIT IdeObject
DATA qSplitter
DATA qTimer
DATA qStatus
DATA qScrollArea
DATA nID INIT 0
@@ -1465,32 +1466,6 @@ METHOD IdeBrowse:destroy()
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:configure()
LOCAL nOff
LOCAL nRowPos := ::oBrw:rowPos()
LOCAL nColPos := ::oBrw:colPos()
::oBrw:configure()
IF nRowPos > ::oBrw:rowCount()
nOff := nRowPos - ::oBrw:rowCount()
::oBrw:rowPos := ::oBrw:rowCount()
ELSE
nOff := 0
ENDIF
::oBrw:colPos := nColPos
::oBrw:refreshAll()
::oBrw:forceStable()
::oBrw:setCurrentIndex( nRowPos > ::oBrw:rowCount() )
IF nOff > 0
SetAppEvent( xbeBRW_Navigate, XBPBRW_Navigate_Skip, nOff, ::oBrw )
ENDIF
RETURN Self
/*------------------------------------------------------------------------*/
METHOD IdeBrowse:buildBrowser()
LOCAL qLayout, oWnd, oXbpBrowse
@@ -1530,17 +1505,23 @@ METHOD IdeBrowse:buildBrowser()
/* Form View */
::qForm := QWidget():new()
::qForm:setMinimumSize( QSize():new( 300 , len( ::aStruct ) * 34 ) )
::qForm:setMaximumSize( QSize():new( 12000, 48000 ) )
::qFLayout := QFormLayout():new()
::qForm:setLayout( ::qFLayout )
//::qSplitter:addWidget( ::qForm )
::qScrollArea := QScrollArea():new()
::qScrollArea:setWidget( ::qForm )
::qScrollArea:hide()
::qForm:hide() /* Form view defaults to hidden */
::qSplitter:addWidget( ::qScrollArea )
::qLayout := qLayout
::oWnd := oWnd
::oBrw := oXbpBrowse
#if 0
::qVerSpl := QSplitter():new( Qt_Vertical )
::qSplitter:addWidget( ::qVerSpl )
@@ -1551,7 +1532,52 @@ METHOD IdeBrowse:buildBrowser()
::qClose:hide()
::qVerSpl:addWidget( ::qClose )
#endif
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:buildColumns()
LOCAL oXbpColumn, aPresParam, a_
IF ::nType == BRW_TYPE_DBF
FOR EACH a_ IN ::aStruct
aPresParam := ::getPP( a_ )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := ::dataLink( a_:__enumIndex() )
oXbpColumn:create( , , , , aPresParam )
::oBrw:addColumn( oXbpColumn )
NEXT
ELSE
FOR EACH a_ IN ::aStruct
::getPP( a_, a_:__enumIndex() )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := ::dataLink( a_:__enumIndex() )
oXbpColumn:create( , , , , aPresParam )
::oBrw:addColumn( oXbpColumn )
NEXT
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:buildForm()
LOCAL a_, qLbl, qEdit
IF ::nType == BRW_TYPE_DBF
FOR EACH a_ IN ::aStruct
qLbl := QLabel():new(); qLbl:setText( a_[ 1 ] )
qEdit := QLineEdit():new()
::qFLayout:addRow( qLbl, qEdit )
aadd( ::aForm, { qLbl, qEdit } )
NEXT
ELSE
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
@@ -1598,6 +1624,32 @@ METHOD IdeBrowse:buildMdiWindow()
/*------------------------------------------------------------------------*/
METHOD IdeBrowse:configure()
LOCAL nOff
LOCAL nRowPos := ::oBrw:rowPos()
LOCAL nColPos := ::oBrw:colPos()
::oBrw:configure()
IF nRowPos > ::oBrw:rowCount()
nOff := nRowPos - ::oBrw:rowCount()
::oBrw:rowPos := ::oBrw:rowCount()
ELSE
nOff := 0
ENDIF
::oBrw:colPos := nColPos
::oBrw:refreshAll()
::oBrw:forceStable()
::oBrw:setCurrentIndex( nRowPos > ::oBrw:rowCount() )
IF nOff > 0
SetAppEvent( xbeBRW_Navigate, XBPBRW_Navigate_Skip, nOff, ::oBrw )
ENDIF
RETURN Self
/*------------------------------------------------------------------------*/
METHOD IdeBrowse:execEvent( cEvent, p, p1 )
LOCAL cIndex, a_, cPmt, nZeros
@@ -1785,24 +1837,6 @@ METHOD IdeBrowse:populateForm()
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:buildForm()
LOCAL a_, qLbl, qEdit
IF ::nType == BRW_TYPE_DBF
FOR EACH a_ IN ::aStruct
qLbl := QLabel():new(); qLbl:setText( a_[ 1 ] )
qEdit := QLineEdit():new()
::qFLayout:addRow( qLbl, qEdit )
aadd( ::aForm, { qLbl, qEdit } )
NEXT
ELSE
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:saveField( nField, x )
IF ( ::cAlias )->( DbrLock() )
( ::cAlias )->( FieldPut( nField, x ) )
@@ -1829,35 +1863,6 @@ METHOD IdeBrowse:dataLink( nField )
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:buildColumns()
LOCAL oXbpColumn, aPresParam, a_
IF ::nType == BRW_TYPE_DBF
FOR EACH a_ IN ::aStruct
aPresParam := ::getPP( a_ )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := ::dataLink( a_:__enumIndex() )
oXbpColumn:create( , , , , aPresParam )
::oBrw:addColumn( oXbpColumn )
NEXT
ELSE
FOR EACH a_ IN ::aStruct
::getPP( a_, a_:__enumIndex() )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := ::dataLink( a_:__enumIndex() )
oXbpColumn:create( , , , , aPresParam )
::oBrw:addColumn( oXbpColumn )
NEXT
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeBrowse:getPP( aStruct )
LOCAL aPresParam := {}

View File

@@ -342,7 +342,8 @@ METHOD IdeProjManager:loadProperties( cProjFileName, lNew, lFetch, lUpdateTree )
ELSE
IF empty( cProjFileName )
cProjFileName := hbide_fetchAFile( ::oDlg, "Open Project...", { { "Harbour Projects", "*.hbp" } , ;
{ "xMate Projects" , "*.xhp" } } )
{ "xMate Projects" , "*.xhp" } , ;
{ "xBuild Projects" , "*.xbp" } } )
cProjFileName := ::synchronizeAlienProject( cProjFileName )
::oDockPT:show()
@@ -814,7 +815,7 @@ METHOD IdeProjManager:buildInterface()
METHOD IdeProjManager:synchronizeAlienProject( cProjFileName )
LOCAL cPath, cFile, cExt, cHbp
LOCAL cExeHbMk2
LOCAL cExeHbMk2, oProcess, cCmd
hb_fNameSplit( cProjFileName, @cPath, @cFile, @cExt )
IF lower( cExt ) == ".hbp" /* Nothing to do */
@@ -832,23 +833,24 @@ METHOD IdeProjManager:synchronizeAlienProject( cProjFileName )
ENDIF
ENDIF
cExeHbMk2 := "hbmk2"
IF ! Empty( ::oIDE:oINI:cPathHbMk2 )
cExeHbMk2 := hbide_DirAddPathSep( ::oIDE:oINI:cPathHbMk2 ) + cExeHbMk2
ENDIF
cExeHbMk2 := ::oINI:getHbmk2File()
SWITCH lower( cExt )
CASE ".xhp"
hb_processRun( cExeHbMk2 + " -xhp=" + cProjFileName )
cCmd := cExeHbMk2 + " -xhp=" + cProjFileName
EXIT
CASE ".xbp"
hb_processRun( cExeHbMk2 + " -xbp=" + cProjFileName )
cCmd := cExeHbMk2 + " -xbp=" + cProjFileName
EXIT
CASE "???"
hb_processRun( cExeHbMk2 + " -hbmake=" + cProjFileName )
cCmd := cExeHbMk2 + " -hbmake=" + cProjFileName
EXIT
ENDSWITCH
oProcess := QProcess():new()
oProcess:start_1( cCmd )
oProcess:waitForFinished()
RETURN cHbp
/*----------------------------------------------------------------------*/

View File

@@ -99,6 +99,7 @@ CLASS HbpProcess
METHOD addArg( cArg )
METHOD start( cShellCmd )
METHOD waitForFinished() INLINE ::qProcess:waitForFinished()
METHOD finished( bBlock ) SETGET // Slot
METHOD output( bBlock ) SETGET // Slot
METHOD workingPath( cPath ) SETGET // Slot