2010-02-06 13:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/resources/findinfiles.ui
* contrib/hbide/resources/findinfiles.uic
* contrib/hbqt/qtgui/QSizePolicy.cpp
* contrib/hbqt/qth/QSizePolicy.qth
* contrib/hbqt/THbQtUI.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
+ Added more info in "Results".
! Core normalization.
+ Implemented RegEx search.
I am not good at this engine, please test.
% Changed TODO => DONE in one entry in ChangeLog.
This commit is contained in:
@@ -17,6 +17,27 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-02-06 13:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/hbide/resources/findinfiles.ui
|
||||
* contrib/hbide/resources/findinfiles.uic
|
||||
|
||||
* contrib/hbqt/qtgui/QSizePolicy.cpp
|
||||
* contrib/hbqt/qth/QSizePolicy.qth
|
||||
|
||||
* contrib/hbqt/THbQtUI.prg
|
||||
|
||||
* contrib/hbide/hbide.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideeditor.prg
|
||||
* contrib/hbide/idefindreplace.prg
|
||||
* contrib/hbide/ideobject.prg
|
||||
|
||||
+ Added more info in "Results".
|
||||
! Core normalization.
|
||||
+ Implemented RegEx search.
|
||||
I am not good at this engine, please test.
|
||||
% Changed TODO => DONE in one entry in ChangeLog.
|
||||
|
||||
2010-02-06 19:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/vm/runner.c
|
||||
* BYTE -> char
|
||||
@@ -157,8 +178,8 @@
|
||||
|
||||
Please forward any suggessions you think will make it more useful.
|
||||
|
||||
; TODO: Regex implementation.
|
||||
Regex for multiple lines.
|
||||
; DONE: Regex implementation.
|
||||
TODO: Regex for multiple lines.
|
||||
Including sub-folders.
|
||||
Including sub-projects.
|
||||
"Replace" implementation ( I am exploring how it can be safest )
|
||||
|
||||
@@ -119,6 +119,8 @@ CLASS HbIde
|
||||
DATA oFR /* Find Replace Manager */
|
||||
DATA oEV /* Available Environments */
|
||||
DATA oThemes
|
||||
DATA oFindInFiles
|
||||
DATA oDockFind
|
||||
|
||||
DATA oUI
|
||||
|
||||
@@ -575,6 +577,7 @@ METHOD HbIde:execEditorAction( cKey )
|
||||
EXIT
|
||||
CASE "MatchPairs"
|
||||
//
|
||||
::oDockFind:show()
|
||||
EXIT
|
||||
CASE "InsertSeparator"
|
||||
::oEM:insertSeparator()
|
||||
|
||||
@@ -87,6 +87,7 @@ CLASS IdeDocks INHERIT IdeObject
|
||||
METHOD buildCompileResults()
|
||||
METHOD buildLinkResults()
|
||||
METHOD buildOutputResults()
|
||||
METHOD buildFindInFiles()
|
||||
METHOD outputDoubleClicked( lSelected )
|
||||
METHOD buildStatusBar()
|
||||
METHOD toggleLeftDocks()
|
||||
@@ -168,6 +169,7 @@ METHOD IdeDocks:buildDockWidgets()
|
||||
::buildCompileResults()
|
||||
::buildLinkResults()
|
||||
::buildOutputResults()
|
||||
//::buildFindInFiles()
|
||||
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget, ::oDockB2:oWidget )
|
||||
@@ -359,8 +361,8 @@ METHOD IdeDocks:buildOutputResults()
|
||||
::oDockB2:oWidget:setWindowTitle( "Output Console" )
|
||||
::oDockB2:oWidget:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
::oIde:oOutputResult := XbpRtf():new( ::oDockB2 ):create( , , { 0,0 }, { 100, 400 }, , .t. )
|
||||
::oOutputResult:oWidget:setAcceptRichText( .t. )
|
||||
::oIde:oOutputResult := XbpRtf():new( ::oDockB2 ):create( , , { 0,0 }, { 100, 400 }, , .T. )
|
||||
::oOutputResult:oWidget:setAcceptRichText( .T. )
|
||||
::oOutputResult:oWidget:setReadOnly( .T. )
|
||||
|
||||
::oDockB2:oWidget:setWidget( ::oOutputResult:oWidget )
|
||||
@@ -534,3 +536,39 @@ METHOD IdeDocks:setStatusText( nPart, xValue )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildFindInFiles()
|
||||
LOCAL oXbp
|
||||
|
||||
::oIde:oDockFind := XbpWindow():new( ::oDa )
|
||||
::oDockFind:oWidget := QDockWidget():new( ::oDlg:oWidget )
|
||||
::oDockFind:oWidget:setObjectName( "dockFindInFiles" )
|
||||
::oDlg:addChild( ::oDockFind )
|
||||
::oDockFind:oWidget:setFeatures( QDockWidget_DockWidgetClosable )
|
||||
::oDockFind:oWidget:setAllowedAreas( Qt_RightDockWidgetArea )
|
||||
::oDockFind:oWidget:setWindowTitle( "Find in Files" )
|
||||
::oDockFind:oWidget:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
::oIde:oFindInFiles := IdeFindInFiles():new( ::oIde, .t. )
|
||||
::oIde:oFindInFiles:lInDockWindow := .t.
|
||||
::oIde:oFindInFiles:create()
|
||||
|
||||
oXbp := XbpWindow():new( ::oDockFind )
|
||||
oXbp:qtObject := IdeFindInFiles():new( ::oIde, .t. ):create() //::oIde:oFindInFiles
|
||||
oXbp:oWidget := oXbp:qtObject:oUI
|
||||
//::oIde:oFindInFiles := XbpWindow():new( ::oDockFind )
|
||||
//::oDockFind:qtObject := ::oIde:oFindInFiles:oUI
|
||||
//::oDockFind:qtObject := HbQtUI():new( ::resPath + "findform.uic", ::oDockFind:oWidget ):build()
|
||||
//::oIde:oFindInFiles:oWidget := ::oDockFind:qtObject
|
||||
|
||||
//::oDockFind:oWidget:setWidget( ::oFindInFiles:oWidget )
|
||||
//::oDockFind:oWidget:setWidget( ::oIde:oFindInFiles:oUI )
|
||||
::oDockFind:oWidget:setWidget( oXbp:oWidget )
|
||||
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDockFind:oWidget, Qt_Horizontal )
|
||||
::oDockFind:hide()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -994,8 +994,8 @@ METHOD IdeEditor:create( oIde, cSourceFile, nPos, nHPos, nVPos, cTheme )
|
||||
|
||||
::qDocument := QTextDocument():configure( ::qEdit:document() )
|
||||
#if 1
|
||||
::connect( ::qDocument, "blockCountChanged(int)" , {|p | ::exeEvent( 21, p ) } )
|
||||
::connect( ::qDocument, "contentsChange(int,int,int)", {|p,p1,p2| ::exeEvent( 22, p, p1, p2 ) } )
|
||||
::connect( ::qDocument, "blockCountChanged(int)" , {|p | ::exeEvent( blockCountChanged, p ) } )
|
||||
::connect( ::qDocument, "contentsChange(int,int,int)", {|p,p1,p2| ::exeEvent( contentsChange, p, p1, p2 ) } )
|
||||
#else
|
||||
hbide_dbg( 2001, ::qSlots:hbConnect( ::qDocument, "blockCountChanged(int)" , {|o,p | ::exeEvent( 21, o, p ) } ) )
|
||||
::qSlots:hbConnect( ::qDocument, "contentsChange(int,int,int)", {|o,p,p1,p2| ::exeEvent( 22, o, p, p1, p2 ) } )
|
||||
|
||||
@@ -323,9 +323,11 @@ METHOD IdeFindReplace:updateFindReplaceData( cMode )
|
||||
#define F_BLUE '<font color = blue>'
|
||||
#define F_YELLOW '<font color = yellow>'
|
||||
|
||||
#define F_SECTION '<font color=GoldenRod size="5">'
|
||||
#define F_FOLDER '<font color=MidNightBlue size="5">'
|
||||
#define F_SECTION '<font color=GoldenRod size="6">'
|
||||
#define F_SECTION_ITEM '<font color=blue size="5">'
|
||||
#define F_INFO '<font color=LightBlue>'
|
||||
#define F_FILE '<font color=green>'
|
||||
#define F_SEARCH '<font color=IndianRed>'
|
||||
|
||||
#define F_END '</font>'
|
||||
|
||||
@@ -335,9 +337,9 @@ METHOD IdeFindReplace:updateFindReplaceData( cMode )
|
||||
#define LOG_FLAGS 4
|
||||
#define LOG_TERMINATED 5
|
||||
#define LOG_SECTION 6
|
||||
#define LOG_FOLDER 7
|
||||
#define LOG_PROJECT 8
|
||||
#define LOG_EMPTY 9
|
||||
#define LOG_SECTION_ITEM 7
|
||||
#define LOG_EMPTY 8
|
||||
#define LOG_INFO 9
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -352,21 +354,24 @@ CLASS IdeFindInFiles INHERIT IdeObject
|
||||
DATA nMisses INIT 0
|
||||
|
||||
DATA cOrigExpr
|
||||
DATA cRegExp
|
||||
DATA compRegEx
|
||||
DATA cReplWith
|
||||
DATA lRegEx INIT .F.
|
||||
DATA lListOnly INIT .T.
|
||||
DATA lMatchCase INIT .F.
|
||||
DATA lNotDblClick INIT .F.
|
||||
DATA lShowOnCreate INIT .T.
|
||||
DATA lInDockWindow INIT .F.
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD new( oIde, lShowOnCreate )
|
||||
METHOD create( oIde, lShowOnCreate )
|
||||
METHOD show()
|
||||
METHOD destroy()
|
||||
METHOD print()
|
||||
METHOD paintRequested( pPrinter )
|
||||
METHOD find()
|
||||
METHOD findInABunch( aFiles )
|
||||
METHOD showLog( nType, cMsg, p, p1, p2 )
|
||||
METHOD showLog( nType, cMsg, aLines )
|
||||
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD execContextMenu( p )
|
||||
@@ -375,20 +380,23 @@ CLASS IdeFindInFiles INHERIT IdeObject
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:new( oIde )
|
||||
METHOD IdeFindInFiles:new( oIde, lShowOnCreate )
|
||||
|
||||
::oIde := oIde
|
||||
::oIde := oIde
|
||||
::lShowOnCreate := lShowOnCreate
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:create( oIde )
|
||||
METHOD IdeFindInFiles:create( oIde, lShowOnCreate )
|
||||
LOCAL cText, qLineEdit, aProjList, cProj, qItem
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
DEFAULT oIde TO ::oIde
|
||||
DEFAULT lShowOnCreate TO ::lShowOnCreate
|
||||
|
||||
::oIde := oIde
|
||||
::oIde := oIde
|
||||
::lShowOnCreate := lShowOnCreate
|
||||
|
||||
#ifdef HBIDE_USE_UIC
|
||||
::oUI := HbQtUI():new( ::oIde:resPath + "findinfiles.uic", ::oIde:oDlg:oWidget ):build()
|
||||
@@ -415,27 +423,32 @@ METHOD IdeFindInFiles:create( oIde )
|
||||
::oIde:setPosAndSizeByIni( ::oUI:oWidget, FindInFilesDialogGeometry )
|
||||
|
||||
qLineEdit := QLineEdit():configure( ::oUI:q_comboExpr:lineEdit() )
|
||||
IF !empty( cText := ::oEM:getSelectedText() )
|
||||
qLineEdit:setText( cText )
|
||||
IF !empty( ::oEM )
|
||||
IF !empty( cText := ::oEM:getSelectedText() )
|
||||
qLineEdit:setText( cText )
|
||||
ENDIF
|
||||
ENDIF
|
||||
qLineEdit:selectAll()
|
||||
|
||||
/* Populate Projects Name */
|
||||
aProjList := ::oPM:getProjectsTitleList()
|
||||
FOR EACH cProj IN aProjList
|
||||
IF !empty( cProj )
|
||||
qItem := QListWidgetItem():new()
|
||||
qItem:setFlags( Qt_ItemIsUserCheckable + Qt_ItemIsEnabled + Qt_ItemIsSelectable )
|
||||
qItem:setText( cProj )
|
||||
qItem:setCheckState( 0 )
|
||||
::oUI:q_listProjects:addItem_1( qItem )
|
||||
aadd( ::aItems, qItem )
|
||||
ENDIF
|
||||
NEXT
|
||||
IF !empty( ::oPM )
|
||||
aProjList := ::oPM:getProjectsTitleList()
|
||||
FOR EACH cProj IN aProjList
|
||||
IF !empty( cProj )
|
||||
qItem := QListWidgetItem():new()
|
||||
qItem:setFlags( Qt_ItemIsUserCheckable + Qt_ItemIsEnabled + Qt_ItemIsSelectable )
|
||||
qItem:setText( cProj )
|
||||
qItem:setCheckState( 0 )
|
||||
::oUI:q_listProjects:addItem_1( qItem )
|
||||
aadd( ::aItems, qItem )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
::oUI:q_editResults:setReadOnly( .t. )
|
||||
::oUI:q_editResults:setFontFamily( "Courier New" )
|
||||
::oUI:q_editResults:setFontPointSize( 10 )
|
||||
//::oUI:q_editResults:setFontFamily( "Courier New" )
|
||||
//::oUI:q_editResults:setFontPointSize( 10 )
|
||||
::oUI:q_editResults:setFont( ::oFont:oWidget )
|
||||
::oUI:q_editResults:setContextMenuPolicy( Qt_CustomContextMenu )
|
||||
|
||||
::oUI:q_labelStatus:setText( "Ready" )
|
||||
@@ -456,6 +469,20 @@ METHOD IdeFindInFiles:create( oIde )
|
||||
::oUI:signal( "editResults" , "customContextMenuRequested(QPoint)", {|p| ::execEvent( "editResults-contextMenu", p ) } )
|
||||
|
||||
::oUI:show()
|
||||
#if 0
|
||||
IF ::lShowOnCreate
|
||||
::show()
|
||||
ENDIF
|
||||
#endif
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:show()
|
||||
|
||||
IF ! ::lInDockWindow
|
||||
::oUI:show()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -466,6 +493,15 @@ METHOD IdeFindInFiles:execEvent( cEvent, p )
|
||||
|
||||
SWITCH cEvent
|
||||
|
||||
CASE "buttonClose"
|
||||
IF ::lInDockWindow
|
||||
::oDockFind:hide()
|
||||
ELSE
|
||||
::oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget )
|
||||
::destroy()
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE "comboFind"
|
||||
::oIde:oSBar:getItem( SB_PNL_SEARCH ):caption := "FIND: " + p
|
||||
EXIT
|
||||
@@ -482,11 +518,6 @@ METHOD IdeFindInFiles:execEvent( cEvent, p )
|
||||
CASE "buttonRepl"
|
||||
EXIT
|
||||
|
||||
CASE "buttonClose"
|
||||
::oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget )
|
||||
::destroy()
|
||||
EXIT
|
||||
|
||||
CASE "buttonStop"
|
||||
::lStop := .t.
|
||||
EXIT
|
||||
@@ -653,9 +684,12 @@ METHOD IdeFindInFiles:find()
|
||||
ENDIF
|
||||
|
||||
::lRegEx := ::oUI:q_checkRegEx:isChecked()
|
||||
IF ::lRegEx .AND. ! hb_isRegEx( ::lRegEx )
|
||||
MsgBox( "Error in Regular Expression" )
|
||||
RETURN Self
|
||||
IF ::lRegEx
|
||||
::compRegEx := hb_regExComp( ::cOrigExpr )
|
||||
IF ! hb_isRegEx( ::compRegEx )
|
||||
MsgBox( "Error in Regular Expression" )
|
||||
RETURN Self
|
||||
ENDIF
|
||||
ENDIF
|
||||
::lListOnly := ::oUI:q_checkListOnly:isChecked()
|
||||
::lMatchCase := ::oUI:q_checkMatchCase:isChecked()
|
||||
@@ -735,33 +769,49 @@ METHOD IdeFindInFiles:find()
|
||||
|
||||
/* Fun Begins */
|
||||
::showLog( LOG_SEPARATOR )
|
||||
::showLog( LOG_FLAGS, "[ Begins: " + dtoc( date() ) + " " + time() + " ] [ " + "Find Expression: " + ::cOrigExpr + " ]" )
|
||||
::showLog( LOG_FLAGS, "[Begins: " + dtoc( date() ) + "-" + time() + "][" + "Find Expression: " + ::cOrigExpr + "]" )
|
||||
::showLog( LOG_FLAGS, hbide_getFlags( lPrg, lC, lCpp, lH, lCh, lRc, lTabs, lSubF, lSubP, ::lRegEx, ::lListOnly, ::lMatchCase ) )
|
||||
::showLog( LOG_EMPTY )
|
||||
|
||||
nStart := seconds()
|
||||
|
||||
IF !empty( aOpenSrc )
|
||||
::showLog( LOG_SECTION, "Open Tabs" )
|
||||
::findInABunch( aOpenSrc )
|
||||
IF lTabs
|
||||
::showLog( LOG_SECTION, "OpenTabs" )
|
||||
IF !empty( aOpenSrc )
|
||||
::findInABunch( aOpenSrc )
|
||||
ELSE
|
||||
::showLog( LOG_INFO, "No matching files found" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF !empty( aFolderSrc )
|
||||
::showLog( LOG_SECTION, "Folder: " + cFolder )
|
||||
::findInABunch( aFolderSrc )
|
||||
|
||||
IF !empty( cFolder )
|
||||
::showLog( LOG_SECTION, "Folders" )
|
||||
IF !empty( aFolderSrc )
|
||||
::showLog( LOG_SECTION_ITEM, "Folder: " + cFolder )
|
||||
::findInABunch( aFolderSrc )
|
||||
ELSE
|
||||
::showLog( LOG_INFO, "No matching files found" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF !empty( aProjSrc )
|
||||
FOR EACH a_ IN aProjSrc
|
||||
::showLog( LOG_SECTION, "Project: " + a_[ 1 ] )
|
||||
::findInABunch( a_[ 2 ] )
|
||||
NEXT
|
||||
|
||||
IF !empty( aProjs )
|
||||
::showLog( LOG_SECTION, "Projects" )
|
||||
IF !empty( aProjSrc )
|
||||
FOR EACH a_ IN aProjSrc
|
||||
::showLog( LOG_SECTION_ITEM, "Project: " + a_[ 1 ] )
|
||||
::findInABunch( a_[ 2 ] )
|
||||
NEXT
|
||||
ELSE
|
||||
::showLog( LOG_INFO, "No matching files found" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
nEnd := seconds()
|
||||
|
||||
::showLog( LOG_EMPTY )
|
||||
::showLog( LOG_FLAGS, "[ Ends:" + dtoc( date() ) + " " + time() + " ] [ Time Taken: " + hb_ntos( nEnd - nStart ) + " ] " + ;
|
||||
"[ Searched: " + hb_ntos( ::nSearched ) + " ] [ Finds: " + hb_ntos( ::nFounds ) + " ] " + ;
|
||||
"[ Not on disk: " + hb_ntos( ::nMisses ) + " ]" )
|
||||
::showLog( LOG_FLAGS, "[Ends:" + dtoc( date() ) + "-" + time() + "-" + hb_ntos( nEnd - nStart ) + " Secs]" + ;
|
||||
"[Searched: " + hb_ntos( ::nSearched ) + "][Finds: " + hb_ntos( ::nFounds ) + "]" + ;
|
||||
"[Files not found: " + hb_ntos( ::nMisses ) + "]" )
|
||||
::showLog( LOG_SEPARATOR )
|
||||
::showLog( LOG_EMPTY )
|
||||
|
||||
@@ -777,8 +827,9 @@ METHOD IdeFindInFiles:find()
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:findInABunch( aFiles )
|
||||
LOCAL s, cExpr, nLine, aLines, aBuffer, cLine
|
||||
LOCAL s, cExpr, nLine, aLines, aBuffer, cLine, nNoMatch, aMatch, regEx
|
||||
|
||||
nNoMatch := 0
|
||||
FOR EACH s IN aFiles
|
||||
IF ::lStop /* Stop button is pressed */
|
||||
::showLog( LOG_EMPTY )
|
||||
@@ -791,40 +842,60 @@ METHOD IdeFindInFiles:findInABunch( aFiles )
|
||||
::nSearched++
|
||||
aBuffer := hb_ATokens( StrTran( hb_MemoRead( s ), Chr( 13 ) ), Chr( 10 ) )
|
||||
nLine := 0
|
||||
IF ::lMatchCase
|
||||
cExpr := ::cOrigExpr
|
||||
|
||||
IF ::lRegEx
|
||||
regEx := ::compRegEx
|
||||
FOR EACH cLine IN aBuffer
|
||||
nLine++
|
||||
IF cExpr $ cLine
|
||||
aadd( aLines, { nLine, cLine } )
|
||||
// exp, string, lMatchCase, lNewLine, nMaxMatch, nMatchWhich, lMatchOnly
|
||||
IF !empty( aMatch := hb_regExAll( regEx, cLine, ::lMatchCase, .F., 0, 1, .F. ) )
|
||||
aadd( aLines, { nLine, cLine, aMatch } )
|
||||
ENDIF
|
||||
NEXT
|
||||
ELSE
|
||||
cExpr := lower( ::cOrigExpr )
|
||||
FOR EACH cLine IN aBuffer
|
||||
nLine++
|
||||
IF cExpr $ lower( cLine )
|
||||
aadd( aLines, { nLine, cLine } )
|
||||
ENDIF
|
||||
NEXT
|
||||
IF ::lMatchCase
|
||||
cExpr := ::cOrigExpr
|
||||
FOR EACH cLine IN aBuffer
|
||||
nLine++
|
||||
IF cExpr $ cLine
|
||||
aadd( aLines, { nLine, cLine, NIL } )
|
||||
ENDIF
|
||||
NEXT
|
||||
ELSE
|
||||
cExpr := lower( ::cOrigExpr )
|
||||
FOR EACH cLine IN aBuffer
|
||||
nLine++
|
||||
IF cExpr $ lower( cLine )
|
||||
aadd( aLines, { nLine, cLine, NIL } )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF len( aLines ) > 0
|
||||
::showLog( LOG_FINDS, s, aLines, ::cOrigExpr, ::lMatchCase )
|
||||
::showLog( LOG_FINDS, s, aLines )
|
||||
::nFounds++
|
||||
ELSE
|
||||
nNoMatch++
|
||||
ENDIF
|
||||
ELSE
|
||||
::showLog( LOG_MISSING, s )
|
||||
::nMisses++
|
||||
ENDIF
|
||||
NEXT
|
||||
IF nNoMatch == len( aFiles )
|
||||
::showLog( LOG_INFO, "Searched (" + hb_ntos( len( aFiles ) ) + ") files, no matches found" )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:showLog( nType, cMsg, p, p1, p2 )
|
||||
LOCAL a_, n, cPre, cPost, cTkn, nWidth, cText
|
||||
LOCAL qCursor
|
||||
METHOD IdeFindInFiles:showLog( nType, cMsg, aLines )
|
||||
LOCAL a_, n, cPre, cPost, nWidth, cText, nB, cL, nL, cT, cExp, aM
|
||||
LOCAL qCursor, qResult
|
||||
|
||||
qResult := ::oUI:q_editResults
|
||||
|
||||
DEFAULT cMsg TO ""
|
||||
|
||||
@@ -833,71 +904,85 @@ METHOD IdeFindInFiles:showLog( nType, cMsg, p, p1, p2 )
|
||||
SWITCH nType
|
||||
|
||||
CASE LOG_SEPARATOR
|
||||
::oUI:q_editResults:append( F_BLACK + hbide_outputLine( "=", 70 ) + F_END )
|
||||
qResult:append( F_BLACK + hbide_outputLine( "=", 68 ) + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_TERMINATED
|
||||
::oUI:q_editResults:append( F_RED + "---------------- Terminated ---------------" + F_END )
|
||||
CASE LOG_FLAGS
|
||||
qResult:append( F_BLACK + cMsg + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_MISSING
|
||||
::oUI:q_editResults:append( F_RED + cMsg + F_END )
|
||||
CASE LOG_INFO
|
||||
qResult:append( F_INFO + "<i>" + cMsg + "</i>" + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_SECTION
|
||||
qResult:append( F_SECTION + "<u>" + cMsg + "</u>" + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_SECTION_ITEM
|
||||
qResult:append( F_SECTION_ITEM + cMsg + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_FINDS
|
||||
cText := F_FILE + "<b>" + cMsg + " ( "+ hb_ntos( len( p ) ) + " )" + "</b>" + F_END
|
||||
cText := F_FILE + "<b>" + cMsg + " ( "+ hb_ntos( len( aLines ) ) + " )" + "</b>" + F_END
|
||||
::oUI:q_editResults:append( cText )
|
||||
::oUI:q_labelStatus:setText( cText )
|
||||
aadd( ::aInfo, { -1, cMsg, NIL } )
|
||||
|
||||
n := 0
|
||||
aeval( p, {|a_| n := max( n, a_[ 1 ] ) } )
|
||||
aeval( aLines, {|a_| n := max( n, a_[ 1 ] ) } )
|
||||
nWidth := iif( n < 10, 1, iif( n < 100, 2, iif( n < 1000, 3, iif( n < 10000, 4, iif( n < 100000, 5, 7 ) ) ) ) )
|
||||
|
||||
FOR EACH a_ IN p
|
||||
IF p2
|
||||
n := at( p1, a_[ 2 ] )
|
||||
ELSE
|
||||
n := at( lower( p1 ), lower( a_[ 2 ] ) )
|
||||
ENDIF
|
||||
cPre := substr( a_[ 2 ], 1, n - 1 )
|
||||
cPost := substr( a_[ 2 ], n + len( p1 ) )
|
||||
cTkn := substr( a_[ 2 ], n, len( p1 ) )
|
||||
::oUI:q_editResults:append( F_BLACK + " (" + strzero( a_[ 1 ], nWidth ) + ") " + ;
|
||||
cPre + "<font color = indianred><b>" + cTkn + "</b></font>" + cPost + ;
|
||||
F_END )
|
||||
// mode, source, line#, pos, slctn
|
||||
aadd( ::aInfo, { -2, cMsg, a_[ 1 ], n, cTkn } )
|
||||
IF ::lRegEx
|
||||
FOR EACH a_ IN aLines
|
||||
nL := a_[ 1 ]
|
||||
aM := a_[ 3 ]
|
||||
nB := aM[ 1, 2 ]
|
||||
cL := hbide_buildResultLine( a_[ 2 ], aM )
|
||||
cT := aM[ 1, 1 ]
|
||||
|
||||
qCursor:movePosition( QTextCursor_Down )
|
||||
NEXT
|
||||
qResult:append( F_BLACK + " (" + strzero( nL, nWidth ) + ") " + cL + F_END )
|
||||
|
||||
aadd( ::aInfo, { -2, cMsg, nL, nB, cT } )
|
||||
qCursor:movePosition( QTextCursor_Down )
|
||||
NEXT
|
||||
ELSE
|
||||
cExp := iif( ::lMatchCase, ::cOrigExpr, lower( ::cOrigExpr ) )
|
||||
FOR EACH a_ IN aLines
|
||||
nL := a_[ 1 ]
|
||||
cL := a_[ 2 ]
|
||||
nB := at( cExp, cL )
|
||||
cPre := substr( cL, 1, nB - 1 )
|
||||
cPost := substr( cL, nB + len( cExp ) )
|
||||
cT := substr( cL, nB, len( cExp ) )
|
||||
cL := cPre + F_SEARCH + "<b>" + cT + "</b>" + F_END + cPost
|
||||
|
||||
qResult:append( F_BLACK + " (" + strzero( nL, nWidth ) + ") " + cL + F_END )
|
||||
|
||||
// mode, source, line#, pos, slctn
|
||||
aadd( ::aInfo, { -2, cMsg, nL, nB, cT } )
|
||||
qCursor:movePosition( QTextCursor_Down )
|
||||
NEXT
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE LOG_FLAGS
|
||||
::oUI:q_editResults:append( F_BLACK + cMsg + F_END )
|
||||
CASE LOG_TERMINATED
|
||||
qResult:append( F_RED + "---------------- Terminated ---------------" + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_SECTION
|
||||
::oUI:q_editResults:append( F_SECTION + "<u>" + cMsg + "</u>" + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_FOLDER
|
||||
::oUI:q_editResults:append( F_FOLDER + " " + "<i><b><u>" + cMsg + "</u></b></i>" + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_PROJECT
|
||||
::oUI:q_editResults:append( F_FOLDER + " " + "<i><b><u>" + cMsg + "</u></b></i>" + F_END )
|
||||
CASE LOG_MISSING
|
||||
qResult:append( F_RED + cMsg + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
CASE LOG_EMPTY
|
||||
::oUI:q_editResults:append( F_BLACK + " " + F_END )
|
||||
qResult:append( F_BLACK + " " + F_END )
|
||||
aadd( ::aInfo, { 0, NIL, NIL } )
|
||||
EXIT
|
||||
|
||||
@@ -911,6 +996,24 @@ METHOD IdeFindInFiles:showLog( nType, cMsg, p, p1, p2 )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_buildResultLine( cLine, aM )
|
||||
LOCAL cT, cR, i
|
||||
|
||||
FOR i := 1 TO len( aM )
|
||||
cR := aM[ i, 1 ]
|
||||
cT := replicate( chr( 255 ), len( aM[ i, 1 ] ) )
|
||||
cLine := strtran( cLine, cR, cT, 1, 1 )
|
||||
NEXT
|
||||
FOR i := 1 TO len( aM )
|
||||
cR := replicate( chr( 255 ), len( aM[ i, 1 ] ) )
|
||||
cT := F_SEARCH + "<b>" + aM[ i, 1 ] + "</b>" + F_END
|
||||
cLine := strtran( cLine, cR, cT, 1, 1 )
|
||||
NEXT
|
||||
|
||||
RETURN cLine
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:print()
|
||||
LOCAL qDlg
|
||||
|
||||
@@ -969,14 +1072,14 @@ STATIC FUNCTION hbide_getFlags( lPrg, lC, lCpp, lH, lCh, lRc, lTabs, lSubF, lSub
|
||||
HB_SYMBOL_UNUSED( lSubP )
|
||||
HB_SYMBOL_UNUSED( lListOnly )
|
||||
|
||||
s += "[.prg=" + L2S( lPrg ) + "] "
|
||||
s += "[.c=" + L2S( lC ) + "] "
|
||||
s += "[.cpp=" + L2S( lCpp ) + "] "
|
||||
s += "[.h=" + L2S( lH ) + "] "
|
||||
s += "[.ch=" + L2S( lCh ) + "] "
|
||||
s += "[.rc=" + L2S( lRc ) + "] "
|
||||
s += "[RegEx=" + L2S( lRegEx ) + "] "
|
||||
s += "[Case=" + L2S( lMatchCase ) + "] "
|
||||
s += "[.prg=" + L2S( lPrg ) + "]"
|
||||
s += "[.c=" + L2S( lC ) + "]"
|
||||
s += "[.cpp=" + L2S( lCpp ) + "]"
|
||||
s += "[.h=" + L2S( lH ) + "]"
|
||||
s += "[.ch=" + L2S( lCh ) + "]"
|
||||
s += "[.rc=" + L2S( lRc ) + "]"
|
||||
s += "[RegEx=" + L2S( lRegEx ) + "]"
|
||||
s += "[Case=" + L2S( lMatchCase ) + "]"
|
||||
|
||||
RETURN s
|
||||
|
||||
|
||||
@@ -91,6 +91,9 @@ CLASS IdeObject
|
||||
ACCESS oSM INLINE ::oIde:oSM
|
||||
ACCESS oEV INLINE ::oIde:oEV
|
||||
|
||||
ACCESS oDockFind INLINE ::oIde:oDockFind
|
||||
ACCESS oFindInFiles INLINE ::oIde:oFindInFiles
|
||||
|
||||
ACCESS aMeta INLINE ::oIde:aMeta
|
||||
|
||||
ACCESS oFont INLINE ::oIde:oFont
|
||||
|
||||
@@ -47,13 +47,13 @@
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>100</height>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>100</height>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading ui file 'findinfiles.ui'
|
||||
**
|
||||
** Created: Thu Feb 4 18:06:12 2010
|
||||
** Created: Sat Feb 6 02:13:07 2010
|
||||
** by: Qt User Interface Compiler version 4.5.0
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
||||
@@ -91,8 +91,8 @@ public:
|
||||
|
||||
listProjects = new QListWidget(FindReplInFiles);
|
||||
listProjects->setObjectName(QString::fromUtf8("listProjects"));
|
||||
listProjects->setMinimumSize(QSize(0, 100));
|
||||
listProjects->setMaximumSize(QSize(16777215, 100));
|
||||
listProjects->setMinimumSize(QSize(0, 60));
|
||||
listProjects->setMaximumSize(QSize(16777215, 60));
|
||||
listProjects->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
listProjects->setSelectionMode(QAbstractItemView::MultiSelection);
|
||||
listProjects->setSortingEnabled(false);
|
||||
|
||||
@@ -97,6 +97,7 @@ CLASS HbQtUI
|
||||
METHOD loadContents( cUiFull )
|
||||
METHOD loadUI( cUiFull, qParent )
|
||||
METHOD build( cFileOrBuffer, qParent )
|
||||
METHOD formatCommand( cCmd, lText )
|
||||
|
||||
ERROR HANDLER OnError( ... )
|
||||
|
||||
@@ -388,7 +389,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
ELSEIF !empty( cText := hbq_pullSetToolTip( ::org, s:__enumIndex() ) )
|
||||
n := at( "->", cText )
|
||||
cNam := alltrim( substr( cText, 1, n - 1 ) )
|
||||
cCmd := hbq_cmdFormat( substr( cText, n + 2 ), .t. )
|
||||
cCmd := ::formatCommand( substr( cText, n + 2 ), .t. )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
@@ -396,7 +397,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
ELSEIF !empty( cText := hbq_pullText( ::org, s:__enumIndex() ) )
|
||||
n := at( "->", cText )
|
||||
cNam := alltrim( substr( cText, 1, n - 1 ) )
|
||||
cCmd := hbq_cmdFormat( substr( cText, n + 2 ), .t. )
|
||||
cCmd := ::formatCommand( substr( cText, n + 2 ), .t. )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
hbq_dbg( "Command ", pad( cNam, 20 ), cCmd )
|
||||
@@ -404,7 +405,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
ELSEIF hbq_isValidCmdLine( s ) .AND. !( "->" $ s ) .AND. ( ( n := at( ".", s ) ) > 0 ) /* Assignment to objects on stack */
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
cCmd := substr( s, n + 1 )
|
||||
cCmd := hbq_cmdFormat( cCmd, .f. )
|
||||
cCmd := ::formatCommand( cCmd, .f. )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
@@ -416,7 +417,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
( at( "->", s ) > n )
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
cCmd := substr( s, n + 1 )
|
||||
cCmd := hbq_cmdFormat( cCmd, .f. )
|
||||
cCmd := ::formatCommand( cCmd, .f. )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
@@ -425,7 +426,7 @@ METHOD HbQtUI:build( cFileOrBuffer, qParent )
|
||||
|
||||
ELSEIF ( n := at( "->", s ) ) > 0 /* Assignments or calls to objects on heap */
|
||||
cNam := substr( s, 1, n - 1 )
|
||||
cCmd := hbq_cmdFormat( substr( s, n + 2 ), .f. )
|
||||
cCmd := ::formatCommand( substr( s, n + 2 ), .f. )
|
||||
cCmd := hbq_setObjects( cCmd, ::widgets )
|
||||
aadd( aCommands, { cNam, cCmd } )
|
||||
//
|
||||
@@ -469,11 +470,11 @@ hbq_dbg( "------------------------------------------------------------" )
|
||||
IF a_:__enumIndex() > 1
|
||||
IF type( a_[ 3 ] ) == "UI"
|
||||
cBlock := "{|o| " + a_[ 4 ] + "}"
|
||||
hbq_dbg( "Constr ", pad( a_[ 2 ], 20 ), cBlock )
|
||||
bBlock := &( cBlock )
|
||||
|
||||
x := eval( bBlock, ::qObj )
|
||||
IF hb_isObject( x )
|
||||
hbq_dbg( "Constr ", pad( a_[ 2 ], 20 ), x:pPtr, cBlock )
|
||||
::qObj[ a_[ 2 ] ] := x
|
||||
ENDIF
|
||||
ELSE
|
||||
@@ -535,6 +536,49 @@ hbq_dbg( pad( a_[ 1 ], 20 ), cBlock )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD HbQtUI:formatCommand( cCmd, lText )
|
||||
LOCAL regDefine, aDefine, n, n1, cNam, cCmd1
|
||||
|
||||
STATIC nn := 100
|
||||
|
||||
DEFAULT lText TO .t.
|
||||
|
||||
cCmd := strtran( cCmd, "QApplication::translate" , "q__tr" )
|
||||
cCmd := strtran( cCmd, "QApplication::UnicodeUTF8", '"UTF8"' )
|
||||
cCmd := strtran( cCmd, "QString()" , '""' )
|
||||
cCmd := strtran( cCmd, "QSize(" , "QSize():new(" )
|
||||
cCmd := strtran( cCmd, "QRect(" , "QRect():new(" )
|
||||
|
||||
IF ( "::" $ cCmd )
|
||||
regDefine := hb_RegexComp( "\b[A-Za-z_]+\:\:[A-Za-z_]+\b" )
|
||||
aDefine := hb_RegEx( regDefine, cCmd )
|
||||
IF !empty( aDefine )
|
||||
cCmd := strtran( cCmd, "::", "_" ) /* Qt Defines - how to handle */
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ! lText .AND. ( at( ".", cCmd ) ) > 0
|
||||
// sizePolicy setHeightForWidth(ProjectProperties->sizePolicy().hasHeightForWidth());
|
||||
//
|
||||
IF ( at( "setHeightForWidth(", cCmd ) ) > 0
|
||||
cNam := "__qsizePolicy" + hb_ntos( ++nn )
|
||||
n := at( "(", cCmd )
|
||||
n1 := at( ".", cCmd )
|
||||
cCmd1 := hbq_setObjects( substr( cCmd, n + 1, n1 - n - 1 ), ::widgets )
|
||||
cCmd1 := strtran( cCmd1, "->", ":" )
|
||||
aadd( ::widgets, { "QSizePolicy", cNam, "QSizePolicy()", "QSizePolicy():configure(" + cCmd1 + ")" } )
|
||||
cCmd := 'setHeightForWidth(o[ "' + cNam + '" ]:' + substr( cCmd, n1 + 1 )
|
||||
|
||||
ELSE
|
||||
cCmd := "pPtr"
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN cCmd
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbq_isObjectNameSet( s )
|
||||
RETURN ( "objectName" $ s .OR. "ObjectName" $ s )
|
||||
|
||||
@@ -628,46 +672,6 @@ STATIC FUNCTION hbq_replaceConstants( s, hConst )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbq_cmdFormat( cCmd, lTip )
|
||||
LOCAL regDefine, aDefine, n, n1
|
||||
|
||||
cCmd := strtran( cCmd, "QApplication::translate" , "q__tr" )
|
||||
cCmd := strtran( cCmd, "QApplication::UnicodeUTF8", '"UTF8"' )
|
||||
cCmd := strtran( cCmd, "QString()" , '""' )
|
||||
cCmd := strtran( cCmd, "QSize(" , "QSize():new(" )
|
||||
cCmd := strtran( cCmd, "QRect(" , "QRect():new(" )
|
||||
|
||||
IF ( "::" $ cCmd )
|
||||
regDefine := hb_RegexComp( "\b[A-Za-z_]+\:\:[A-Za-z_]+\b" )
|
||||
aDefine := hb_RegEx( regDefine, cCmd )
|
||||
IF !empty( aDefine )
|
||||
cCmd := strtran( cCmd, "::", "_" ) /* Qt Defines - how to handle */
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF !( lTip )
|
||||
// cCmd := strtran( cCmd, "|" , "+" ) /* C OR */
|
||||
|
||||
IF ( at( ".", cCmd ) ) > 0
|
||||
/* TODO: call object's contructor in :configure */
|
||||
//
|
||||
// sizePolicy setHeightForWidth(ProjectProperties->sizePolicy().hasHeightForWidth());
|
||||
//
|
||||
IF ( at( "setHeightForWidth(", cCmd ) ) > 0
|
||||
n := at( "(", cCmd )
|
||||
n1 := at( ".", cCmd )
|
||||
cCmd := "setHeightForWidth(QSizePolicy():configure(" + ;
|
||||
substr( cCmd, n + 1, n1 - n - 1 ) + ")" + ':' + substr( cCmd, n1 + 1 )
|
||||
ELSE
|
||||
cCmd := "pPtr"
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN cCmd
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbq_setObjects( cCmd, aObj_ )
|
||||
LOCAL n, cObj
|
||||
IF ( n := ascan( aObj_, {|e_| ( e_[ 2 ] + "," ) $ cCmd } ) ) > 0
|
||||
|
||||
@@ -137,9 +137,12 @@ HB_FUNC( QT_QSIZEPOLICY )
|
||||
|
||||
if( hb_pcount() >= 2 && HB_ISNUM( 1 ) && HB_ISNUM( 2 ) )
|
||||
{
|
||||
HB_TRACE( HB_TR_ALWAYS, ( "================ %i %i", hb_parni( 1 ), hb_parni( 2 ) ) );
|
||||
pObj = new QSizePolicy( ( QSizePolicy::Policy ) hb_parni( 1 ), ( QSizePolicy::Policy ) hb_parni( 2 ) ) ;
|
||||
}
|
||||
else if( hb_pcount() == 1 && HB_ISPOINTER( 1 ) )
|
||||
{
|
||||
pObj = new QSizePolicy( *hbqt_par_QSizePolicy( 1 ) ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
pObj = new QSizePolicy() ;
|
||||
|
||||
@@ -76,6 +76,10 @@ HB_FUNC( QT_QSIZEPOLICY )
|
||||
{
|
||||
hb_retptr( new QSizePolicy( ( QSizePolicy::Policy ) hb_parni( 1 ), ( QSizePolicy::Policy ) hb_parni( 2 ) ) );
|
||||
}
|
||||
else if( hb_pcount() == 1 && HB_ISPOINTER( 1 ) )
|
||||
{
|
||||
hb_retptr( new QSizePolicy( *hbqt_par_QSizePolicy( 1 ) ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
hb_retptr( new QSizePolicy() );
|
||||
|
||||
Reference in New Issue
Block a user