2011-03-25 18:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbide/hbqreportsmanager.prg
  * contrib/hbide/hbqtoolbar.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
    ! Optimized: destructors. Unreleased memory blocks are shortened 
      in number considerably.
    + Project Properties dialog now displays project name in its title-bar.
This commit is contained in:
Pritpal Bedi
2011-03-26 01:37:14 +00:00
parent caef3c4fb4
commit 26d8a51070
9 changed files with 204 additions and 108 deletions

View File

@@ -16,6 +16,19 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-03-25 18:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/hbqtoolbar.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
! Optimized: destructors. Unreleased memory blocks are shortened
in number considerably.
+ Project Properties dialog now displays project name in its title-bar.
2011-03-25 18:24 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbqt/qtsql
+ contrib/hbqt/qtsql/doc

View File

@@ -443,26 +443,33 @@ METHOD HbqReportsManager:execEvent( cEvent, p, p1, p2 )
::contextMenuScene( p1 )
CASE p == QEvent_GraphicsSceneDragEnter
HB_TRACE( HB_TR_ALWAYS, QEvent_GraphicsSceneDragEnter, valtype( p1 ), p1 )
p1:acceptProposedAction()
CASE p == QEvent_GraphicsSceneDragMove
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDragMove", valtype( p1 ), p1 )
p1:acceptProposedAction()
CASE p == QEvent_GraphicsSceneDragLeave
CASE p == QEvent_GraphicsSceneDrop
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 0, p1:className() )
qMime := p1:mimeData()
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 1 )
IF qMime:hasFormat( "application/x-qabstractitemmodeldatalist" )
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 2 )
IF p2[ 1 ] == "DataTree"
IF p2[ 2 ] != p2[ 3 ]
::addField( p2[ 2 ], p2[ 3 ], p1:scenePos(), NIL )
ENDIF
ENDIF
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 21 )
ELSEIF qMime:hasFormat( "application/x-toolbaricon" )
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 3 )
::addObject( qMime:html(), p1:scenePos(), NIL )
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 31 )
ELSEIF qMime:hasFormat( "application/x-menuitem" )
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 4 )
cType := qMime:html()
SWITCH cType
CASE "Rectangle" ; EXIT
@@ -478,8 +485,10 @@ METHOD HbqReportsManager:execEvent( cEvent, p, p1, p2 )
CASE "Diagonal Line Left" ; cType := "LineDL" ; EXIT
ENDSWITCH
::addObject( cType, p1:scenePos(), NIL )
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 41 )
ELSEIF qMime:hasUrls()
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 5 )
qList := qMime:hbUrlList()
FOR i := 0 TO qList:size() - 1
cFile := ( QUrl( qList:at( i ) ) ):toLocalFile()
@@ -499,8 +508,11 @@ METHOD HbqReportsManager:execEvent( cEvent, p, p1, p2 )
END SEQUENCE
ENDIF
NEXT
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 51 )
ENDIF
ENDCASE
HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 1000 )
EXIT

View File

@@ -153,6 +153,24 @@ METHOD HbqToolbar:onError( ... )
METHOD HbqToolbar:destroy()
::oWidget := NIL
::cName := NIL
::oParent := NIL
::hItems := NIL
::allowedAreas := NIL
::initialArea := NIL
::orientation := NIL
::size := NIL
::moveable := NIL
::floatable := NIL
::lPressed := NIL
::qPos := NIL
::qDrag := NIL
::qMime := NIL
::qDropAction := NIL
::qPix := NIL
::qByte := NIL
RETURN Self
/*----------------------------------------------------------------------*/

View File

