2011-06-17 18:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idehome.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idesaveload.prg
* Changed: the way "Stats" window was implemented in the parallel
with edit instances. Now it is an independent "Qt_Sheet" window
which can be activated with "Welcome" main toolbar icon.
This has cleaned the editing environment.
- Removed: non-mdi protocol for editing areas. It is now only one.
This has simplified the code considerably and has also cleaned
the ambiguity.
! Fixed: first-timer visual glitch which was presenting the two
MDI windows side-by-side, "Stats" and "Main".
This commit is contained in:
@@ -16,6 +16,26 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2011-06-17 18:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbide/ideactions.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideedit.prg
|
||||
* contrib/hbide/idefindreplace.prg
|
||||
* contrib/hbide/idehome.prg
|
||||
* contrib/hbide/idemain.prg
|
||||
* contrib/hbide/idesaveload.prg
|
||||
* Changed: the way "Stats" window was implemented in the parallel
|
||||
with edit instances. Now it is an independent "Qt_Sheet" window
|
||||
which can be activated with "Welcome" main toolbar icon.
|
||||
This has cleaned the editing environment.
|
||||
|
||||
- Removed: non-mdi protocol for editing areas. It is now only one.
|
||||
This has simplified the code considerably and has also cleaned
|
||||
the ambiguity.
|
||||
|
||||
! Fixed: first-timer visual glitch which was presenting the two
|
||||
MDI windows side-by-side, "Stats" and "Main".
|
||||
|
||||
2011-06-17 12:18 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbide/setup.ui
|
||||
* contrib/hbide/ideedit.prg
|
||||
|
||||
@@ -351,31 +351,8 @@ METHOD IdeActions:buildToolBar()
|
||||
oTBar:addItem( ::getAction( "TB_Rebuild" ), , , , , , "Rebuild" )
|
||||
oTBar:addItem( ::getAction( "TB_RebuildLaunch" ), , , , , , "RebuildLaunch" )
|
||||
oTBar:addItem( , , , , , nSep )
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
oTBar:addItem( ::getAction( "TB_Undo" ), , , , , , "Undo" )
|
||||
oTBar:addItem( ::getAction( "TB_Redo" ), , , , , , "Redo" )
|
||||
oTBar:addItem( , , , , , nSep )
|
||||
oTBar:addItem( ::getAction( "TB_Cut" ), , , , , , "Cut" )
|
||||
oTBar:addItem( ::getAction( "TB_Copy" ), , , , , , "Copy" )
|
||||
oTBar:addItem( ::getAction( "TB_Paste" ), , , , , , "Paste" )
|
||||
oTBar:addItem( ::getAction( "TB_SelectAll" ), , , , , , "SelectAll" )
|
||||
oTBar:addItem( ::getAction( "TB_SelectionMode" ), , , , , , "SelectionMode" )
|
||||
oTBar:addItem( , , , , , nSep )
|
||||
oTBar:addItem( ::getAction( "TB_Find" ), , , , , , "Find" )
|
||||
oTBar:addItem( ::getAction( "TB_SetMark" ), , , , , , "SetMark" )
|
||||
oTBar:addItem( ::getAction( "TB_Goto" ), , , , , , "Goto" )
|
||||
oTBar:addItem( , , , , , nSep )
|
||||
oTBar:addItem( ::getAction( "ZoomIn" ), , , , , , "ZoomIn" )
|
||||
oTBar:addItem( ::getAction( "ZoomOut" ), , , , , , "ZoomOut" )
|
||||
oTBar:addItem( , , , , , nSep )
|
||||
ENDIF
|
||||
oTBar:oWidget:addWidget( ::oIde:oTM:buildToolsButton() )
|
||||
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
/* Candidate for separate class - though */
|
||||
oTBar:oWidget:addWidget( ::oIde:oTM:buildPanelsButton() )
|
||||
ENDIF
|
||||
|
||||
::oIde:oMainToolbar := oTBar
|
||||
|
||||
RETURN Self
|
||||
@@ -541,10 +518,6 @@ METHOD IdeActions:buildMainMenu()
|
||||
|
||||
oSubMenu:oWidget:addSeparator()
|
||||
oSubMenu:oWidget:addAction( ::oIde:oMainToolbar:oWidget:toggleViewAction() )
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
oSubMenu:oWidget:addAction( ::qTBarPanels:toggleViewAction() )
|
||||
oSubMenu:oWidget:addAction( ::qTBarLines:toggleViewAction() )
|
||||
ENDIF
|
||||
oSubMenu:oWidget:addAction( ::qTBarDocks:toggleViewAction() )
|
||||
|
||||
::oIde:qStatusBarAction := QAction( oSubMenu:oWidget )
|
||||
@@ -577,11 +550,9 @@ METHOD IdeActions:buildMainMenu()
|
||||
oSubMenu:oWidget:addAction( ::oDockB2:oWidget:toggleViewAction() )
|
||||
* oSubMenu:oWidget:addAction( ::oDockB1:oWidget:toggleViewAction() )
|
||||
* oSubMenu:oWidget:addAction( ::oDockB:oWidget:toggleViewAction() )
|
||||
IF ::oIde:lCurEditsMdi
|
||||
oSubMenu:oWidget:addSeparator()
|
||||
oSubMenu:oWidget:addAction( ::oDK:qMdiToolbarL:oWidget:toggleViewAction() )
|
||||
oSubMenu:oWidget:addAction( ::oDK:qMdiToolbar:oWidget:toggleViewAction() )
|
||||
ENDIF
|
||||
oSubMenu:oWidget:addSeparator()
|
||||
oSubMenu:oWidget:addAction( ::oDK:qMdiToolbarL:oWidget:toggleViewAction() )
|
||||
oSubMenu:oWidget:addAction( ::oDK:qMdiToolbar:oWidget:toggleViewAction() )
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Project */
|
||||
|
||||
@@ -85,7 +85,6 @@ CLASS IdeDocks INHERIT IdeObject
|
||||
DATA qMdiToolBar
|
||||
DATA qMdiToolBarL
|
||||
DATA aViewsInfo INIT {}
|
||||
DATA nViewStyle INIT 0
|
||||
|
||||
DATA qTBtnClose
|
||||
|
||||
@@ -156,8 +155,6 @@ CLASS IdeDocks INHERIT IdeObject
|
||||
METHOD restState( nMode )
|
||||
METHOD setButtonState( cButton, lChecked )
|
||||
METHOD buildFormatWidget()
|
||||
METHOD showStats()
|
||||
METHOD hideStats()
|
||||
METHOD hideAllDocks()
|
||||
|
||||
ENDCLASS
|
||||
@@ -342,26 +339,18 @@ METHOD IdeDocks:destroy()
|
||||
METHOD IdeDocks:getEditorPanelsInfo()
|
||||
LOCAL b_, a_:= {}
|
||||
FOR EACH b_ IN ::aViewsInfo
|
||||
IF ::oIde:lCurEditsMdi
|
||||
aadd( a_, b_[ 1 ] + "," + ;
|
||||
iif( empty( b_[ 2 ] ), "", hbide_nArray2String( { b_[ 2 ]:x(), b_[ 2 ]:y(), b_[ 2 ]:width(), b_[ 2 ]:height() } ) ) + "," + ;
|
||||
hb_ntos( b_[ 3 ] ) + "," + hb_ntos( b_[ 4 ] ) + "," + ;
|
||||
hb_ntos( ::oStackedWidget:oWidget:viewMode() ) + "," + hb_ntos( ::nViewStyle ) + "," ;
|
||||
)
|
||||
ELSE
|
||||
aadd( a_, b_[ 1 ] + "," + ;
|
||||
iif( empty( b_[ 2 ] ), "", hbide_nArray2String( { b_[ 2 ]:x(), b_[ 2 ]:y(), b_[ 2 ]:width(), b_[ 2 ]:height() } ) ) + "," + ;
|
||||
hb_ntos( b_[ 3 ] ) + "," + hb_ntos( b_[ 4 ] ) + "," + ;
|
||||
hb_ntos( b_[ 5 ] ) + "," + hb_ntos( b_[ 6 ] ) + "," ;
|
||||
)
|
||||
ENDIF
|
||||
aadd( a_, b_[ 1 ] + "," + ;
|
||||
iif( empty( b_[ 2 ] ), "", hbide_nArray2String( { b_[ 2 ]:x(), b_[ 2 ]:y(), b_[ 2 ]:width(), b_[ 2 ]:height() } ) ) + "," + ;
|
||||
hb_ntos( b_[ 3 ] ) + "," + hb_ntos( b_[ 4 ] ) + "," + ;
|
||||
hb_ntos( ::oStackedWidget:oWidget:viewMode() ) + "," + hb_ntos( ::oINI:nEditsViewStyle ) + "," ;
|
||||
)
|
||||
NEXT
|
||||
RETURN a_
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildDialog()
|
||||
LOCAL s, aSize, a_, lTiled := .t., x_
|
||||
LOCAL s, aSize, a_, x_, lNew := .f.
|
||||
|
||||
::oIde:oDlg := XbpDialog():new()
|
||||
::oDlg:icon := hbide_image( "hbide" )
|
||||
@@ -382,7 +371,7 @@ METHOD IdeDocks:buildDialog()
|
||||
|
||||
::oDlg:setCorner( Qt_BottomLeftCorner, Qt_LeftDockWidgetArea )
|
||||
::oDlg:setCorner( Qt_BottomRightCorner, Qt_RightDockWidgetArea )
|
||||
::oDlg:oWidget:resize( 950,520 )
|
||||
::oDlg:oWidget:resize( 1000,640 )
|
||||
|
||||
::oIde:oDa := ::oDlg:drawingArea
|
||||
|
||||
@@ -404,22 +393,14 @@ METHOD IdeDocks:buildDialog()
|
||||
::oIde:qLayout:setVerticalSpacing( 0 )
|
||||
//
|
||||
::oDa:setLayout( ::qLayout )
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::buildMdiToolbar()
|
||||
::qLayout:addWidget( ::qMdiToolbar:oWidget , 0, 0, 1, 2 )
|
||||
::buildMdiToolbarLeft()
|
||||
::qLayout:addWidget( ::qMdiToolbarL:oWidget , 1, 0, 1, 1 )
|
||||
::buildStackedWidget()
|
||||
::qLayout:addWidget( ::oStackedWidget:oWidget, 1, 1, 1, 1 )
|
||||
::buildSearchReplaceWidget()
|
||||
::qLayout:addWidget( ::oSearchReplace:oUI , 2, 0, 1, 2 )
|
||||
ELSE
|
||||
::buildStackedWidget()
|
||||
::qLayout:addWidget( ::oStackedWidget:oWidget, 0, 0, 1, 1 )
|
||||
::buildSearchReplaceWidget()
|
||||
::qLayout:addWidget( ::oSearchReplace:oUI , 1, 0, 1, 1 )
|
||||
ENDIF
|
||||
::buildMdiToolbar()
|
||||
::qLayout:addWidget( ::qMdiToolbar:oWidget , 0, 0, 1, 2 )
|
||||
::buildMdiToolbarLeft()
|
||||
::qLayout:addWidget( ::qMdiToolbarL:oWidget , 1, 0, 1, 1 )
|
||||
::buildStackedWidget()
|
||||
::qLayout:addWidget( ::oStackedWidget:oWidget, 1, 1, 1, 1 )
|
||||
::buildSearchReplaceWidget()
|
||||
::qLayout:addWidget( ::oSearchReplace:oUI , 2, 0, 1, 2 )
|
||||
|
||||
/* Normalize Views */
|
||||
FOR EACH s IN ::oINI:aViews
|
||||
@@ -427,7 +408,6 @@ METHOD IdeDocks:buildDialog()
|
||||
asize( a_, 6 )
|
||||
IF ! empty( a_[ 2 ] )
|
||||
a_[ 2 ] := hbide_array2Rect( hbide_string2nArray( a_[ 2 ] ) )
|
||||
lTiled := .f.
|
||||
ENDIF
|
||||
DEFAULT a_[ 3 ] TO "0"
|
||||
DEFAULT a_[ 4 ] TO "0"
|
||||
@@ -440,35 +420,41 @@ METHOD IdeDocks:buildDialog()
|
||||
aadd( ::aViewsInfo, a_ )
|
||||
NEXT
|
||||
IF ascan( ::aViewsInfo, {|e_| e_[ 1 ] == "Main" } ) == 0
|
||||
lNew := .t.
|
||||
hb_ains( ::aViewsInfo, 1, { "Main", NIL, 0, 0, QMdiArea_TabbedView, 0 }, .t. )
|
||||
ENDIF
|
||||
IF ascan( ::aViewsInfo, {|e_| e_[ 1 ] == "Stats" } ) == 0
|
||||
hb_ains( ::aViewsInfo, 1, { "Stats", NIL, 0, 0, QMdiArea_TabbedView, 0 }, .t. )
|
||||
ENDIF
|
||||
|
||||
/* View Panels */
|
||||
x_:= aclone( ::aViewsInfo )
|
||||
FOR EACH a_ IN ::aViewsInfo
|
||||
::buildViewWidget( a_[ 1 ] )
|
||||
NEXT
|
||||
IF ::oIde:lCurEditsMdi
|
||||
IF lTiled
|
||||
::oStackedWidget:tileSubWindows()
|
||||
ENDIF
|
||||
ENDIF
|
||||
::setView( "Stats" ) /* Always call with name */
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::setView( "Main" )
|
||||
|
||||
IF lNew
|
||||
::oStackedWidget:setViewMode( QMdiArea_TabbedView )
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_MAXIMIZED
|
||||
::stackMaximized()
|
||||
|
||||
ELSE
|
||||
IF x_[ 1,5 ] == QMdiArea_TabbedView
|
||||
::oStackedWidget:setViewMode( QMdiArea_TabbedView )
|
||||
ENDIF
|
||||
|
||||
IF x_[ 1,6 ] == 1
|
||||
IF x_[ 1,6 ] == HBPMDI_STYLE_TILED
|
||||
::oStackedWidget:tileSubWindows()
|
||||
ELSEIF x_[ 1,6 ] == 2
|
||||
ELSEIF x_[ 1,6 ] == HBPMDI_STYLE_CASCADED
|
||||
::oStackedWidget:cascadeSubWindows()
|
||||
ELSEIF x_[ 1,6 ] == 3
|
||||
ELSEIF x_[ 1,6 ] == HBPMDI_STYLE_MAXIMIZED
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_MAXIMIZED
|
||||
::stackMaximized()
|
||||
ELSEIF x_[ 1,6 ] == HBPMDI_STYLE_TILEDVERT
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_TILEDVERT
|
||||
::stackVertically()
|
||||
ELSEIF x_[ 1,6 ] == HBPMDI_STYLE_TILEDHORZ
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_TILEDHORZ
|
||||
::stackHorizontally()
|
||||
ELSE
|
||||
FOR EACH a_ IN x_
|
||||
IF !empty( a_[ 2 ] )
|
||||
@@ -812,32 +798,32 @@ HB_TRACE( HB_TR_DEBUG, "projectTree_dropEvent" )
|
||||
::oStackedWidget:setViewMode( iif( ::oStackedWidget:viewMode() == QMdiArea_TabbedView, QMdiArea_SubWindowView, QMdiArea_TabbedView ) )
|
||||
EXIT
|
||||
CASE "buttonViewOrganized_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_ORGANIZED
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_ORGANIZED
|
||||
::restState()
|
||||
EXIT
|
||||
CASE "buttonSaveLayout_clicked"
|
||||
IF ::nViewStyle == HBPMDI_STYLE_ORGANIZED
|
||||
IF ::oINI:nEditsViewStyle == HBPMDI_STYLE_ORGANIZED
|
||||
::savePanelsGeometry()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonViewTiled_clicked"
|
||||
::oStackedWidget:tileSubWindows()
|
||||
::nViewStyle := HBPMDI_STYLE_TILED
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_TILED
|
||||
EXIT
|
||||
CASE "buttonViewCascaded_clicked"
|
||||
::oStackedWidget:cascadeSubWindows()
|
||||
::nViewStyle := HBPMDI_STYLE_CASCADED
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_CASCADED
|
||||
EXIT
|
||||
CASE "buttonViewMaximized_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_MAXIMIZED
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_MAXIMIZED
|
||||
::stackMaximized()
|
||||
EXIT
|
||||
CASE "buttonViewStackedVert_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_TILEDVERT
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_TILEDVERT
|
||||
::stackVertically()
|
||||
EXIT
|
||||
CASE "buttonViewStackedHorz_clicked"
|
||||
::nViewStyle := HBPMDI_STYLE_TILEDHORZ
|
||||
::oINI:nEditsViewStyle := HBPMDI_STYLE_TILEDHORZ
|
||||
::stackHorizontally()
|
||||
EXIT
|
||||
CASE "buttonViewZoomedIn_clicked"
|
||||
@@ -856,7 +842,7 @@ HB_TRACE( HB_TR_DEBUG, "projectTree_dropEvent" )
|
||||
ENDIF
|
||||
IF p1[ 2 ] >= 8 .AND. !( ::cWrkView == p:objectName() )
|
||||
::setView( p:objectName() )
|
||||
IF !( p:objectName() == "Stats" ) .AND. ! empty( ::oEM ) .AND. ! empty( oEdit := ::oEM:getEditorCurrent() )
|
||||
IF ! empty( ::oEM ) .AND. ! empty( oEdit := ::oEM:getEditorCurrent() )
|
||||
oEdit:setDocumentProperties()
|
||||
oEdit:qCoEdit:relayMarkButtons()
|
||||
oEdit:qCoEdit:toggleLineNumbers()
|
||||
@@ -903,26 +889,22 @@ METHOD IdeDocks:stackZoom( nMode )
|
||||
|
||||
HB_SYMBOL_UNUSED( nMode )
|
||||
|
||||
IF ::nViewStyle == 4 .OR. ::nViewStyle == 5
|
||||
IF ::nViewStyle == 4
|
||||
IF ::oINI:nEditsViewStyle == 4 .OR. ::oINI:nEditsViewStyle == 5
|
||||
IF ::oINI:nEditsViewStyle == 4
|
||||
nT := 0
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
IF !( ::aViewsInfo[ qMdi:__enumIndex(), 1 ] == "Stats" )
|
||||
qRect := qMdi:geometry()
|
||||
nH := qRect:height() + ( nMode * ( qRect:height() / 4 ) )
|
||||
qMdi:setGeometry( QRect( 0, nT, qRect:width(), nH ) )
|
||||
nT += nH
|
||||
ENDIF
|
||||
qRect := qMdi:geometry()
|
||||
nH := qRect:height() + ( nMode * ( qRect:height() / 4 ) )
|
||||
qMdi:setGeometry( QRect( 0, nT, qRect:width(), nH ) )
|
||||
nT += nH
|
||||
NEXT
|
||||
ELSE
|
||||
nL := 0
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
IF !( ::aViewsInfo[ qMdi:__enumIndex(), 1 ] == "Stats" )
|
||||
qRect := qMdi:geometry()
|
||||
nW := qRect:width() + ( nMode * ( qRect:width() / 4 ) )
|
||||
qMdi:setGeometry( QRect( nL, 0, nW, qRect:height() ) )
|
||||
nL += nW
|
||||
ENDIF
|
||||
qRect := qMdi:geometry()
|
||||
nW := qRect:width() + ( nMode * ( qRect:width() / 4 ) )
|
||||
qMdi:setGeometry( QRect( nL, 0, nW, qRect:height() ) )
|
||||
nL += nW
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -939,15 +921,13 @@ METHOD IdeDocks:stackHorizontally()
|
||||
qObj := qArea:activeSubWindow()
|
||||
qVPort := qArea:viewport()
|
||||
nH := qVPort:height()
|
||||
nW := qVPort:width() / ( len( ::oIde:aMdies ) - 1 )
|
||||
nW := qVPort:width() / len( ::oIde:aMdies )
|
||||
nT := 0
|
||||
nL := 0
|
||||
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
IF !( ::aViewsInfo[ qMdi:__enumIndex(), 1 ] == "Stats" )
|
||||
qMdi:setGeometry( QRect( nL, nT, nW, nH ) )
|
||||
nL += nW
|
||||
ENDIF
|
||||
qMdi:setGeometry( QRect( nL, nT, nW, nH ) )
|
||||
nL += nW
|
||||
NEXT
|
||||
|
||||
::oStackedWidget:setActiveSubWindow( qObj )
|
||||
@@ -963,15 +943,13 @@ METHOD IdeDocks:stackVertically()
|
||||
qArea := ::oStackedWidget
|
||||
qObj := qArea:activeSubWindow()
|
||||
qVPort := qArea:viewport()
|
||||
nH := qVPort:height() / ( len( ::oIde:aMdies ) - 1 )
|
||||
nH := qVPort:height() / len( ::oIde:aMdies )
|
||||
nW := qVPort:width()
|
||||
nT := 0
|
||||
|
||||
FOR EACH qMdi IN ::oIde:aMdies
|
||||
IF !( ::aViewsInfo[ qMdi:__enumIndex(), 1 ] == "Stats" )
|
||||
qMdi:setGeometry( QRect( 0, nT, nW, nH ) )
|
||||
nT += nH
|
||||
ENDIF
|
||||
qMdi:setGeometry( QRect( 0, nT, nW, nH ) )
|
||||
nT += nH
|
||||
NEXT
|
||||
|
||||
::oStackedWidget:setActiveSubWindow( qObj )
|
||||
@@ -1052,16 +1030,14 @@ METHOD IdeDocks:setViewInitials()
|
||||
LOCAL a_
|
||||
|
||||
FOR EACH a_ IN ::aViewsInfo
|
||||
IF !( a_[ 1 ] == "Stats" )
|
||||
::setView( a_[ 1 ] )
|
||||
::setView( a_[ 1 ] )
|
||||
|
||||
IF ::qTabWidget:count() == 1
|
||||
::oEM:setSourceVisibleByIndex( 0 )
|
||||
ELSE
|
||||
::qTabWidget:setCurrentIndex( 0 )
|
||||
::qTabWidget:setCurrentIndex( ::qTabWidget:count() - 1 )
|
||||
::qTabWidget:setCurrentIndex( 0 )
|
||||
ENDIF
|
||||
IF ::qTabWidget:count() == 1
|
||||
::oEM:setSourceVisibleByIndex( 0 )
|
||||
ELSE
|
||||
::qTabWidget:setCurrentIndex( 0 )
|
||||
::qTabWidget:setCurrentIndex( ::qTabWidget:count() - 1 )
|
||||
::qTabWidget:setCurrentIndex( 0 )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
@@ -1085,9 +1061,6 @@ METHOD IdeDocks:setView( cView )
|
||||
aadd( ::aViewsInfo, { cView, NIL, 0, 0, 0, 0 } )
|
||||
::oTM:addPanelsMenu( cView )
|
||||
::buildViewWidget( cView )
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
::addPanelButton( cView )
|
||||
ENDIF
|
||||
::setView( cView )
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -1096,25 +1069,18 @@ METHOD IdeDocks:setView( cView )
|
||||
OTHERWISE
|
||||
IF ( n := ascan( ::aViews, {|o| iif( hb_isChar( o:oWidget:objectName() ), o:oWidget:objectName() == cView, .f. ) } ) ) > 0
|
||||
::oIde:cWrkView := cView
|
||||
IF !( cView == "Stats" )
|
||||
::oIde:qTabWidget := ::aViews[ n ]:oTabWidget:oWidget
|
||||
::oIde:oTabParent := ::aViews[ n ]
|
||||
::oIde:qTabWidget := ::aViews[ n ]:oTabWidget:oWidget
|
||||
::oIde:oTabParent := ::aViews[ n ]
|
||||
|
||||
nIndex := ::oIde:qTabWidget:currentIndex()
|
||||
IF nIndex + 1 == ::oIde:qTabWidget:count()
|
||||
IF !( ::oIde:lClosing )
|
||||
::oIde:qTabWidget:setCurrentIndex( 0 )
|
||||
::oIde:qTabWidget:setCurrentIndex( nIndex ) /* TODO: Must be last saved */
|
||||
ENDIF
|
||||
nIndex := ::oIde:qTabWidget:currentIndex()
|
||||
IF nIndex + 1 == ::oIde:qTabWidget:count()
|
||||
IF !( ::oIde:lClosing )
|
||||
::oIde:qTabWidget:setCurrentIndex( 0 )
|
||||
::oIde:qTabWidget:setCurrentIndex( nIndex ) /* TODO: Must be last saved */
|
||||
ENDIF
|
||||
ELSE
|
||||
::showStats()
|
||||
ENDIF
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oStackedWidget:oWidget:setActiveSubWindow( ::oIde:aMdies[ n ] )
|
||||
ELSE
|
||||
::oStackedWidget:oWidget:setCurrentIndex( n - 1 )
|
||||
ENDIF
|
||||
|
||||
::oStackedWidget:oWidget:setActiveSubWindow( ::oIde:aMdies[ n ] )
|
||||
::setStatusText( SB_PNL_VIEW, ::cWrkView )
|
||||
ENDIF
|
||||
EXIT
|
||||
@@ -1125,31 +1091,6 @@ METHOD IdeDocks:setView( cView )
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:hideStats()
|
||||
|
||||
IF len( ::oIde:aMdies ) >= 1
|
||||
::oIde:aMdies[ 1 ]:hide()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:showStats()
|
||||
|
||||
IF len( ::oIde:aMdies ) >= 1
|
||||
IF ::oIde:aMdies[ 1 ]:isHidden()
|
||||
::oIde:aMdies[ 1 ]:show()
|
||||
ELSE
|
||||
::oIde:aMdies[ 1 ]:hide()
|
||||
::setView( "Main" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildMdiToolbarLeft()
|
||||
|
||||
::qMdiToolbarL := HbqToolbar():new()
|
||||
@@ -1265,29 +1206,19 @@ METHOD IdeDocks:setButtonState( cButton, lChecked )
|
||||
|
||||
METHOD IdeDocks:buildStackedWidget()
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oIde:oStackedWidget := XbpWindow():new( ::oDa )
|
||||
::oStackedWidget:oWidget := QMdiArea( ::oDa:oWidget )
|
||||
::oStackedWidget:oWidget:setObjectName( "editMdiArea" )
|
||||
::oStackedWidget:oWidget:setDocumentMode( .t. )
|
||||
::oStackedWidget:oWidget:setTabShape( QTabWidget_Triangular )
|
||||
::oStackedWidget:oWidget:setOption( QMdiArea_DontMaximizeSubWindowOnActivation, .t. )
|
||||
::oStackedWidget:oWidget:setVerticalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::oStackedWidget:oWidget:setHorizontalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::oStackedWidget:oWidget:setActivationOrder( QMdiArea_CreationOrder )
|
||||
::oIde:oStackedWidget := XbpWindow():new( ::oDa )
|
||||
::oStackedWidget:oWidget := QMdiArea( ::oDa:oWidget )
|
||||
::oStackedWidget:oWidget:setObjectName( "editMdiArea" )
|
||||
::oStackedWidget:oWidget:setDocumentMode( .t. )
|
||||
::oStackedWidget:oWidget:setTabShape( QTabWidget_Triangular )
|
||||
::oStackedWidget:oWidget:setOption( QMdiArea_DontMaximizeSubWindowOnActivation, .t. )
|
||||
::oStackedWidget:oWidget:setVerticalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::oStackedWidget:oWidget:setHorizontalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::oStackedWidget:oWidget:setActivationOrder( QMdiArea_CreationOrder )
|
||||
|
||||
::oDa:addChild( ::oStackedWidget )
|
||||
::oDa:addChild( ::oStackedWidget )
|
||||
|
||||
::oStackedWidget:oWidget:connect( "subWindowActivated(QMdiSubWindow*)", {|p| ::execEvent( "mdiArea_subWindowActivated", p ) } )
|
||||
|
||||
ELSE
|
||||
/* Its parent will be drawing area and pages will be XbpTabWidgets() */
|
||||
|
||||
::oIde:oStackedWidget := XbpWindow():new( ::oDa )
|
||||
::oStackedWidget:oWidget := QStackedWidget( ::oDa:oWidget )
|
||||
::oStackedWidget:oWidget:setObjectName( "myStackedWidget" )
|
||||
::oDa:addChild( ::oStackedWidget )
|
||||
ENDIF
|
||||
::oStackedWidget:oWidget:connect( "subWindowActivated(QMdiSubWindow*)", {|p| ::execEvent( "mdiArea_subWindowActivated", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1296,107 +1227,58 @@ METHOD IdeDocks:buildStackedWidget()
|
||||
METHOD IdeDocks:buildViewWidget( cView )
|
||||
LOCAL oFrame, qTBtnClose, qDrop, qMdi, n
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
qMdi := QMdiSubWindow()
|
||||
qMdi:setWindowTitle( cView )
|
||||
qMdi:setObjectName( cView )
|
||||
IF cView == "Stats"
|
||||
qMdi:setWindowIcon( hbide_image( "statistics" ) )
|
||||
qMdi := QMdiSubWindow()
|
||||
qMdi:setWindowTitle( cView )
|
||||
qMdi:setObjectName( cView )
|
||||
qMdi:setWindowIcon( ::getPanelIcon( cView ) )
|
||||
|
||||
oFrame := XbpWindow():new( ::oStackedWidget )
|
||||
oFrame:oWidget := QWidget( ::oStackedWidget:oWidget )
|
||||
oFrame:oWidget:setObjectName( cView )
|
||||
::oStackedWidget:addChild( oFrame )
|
||||
|
||||
oFrame:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
oFrame:oTabWidget := XbpTabWidget():new():create( oFrame, , {0,0}, {200,200}, , .t. )
|
||||
|
||||
qTBtnClose := QToolButton()
|
||||
qTBtnClose:setTooltip( "Close Tab" )
|
||||
qTBtnClose:setAutoRaise( .t. )
|
||||
qTBtnClose:setIcon( hbide_image( "closetab" ) )
|
||||
qTBtnClose:connect( "clicked()", {|| ::oSM:closeSource() } )
|
||||
oFrame:oTabWidget:qCornerWidget := qTBtnClose
|
||||
oFrame:oTabWidget:oWidget:setCornerWidget( qTBtnClose, Qt_TopRightCorner )
|
||||
|
||||
qDrop := oFrame:oTabWidget:oWidget
|
||||
|
||||
qDrop:setAcceptDrops( .t. )
|
||||
qDrop:connect( QEvent_DragEnter, {|p| ::execEvent( "editWidget_dragEnterEvent", p ) } )
|
||||
qDrop:connect( QEvent_DragMove , {|p| ::execEvent( "editWidget_dragMoveEvent" , p ) } )
|
||||
qDrop:connect( QEvent_Drop , {|p| ::execEvent( "editWidget_dropEvent" , p ) } )
|
||||
|
||||
oFrame:oTabWidget:oWidget:setUsesScrollButtons( .t. )
|
||||
oFrame:oTabWidget:oWidget:setMovable( .t. )
|
||||
|
||||
oFrame:oWidget:show()
|
||||
oFrame:oTabWidget:oWidget:show()
|
||||
|
||||
aadd( ::oIde:aViews, oFrame )
|
||||
aadd( ::oIde:aMdies, qMdi )
|
||||
|
||||
IF ( n := ascan( ::aViewsInfo, {|e_| e_[ 1 ] == cView } ) ) > 0
|
||||
IF !empty( ::aViewsInfo[ n, 2 ] )
|
||||
qMdi:setGeometry( ::aViewsInfo[ n, 2 ] )
|
||||
ELSE
|
||||
qMdi:setWindowIcon( ::getPanelIcon( cView ) )
|
||||
qMdi:resize( 300, 200 )
|
||||
ENDIF
|
||||
|
||||
oFrame := XbpWindow():new( ::oStackedWidget )
|
||||
oFrame:oWidget := QWidget( ::oStackedWidget:oWidget )
|
||||
oFrame:oWidget:setObjectName( cView ) /* This will form the basis of showing at top */
|
||||
::oStackedWidget:addChild( oFrame )
|
||||
|
||||
oFrame:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
oFrame:oTabWidget := XbpTabWidget():new():create( oFrame, , {0,0}, {200,200}, , .t. )
|
||||
|
||||
IF !( cView == "Stats" )
|
||||
qTBtnClose := QToolButton()
|
||||
qTBtnClose:setTooltip( "Close Tab" )
|
||||
qTBtnClose:setAutoRaise( .t. )
|
||||
qTBtnClose:setIcon( hbide_image( "closetab" ) )
|
||||
qTBtnClose:connect( "clicked()", {|| ::oSM:closeSource() } )
|
||||
oFrame:oTabWidget:qCornerWidget := qTBtnClose
|
||||
oFrame:oTabWidget:oWidget:setCornerWidget( qTBtnClose, Qt_TopRightCorner )
|
||||
|
||||
qDrop := oFrame:oTabWidget:oWidget
|
||||
|
||||
qDrop:setAcceptDrops( .t. )
|
||||
qDrop:connect( QEvent_DragEnter, {|p| ::execEvent( "editWidget_dragEnterEvent", p ) } )
|
||||
qDrop:connect( QEvent_DragMove , {|p| ::execEvent( "editWidget_dragMoveEvent" , p ) } )
|
||||
qDrop:connect( QEvent_Drop , {|p| ::execEvent( "editWidget_dropEvent" , p ) } )
|
||||
ENDIF
|
||||
|
||||
oFrame:oTabWidget:oWidget:setUsesScrollButtons( .t. )
|
||||
oFrame:oTabWidget:oWidget:setMovable( .t. )
|
||||
|
||||
oFrame:oWidget:show()
|
||||
oFrame:oTabWidget:oWidget:show()
|
||||
|
||||
aadd( ::oIde:aViews, oFrame )
|
||||
aadd( ::oIde:aMdies, qMdi )
|
||||
|
||||
IF ( n := ascan( ::aViewsInfo, {|e_| e_[ 1 ] == cView } ) ) > 0
|
||||
IF !empty( ::aViewsInfo[ n, 2 ] )
|
||||
qMdi:setGeometry( ::aViewsInfo[ n, 2 ] )
|
||||
ELSE
|
||||
qMdi:resize( 300, 200 )
|
||||
ENDIF
|
||||
ENDIF
|
||||
qMdi:setWidget( oFrame:oWidget )
|
||||
|
||||
::oStackedWidget:oWidget:addSubWindow( qMdi )
|
||||
qMdi:connect( "windowStateChanged(Qt::WindowStates,Qt::WindowStates)", ;
|
||||
{|p,p1| ::execEvent( "mdiSubWindow_windowStateChanged", qMdi, { p, p1 } ) } )
|
||||
::setView( cView )
|
||||
|
||||
ELSE
|
||||
|
||||
oFrame := XbpWindow():new( ::oStackedWidget )
|
||||
oFrame:oWidget := QWidget( ::oStackedWidget:oWidget )
|
||||
oFrame:oWidget:setObjectName( cView ) /* This will form the basis of showing at top */
|
||||
::oStackedWidget:addChild( oFrame )
|
||||
|
||||
oFrame:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
oFrame:oTabWidget := XbpTabWidget():new():create( oFrame, , {0,0}, {200,200}, , .t. )
|
||||
oFrame:oTabWidget:oWidget:setDocumentMode( .t. )
|
||||
|
||||
IF !( cView == "Stats" )
|
||||
qTBtnClose := QToolButton()
|
||||
qTBtnClose:setTooltip( "Close Tab" )
|
||||
qTBtnClose:setAutoRaise( .t. )
|
||||
qTBtnClose:setIcon( hbide_image( "closetab" ) )
|
||||
qTBtnClose:connect( "clicked()", {|| ::oSM:closeSource() } )
|
||||
oFrame:oTabWidget:qCornerWidget := qTBtnClose
|
||||
oFrame:oTabWidget:oWidget:setCornerWidget( qTBtnClose, Qt_TopRightCorner )
|
||||
|
||||
qDrop := oFrame:oTabWidget:oWidget
|
||||
|
||||
qDrop:setAcceptDrops( .t. )
|
||||
qDrop:connect( QEvent_DragEnter, {|p| ::execEvent( "editWidget_dragEnterEvent", p ) } )
|
||||
qDrop:connect( QEvent_DragMove , {|p| ::execEvent( "editWidget_dragMoveEvent" , p ) } )
|
||||
qDrop:connect( QEvent_Drop , {|p| ::execEvent( "editWidget_dropEvent" , p ) } )
|
||||
|
||||
ENDIF
|
||||
|
||||
oFrame:oTabWidget:oWidget:setUsesScrollButtons( .t. )
|
||||
oFrame:oTabWidget:oWidget:setMovable( .t. )
|
||||
|
||||
aadd( ::oIde:aViews, oFrame )
|
||||
oFrame:oWidget:show()
|
||||
oFrame:oTabWidget:oWidget:show()
|
||||
|
||||
::oStackedWidget:oWidget:addWidget( oFrame:oWidget )
|
||||
::setView( cView )
|
||||
ENDIF
|
||||
qMdi:setWidget( oFrame:oWidget )
|
||||
|
||||
::oStackedWidget:oWidget:addSubWindow( qMdi )
|
||||
qMdi:connect( "windowStateChanged(Qt::WindowStates,Qt::WindowStates)", ;
|
||||
{|p,p1| ::execEvent( "mdiSubWindow_windowStateChanged", qMdi, { p, p1 } ) } )
|
||||
::setView( cView )
|
||||
|
||||
RETURN oFrame
|
||||
|
||||
@@ -1416,110 +1298,19 @@ METHOD IdeDocks:buildUpDownWidget()
|
||||
::oIde:oUpDn := IdeUpDown():new( ::oIde ):create()
|
||||
::oUpDn:oUI:hide()
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oUpDn:oUI:setParent( ::qMdiToolbarL:oWidget )
|
||||
::oUpDn:oUI:show()
|
||||
::qMdiToolbarL:addWidget( "UpDown", ::oUpDn:oUI:oWidget )
|
||||
::oUpDn:oUI:hide()
|
||||
ENDIF
|
||||
::oUpDn:oUI:setParent( ::qMdiToolbarL:oWidget )
|
||||
::oUpDn:oUI:show()
|
||||
::qMdiToolbarL:addWidget( "UpDown", ::oUpDn:oUI:oWidget )
|
||||
::oUpDn:oUI:hide()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildToolBarPanels()
|
||||
LOCAL a_, aBtns, qAct, qTBtn
|
||||
LOCAL a_, aBtns, qAct
|
||||
LOCAL qSize := QSize( 20,20 )
|
||||
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
/* Toolbar Panels */
|
||||
::oIde:qTBarPanels := QToolBar()
|
||||
::qTBarPanels:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) )
|
||||
::qTBarPanels:setObjectName( "ToolBar_Panels" )
|
||||
::qTBarPanels:setWindowTitle( "ToolBar: Editor Panels" )
|
||||
::qTBarPanels:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea )
|
||||
::qTBarPanels:setIconSize( qSize )
|
||||
|
||||
::oDlg:oWidget:addToolBar( Qt_LeftToolBarArea, ::qTBarPanels )
|
||||
|
||||
FOR EACH a_ IN ::aViewsInfo
|
||||
IF !( a_[ 1 ] == "Stats" )
|
||||
::addPanelButton( a_[ 1 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
/* Toolbar Line Actions */
|
||||
|
||||
::oIde:qTBarLines := QToolBar()
|
||||
::qTBarLines:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) )
|
||||
::qTBarLines:setObjectName( "ToolBar_Lines" )
|
||||
::qTBarLines:setWindowTitle( "ToolBar: Lines and Blocks" )
|
||||
::qTBarLines:setIconSize( qSize )
|
||||
::qTBarPanels:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea )
|
||||
|
||||
::oDlg:oWidget:addToolBar( Qt_LeftToolBarArea, ::qTBarLines )
|
||||
|
||||
aBtns := {}
|
||||
aadd( aBtns, { "movelineup" , "Move Current Line Up" , {|| ::oEM:moveLine( -1 ) } } )
|
||||
aadd( aBtns, { "movelinedown" , "Move Current Line Down" , {|| ::oEM:moveLine( 1 ) } } )
|
||||
aadd( aBtns, { "deleteline" , "Delete Current Line" , {|| ::oEM:deleteLine() } } )
|
||||
aadd( aBtns, { "duplicateline" , "Duplicate Current Line" , {|| ::oEM:duplicateLine() } } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { "togglelinenumber", "Toggle Line Numbers" , {|| ::oEM:toggleLineNumbers() } } )
|
||||
aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } )
|
||||
aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { "help1" , "Toggle Code Completion" , {|| ::oEM:toggleCodeCompetion() } } )
|
||||
aadd( aBtns, { "infotips" , "Toggle Completion Tips" , {|| ::oEM:toggleCompetionTips() } } )
|
||||
FOR EACH a_ IN aBtns
|
||||
IF empty( a_ )
|
||||
::qTBarLines:addSeparator()
|
||||
ELSE
|
||||
qTBtn := QToolButton()
|
||||
qTBtn:setTooltip( a_[ 2 ] )
|
||||
qTBtn:setIcon( hbide_image( a_[ 1 ] ) )
|
||||
qTBtn:setMaximumWidth( 20 )
|
||||
qTBtn:setMaximumHeight( 20 )
|
||||
IF a_[ 1 ] $ "togglelinenumber,curlinehilight,horzruler"
|
||||
//qTBtn:setCheckable( .t. )
|
||||
ENDIF
|
||||
qTBtn:connect( "clicked()", a_[ 3 ] )
|
||||
::qTBarLines:addWidget( qTBtn )
|
||||
aadd( ::aBtnLines, qTBtn )
|
||||
ENDIF
|
||||
NEXT
|
||||
::qTBarLines:addSeparator()
|
||||
|
||||
aBtns := {}
|
||||
aadd( aBtns, { "toupper" , "To Upper" , {|| ::oEM:convertSelection( "ToUpper" ) } } )
|
||||
aadd( aBtns, { "tolower" , "To Lower" , {|| ::oEM:convertSelection( "ToLower" ) } } )
|
||||
aadd( aBtns, { "invertcase" , "Invert Case" , {|| ::oEM:convertSelection( "Invert" ) } } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { "blockcomment" , "Block Comment" , {|| ::oEM:blockComment() } } )
|
||||
aadd( aBtns, { "streamcomment", "Stream Comment" , {|| ::oEM:streamComment() } } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { "blockindentr" , "Indent Right" , {|| ::oEM:indent( 1 ) } } )
|
||||
aadd( aBtns, { "blockindentl" , "Indent Left" , {|| ::oEM:indent( -1 ) } } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { "sgl2dblquote" , "Single to Double Quotes", {|| ::oEM:convertDQuotes() } } )
|
||||
aadd( aBtns, { "dbl2sglquote" , "Double to Single Quotes", {|| ::oEM:convertQuotes() } } )
|
||||
FOR EACH a_ IN aBtns
|
||||
IF empty( a_ )
|
||||
::qTBarLines:addSeparator()
|
||||
ELSE
|
||||
qTBtn := QToolButton()
|
||||
qTBtn:setTooltip( a_[ 2 ] )
|
||||
qTBtn:setIcon( hbide_image( a_[ 1 ] ) )
|
||||
qTBtn:setMaximumWidth( 20 )
|
||||
qTBtn:setMaximumHeight( 20 )
|
||||
qTBtn:connect( "clicked()", a_[ 3 ] )
|
||||
::qTBarLines:addWidget( qTBtn )
|
||||
aadd( ::aBtnLines, qTBtn )
|
||||
ENDIF
|
||||
NEXT
|
||||
::qTBarLines:addSeparator()
|
||||
ENDIF
|
||||
|
||||
/* Right-hand docks toolbar */
|
||||
::oIde:qTBarDocks := QToolBar()
|
||||
::qTBarDocks:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) )
|
||||
@@ -1561,11 +1352,7 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qTBarDocks )
|
||||
ELSE
|
||||
::oDlg:oWidget:addToolBar( Qt_RightToolBarArea, ::qTBarDocks )
|
||||
ENDIF
|
||||
::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qTBarDocks )
|
||||
|
||||
/* User defined toolbars via Tools & Utilities */
|
||||
::oTM:buildUserToolbars()
|
||||
@@ -1585,15 +1372,11 @@ METHOD IdeDocks:disblePanelButton( qTBtn )
|
||||
|
||||
METHOD IdeDocks:getPanelIcon( cView )
|
||||
LOCAL n
|
||||
IF ::oIde:lCurEditsMdi
|
||||
IF ( n := ascan( ::aViewsInfo, {|e_| e_[ 1 ] == cView } ) ) > 0
|
||||
RETURN hbide_image( "panel_" + hb_ntos( n - 1 ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ( n := ascan( ::aPanels, {|q| q:text() == cView } ) ) > 0
|
||||
RETURN hbide_image( "panel_" + hb_ntos( n ) )
|
||||
ENDIF
|
||||
|
||||
IF ( n := ascan( ::aViewsInfo, {|e_| e_[ 1 ] == cView } ) ) > 0
|
||||
RETURN hbide_image( "panel_" + hb_ntos( n ) )
|
||||
ENDIF
|
||||
|
||||
RETURN ""
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1985,16 +1768,11 @@ METHOD IdeDocks:animateComponents( nMode )
|
||||
|
||||
/* Toolbars */
|
||||
::oMainToolbar:oWidget:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) )
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
::qTBarPanels :setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
::qTBarLines :setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
ENDIF
|
||||
::qTBarDocks :setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) )
|
||||
::qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
ENDIF
|
||||
::qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) )
|
||||
::qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
|
||||
/* User defined toolbars */
|
||||
::oTM:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) )
|
||||
|
||||
|
||||
@@ -470,9 +470,6 @@ METHOD IdeEdit:execEvent( nMode, oEdit, p, p1 )
|
||||
EXIT
|
||||
CASE "Close Split Window"
|
||||
IF n > 0 /* 1 == Main Edit */
|
||||
IF ! ::oIde:lCurEditsMdi
|
||||
::oIde:oUpDn:oUI:setParent( ::oEditor:qEdit )
|
||||
ENDIF
|
||||
oo := ::oEditor:aEdits[ n ]
|
||||
hb_adel( ::oEditor:aEdits, n, .t. )
|
||||
oo:destroy( .f. )
|
||||
@@ -491,29 +488,19 @@ METHOD IdeEdit:execEvent( nMode, oEdit, p, p1 )
|
||||
::gotoFunction()
|
||||
EXIT
|
||||
CASE "Cut"
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::cut()
|
||||
ENDIF
|
||||
::cut()
|
||||
EXIT
|
||||
CASE "Copy"
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::copy()
|
||||
ENDIF
|
||||
::copy()
|
||||
EXIT
|
||||
CASE "Paste"
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::paste()
|
||||
ENDIF
|
||||
::paste()
|
||||
EXIT
|
||||
CASE "Undo"
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::undo()
|
||||
ENDIF
|
||||
::undo()
|
||||
EXIT
|
||||
CASE "Redo"
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::redo()
|
||||
ENDIF
|
||||
::redo()
|
||||
EXIT
|
||||
CASE "Diff"
|
||||
::oEditor:vssExecute( "Diff" )
|
||||
@@ -777,15 +764,9 @@ METHOD IdeEdit:dispStatusInfo()
|
||||
|
||||
::qEdit:hbGetSelectionInfo()
|
||||
nMode := ::aSelectionInfo[ 5 ]
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oDK:setButtonState( "stream", nMode > 1 )
|
||||
ELSE
|
||||
::oAC:getAction( "TB_SelectionMode" ):setIcon( hbide_image( iif( nMode == 3, "selectionline", "stream" ) ) )
|
||||
::oAC:getAction( "TB_SelectionMode" ):setChecked( nMode > 1 )
|
||||
ENDIF
|
||||
|
||||
::oDK:setButtonState( "stream", nMode > 1 )
|
||||
::oDK:setStatusText( SB_PNL_STREAM, iif( nMode == 2, "Column", iif( nMode == 3, "Line", "Stream" ) ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -1483,13 +1464,11 @@ METHOD IdeEdit:toggleHorzRuler()
|
||||
|
||||
METHOD IdeEdit:toggleSelectionMode()
|
||||
LOCAL qFocus
|
||||
IF ::oIde:lCurEditsMdi
|
||||
qFocus := QApplication():focusWidget()
|
||||
::qEdit:hbSetSelectionMode( iif( ::oDK:setButtonState( "SelectionMode" ), 2, 1 ), .f. )
|
||||
qFocus:setFocus( 0 )
|
||||
ELSE
|
||||
::qEdit:hbSetSelectionMode( iif( ::oAC:getAction( "TB_SelectionMode" ):isChecked(), 2, 1 ), .f. )
|
||||
ENDIF
|
||||
|
||||
qFocus := QApplication():focusWidget()
|
||||
::qEdit:hbSetSelectionMode( iif( ::oDK:setButtonState( "SelectionMode" ), 2, 1 ), .f. )
|
||||
qFocus:setFocus( 0 )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -115,21 +115,11 @@ METHOD IdeUpDown:show()
|
||||
LOCAL oEdit
|
||||
|
||||
IF !empty( oEdit := ::oEM:getEditObjectCurrent() )
|
||||
IF ::oIde:lCurEditsMdi
|
||||
oEdit:qEdit:hbGetSelectionInfo()
|
||||
IF oEdit:aSelectionInfo[ 1 ] > -1
|
||||
::oUI:setEnabled( .t. )
|
||||
ELSE
|
||||
::oUI:setEnabled( .f. )
|
||||
ENDIF
|
||||
oEdit:qEdit:hbGetSelectionInfo()
|
||||
IF oEdit:aSelectionInfo[ 1 ] > -1
|
||||
::oUI:setEnabled( .t. )
|
||||
ELSE
|
||||
::position()
|
||||
oEdit:qEdit:hbGetSelectionInfo()
|
||||
IF oEdit:aSelectionInfo[ 1 ] > -1
|
||||
::oUI:show()
|
||||
ELSE
|
||||
::oUI:hide()
|
||||
ENDIF
|
||||
::oUI:setEnabled( .f. )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -143,11 +133,7 @@ METHOD IdeUpDown:create( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oUI := hbide_getUI( "updown_v" )
|
||||
ELSE
|
||||
::oUI := hbide_getUI( "updown", ::oIde:oDlg:oWidget )
|
||||
ENDIF
|
||||
::oUI := hbide_getUI( "updown_v" )
|
||||
|
||||
::oUI:setWindowFlags( hb_bitOr( Qt_Tool, Qt_FramelessWindowHint ) )
|
||||
::oUI:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
@@ -99,6 +99,7 @@ CLASS IdeHome INHERIT IdeObject
|
||||
DATA qWelcomeBrowser
|
||||
DATA oFaqTab
|
||||
DATA qFaqBrowser
|
||||
DATA oView
|
||||
|
||||
DATA cClickedProject
|
||||
DATA cClickedSource
|
||||
@@ -121,6 +122,8 @@ CLASS IdeHome INHERIT IdeObject
|
||||
METHOD setStyleSheetTextBrowser( qBrw )
|
||||
METHOD print()
|
||||
METHOD paintRequested( qPrinter )
|
||||
METHOD buildView()
|
||||
METHOD show()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -133,26 +136,68 @@ METHOD IdeHome:new( oIde )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:create( oIde )
|
||||
LOCAL oStatFrame
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
oStatFrame := ::aViews[ 1 ]
|
||||
::buildView()
|
||||
|
||||
oStatFrame:oTabWidget:oWidget:setDocumentMode( .t. )
|
||||
oStatFrame:oTabWidget:oWidget:setStyleSheet( "QTabWidget::tab-bar {left: 5px;}" )
|
||||
oStatFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
::oView:oTabWidget:oWidget:setDocumentMode( .t. )
|
||||
::oView:oTabWidget:oWidget:setStyleSheet( "QTabWidget::tab-bar {left: 5px;}" )
|
||||
::oView:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
::buildWelcomeTab()
|
||||
::buildFaqTab()
|
||||
|
||||
oStatFrame:oTabWidget:oWidget:setCurrentIndex( 0 )
|
||||
::oView:oTabWidget:oWidget:setCurrentIndex( 0 )
|
||||
|
||||
::oView:hide()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:show()
|
||||
|
||||
IF ::oView:oWidget:isVisible()
|
||||
::oView:hide()
|
||||
ELSE
|
||||
::oIde:setPosAndSizeByIniEx( ::oView:oWidget, ::oINI:cStatsDialogGeometry )
|
||||
::oView:show()
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:buildView()
|
||||
LOCAL oFrame
|
||||
|
||||
oFrame := XbpWindow():new( ::oDa )
|
||||
oFrame:oWidget := QWidget( ::oDa:oWidget )
|
||||
oFrame:oWidget:resize( 750,300 )
|
||||
oFrame:oWidget:connect( QEvent_Close, {|| ::oINI:cStatsDialogGeometry := hbide_posAndSize( ::oView:oWidget ) } )
|
||||
|
||||
oFrame:oWidget:setWindowFlags( Qt_Sheet )
|
||||
oFrame:oWidget:setObjectName( "Stats" )
|
||||
::oDa:addChild( oFrame )
|
||||
|
||||
oFrame:hbLayout := HBPLAYOUT_TYPE_VERTBOX
|
||||
oFrame:qLayout:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
oFrame:oTabWidget := XbpTabWidget():new():create( oFrame, , {0,0}, {600,300}, , .t. )
|
||||
|
||||
oFrame:oTabWidget:oWidget:setUsesScrollButtons( .t. )
|
||||
oFrame:oTabWidget:oWidget:setMovable( .t. )
|
||||
|
||||
::oView := oFrame
|
||||
|
||||
::oIde:setPosAndSizeByIniEx( oFrame:oWidget, ::oINI:cStatsDialogGeometry )
|
||||
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeHome:destroy()
|
||||
|
||||
IF !empty( ::qPrnDlg )
|
||||
@@ -269,7 +314,8 @@ METHOD IdeHome:setStyleSheetTextBrowser( qBrw )
|
||||
METHOD IdeHome:buildWelcomeTab()
|
||||
LOCAL oTab, qBrw, qSList
|
||||
|
||||
oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
//oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab := XbpTabPage():new( ::oView, , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab:caption := "Welcome"
|
||||
oTab:minimized := .F.
|
||||
oTab:create()
|
||||
@@ -472,7 +518,8 @@ METHOD IdeHome:formatSourceInfo( aHtm, aSrc )
|
||||
METHOD IdeHome:buildFaqTab()
|
||||
LOCAL oTab, qBrw, aFaq, aHtm, a_, b_, s
|
||||
|
||||
oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
//oTab := XbpTabPage():new( ::aViews[ 1 ], , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab := XbpTabPage():new( ::oView, , { 5,5 }, { 700,400 }, , .t. )
|
||||
oTab:caption := "FAQ's"
|
||||
oTab:minimized := .F.
|
||||
oTab:create()
|
||||
|
||||
@@ -280,7 +280,6 @@ CLASS HbIde
|
||||
DATA lLineNumbersVisible INIT .t.
|
||||
DATA lHorzRulerVisible INIT .t.
|
||||
DATA lCurrentLineHighlightEnabled INIT .t.
|
||||
DATA lCurEditsMdi INIT .t.
|
||||
|
||||
DATA cWrkFolderLast INIT ""
|
||||
DATA cWrkProject INIT ""
|
||||
@@ -715,9 +714,9 @@ METHOD HbIde:create( aParams )
|
||||
::oDK:setView( "Main" )
|
||||
ELSEIF ::nRunMode == HBIDE_RUN_MODE_HBP
|
||||
::oDockED:hide()
|
||||
::oDK:setView( "Stats" )
|
||||
::oDK:setView( "Main" )
|
||||
ELSE
|
||||
::oDK:setView( "Stats" )
|
||||
::oDK:setView( "Main" )
|
||||
::oDK:setView( cView )
|
||||
ENDIF
|
||||
::qTabWidget:setCurrentIndex( -1 )
|
||||
@@ -730,8 +729,6 @@ METHOD HbIde:create( aParams )
|
||||
qSplash := NIL
|
||||
qPixMap := NIL
|
||||
|
||||
::oDK:hideStats() /* A Work in progress */
|
||||
|
||||
/* Load tags last tagged projects */
|
||||
::oFN:loadTags( ::oINI:aTaggedProjects )
|
||||
|
||||
@@ -873,7 +870,8 @@ METHOD HbIde:execAction( cKey )
|
||||
PostAppEvent( xbeP_Close, NIL, NIL, ::oDlg )
|
||||
EXIT
|
||||
CASE "Home"
|
||||
::oDK:setView( "Stats" )
|
||||
//::oDK:setView( "Stats" )
|
||||
::oHM:show()
|
||||
RETURN Self
|
||||
CASE "Animate"
|
||||
::oDK:animateComponents()
|
||||
|
||||
@@ -93,6 +93,7 @@ CLASS IdeINI INHERIT IdeObject
|
||||
DATA cDbStructDialogGeometry INIT ""
|
||||
DATA cTablesDialogGeometry INIT ""
|
||||
DATA cChangelogDialogGeometry INIT ""
|
||||
DATA cStatsDialogGeometry INIT ""
|
||||
//
|
||||
DATA cRecentTabIndex INIT ""
|
||||
//
|
||||
@@ -163,7 +164,7 @@ CLASS IdeINI INHERIT IdeObject
|
||||
DATA lCompleteArgumented INIT .f.
|
||||
|
||||
DATA aAppThemes INIT {}
|
||||
DATA lEditsMdi INIT .f.
|
||||
DATA lEditsMdi INIT .t.
|
||||
|
||||
DATA lShowEditsLeftToolbar INIT .t.
|
||||
DATA lShowEditsTopToolbar INIT .t.
|
||||
@@ -178,6 +179,7 @@ CLASS IdeINI INHERIT IdeObject
|
||||
DATA cUserChangeLog INIT ""
|
||||
|
||||
DATA lShowHideDocks INIT .t.
|
||||
DATA nEditsViewStyle INIT 0
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
@@ -347,6 +349,7 @@ METHOD IdeINI:save( cHbideIni )
|
||||
aadd( txt_, "DbStructDialogGeometry" + "=" + ::cDbStructDialogGeometry )
|
||||
aadd( txt_, "TablesDialogGeometry" + "=" + ::cTablesDialogGeometry )
|
||||
aadd( txt_, "ChangelogDialogGeometry" + "=" + ::cChangelogDialogGeometry )
|
||||
aadd( txt_, "StatsDialogGeometry" + "=" + ::cStatsDialogGeometry )
|
||||
//
|
||||
aadd( txt_, "CurrentLineHighlightMode" + "=" + iif( ::lCurrentLineHighlightEnabled, "YES", "NO" ) )
|
||||
aadd( txt_, "LineNumbersDisplayMode" + "=" + iif( ::lLineNumbersVisible, "YES", "NO" ) )
|
||||
@@ -411,6 +414,7 @@ METHOD IdeINI:save( cHbideIni )
|
||||
aadd( txt_, "UserChangeLog" + "=" + ::cUserChangeLog )
|
||||
aadd( txt_, "VSSExe" + "=" + ::cVSSExe )
|
||||
aadd( txt_, "VSSDatabase" + "=" + ::cVSSDatabase )
|
||||
aadd( txt_, "EditsViewStyle" + "=" + hb_ntos( ::nEditsViewStyle ) )
|
||||
|
||||
aadd( txt_, "" )
|
||||
aadd( txt_, "[PROJECTS]" )
|
||||
@@ -424,7 +428,7 @@ METHOD IdeINI:save( cHbideIni )
|
||||
aadd( txt_, "[FILES]" )
|
||||
aadd( txt_, " " )
|
||||
nn := 0
|
||||
FOR j := 2 TO len( ::oIde:aViews )
|
||||
FOR j := 1 TO len( ::oIde:aViews )
|
||||
::oIde:lClosing := .t.
|
||||
::oDK:setView( ::oIde:aViews[ j ]:oWidget:objectName() )
|
||||
|
||||
@@ -669,6 +673,7 @@ METHOD IdeINI:load( cHbideIni )
|
||||
CASE "DbStructDialogGeometry" ; ::cDbStructDialogGeometry := cVal ; EXIT
|
||||
CASE "TablesDialogGeometry" ; ::cTablesDialogGeometry := cVal ; EXIT
|
||||
CASE "ChangelogDialogGeometry" ; ::cChangelogDialogGeometry := cVal ; EXIT
|
||||
CASE "StatsDialogGeometry" ; ::cStatsDialogGeometry := cVal ; EXIT
|
||||
//
|
||||
CASE "CurrentLineHighlightMode" ; ::oIde:lCurrentLineHighlightEnabled := !( cVal == "NO" ); EXIT
|
||||
CASE "LineNumbersDisplayMode" ; ::oIde:lLineNumbersVisible := !( cVal == "NO" ); EXIT
|
||||
@@ -732,7 +737,7 @@ METHOD IdeINI:load( cHbideIni )
|
||||
//
|
||||
CASE "VSSExe" ; ::cVSSExe := cVal ; EXIT
|
||||
CASE "VSSDatabase" ; ::cVSSDatabase := cVal ; EXIT
|
||||
|
||||
CASE "EditsViewStyle" ; ::nEditsViewStyle := val( cVal ); EXIT
|
||||
|
||||
ENDSWITCH
|
||||
ENDIF
|
||||
@@ -847,7 +852,7 @@ METHOD IdeINI:load( cHbideIni )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
::oIde:lCurEditsMdi := ::lEditsMdi
|
||||
::lEditsMdi := .t. /* Enabled Permanently - scheduled to be removed by next commit */
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
Reference in New Issue
Block a user