From bcba7278c8a2c57a0916c5868fb94b6ccbb2f38b Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Sun, 3 Apr 2011 15:38:27 +0000 Subject: [PATCH] 2011-04-03 08:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqtgui.ch + Added: QFormLayout_* constants. * contrib/hbqt/qtgui/qth/QWidget.qth ! Modified: :setParent( QWidget * w ) => :setParent( QWidget * w = 0 ) It is undocumented change but perhaps Qt has ommitted. Works fine. So to set the parent of a widget to nil is now easier. * contrib/hbqt/hbmk2_qt.hbs ! Code cleanup. ! Minor formatting. ! zimproved handelling of default parameters. ; ROUND # 1: More to follow. --- harbour/ChangeLog | 15 ++ harbour/contrib/hbqt/hbmk2_qt.hbs | 183 ++++++--------------- harbour/contrib/hbqt/qtgui/hbqtgui.ch | 11 ++ harbour/contrib/hbqt/qtgui/qth/QWidget.qth | 4 +- 4 files changed, 81 insertions(+), 132 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4272be35bd..d0257cb17e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,21 @@ The license applies to all entries newer than 2009-04-28. */ +2011-04-03 08:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/qtgui/hbqtgui.ch + + Added: QFormLayout_* constants. + + * contrib/hbqt/qtgui/qth/QWidget.qth + ! Modified: :setParent( QWidget * w ) => :setParent( QWidget * w = 0 ) + It is undocumented change but perhaps Qt has ommitted. Works fine. + So to set the parent of a widget to nil is now easier. + + * contrib/hbqt/hbmk2_qt.hbs + ! Code cleanup. + ! Minor formatting. + ! zimproved handelling of default parameters. + ; ROUND # 1: More to follow. + 2011-04-03 08:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QDockWidget.qth ! Detached: :setWidget(). diff --git a/harbour/contrib/hbqt/hbmk2_qt.hbs b/harbour/contrib/hbqt/hbmk2_qt.hbs index ae79424b8e..206d3fb050 100644 --- a/harbour/contrib/hbqt/hbmk2_qt.hbs +++ b/harbour/contrib/hbqt/hbmk2_qt.hbs @@ -1860,7 +1860,7 @@ METHOD HbQtSource:getMethodBody( oMtd, cMtdName, aMethods, nClsType ) ENDIF FOR n := a_[ i ]:nArgsReal + 1 TO a_[ i ]:nArgs - t_ += " && ( pcount < " + hb_ntos( n )+ " || " + hbide_paramCheckStrCpp( a_[i]:hArgs[ n ]:cTypeHB, n, a_[i]:hArgs[ n ]:cCast ) + ")" + t_ += " && ( pcount < " + hb_ntos( n )+ " || " + hbide_paramCheckStrCpp( a_[i]:hArgs[ n ]:cTypeHB, n, a_[i]:hArgs[ n ]:cCast ) + " )" NEXT aadd( txt_, " " + iif( i > 1 , "else if", "if" ) + "( pcount " + ; @@ -2099,7 +2099,6 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) LOCAL aArg, n, nn, cHBIdx, nIndex, s, ss, cFirstParamCast, cArg LOCAL oMtd, oRet, oArg, k, cKey, cVal LOCAL cRef - LOCAL cHBIdxN := "1", sN := "" IF ( n := at( "(", cProto ) ) == 0 RETURN .f. @@ -2167,9 +2166,7 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) oMtd:hArgs[ nIndex ] := oArg oMtd:nHBIdx := nIndex // iif( oMtd:isConstructor, 0, 1 ) - oMtd:nHBIdxN := nIndex cHBIdx := hb_ntos( oMtd:nHBIdx ) - cHBIdxN := hb_ntos( nIndex ) oMtd:cDocNM := HBQTGEN_THIS_PROPER( oArg:cName ) oMtd:nArgs++ @@ -2187,53 +2184,42 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) DO CASE CASE oArg:cCast == "..." oArg:cBody := "..." - oArg:cBodyN := "..." oArg:cDoc := "..." oArg:cTypeHB := "..." CASE oArg:cCast == "PHB_ITEM" oArg:cBody := "hb_param( " + cHBIdx + ", HB_IT_ANY )" - oArg:cBodyN := "hb_param( " + cHBIdxN + ", HB_IT_ANY )" oArg:cDoc := "x" + oMtd:cDocNM oArg:cTypeHB := "PB" CASE oArg:cCast == "T" oArg:cBody := "hb_param( " + cHBIdx + ", HB_IT_ANY )" - oArg:cBodyN := "hb_param( " + cHBIdxN + ", HB_IT_ANY )" oArg:cDoc := "x" + oMtd:cDocNM oArg:cTypeHB := "P" - CASE oArg:cCast $ ::cInt .and. oArg:lFar + CASE oArg:cCast $ ::cInt .AND. oArg:lFar aadd( oMtd:aPre, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdx, "i" + oMtd:cDocNM, "hb_storni" } ) - aadd( oMtd:aPreN, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdxN, "i" + oMtd:cDocNM, "hb_storni" } ) oArg:cBody := "&i" + oMtd:cDocNM - oArg:cBodyN := "&i" + oMtd:cDocNM oArg:cDoc := "@n" + oMtd:cDocNM oArg:cTypeHB := "N*" - CASE oArg:cCast $ ::cIntLong .and. oArg:lFar + CASE oArg:cCast $ ::cIntLong .AND. oArg:lFar aadd( oMtd:aPre, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdx, "i" + oMtd:cDocNM, "hb_stornl" } ) - aadd( oMtd:aPreN, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdxN, "i" + oMtd:cDocNM, "hb_stornl" } ) oArg:cBody := "&i" + oMtd:cDocNM - oArg:cBodyN := "&i" + oMtd:cDocNM oArg:cDoc := "@n" + oMtd:cDocNM oArg:cTypeHB := "N*" - CASE oArg:cCast $ ::cIntLongLong .and. oArg:lFar + CASE oArg:cCast $ ::cIntLongLong .AND. oArg:lFar aadd( oMtd:aPre, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdx, "i" + oMtd:cDocNM, "hb_stornint" } ) - aadd( oMtd:aPreN, { oArg:cCast + " i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdxN, "i" + oMtd:cDocNM, "hb_stornint" } ) oArg:cBody := "&i" + oMtd:cDocNM - oArg:cBodyN := "&i" + oMtd:cDocNM oArg:cDoc := "@n" + oMtd:cDocNM oArg:cTypeHB := "N*" CASE oArg:cCast $ ::cInt IF !empty( oArg:cDefault ) .AND. !( oArg:cDefault == "0" ) oArg:cBody := "hb_parnidef( " + cHBIdx + ", " + oArg:cDefault + " )" - oArg:cBodyN := "hb_parnidef( " + cHBIdxN + ", " + oArg:cDefault + " )" ELSE oArg:cBody := "hb_parni( " + cHBIdx + " )" - oArg:cBodyN := "hb_parni( " + cHBIdxN + " )" ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" @@ -2241,10 +2227,8 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) CASE oArg:cCast $ ::cIntLong IF !empty( oArg:cDefault ) .AND. !( oArg:cDefault == "0" ) oArg:cBody := "hb_parnldef( " + cHBIdx + ", " + oArg:cDefault + " )" - oArg:cBodyN := "hb_parnldef( " + cHBIdxN + ", " + oArg:cDefault + " )" ELSE oArg:cBody := "hb_parnl( " + cHBIdx + " )" - oArg:cBodyN := "hb_parnl( " + cHBIdxN + " )" ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" @@ -2252,10 +2236,8 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) CASE oArg:cCast $ "qlonglong,qulonglong" IF !empty( oArg:cDefault ) .AND. !( oArg:cDefault == "0" ) oArg:cBody := "( " + oArg:cCast + " ) hb_parnintdef( " + cHBIdx + ", " + oArg:cDefault + " )" - oArg:cBodyN := "( " + oArg:cCast + " ) hb_parnintdef( " + cHBIdxN + ", " + oArg:cDefault + " )" ELSE oArg:cBody := "( " + oArg:cCast + " ) hb_parnint( " + cHBIdx + " )" - oArg:cBodyN := "( " + oArg:cCast + " ) hb_parnint( " + cHBIdxN + " )" ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" @@ -2263,76 +2245,68 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) CASE oArg:cCast $ ::cIntLongLong IF !empty( oArg:cDefault ) .AND. !( oArg:cDefault == "0" ) oArg:cBody := "hb_parnintdef( " + cHBIdx + ", " + oArg:cDefault + " )" - oArg:cBodyN := "hb_parnintdef( " + cHBIdxN + ", " + oArg:cDefault + " )" ELSE oArg:cBody := "hb_parnint( " + cHBIdx + " )" - oArg:cBodyN := "hb_parnint( " + cHBIdxN + " )" ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" - CASE oArg:cCast $ "double,qreal" .and. oArg:lFar + CASE oArg:cCast $ "double,qreal" .AND. oArg:lFar aadd( oMtd:aPre, { "qreal qr" + oMtd:cDocNM + " = 0;", oMtd:nHBIdx, "qr" + oMtd:cDocNM, "hb_stornd" } ) - aadd( oMtd:aPreN, { "qreal qr" + oMtd:cDocNM + " = 0;", oMtd:nHBIdxN, "qr" + oMtd:cDocNM, "hb_stornd" } ) oArg:cBody := "&qr" + oMtd:cDocNM - oArg:cBodyN := "&qr" + oMtd:cDocNM oArg:cDoc := "@n" + oMtd:cDocNM oArg:cTypeHB := "N*" CASE oArg:cCast $ "double,qreal,float" - oArg:cBody := "hb_parnd( " + cHBIdx + " )" - oArg:cBodyN := "hb_parnd( " + cHBIdxN + " )" + s := "hb_parnd( " + cHBIdx + " )" + IF !empty( oArg:cDefault ) + oArg:cBody := "( HB_ISNUM( " + cHBIdx + " ) ? " + s + " : " + oArg:cDefault + " )" + ELSE + oArg:cBody := s + ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" - CASE oArg:cCast == "uchar" .and. oArg:lFar .and. ! oArg:lConst + CASE oArg:cCast == "uchar" .AND. oArg:lFar .AND. ! oArg:lConst /* TOFIX: Such code is not valid and should never be generated (const->non-const) [vszakats] */ oArg:cBody := "( uchar * ) hb_parc( " + cHBIdx + " )" oArg:cDoc := "c" + oMtd:cDocNM oArg:cTypeHB := "C" - CASE oArg:cCast == "uchar" .and. oArg:lFar .and. oArg:lConst + CASE oArg:cCast == "uchar" .AND. oArg:lFar .AND. oArg:lConst oArg:cBody := "( const uchar * ) hb_parc( " + cHBIdx + " )" - oArg:cBodyN := "( uchar ) hb_parni( " + cHBIdxN + " )" oArg:cDoc := "c" + oMtd:cDocNM oArg:cTypeHB := "C" - CASE oArg:cCast == "uchar" .and. ! oArg:lFar .and. ! oArg:lConst + CASE oArg:cCast == "uchar" .AND. ! oArg:lFar .AND. ! oArg:lConst oArg:cBody := "( uchar ) hb_parni( " + cHBIdx + " )" - oArg:cBodyN := "( uchar ) hb_parni( " + cHBIdxN + " )" oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" - CASE oArg:cCast == "char" .and. oArg:lFar .and. ! oArg:lConst + CASE oArg:cCast == "char" .AND. oArg:lFar .AND. ! oArg:lConst /* TOFIX: Such code is not valid and should never be generated (const->non-const) [vszakats] */ oArg:cBody := "( char * ) hb_parc( " + cHBIdx + " )" - oArg:cBodyN := "( char * ) hb_parc( " + cHBIdxN + " )" oArg:cDoc := "c" + oMtd:cDocNM oArg:cTypeHB := "C" - CASE oArg:cCast == "char" .and. oArg:lFar .and. oArg:lConst + CASE oArg:cCast == "char" .AND. oArg:lFar .AND. oArg:lConst oArg:cBody := "( const char * ) hb_parc( " + cHBIdx + " )" - oArg:cBodyN := "( const char * ) hb_parc( " + cHBIdxN + " )" oArg:cDoc := "c" + oMtd:cDocNM oArg:cTypeHB := "C" - CASE oArg:cCast == "char" .and. ! oArg:lFar .and. ! oArg:lConst + CASE oArg:cCast == "char" .AND. ! oArg:lFar .AND. ! oArg:lConst oArg:cBody := "( char ) hb_parni( " + cHBIdx + " )" - oArg:cBodyN := "( char ) hb_parni( " + cHBIdxN + " )" oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" - CASE ( "::" $ oArg:cCast ) .and. oArg:lFar + CASE ( "::" $ oArg:cCast ) .AND. oArg:lFar aadd( oMtd:aPre, { oArg:cCast + " i" + oMtd:cDocNM + " = ( " + oArg:cCast + " ) 0;", oMtd:nHBIdx, "i" + oMtd:cDocNM, "hb_storni" } ) - aadd( oMtd:aPreN, { oArg:cCast + " i" + oMtd:cDocNM + " = ( " + oArg:cCast + " ) 0;", oMtd:nHBIdxN, "i" + oMtd:cDocNM, "hb_storni" } ) oArg:cBody := "&i" + oMtd:cDocNM - oArg:cBodyN := "&i" + oMtd:cDocNM oArg:cDoc := "@n" + oMtd:cDocNM oArg:cTypeHB := "N" CASE ( "::" $ oArg:cCast ) s := "( " + oArg:cCast + " ) hb_parni( " + cHBIdx + " )" - sN := "( " + oArg:cCast + " ) hb_parni( " + cHBIdxN + " )" IF !empty( oArg:cDefault ) .AND. !( oArg:cDefault == "0" ) IF ascan( ::enum_, oArg:cDefault ) > 0 ss := ::cQtObject + "::" + oArg:cDefault @@ -2342,87 +2316,79 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) ENDIF ss := "( " + oArg:cCast + " ) " + ss oArg:cBody := "( HB_ISNUM( " + cHBIdx + " ) ? " + s + " : " + ss + " )" - oArg:cBodyN := "( HB_ISNUM( " + cHBIdxN + " ) ? " + sN + " : " + ss + " )" ELSE oArg:cBody := s - oArg:cBodyN := sN ENDIF oArg:cDoc := "n" + oMtd:cDocNM oArg:cTypeHB := "N" - CASE oArg:cCast == "bool" .and. oArg:lFar + CASE oArg:cCast == "bool" .AND. oArg:lFar aadd( oMtd:aPre, { "bool i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdx, "i" + oMtd:cDocNM, "hb_stornl" } ) - aadd( oMtd:aPreN, { "bool i" + oMtd:cDocNM + " = 0;", oMtd:nHBIdxN, "i" + oMtd:cDocNM, "hb_stornl" } ) oArg:cBody := "&i" + oMtd:cDocNM - oArg:cBodyN := "&i" + oMtd:cDocNM oArg:cDoc := "@l" + oMtd:cDocNM oArg:cTypeHB := "L" CASE oArg:cCast == "bool" - oArg:cBody := "hb_parl( " + cHBIdx + " )" - oArg:cBodyN := "hb_parl( " + cHBIdxN + " )" + s := "hb_parl( " + cHBIdx + " )" + IF !empty( oArg:cDefault ) + oArg:cBody := "( HB_ISLOG( " + cHBIdx + " ) ? " + s + " : " + oArg:cDefault + " )" + ELSE + oArg:cBody := s + ENDIF oArg:cDoc := "l" + oMtd:cDocNM oArg:cTypeHB := "L" CASE oArg:cCast == "QString" oArg:cBody := "hb_parstr_utf8( " + cHBIdx + ", &pText%%%, NULL )" - oArg:cBodyN := "hb_parstr_utf8( " + cHBIdxN + ", &pText%%%, NULL )" oArg:cDoc := "c" + oMtd:cDocNM // oArg:cCast - W R O N G oArg:cTypeHB := "C" #if 0 CASE oArg:cCast == "FT_Face" oArg:cBody := "hbqt_par_FT_Face( " + cHBIdx + " )" - oArg:cBodyN := "hbqt_par_FT_Face( " + cHBIdxN + " )" oArg:cDoc := "c" + oMtd:cDocNM oArg:cTypeHB := "C" #endif CASE oArg:cCast == "QIcon" cRef := "QIcon" s := "*hbqt_par_QIcon( " + cHBIdx + " )" - sN := "*hbqt_par_QIcon( " + cHBIdxN + " )" oArg:cBody := "( HB_ISCHAR( " + cHBIdx + " ) ? " + "QIcon( hbqt_par_QString( " + cHBIdx + " ) )" + " : " + s + ")" - oArg:cBodyN := "( HB_ISCHAR( " + cHBIdxN + " ) ? " + "QIcon( hbqt_par_QString( " + cHBIdxN + " ) )" + " : " + sN + ")" - oArg:cDoc := "co" + oArg:cCast //oMtd:cDocNM // "p" - oArg:cTypeHB := "CO" // "PCO" + oArg:cDoc := "co" + oArg:cCast + oArg:cTypeHB := "CO" CASE oArg:lFar cRef := oArg:cCast - oArg:cBody := "hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" - oArg:cBodyN := "hbqt_par_" + oArg:cCast + "( " + cHBIdxN + " )" - oArg:cDoc := "o" + oArg:cCast //oMtd:cDocNM - oArg:cTypeHB := "O" // "PO" + oArg:cBody := "hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" + IF !empty( oArg:cDefault ) + oArg:cBody := "( HB_ISOBJECT( " + cHBIdx + " ) ? " + oArg:cBody + " : " + oArg:cDefault + " )" + ENDIF + oArg:cDoc := "o" + oArg:cCast + oArg:cTypeHB := "O" CASE oArg:lAnd .AND. oArg:lConst cRef := oArg:cCast s := "*hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" - sN := "*hbqt_par_" + oArg:cCast + "( " + cHBIdxN + " )" - IF !empty( oArg:cDefault ) .and. ( "(" $ oArg:cDefault ) + IF !empty( oArg:cDefault ) .AND. ( "(" $ oArg:cDefault ) oArg:cBody := "( HB_ISOBJECT( " + cHBIdx + " ) ? " + s + " : " + oArg:cDefault + " )" - oArg:cBodyN := "( HB_ISOBJECT( " + cHBIdxN + " ) ? " + sN + " : " + oArg:cDefault + " )" ELSE oArg:cBody := s - oArg:cBodyN := sN ENDIF - oArg:cDoc := "o" + oArg:cCast //oMtd:cDocNM - oArg:cTypeHB := "O" //"PO" + oArg:cDoc := "o" + oArg:cCast + oArg:cTypeHB := "O" CASE oArg:lAnd cRef := oArg:cCast oArg:cBody := "*hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" - oArg:cBodyN := "*hbqt_par_" + oArg:cCast + "( " + cHBIdxN + " )" - oArg:cDoc := "o" + oArg:cCast //oMtd:cDocNM //p - oArg:cTypeHB := "O" //"PO" + oArg:cDoc := "o" + oArg:cCast + oArg:cTypeHB := "O" CASE oArg:cCast == "QChar" cRef := oArg:cCast oArg:cBody := "*hbqt_par_" + oArg:cCast + "( " + cHBIdx + " )" - oArg:cBodyN := "*hbqt_par_" + oArg:cCast + "( " + cHBIdxN + " )" - oArg:cDoc := "o" + oArg:cCast //oMtd:cDocNM - oArg:cTypeHB := "O" //"PO" + oArg:cDoc := "o" + oArg:cCast + oArg:cTypeHB := "O" OTHERWISE oArg:cBody := "" /* Just in case */ - oArg:cBodyN := "" /* Just in case */ oArg:cDoc := "" oArg:cTypeHB := "" @@ -2431,7 +2397,6 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) hbqtgen_AddRef( ::hRef, cRef ) oMtd:cParas += oArg:cBody + ", " - oMtd:cParasN += oArg:cBodyN + ", " oMtd:cDocs += oArg:cDoc + ", " NEXT ENDIF @@ -2457,15 +2422,9 @@ METHOD HbQtSource:parseProto( cProto, fBody_ ) oMtd:cParas := substr( oMtd:cParas, 1, len( oMtd:cParas ) - 2 ) oMtd:cDocs := substr( oMtd:cDocs , 1, len( oMtd:cDocs ) - 2 ) ENDIF - IF right( oMtd:cParasN, 2 ) == ", " - oMtd:cParasN := substr( oMtd:cParasN, 1, len( oMtd:cParasN ) - 2 ) - ENDIF ::buildCppCode( oMtd ) - HB_SYMBOL_UNUSED( cHBIdxN ) - HB_SYMBOL_UNUSED( sN ) - RETURN oMtd:lValid /*----------------------------------------------------------------------*/ @@ -2483,39 +2442,31 @@ STATIC PROCEDURE hbqtgen_AddRef( hRef, cRef ) METHOD HbQtSource:buildCppCode( oMtd ) LOCAL oRet := oMtd:oRet LOCAL cPara := oMtd:cParas - LOCAL cParaN := oMtd:cParasN LOCAL cRef, cRefInList oMtd:cWdg := "hbqt_par_" + ::cQtObject + "( 1 )->" oMtd:cParas := iif( oMtd:isVariable(), "", "( " + oMtd:cParas + " )" ) - //oMtd:cParasN := iif( oMtd:isVariable(), "", "( " + oMtd:cParasN + " )" ) oMtd:cCmn := oMtd:cWdg + oMtd:cFun + oMtd:cParas - //oMtd:cCmnN := "( _" + lower( substr( ::cQtObject, 2 ) ) + " )->" + oMtd:cFun + oMtd:cParasN oMtd:cDocNMRet := HBQTGEN_THIS_PROPER( oRet:cName ) DO CASE CASE oMtd:isConstructor oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + ::cQtObject + "( new " + oRet:cCast + "( " + cPara + " ), true )" + ', "HB_' + upper(::cQtObject) +'")' - oMtd:cCmdN := "hbqt_create_objectGC( hbqt_gcAllocate_" + ::cQtObject + "( new " + oRet:cCast + "( " + cParaN + " ), true )" + ', "HB_' + upper( ::cQtObject ) + '")' - oMtd:cPrgRet := "o" + ::cQtObject // "p" + oMtd:cPrgRet := "o" + ::cQtObject CASE "<" $ oRet:cCast DO CASE CASE ! ( "QList" $ oRet:cCast ) oMtd:cCmd := "" - oMtd:cCmdN := "" oMtd:cPrgRet := "" CASE "::" $ oRet:cCast oMtd:cCmd := "" - oMtd:cCmdN := "" oMtd:cPrgRet := "" CASE "QPair" $ oRet:cCast oMtd:cCmd := "" - oMtd:cCmdN := "" oMtd:cPrgRet := "" CASE "" $ oRet:cCast oMtd:cCmd := "" - oMtd:cCmdN := "" oMtd:cPrgRet := "" OTHERWISE cRef := "QList" @@ -2525,92 +2476,73 @@ METHOD HbQtSource:buildCppCode( oMtd ) cRefInList := strtran( cRefInList, " " ) oMtd:isRetList := .t. oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_QList( new " + oRet:cCast + "( " + oMtd:cCmn + " ), true ) " + ', "HB_' + upper( ::cQtObject ) + '" )' - //oMtd:cCmdN := "hbqt_create_objectGC( hbqt_gcAllocate_QList( new " + oRet:cCast + "( " + oMtd:cCmnN + " ), true ) " + ', "HB_' + upper( ::cQtObject ) + '" )' oMtd:cPrgRet := "o" + oMtd:cDocNMRet ENDCASE CASE oRet:cCast == "T" - /* TOFIX: Such code is not valid and should never be generated [vszakats] */ - #if 1 oMtd:cCmd := "hb_itemReturn( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_itemReturn( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "o" + oMtd:cDocNMRet - #else - oMtd:cCmd := "hb_retptr( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retptr( " + oMtd:cCmnN + " )" - oMtd:cPrgRet := "p" + oMtd:cDocNMRet - #endif CASE oRet:cCast == "void" oMtd:cCmd := oMtd:cCmn - oMtd:cCmdN := oMtd:cCmnN oMtd:cPrgRet := "NIL" CASE oRet:cCast $ ::cInt oMtd:cCmd := "hb_retni( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retni( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "n" + oMtd:cDocNMRet CASE oRet:cCast $ ::cIntLong oMtd:cCmd := "hb_retnl( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retnl( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "n" + oMtd:cDocNMRet CASE oRet:cCast $ ::cIntLongLong oMtd:cCmd := "hb_retnint( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retnint( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "n" + oMtd:cDocNMRet CASE oRet:cCast $ "double,qreal,float" oMtd:cCmd := "hb_retnd( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retnd( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "n" + oMtd:cDocNMRet CASE "::" $ oRet:cCast oMtd:cCmd := "hb_retni( ( " + oRet:cCast + " ) " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retni( ( " + oRet:cCast + " ) " + oMtd:cCmnN + " )" oMtd:cPrgRet := "n" + oMtd:cDocNMRet CASE oRet:cCast == "bool" oMtd:cCmd := "hb_retl( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retl( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "l" + oMtd:cDocNMRet CASE oRet:cCast == "char" .AND. oRet:lFar oMtd:cCmd := "hb_retc( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retc( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "c" + oMtd:cDocNMRet CASE oRet:cCast == "char" oMtd:cCmd := "hb_retni( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retni( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "c" + oMtd:cDocNMRet CASE oRet:cCast == "QString" oMtd:cCmd := "hb_retstr_utf8( " + oMtd:cCmn + ".toUtf8().data()" + " )" - oMtd:cCmdN := "hb_retstr_utf8( " + oMtd:cCmnN + ".toUtf8().data()" + " )" oMtd:cPrgRet := "c" + oMtd:cDocNMRet CASE oRet:cCast == "FT_Face" oMtd:cCmd := "hb_retc( " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retc( " + oMtd:cCmnN + " )" oMtd:cPrgRet := "c" + oMtd:cDocNMRet CASE oRet:lFar .AND. ( oRet:cCast $ "uchar" ) oMtd:cCmd := "hb_retc( ( const char * ) " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retc( ( const char * ) " + oMtd:cCmnN + " )" - oMtd:cPrgRet := "c" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "c" + oMtd:cDocNMRet CASE oRet:lFar .AND. ! oRet:lConst + cRef := oRet:cCast + oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn, .F. ) + #if 0 IF hbqtgen_isAqtObject( oRet:cCast ) cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn, .F. ) - oMtd:cCmdN := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmnN, .F. ) ELSE /* TOFIX: Such code is not valid and should never be generated [vszakats] */ oMtd:cCmd := "hb_retptr( ( " + oRet:cCast + "* ) " + oMtd:cCmn + " )" - oMtd:cCmdN := "hb_retptr( ( " + oRet:cCast + "* ) " + oMtd:cCmnN + " )" ENDIF + #endif oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE hbqtgen_isAqtObject( oRet:cCast ) .AND. ; @@ -2619,8 +2551,7 @@ METHOD HbQtSource:buildCppCode( oMtd ) "Abstract" $ oRet:cCast cRef := oRet:cCast oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmn + ", false ) " + ', "HB_' + upper( ::cQtObject ) + '" )' - oMtd:cCmdN := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmnN + ", false ) " + ', "HB_' + upper( ::cQtObject ) + '" )' - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE hbqtgen_isAqtObject( oRet:cCast ) .AND. ; oRet:lFar .AND. ; @@ -2628,8 +2559,7 @@ METHOD HbQtSource:buildCppCode( oMtd ) oRet:lVirt cRef := oRet:cCast oMtd:cCmd := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmn + ", false ) " + ', "HB_' + upper( ::cQtObject ) + '" )' - oMtd:cCmdN := "hbqt_create_objectGC( hbqt_gcAllocate_" + oRet:cCast + "( ( void * ) " + oMtd:cCmnN + ", false ) " + ', "HB_' + upper( ::cQtObject ) + '" )' - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE hbqtgen_isAqtObject( oRet:cCast ) .AND. ; oRet:lFar .AND. ; @@ -2637,38 +2567,32 @@ METHOD HbQtSource:buildCppCode( oMtd ) oRet:lConstL cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command_1( oRet:cCast, oMtd:cCmn ) - oMtd:cCmdN := hbqtgen_Get_Command_1( oRet:cCast, oMtd:cCmnN ) - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE oRet:lAnd .AND. oRet:lConst cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn ) - oMtd:cCmdN := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmnN ) - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE oRet:lConst cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn ) - oMtd:cCmdN := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmnN ) - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet CASE oRet:lAnd cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn ) - oMtd:cCmdN := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmnN ) - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet OTHERWISE /* No attribute is attached to return value */ IF hbqtgen_isAqtObject( oRet:cCast ) cRef := oRet:cCast oMtd:cCmd := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmn ) - oMtd:cCmdN := hbqtgen_Get_Command( oRet:cCast, oMtd:cCmnN ) - oMtd:cPrgRet := "o" + oMtd:cDocNMRet //p + oMtd:cPrgRet := "o" + oMtd:cDocNMRet ELSE oMtd:cError := "<<< " + oMtd:cProto + " | " + oRet:cCast + " >>>" oMtd:cCmd := "" - oMtd:cCmdN := "" oMtd:cPrgRet := "" ENDIF ENDCASE @@ -2676,7 +2600,6 @@ METHOD HbQtSource:buildCppCode( oMtd ) /* Lists to be disabled in parameters - TODO */ IF "<" $ oMtd:cPar oMtd:cCmd := "" - oMtd:cCmdN := "" ENDIF IF ( oMtd:lValid := ! Empty( oMtd:cCmd ) ) diff --git a/harbour/contrib/hbqt/qtgui/hbqtgui.ch b/harbour/contrib/hbqt/qtgui/hbqtgui.ch index d9b736355d..da1b416f48 100644 --- a/harbour/contrib/hbqt/qtgui/hbqtgui.ch +++ b/harbour/contrib/hbqt/qtgui/hbqtgui.ch @@ -2277,6 +2277,17 @@ #define QDesktopServices_DataLocation 9 // Returns a directory location where persistent application data can be stored. QCoreApplication::applicationName and QCoreApplication::organizationName should work on all platforms. #define QDesktopServices_CacheLocation 10 // Returns a directory location where user-specific non-essential (cached) data should be written. + +#define QFormLayout_FieldsStayAtSizeHint 0 // The fields never grow beyond their effective size hint. This is the default for QMacStyle. +#define QFormLayout_ExpandingFieldsGrow 1 // Fields with an horizontal size policy of Expanding or MinimumExpanding will grow to fill the available space. The other fields will not grow beyond their effective size hint. This is the default policy for Plastique. +#define QFormLayout_AllNonFixedFieldsGrow 2 // All fields with a size policy that allows them to grow will grow to fill the available space. This is the default policy for most styles. +#define QFormLayout_LabelRole 0 // A label widget. +#define QFormLayout_FieldRole 1 // A field widget. +#define QFormLayout_SpanningRole 2 // A widget that spans label and field columns. +#define QFormLayout_DontWrapRows 0 // Fields are always laid out next to their label. This is the default policy for all styles except Qt Extended styles and QS60Style. +#define QFormLayout_WrapLongRows 1 // Labels are given enough horizontal space to fit the widest label, and the rest of the space is given to the fields. If the minimum size of a field pair is wider than the available space, the field is wrapped to the next line. This is the default policy for Qt Extended styles and and QS60Style. +#define QFormLayout_WrapAllRows 2 // Fields are always laid out below their label. + /*----------------------------------------------------------------------*/ // HBQT Defined Constants /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbqt/qtgui/qth/QWidget.qth b/harbour/contrib/hbqt/qtgui/qth/QWidget.qth index 4cad74e4c6..9e2543d426 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QWidget.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QWidget.qth @@ -223,8 +223,8 @@ void setMinimumWidth ( int minw ) void setMouseTracking ( bool enable ) void setPalette ( const QPalette & ) -void setParent ( QWidget * parent ) -void setParent ( QWidget * parent, Qt::WindowFlags f ) +void setParent ( QWidget * parent = 0 ) +void setParent ( QWidget * parent, Qt::WindowFlags f = 0 ) void setShortcutAutoRepeat ( int id, bool enable = true ) void setShortcutEnabled ( int id, bool enable = true )