@@ -174,12 +174,13 @@ METHOD IdeDocks:create( oIde )
/*----------------------------------------------------------------------*/
METHOD IdeDocks:destroy()
LOCAL qTBtn
LOCAL qTmp
::oIde:oProjRoot := NIL
::oIde:oOpenedSources := NIL
::oDlg:oWidget : disconnect( QEvent_WindowStateChange )
::oDlg:oWidget : disconnect( QEvent_Hide )
#if 0
::oIde:oProjRoot := NIL
::oIde:oOpenedSources := NIL
::oOutputResult:oWidget : disconnect( "copyAvailable(bool)" )
::oEnvironDock:oWidget : disconnect( "visibilityChanged(bool)" )
@@ -210,81 +211,64 @@ METHOD IdeDocks:destroy()
::qAct2 : disconnect( "triggered(bool)" )
ENDIF
FOR EACH qTBtn IN ::aPanels
qTBtn:disconnect( "clicked()" )
qTBtn := NIL
::oIde:oOutputResult := NIL
::oIde:oEnvironDock := NIL
::oIde:oPropertiesDock := NIL
::oIde:oThemesDock := NIL
::oIde:oDocViewDock := NIL
::oIde:oDocWriteDock := NIL
::oIde:oFindDock := NIL
::oIde:oFunctionsDock := NIL
::oIde:oSkeltnDock := NIL
::oIde:oHelpDock := NIL
::oIde:oFuncDock := NIL
::oIde:oSourceThumbnailDock := NIL
::oIde:oQScintillaDock := NIL
::oIde:oReportsManagerDock := NIL
::oIde:oFormatDock := NIL
::oIde:oDockPT := NIL
::oIde:oDockED := NIL
::oIde:oDockB2 := NIL
::oIde:oSys := NIL
::qAct1 := NIL
::qAct2 := NIL
FOR EACH qTmp IN ::aPanels
qTmp:disconnect( "clicked()" )
qTmp := NIL
NEXT
FOR EACH qTBtn IN ::aMdiBtns
qTBtn:disconnect( "clicked()" )
qTBtn := NIL
FOR EACH qTmp IN ::aMdiBtns
qTmp:disconnect( "clicked()" )
qTmp := NIL
NEXT
FOR EACH qTBtn IN ::oIde:aMarkTBtns
qTBtn:disconnect( "clicked()" )
FOR EACH qTmp IN ::oIde:aMarkTBtns
qTmp:disconnect( "clicked()" )
qTmp := NIL
NEXT
#else
#if 0
::oOutputResult:oWidget := NIL
::oEnvironDock:oWidget := NIL
::oPropertiesDock:oWidget := NIL
::oThemesDock:oWidget := NIL
::oDocViewDock:oWidget := NIL
::oDocWriteDock:oWidget := NIL
::oFindDock:oWidget := NIL
::oFunctionsDock:oWidget := NIL
::oSkeltnDock:oWidget := NIL
::oHelpDock:oWidget := NIL
::oFuncDock:oWidget := NIL
::oSourceThumbnailDock:oWidget := NIL
::oQScintillaDock:oWidget := NIL
::oReportsManagerDock:oWidget := NIL
::oFormatDock:oWidget := NIL
::oDockPT:oWidget := NIL
::oDockED:oWidget := NIL
::oDockB2:oWidget := NIL
#endif
::oIde:oOutputResult := NIL
::oIde:oEnvironDock := NIL
::oIde:oPropertiesDock := NIL
::oIde:oThemesDock := NIL
::oIde:oDocViewDock := NIL
::oIde:oDocWriteDock := NIL
::oIde:oFindDock := NIL
::oIde:oFunctionsDock := NIL
::oIde:oSkeltnDock := NIL
::oIde:oHelpDock := NIL
::oIde:oFuncDock := NIL
::oIde:oSourceThumbnailDock := NIL
::oIde:oQScintillaDock := NIL
::oIde:oReportsManagerDock := NIL
::oIde:oFormatDock := NIL
::oIde:oDockPT := NIL
::oIde:oDockED := NIL
::oIde:oDockB2 := NIL
::oIde:oSys := NIL
::qAct1 := NIL
::qAct2 := NIL
FOR EACH qTBtn IN ::aPanels
qTBtn := NIL
FOR EACH qTmp IN ::oIde:aMdies
qTmp:disconnect( "windowStateChanged(Qt::WindowStates,Qt::WindowStates)" )
qTmp := NIL
NEXT
::aPanels := NIL
FOR EACH qTBtn IN ::aMdiBtns
qTBtn := NIL
NEXT
::aMdiBtns := NIL
FOR EACH qTBtn IN ::oIde:aMarkTBtns
qTBtn := NIL
NEXT
::oIde:aMarkTBtns := NIL
#endif
::nPass := NIL
::aPanels := NIL
::aMdiBtns := NIL
::aBtnLines := NIL
::aBtnDocks := NIL
::oBtnTabClose := NIL
::qMdiToolBar := NIL
::qMdiToolBarL := NIL
::aViewsInfo := NIL
::qTBtnClose := NIL
::qTimer := NIL
::nPrevWindowState := NIL
::qAct1 := NIL
::qAct2 := NIL
RETURN Self
@@ -528,78 +512,104 @@ METHOD IdeDocks:execEvent( cEvent, p, p1 )
EXIT
CASE "dockQScintilla_visibilityChanged"
IF p; ::oBM:show() ; ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockSourceThumbnail_visibilityChanged"
IF p; ::oEM:showThumbnail(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockSkltnsTree_visibilityChanged"
IF p; ::oSK:showTree(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockHelpDock_visibilityChanged"
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockDocViewer_visibilityChanged"
IF p; ::oHL:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockDocWriter_visibilityChanged"
IF p; ::oDW:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "oFuncDock_visibilityChanged"
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "docFunctions_visibilityChanged"
IF p; ::oFN:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockProperties_visibilityChanged"
IF p; ::oPM:fetchProperties(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "docEnvironments_visibilityChanged"
IF p; ::oEV:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "docSkeletons_visibilityChanged"
IF p; ::oSK:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockThemes_visibilityChanged"
IF p; ::oTH:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
CASE "dockFindInFiles_visibilityChanged"
IF p; ::oFF:show(); ENDIF
IF ! p .AND. ! p1:isVisible()
p1:raise()
IF !empty( p1 )
IF ! p .AND. ! p1:isVisible()
p1:raise()
ENDIF
ENDIF
EXIT
/* Miscellaneous */

View File

@@ -245,6 +245,17 @@ METHOD IdeFunctions:destroy()
::oUI:destroy()
ENDIF
::isNotSetYet := NIL
::aHdr := NIL
::aItems := NIL
::aTags := NIL
::aList := NIL
::inAction := NIL
::nPNm := NIL
::nPPr := NIL
::nPSr := NIL
::aProjList := NIL
RETURN Self
/*----------------------------------------------------------------------*/

View File

@@ -232,6 +232,7 @@ METHOD IdeHarbourHelp:show()
/*----------------------------------------------------------------------*/
METHOD IdeHarbourHelp:destroy()
LOCAL aTmp, oFun
IF ! empty( ::oUI )
::oUI:q_treeDoc:disconnect( "itemSelectionChanged()" )
@@ -240,6 +241,27 @@ METHOD IdeHarbourHelp:destroy()
::oUI:destroy()
ENDIF
::aNodes := NIL
::aFunctions := NIL
FOR EACH aTmp IN ::aFuncByFile
aTmp[ 1 ] := NIL
FOR EACH oFun IN aTmp[ 2 ]
oFun := NIL
NEXT
aTmp[ 2 ] := NIL
NEXT
::aFuncByFile := NIL
::aHistory := NIL
::aCategory := NIL
::nCurTVItem := NIL
::nCurInHist := NIL
::qHiliter := NIL
::hIndex := NIL
::aProtoTypes := NIL
::lLoadedProto := NIL
::aFuncDefs := NIL
RETURN Self
/*----------------------------------------------------------------------*/

View File

@@ -103,7 +103,6 @@ REQUEST ADS
PROCEDURE Main( ... )
LOCAL oIde
LOCAL oResource
#ifdef __HBDYNLOAD__RDDADS__
LOCAL hRDDADS
@@ -136,9 +135,7 @@ PROCEDURE Main( ... )
ENDIF
#endif
oResource := QResource()
oResource:registerResource_1( hbqtres_HbIde(), ":/resource" )
//oResource:registerResource( HBQString( hbqtres_HbIde() ), ":/resource" )
QResource():registerResource_1( hbqtres_HbIde(), ":/resource" )
oIde := HbIde():new( hb_aParams() ):create()
oIde:destroy()
@@ -368,8 +365,8 @@ CLASS HbIde
METHOD HbIde:destroy()
/* Very important - destroy resources */
HB_TRACE( HB_TR_ALWAYS, "======================================================" )
HB_TRACE( HB_TR_ALWAYS, "Before ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, "------------------------------------------------------" )
HB_TRACE( HB_TR_ALWAYS, "Before ::oIde:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, " " )
::oSBar := NIL
@@ -394,6 +391,7 @@ METHOD HbIde:destroy()
::oEV:destroy()
::oTH:destroy()
::oPM:destroy()
::oRM:destroy()
//::oEM:destroy() /* Almost GPF's */
@@ -403,7 +401,7 @@ METHOD HbIde:destroy()
::oFont := NIL
HB_TRACE( HB_TR_ALWAYS, " " )
HB_TRACE( HB_TR_ALWAYS, "After ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, "After ::oIde:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, "======================================================" )
RETURN self

View File

@@ -363,6 +363,8 @@ METHOD IdeProjManager:loadProperties( cProjFileName, lNew, lFetch, lUpdateTree )
cProjFileName := hbide_pathToOSPath( cProjFileName )
::oIde:oPropertiesDock:setWindowTitle( cProjFileName )
nAlready := ascan( ::aProjects, {|e_| hb_FileMatch( e_[ 1 ], hbide_pathNormalized( cProjFileName ) ) } )
IF !empty( cProjFileName ) .AND. hb_fileExists( cProjFileName )

View File

@@ -984,6 +984,16 @@ METHOD IdeSetup:destroy()
::oUI:destroy()
ENDIF
::oINI := NIL
::qOrgPalette := NIL
::aItems := NIL
::aTree := NIL
::aStyles := NIL
::aKeyItems := NIL
::aDictionaries := NIL
::nCurThemeSlot := NIL
::aHilighters := NIL
RETURN Self
/*----------------------------------------------------------------------*/