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.
This commit is contained in:
Pritpal Bedi
2010-08-07 22:50:47 +00:00
parent 5a075b06d1
commit c282aa16ae
26 changed files with 324 additions and 143 deletions

View File

@@ -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

View File

@@ -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>

View File

@@ -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 ], " " )

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 835 B

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B