2010-08-07 15:35 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbide/resources/dbf_p1.png
+ contrib/hbide/resources/dbf_p10.png
+ contrib/hbide/resources/dbf_p2.png
+ contrib/hbide/resources/dbf_p3.png
+ contrib/hbide/resources/dbf_p4.png
+ contrib/hbide/resources/dbf_p5.png
+ contrib/hbide/resources/dbf_p6.png
+ contrib/hbide/resources/dbf_p7.png
+ contrib/hbide/resources/dbf_p8.png
+ contrib/hbide/resources/dbf_p9.png
* contrib/hbide/resources/formview.png
* contrib/hbide/resources/home3.png
* contrib/hbide/resources/new.png
* contrib/hbide/resources/print.png
* contrib/hbide/resources/statistics.png
* contrib/hbide/resources/view_organized.png
* contrib/hbide/resources/view_tiled.png
* contrib/hbide/resources/view_vertstacked.png
* contrib/hbide/resources/view_zoomin.png
* contrib/hbide/resources/view_zoomout.png
+ contrib/hbide/resources/zoomin3.png
+ contrib/hbide/resources/zoomout3.png
* contrib/hbide/hbide.qrc
+ Added and refined above images.
* contrib/hbide/idedocks.prg
+ Assigned: "statistics" icon to "Welcome" tab.
! Reworked: many artifacts.
* contrib/hbide/idebrowse.prg
+ Implemented: Edits MDI area icons equivilent functionality
in ideDBU panels also. Now you can view browsers in
organized, cascaded, tiled, maximized, vertically tiled,
horizontally tiled, mode. Verically|Horizontally tiled
modes can be zoomed to fit the user requirements.
However the last close mode is not retained. Next run
always open the "Main" panel with "Organized" view.
+ Assigned: color-differentiated icons to every open browser
window. Now the view is more attractive and allows one to
memorize a browser by color.
With this commit, rounds of beutification for this session ends.
Now concentrating on a really-useful implementation you will
know by the end of next-week.
@@ -16,6 +16,54 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-08-07 15:35 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
+ contrib/hbide/resources/dbf_p1.png
|
||||
+ contrib/hbide/resources/dbf_p10.png
|
||||
+ contrib/hbide/resources/dbf_p2.png
|
||||
+ contrib/hbide/resources/dbf_p3.png
|
||||
+ contrib/hbide/resources/dbf_p4.png
|
||||
+ contrib/hbide/resources/dbf_p5.png
|
||||
+ contrib/hbide/resources/dbf_p6.png
|
||||
+ contrib/hbide/resources/dbf_p7.png
|
||||
+ contrib/hbide/resources/dbf_p8.png
|
||||
+ contrib/hbide/resources/dbf_p9.png
|
||||
* contrib/hbide/resources/formview.png
|
||||
* contrib/hbide/resources/home3.png
|
||||
* contrib/hbide/resources/new.png
|
||||
* contrib/hbide/resources/print.png
|
||||
* contrib/hbide/resources/statistics.png
|
||||
* contrib/hbide/resources/view_organized.png
|
||||
* contrib/hbide/resources/view_tiled.png
|
||||
* contrib/hbide/resources/view_vertstacked.png
|
||||
* contrib/hbide/resources/view_zoomin.png
|
||||
* contrib/hbide/resources/view_zoomout.png
|
||||
+ contrib/hbide/resources/zoomin3.png
|
||||
+ contrib/hbide/resources/zoomout3.png
|
||||
* contrib/hbide/hbide.qrc
|
||||
+ Added and refined above images.
|
||||
|
||||
* contrib/hbide/idedocks.prg
|
||||
+ Assigned: "statistics" icon to "Welcome" tab.
|
||||
! Reworked: many artifacts.
|
||||
|
||||
* contrib/hbide/idebrowse.prg
|
||||
+ Implemented: Edits MDI area icons equivilent functionality
|
||||
in ideDBU panels also. Now you can view browsers in
|
||||
organized, cascaded, tiled, maximized, vertically tiled,
|
||||
horizontally tiled, mode. Verically|Horizontally tiled
|
||||
modes can be zoomed to fit the user requirements.
|
||||
However the last close mode is not retained. Next run
|
||||
always open the "Main" panel with "Organized" view.
|
||||
|
||||
+ Assigned: color-differentiated icons to every open browser
|
||||
window. Now the view is more attractive and allows one to
|
||||
memorize a browser by color.
|
||||
|
||||
|
||||
With this commit, rounds of beutification for this session ends.
|
||||
Now concentrating on a really-useful implementation you will
|
||||
know by the end of next-week.
|
||||
|
||||
2010-08-07 15:28 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbxbp/xbp.ch
|
||||
+ Added: few more constants with HBP* prefix to be used
|
||||
|
||||
@@ -40,6 +40,16 @@
|
||||
<file>resources/database_search.png</file>
|
||||
<file>resources/dbl2sglquote.png</file>
|
||||
<file>resources/dbstruct.png</file>
|
||||
<file>resources/dbf_p1.png</file>
|
||||
<file>resources/dbf_p2.png</file>
|
||||
<file>resources/dbf_p3.png</file>
|
||||
<file>resources/dbf_p4.png</file>
|
||||
<file>resources/dbf_p5.png</file>
|
||||
<file>resources/dbf_p6.png</file>
|
||||
<file>resources/dbf_p7.png</file>
|
||||
<file>resources/dbf_p8.png</file>
|
||||
<file>resources/dbf_p9.png</file>
|
||||
<file>resources/dbf_p10.png</file>
|
||||
<file>resources/dc_delete.png</file>
|
||||
<file>resources/dc_down.png</file>
|
||||
<file>resources/dc_folder.png</file>
|
||||
@@ -103,6 +113,7 @@
|
||||
<file>resources/hb-16x16.png</file>
|
||||
<file>resources/hb-32x32.png</file>
|
||||
<file>resources/hbide.png</file>
|
||||
<file>resources/hbide3.png</file>
|
||||
<file>resources/hbidesplash.png</file>
|
||||
<file>resources/hbidesplashwatermark.png</file>
|
||||
<file>resources/help.png</file>
|
||||
@@ -189,6 +200,7 @@
|
||||
<file>resources/source_res.png</file>
|
||||
<file>resources/source_txt.png</file>
|
||||
<file>resources/source_unknown.png</file>
|
||||
<file>resources/statistics.png</file>
|
||||
<file>resources/spacestotabs.png</file>
|
||||
<file>resources/stream.png</file>
|
||||
<file>resources/streamcomment.png</file>
|
||||
@@ -225,5 +237,7 @@
|
||||
<file>resources/xmate.png</file>
|
||||
<file>resources/zoomin.png</file>
|
||||
<file>resources/zoomout.png</file>
|
||||
<file>resources/zoomin3.png</file>
|
||||
<file>resources/zoomout3.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -558,34 +558,39 @@ METHOD IdeBrowseManager:execEvent( cEvent, p, p1 )
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewOrganized_clicked"
|
||||
::oCurPanel:nViewStyle := 0
|
||||
::oCurPanel:restGeometry()
|
||||
::oCurPanel:prepare()
|
||||
EXIT
|
||||
|
||||
CASE "buttonSaveLayout_clicked"
|
||||
::oCurPanel:saveGeometry()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewTiled_clicked"
|
||||
::oCurPanel:saveGeometry()
|
||||
::oCurPanel:tileSubWindows()
|
||||
::oCurPanel:nViewStyle := 1
|
||||
::oCurPanel:prepare()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewCascaded_clicked"
|
||||
::oCurPanel:saveGeometry()
|
||||
::oCurPanel:cascadeSubWindows()
|
||||
::oCurPanel:nViewStyle := 2
|
||||
::oCurPanel:prepare()
|
||||
EXIT
|
||||
|
||||
/* Left-toolbar actions */
|
||||
CASE "buttonViewTabbed_clicked"
|
||||
::oCurPanel:setViewMode( iif( ::oCurPanel:viewMode() == QMdiArea_TabbedView, QMdiArea_SubWindowView, QMdiArea_TabbedView ) )
|
||||
EXIT
|
||||
CASE "buttonViewOrganized_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_ORGANIZED )
|
||||
EXIT
|
||||
CASE "buttonSaveLayout_clicked"
|
||||
::oCurPanel:saveGeometry()
|
||||
EXIT
|
||||
CASE "buttonViewCascaded_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_CASCADED )
|
||||
EXIT
|
||||
CASE "buttonViewTiled_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_TILED )
|
||||
EXIT
|
||||
CASE "buttonViewMaximized_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_MAXIMIZED )
|
||||
EXIT
|
||||
CASE "buttonViewStackedVert_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_TILEDVERT )
|
||||
EXIT
|
||||
CASE "buttonViewStackedHorz_clicked"
|
||||
::oCurPanel:setViewStyle( HBPMDI_STYLE_TILEDHORZ )
|
||||
EXIT
|
||||
CASE "buttonViewZoomedIn_clicked"
|
||||
::oCurPanel:tilesZoom( +1 )
|
||||
EXIT
|
||||
CASE "buttonViewZoomedOut_clicked"
|
||||
::oCurPanel:tilesZoom( -1 )
|
||||
EXIT
|
||||
|
||||
/* Left-toolbar Table Manipulation Actions */
|
||||
CASE "buttonDbStruct_clicked"
|
||||
IF !empty( ::oCurBrw )
|
||||
::showStruct()
|
||||
@@ -663,6 +668,7 @@ METHOD IdeBrowseManager:execEvent( cEvent, p, p1 )
|
||||
EXIT
|
||||
CASE "buttonZaptable_clicked"
|
||||
EXIT
|
||||
/* End - left-toolbar actions */
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
@@ -909,7 +915,7 @@ METHOD IdeBrowseManager:buildToolbar()
|
||||
::buildToolButton( ::qToolbar, {} )
|
||||
::buildIndexButton()
|
||||
::buildToolButton( ::qToolbar, { "Search in table" , "find" , {|| ::execEvent( "buttonFind_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbar, { "Goto record" , "gotoline" , {|| ::execEvent( "buttonGoto_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbar, { "Goto record" , "gotoline3" , {|| ::execEvent( "buttonGoto_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbar, {} )
|
||||
::buildToolButton( ::qToolbar, { "Close current table", "dc_delete" , {|| ::execEvent( "buttonClose_clicked" ) }, .f. } )
|
||||
::qToolbar:addWidget( sp3 )
|
||||
@@ -931,23 +937,22 @@ METHOD IdeBrowseManager:buildLeftToolbar()
|
||||
qTBar := ::qToolbarL
|
||||
aBtn := {}
|
||||
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Toggle tabbed view" , "view_tabbed" , {|| ::execEvent( "buttonViewTabbed_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Toggle tabbed view" , "view_tabbed" , {|| ::execEvent( "buttonViewTabbed_clicked" ) }, .f. } ) )
|
||||
hbide_buildToolbarButton( qTBar, {} )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as arranged" , "view_organized" , {|| ::execEvent( "buttonViewOrganized_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Save layout" , "save3" , {|| ::execEvent( "buttonSaveLayout_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as arranged" , "view_organized" , {|| ::execEvent( "buttonViewOrganized_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Save layout" , "save3" , {|| ::execEvent( "buttonSaveLayout_clicked" ) }, .f. } ) )
|
||||
hbide_buildToolbarButton( qTBar, {} )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as cascaded" , "view_cascaded" , {|| ::execEvent( "buttonViewCascaded_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as tiled" , "view_tiled" , {|| ::execEvent( "buttonViewTiled_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Maximized" , "fullscreen" , {|| ::execEvent( "buttonViewMaximized_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as cascaded" , "view_cascaded" , {|| ::execEvent( "buttonViewCascaded_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View as tiled" , "view_tiled" , {|| ::execEvent( "buttonViewTiled_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Maximized" , "fullscreen" , {|| ::execEvent( "buttonViewMaximized_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Vertically Tiled" , "view_vertstacked", {|| ::execEvent( "buttonViewStackedVert_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Horizontally Tiled" , "view_horzstacked", {|| ::execEvent( "buttonViewStackedHorz_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Zoom In" , "view_zoomin" , {|| ::execEvent( "buttonViewZoomedIn_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Zoom Out" , "view_zoomout" , {|| ::execEvent( "buttonViewZoomedOut_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Zoom In" , "view_zoomin" , {|| ::execEvent( "buttonViewZoomedIn_clicked" ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "View Zoom Out" , "view_zoomout" , {|| ::execEvent( "buttonViewZoomedOut_clicked" ) }, .f. } ) )
|
||||
hbide_buildToolbarButton( qTBar, {} )
|
||||
|
||||
aeval( aBtn, {|q| aadd( ::aToolBtns, q ) } )
|
||||
|
||||
#if 1
|
||||
::buildToolButton( ::qToolbarL, { "Append a record" , "database_add" , {|| ::execEvent( "buttonAppendRecord_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbarL, { "Delete a record" , "database_remove" , {|| ::execEvent( "buttonDelRecord_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbarL, { "Lock/Unlock Record" , "database_lock" , {|| ::execEvent( "buttonLockRecord_clicked" ) }, .f. } )
|
||||
@@ -960,7 +965,6 @@ METHOD IdeBrowseManager:buildLeftToolbar()
|
||||
::buildToolButton( ::qToolbarL, { "Search in Table" , "database_search" , {|| ::execEvent( "buttonSearchInTable_clicked" ) }, .f. } )
|
||||
::buildToolButton( ::qToolbarL, {} )
|
||||
::buildToolButton( ::qToolbarL, { "Zap Table" , "database_process" , {|| ::execEvent( "buttonZaptable_clicked" ) }, .f. } )
|
||||
#endif
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1156,19 +1160,12 @@ CLASS IdeBrowsePanel INHERIT IdeObject
|
||||
METHOD saveGeometry()
|
||||
METHOD restGeometry()
|
||||
METHOD activateBrowser()
|
||||
METHOD setViewStyle( nStyle )
|
||||
METHOD tileVertically()
|
||||
METHOD tileHorizontally()
|
||||
METHOD tilesZoom( nMode )
|
||||
|
||||
METHOD viewMode() INLINE ::qWidget:viewMode()
|
||||
METHOD setViewMode( nMode ) INLINE ::qWidget:setViewMode( nMode )
|
||||
METHOD tileSubWindows() INLINE ::qWidget:tileSubWindows()
|
||||
METHOD cascadeSubWindows() INLINE ::qWidget:cascadeSubWindows()
|
||||
METHOD activateNextSubWindow() INLINE ::qWidget:activateNextSubWindow()
|
||||
METHOD activatePreviousSubWindow() INLINE ::qWidget:activatePreviousSubWindow()
|
||||
|
||||
#if 0
|
||||
closeActiveSubWindow()
|
||||
closeAllSubWindows()
|
||||
setActiveSubWindow( QMdiSubWindow )
|
||||
#endif
|
||||
ERROR HANDLER OnError( ... )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -1184,6 +1181,11 @@ METHOD IdeBrowsePanel:new( oIde, cPanel, oManager )
|
||||
::qWidget:setObjectName( ::cPanel )
|
||||
::qWidget:setDocumentMode( .t. )
|
||||
::qWidget:setOption( QMdiArea_DontMaximizeSubWindowOnActivation, .t. )
|
||||
::qWidget:setVerticalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::qWidget:setHorizontalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::qWidget:setDocumentMode( .t. )
|
||||
::qWidget:setTabShape( QTabWidget_Triangular )
|
||||
::qWidget:setViewMode( QMdiArea_TabbedView )
|
||||
|
||||
::connect( ::qWidget, "subWindowActivated(QMdiSubWindow)", {|p| ::execEvent( "mdiArea_subWindowActivated", p ) } )
|
||||
|
||||
@@ -1205,6 +1207,156 @@ METHOD IdeBrowsePanel:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:onError( ... )
|
||||
LOCAL cMsg
|
||||
|
||||
cMsg := __GetMessage()
|
||||
IF SubStr( cMsg, 1, 1 ) == "_"
|
||||
cMsg := SubStr( cMsg, 2 )
|
||||
ENDIF
|
||||
|
||||
RETURN ::qWidget:&cMsg( ... )
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:setViewStyle( nStyle )
|
||||
LOCAL qObj, a_
|
||||
LOCAL nOldStyle := ::nViewStyle
|
||||
|
||||
IF hb_isNumeric( nStyle )
|
||||
IF nStyle != ::nViewStyle
|
||||
IF ::nViewStyle == HBPMDI_STYLE_ORGANIZED
|
||||
::saveGeometry()
|
||||
ENDIF
|
||||
|
||||
IF ::nViewStyle == HBPMDI_STYLE_MAXIMIZED
|
||||
qObj := QMdiSubWindow():from( ::activeSubWindow() )
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ 2 ]:setWindowState( Qt_WindowNoState )
|
||||
NEXT
|
||||
::setActiveSubWindow( qObj )
|
||||
ENDIF
|
||||
|
||||
SWITCH nStyle
|
||||
CASE HBPMDI_STYLE_ORGANIZED
|
||||
::restGeometry()
|
||||
EXIT
|
||||
CASE HBPMDI_STYLE_CASCADED
|
||||
::qWidget:cascadeSubWindows()
|
||||
EXIT
|
||||
CASE HBPMDI_STYLE_TILED
|
||||
::qWidget:tileSubWindows()
|
||||
EXIT
|
||||
CASE HBPMDI_STYLE_MAXIMIZED
|
||||
qObj := QMdiSubWindow():from( ::activeSubWindow() )
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ 2 ]:setWindowState( Qt_WindowMaximized )
|
||||
NEXT
|
||||
::setActiveSubWindow( qObj )
|
||||
EXIT
|
||||
CASE HBPMDI_STYLE_TILEDVERT
|
||||
::tileVertically()
|
||||
EXIT
|
||||
CASE HBPMDI_STYLE_TILEDHORZ
|
||||
::tileHorizontally()
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
::nViewStyle := nStyle
|
||||
::prepare()
|
||||
ENDIF
|
||||
ENDIF
|
||||
RETURN nOldStyle
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:tileVertically()
|
||||
LOCAL qObj, qVPort, nH, nT, nW, a_
|
||||
|
||||
qObj := ::activeSubWindow()
|
||||
qVPort := QWidget():from( ::viewport() )
|
||||
nH := qVPort:height() / len( ::aBrowsers )
|
||||
nW := qVPort:width()
|
||||
nT := 0
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ 2 ]:setGeometry( QRect():new( 0, nT, nW, nH ) )
|
||||
nT += nH
|
||||
NEXT
|
||||
::setActiveSubWindow( qObj )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:tileHorizontally()
|
||||
LOCAL qObj, qVPort, nH, nT, nW, nL, a_
|
||||
|
||||
qObj := ::activeSubWindow()
|
||||
qVPort := QWidget():from( ::viewport() )
|
||||
nH := qVPort:height()
|
||||
nW := qVPort:width() / len( ::aBrowsers )
|
||||
nT := 0
|
||||
nL := 0
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ 2 ]:setGeometry( QRect():new( nL, nT, nW, nH ) )
|
||||
nL += nW
|
||||
NEXT
|
||||
::setActiveSubWindow( qObj )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:tilesZoom( nMode )
|
||||
LOCAL qMdi, nT, nL, nH, nW, qRect, a_
|
||||
|
||||
IF ::nViewStyle == HBPMDI_STYLE_TILEDVERT .OR. ::nViewStyle == HBPMDI_STYLE_TILEDHORZ
|
||||
IF ::nViewStyle == HBPMDI_STYLE_TILEDVERT
|
||||
nT := 0
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
qMdi := a_[ 2 ]
|
||||
qRect := QRect():from( qMdi:geometry() )
|
||||
nH := qRect:height() + ( nMode * ( qRect:height() / 4 ) )
|
||||
qMdi:setGeometry( QRect():new( 0, nT, qRect:width(), nH ) )
|
||||
nT += nH
|
||||
NEXT
|
||||
ELSE
|
||||
nL := 0
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
qMdi := a_[ 2 ]
|
||||
qRect := QRect():from( qMdi:geometry() )
|
||||
nW := qRect:width() + ( nMode * ( qRect:width() / 4 ) )
|
||||
qMdi:setGeometry( QRect():new( nL, 0, nW, qRect:height() ) )
|
||||
nL += nW
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
::prepare()
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:saveGeometry()
|
||||
LOCAL a_
|
||||
IF ::nViewStyle == HBPMDI_STYLE_ORGANIZED
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ SUB_GEOMETRY ] := QRect():from( a_[ SUB_WINDOW ]:geometry() )
|
||||
NEXT
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:restGeometry()
|
||||
LOCAL a_
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
IF hb_isObject( a_[ SUB_GEOMETRY ] )
|
||||
a_[ SUB_WINDOW ]:setGeometry( a_[ SUB_GEOMETRY ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:destroyBrw( oBrw )
|
||||
LOCAL n, oSub
|
||||
|
||||
@@ -1296,30 +1448,6 @@ METHOD IdeBrowsePanel:activateBrowser()
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:saveGeometry()
|
||||
LOCAL a_
|
||||
IF ::nViewStyle == 0 /* Only if in self organized mode */
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
a_[ SUB_GEOMETRY ] := QRect():from( a_[ SUB_WINDOW ]:geometry() )
|
||||
NEXT
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:restGeometry()
|
||||
LOCAL a_
|
||||
IF ::nViewStyle == 0
|
||||
FOR EACH a_ IN ::aBrowsers
|
||||
IF hb_isObject( a_[ SUB_GEOMETRY ] )
|
||||
a_[ SUB_WINDOW ]:setGeometry( a_[ SUB_GEOMETRY ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
//
|
||||
// Class IdeBrowse
|
||||
@@ -1376,6 +1504,8 @@ CLASS IdeBrowse INHERIT IdeObject
|
||||
DATA aSeek INIT {}
|
||||
DATA aToFld INIT {}
|
||||
|
||||
CLASSDATA nIdentity INIT 0
|
||||
|
||||
METHOD new( oIde, oManager, oPanel, aInfo )
|
||||
METHOD create( oIde, oManager, oPanel, aInfo )
|
||||
METHOD configure()
|
||||
@@ -1702,6 +1832,7 @@ METHOD IdeBrowse:buildMdiWindow()
|
||||
|
||||
::qMdi:setWindowTitle( ::cTable )
|
||||
::qMdi:setObjectName( hb_ntos( nID ) )
|
||||
::qMdi:setWindowIcon( hbide_image( "dbf_p" + hb_ntos( ::nID ) ) )
|
||||
|
||||
IF ! empty( ::aInfo[ TBL_GEOMETRY ] )
|
||||
qRect := hb_aTokens( ::aInfo[ TBL_GEOMETRY ], " " )
|
||||
|
||||
@@ -246,20 +246,20 @@ METHOD IdeDocks:getEditorPanelsInfo()
|
||||
METHOD IdeDocks:buildDialog()
|
||||
LOCAL s, aSize, a_, lTiled := .t., x_
|
||||
|
||||
::oIde:oDlg := XbpDialog():new()
|
||||
::oDlg:icon := hbide_image( "hbide" )
|
||||
::oDlg:title := "Harbour IDE"
|
||||
::oIde:oDlg := XbpDialog():new()
|
||||
::oDlg:icon := hbide_image( "hbide" )
|
||||
::oDlg:title := "Harbour IDE"
|
||||
::oDlg:qtObject := hbide_getUI( "mainwindow" )
|
||||
::oDlg:create( , , , , , .f. )
|
||||
|
||||
::oDlg:setStyleSheet( GetStyleSheet( "QMainWindow", ::nAnimantionMode ) )
|
||||
|
||||
::oDlg:close := {|| hbide_getYesNo( "hbIDE is about to be closed!", "Are you sure?" ) }
|
||||
::oDlg:oWidget:setDockOptions( QMainWindow_AllowTabbedDocks + QMainWindow_ForceTabbedDocks )
|
||||
::oDlg:oWidget:setTabPosition( Qt_BottomDockWidgetArea, QTabWidget_South )
|
||||
::oDlg:oWidget:setCorner( Qt_BottomLeftCorner, Qt_LeftDockWidgetArea )
|
||||
::oDlg:oWidget:setCorner( Qt_BottomRightCorner, Qt_RightDockWidgetArea )
|
||||
::oDlg:oWidget:resize( 900,470 )
|
||||
::oDlg:setDockOptions( QMainWindow_AllowTabbedDocks + QMainWindow_ForceTabbedDocks )
|
||||
::oDlg:setTabPosition( Qt_BottomDockWidgetArea, QTabWidget_South )
|
||||
::oDlg:setCorner( Qt_BottomLeftCorner, Qt_LeftDockWidgetArea )
|
||||
::oDlg:setCorner( Qt_BottomRightCorner, Qt_RightDockWidgetArea )
|
||||
::oDlg:resize( 900,470 )
|
||||
|
||||
::oIde:oDa := ::oDlg:drawingArea
|
||||
|
||||
@@ -280,7 +280,7 @@ METHOD IdeDocks:buildDialog()
|
||||
::oIde:qLayout:setHorizontalSpacing( 0 )
|
||||
::oIde:qLayout:setVerticalSpacing( 0 )
|
||||
//
|
||||
::oDa:oWidget:setLayout( ::qLayout )
|
||||
::oDa:setLayout( ::qLayout )
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::buildMdiToolbar()
|
||||
@@ -308,7 +308,7 @@ METHOD IdeDocks:buildDialog()
|
||||
ENDIF
|
||||
DEFAULT a_[ 3 ] TO "0"
|
||||
DEFAULT a_[ 4 ] TO "0"
|
||||
DEFAULT a_[ 5 ] TO "0"
|
||||
DEFAULT a_[ 5 ] TO hb_ntos( QMdiArea_TabbedView )
|
||||
DEFAULT a_[ 6 ] TO "0"
|
||||
a_[ 3 ] := val( a_[ 3 ] )
|
||||
a_[ 4 ] := val( a_[ 4 ] )
|
||||
@@ -330,20 +330,20 @@ METHOD IdeDocks:buildDialog()
|
||||
NEXT
|
||||
IF ::oIde:lCurEditsMdi
|
||||
IF lTiled
|
||||
::oStackedWidget:oWidget:tileSubWindows()
|
||||
::oStackedWidget:tileSubWindows()
|
||||
ENDIF
|
||||
ENDIF
|
||||
::setView( "Stats" ) /* Always call with name */
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
IF x_[ 1,5 ] == QMdiArea_TabbedView
|
||||
::oStackedWidget:oWidget:setViewMode( QMdiArea_TabbedView )
|
||||
::oStackedWidget:setViewMode( QMdiArea_TabbedView )
|
||||
ENDIF
|
||||
|
||||
IF x_[ 1,6 ] == 1
|
||||
::oStackedWidget:oWidget:tileSubWindows()
|
||||
::oStackedWidget:tileSubWindows()
|
||||
ELSEIF x_[ 1,6 ] == 2
|
||||
::oStackedWidget:oWidget:cascadeSubWindows()
|
||||
::oStackedWidget:cascadeSubWindows()
|
||||
ELSEIF x_[ 1,6 ] == 3
|
||||
::stackMaximized()
|
||||
#if 0 /* At this point size of the viewport is not determined */
|
||||
@@ -588,53 +588,46 @@ HB_TRACE( HB_TR_DEBUG, "projectTree_dropEvent" )
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
/* Left-toolbar actions */
|
||||
CASE "buttonViewTabbed_clicked"
|
||||
::oStackedWidget:setViewMode( iif( ::oStackedWidget:viewMode() == QMdiArea_TabbedView, QMdiArea_SubWindowView, QMdiArea_TabbedView ) )
|
||||
EXIT
|
||||
CASE "buttonViewOrganized_clicked"
|
||||
::nViewStyle := 0
|
||||
::nViewStyle := HBPMDI_STYLE_ORGANIZED
|
||||
::restState()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewTiled_clicked"
|
||||
::oStackedWidget:oWidget:tileSubWindows()
|
||||
::nViewStyle := 1
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewCascaded_clicked"
|
||||
::oStackedWidget:oWidget:cascadeSubWindows()
|
||||
::nViewStyle := 2
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewMaximized_clicked"
|
||||
::nViewStyle := 3
|
||||
::stackMaximized()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewStackedVert_clicked"
|
||||
::nViewStyle := 4
|
||||
::stackVertically()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewStackedHorz_clicked"
|
||||
::nViewStyle := 5
|
||||
::stackHorizontally()
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewZoomedIn_clicked"
|
||||
::stackZoom( +1 )
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewZoomedOut_clicked"
|
||||
::stackZoom( -1 )
|
||||
EXIT
|
||||
|
||||
CASE "buttonViewTabbed_clicked"
|
||||
::oStackedWidget:oWidget:setViewMode( iif( ::oStackedWidget:oWidget:viewMode() == QMdiArea_TabbedView, QMdiArea_SubWindowView, QMdiArea_TabbedView ) )
|
||||
EXIT
|
||||
|
||||
CASE "buttonSaveLayout_clicked"
|
||||
IF ::nViewStyle == 0
|
||||
IF ::nViewStyle == HBPMDI_STYLE_ORGANIZED
|
||||
::savePanelsGeometry()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonViewTiled_clicked"
|
||||
::oStackedWidget:tileSubWindows()
|
||||
::nViewStyle := HBPMDI_STYLE_TILED
|
||||
EXIT
|
||||
CASE "buttonViewCascaded_clicked"
|
||||
::oStackedWidget:cascadeSubWindows()
|
||||
::nViewStyle := HBPMDI_STYLE_CASCADED
|
||||
EXIT
|
||||
CASE "buttonViewMaximized_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_MAXIMIZED
|
||||
::stackMaximized()
|
||||
EXIT
|
||||
CASE "buttonViewStackedVert_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_TILEDVERT
|
||||
::stackVertically()
|
||||
EXIT
|
||||
CASE "buttonViewStackedHorz_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_TILEDHORZ
|
||||
::stackHorizontally()
|
||||
EXIT
|
||||
CASE "buttonViewZoomedIn_clicked"
|
||||
::stackZoom( +1 )
|
||||
EXIT
|
||||
CASE "buttonViewZoomedOut_clicked"
|
||||
::stackZoom( -1 )
|
||||
EXIT
|
||||
/* Ends: MDI actions */
|
||||
|
||||
CASE "mdiSubWindow_windowStateChanged"
|
||||
IF ! empty( ::oIde:aMdies )
|
||||
@@ -653,25 +646,22 @@ HB_TRACE( HB_TR_DEBUG, "projectTree_dropEvent" )
|
||||
|
||||
METHOD IdeDocks:restState( nMode )
|
||||
LOCAL qMdi
|
||||
|
||||
HB_SYMBOL_UNUSED( nMode )
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
qMdi:setWindowState( 0 )
|
||||
qMdi:setWindowState( Qt_WindowNoState )
|
||||
NEXT
|
||||
::restPanelsGeometry()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:stackMaximized()
|
||||
LOCAL qObj, qMdi
|
||||
|
||||
qObj := QMdiSubWindow():from( ::oStackedWidget:oWidget:activeSubWindow() )
|
||||
qObj := QMdiSubWindow():from( ::oStackedWidget:activeSubWindow() )
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
qMdi:setWindowState( Qt_WindowMaximized )
|
||||
NEXT
|
||||
::oStackedWidget:oWidget:setActiveSubWindow( qObj )
|
||||
::oStackedWidget:setActiveSubWindow( qObj )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -713,10 +703,8 @@ METHOD IdeDocks:stackHorizontally()
|
||||
|
||||
::restState( 0 )
|
||||
|
||||
qArea := ::oStackedWidget:oWidget
|
||||
|
||||
qArea := ::oStackedWidget
|
||||
qObj := QMdiSubWindow():from( qArea:activeSubWindow() )
|
||||
|
||||
qVPort := QWidget():from( qArea:viewport() )
|
||||
nH := qVPort:height()
|
||||
nW := qVPort:width() / ( len( ::oIde:aMdies ) - 1 )
|
||||
@@ -730,7 +718,7 @@ METHOD IdeDocks:stackHorizontally()
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::oStackedWidget:oWidget:setActiveSubWindow( qObj )
|
||||
::oStackedWidget:setActiveSubWindow( qObj )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -738,12 +726,10 @@ METHOD IdeDocks:stackHorizontally()
|
||||
METHOD IdeDocks:stackVertically()
|
||||
LOCAL qArea, qObj, qVPort, nH, nT, nW, qMdi
|
||||
|
||||
::restState()
|
||||
|
||||
qArea := ::oStackedWidget:oWidget
|
||||
::restState( 0 )
|
||||
|
||||
qArea := ::oStackedWidget
|
||||
qObj := QMdiSubWindow():from( qArea:activeSubWindow() )
|
||||
|
||||
qVPort := QWidget():from( qArea:viewport() )
|
||||
nH := qVPort:height() / ( len( ::oIde:aMdies ) - 1 )
|
||||
nW := qVPort:width()
|
||||
@@ -756,7 +742,7 @@ METHOD IdeDocks:stackVertically()
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::oStackedWidget:oWidget:setActiveSubWindow( qObj )
|
||||
::oStackedWidget:setActiveSubWindow( qObj )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -987,8 +973,8 @@ METHOD IdeDocks:buildMdiToolbarLeft()
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Toggle Code Completion" , "help1" , {|| ::oEM:toggleCodeCompetion() }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Toggle Completion Tips" , "infotips" , {|| ::oEM:toggleCompetionTips() }, .f. } ) )
|
||||
hbide_buildToolbarButton( qTBar, {} )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Zoom In" , "zoomin" , {|| ::oEM:zoom( +1 ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Zoom Out" , "zoomout" , {|| ::oEM:zoom( -1 ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Zoom In" , "zoomin3" , {|| ::oEM:zoom( +1 ) }, .f. } ) )
|
||||
aadd( aBtn, hbide_buildToolbarButton( qTBar, { "Zoom Out" , "zoomout3" , {|| ::oEM:zoom( -1 ) }, .f. } ) )
|
||||
hbide_buildToolbarButton( qTBar, {} )
|
||||
|
||||
aeval( aBtn, {|q| aadd( ::aMdiBtns, q ) } )
|
||||
@@ -1114,7 +1100,9 @@ METHOD IdeDocks:buildViewWidget( cView )
|
||||
qMdi := QMdiSubWindow():new( ::oStackedWidget:oWidget )
|
||||
qMdi:setWindowTitle( cView )
|
||||
qMdi:setObjectName( cView )
|
||||
IF cView != "Stats"
|
||||
IF cView == "Stats"
|
||||
qMdi:setWindowIcon( hbide_image( "statistics" ) )
|
||||
ELSE
|
||||
qMdi:setWindowIcon( ::getPanelIcon( cView ) )
|
||||
ENDIF
|
||||
|
||||
|
||||
BIN
harbour/contrib/hbide/resources/dbf_p1.png
Normal file
|
After Width: | Height: | Size: 123 B |
BIN
harbour/contrib/hbide/resources/dbf_p10.png
Normal file
|
After Width: | Height: | Size: 119 B |
BIN
harbour/contrib/hbide/resources/dbf_p2.png
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
harbour/contrib/hbide/resources/dbf_p3.png
Normal file
|
After Width: | Height: | Size: 116 B |
BIN
harbour/contrib/hbide/resources/dbf_p4.png
Normal file
|
After Width: | Height: | Size: 115 B |
BIN
harbour/contrib/hbide/resources/dbf_p5.png
Normal file
|
After Width: | Height: | Size: 114 B |
BIN
harbour/contrib/hbide/resources/dbf_p6.png
Normal file
|
After Width: | Height: | Size: 117 B |
BIN
harbour/contrib/hbide/resources/dbf_p7.png
Normal file
|
After Width: | Height: | Size: 123 B |
BIN
harbour/contrib/hbide/resources/dbf_p8.png
Normal file
|
After Width: | Height: | Size: 116 B |
BIN
harbour/contrib/hbide/resources/dbf_p9.png
Normal file
|
After Width: | Height: | Size: 123 B |
|
Before Width: | Height: | Size: 592 B After Width: | Height: | Size: 587 B |
|
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 448 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 336 B |
BIN
harbour/contrib/hbide/resources/statistics.png
Normal file
|
After Width: | Height: | Size: 689 B |
|
Before Width: | Height: | Size: 353 B After Width: | Height: | Size: 392 B |
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 434 B |
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 843 B After Width: | Height: | Size: 863 B |
|
Before Width: | Height: | Size: 835 B After Width: | Height: | Size: 855 B |
BIN
harbour/contrib/hbide/resources/zoomin3.png
Normal file
|
After Width: | Height: | Size: 781 B |
BIN
harbour/contrib/hbide/resources/zoomout3.png
Normal file
|
After Width: | Height: | Size: 769 B |