2010-06-30 00:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed: the paint behavior in "thumbnail".
Selected text was covered behind highlight area.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idesaveload.prg
+ Added: more icons to ideDBU toolbar, close and toggle form view.
+ Implemented: to save and restore table informations per panel.
Now ideDBU is presented with opened tables as was closed previously.
+ Implemented: "Panels" concept where each panel can hold
different tables.
TODO: interface to add panels.
Please test.
This commit is contained in:
@@ -16,6 +16,23 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-06-30 00:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
|
||||
! Fixed: the paint behavior in "thumbnail".
|
||||
Selected text was covered behind highlight area.
|
||||
|
||||
* contrib/hbide/idebrowse.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/idesaveload.prg
|
||||
+ Added: more icons to ideDBU toolbar, close and toggle form view.
|
||||
+ Implemented: to save and restore table informations per panel.
|
||||
Now ideDBU is presented with opened tables as was closed previously.
|
||||
+ Implemented: "Panels" concept where each panel can hold
|
||||
different tables.
|
||||
TODO: interface to add panels.
|
||||
|
||||
Please test.
|
||||
|
||||
2010-06-29 17:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbide/ideedit.prg
|
||||
* contrib/hbide/ideeditor.prg
|
||||
|
||||
@@ -79,142 +79,347 @@
|
||||
|
||||
CLASS IdeBrowseManager INHERIT IdeObject
|
||||
|
||||
DATA oStack
|
||||
DATA oPanel
|
||||
DATA oMain
|
||||
DATA qDbu
|
||||
DATA qStack
|
||||
DATA qLayout
|
||||
DATA qVSplitter
|
||||
DATA qToolBar
|
||||
DATA qLayMain
|
||||
|
||||
DATA aPanels INIT {}
|
||||
DATA aToolBtns INIT {}
|
||||
DATA aItems INIT {}
|
||||
DATA aButtons INIT {}
|
||||
|
||||
DATA oCurBrw
|
||||
DATA oCurPanel
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD show()
|
||||
METHOD destroy()
|
||||
METHOD buildToolbar()
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD addTable( cFileDBF, cAlias, nRow, nCol )
|
||||
METHOD addArray( aData, aAttr, nRow, nCol )
|
||||
METHOD addTable( cFileDBF, cAlias )
|
||||
METHOD addArray( aData, aAttr )
|
||||
METHOD getPanelNames()
|
||||
METHOD getPanelsInfo()
|
||||
METHOD addPanels()
|
||||
METHOD addPanel( cPanel )
|
||||
METHOD showPanel( cPanel )
|
||||
METHOD isPanel( cPanel )
|
||||
METHOD loadTables()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:getPanelNames()
|
||||
LOCAL aNames := {}
|
||||
aeval( ::aPanels, {|e| aadd( aNames, e:cPanel ) } )
|
||||
RETURN aNames
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:getPanelsInfo()
|
||||
LOCAL oBrw, oPanel
|
||||
LOCAL aInfo := {}
|
||||
|
||||
FOR EACH oPanel IN ::aPanels
|
||||
FOR EACH oBrw IN oPanel:aItems
|
||||
IF oBrw:nType == BRW_TYPE_DBF
|
||||
aadd( aInfo, oPanel:cPanel + "," + oBrw:cTable + "," + oBrw:cAlias + "," + oBrw:cDriver + "," + ;
|
||||
hb_ntos( oBrw:nOrder ) + "," + hb_ntos( oBrw:recNo() ) + hb_ntos( oBrw:nCursorType ) )
|
||||
ENDIF
|
||||
NEXT
|
||||
NEXT
|
||||
|
||||
RETURN aInfo
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:destroy()
|
||||
LOCAL oPanel, oBrw
|
||||
|
||||
FOR EACH oPanel IN ::aPanels
|
||||
FOR EACH oBrw IN oPanel:aItems
|
||||
oBrw:destroy()
|
||||
oBrw := NIL
|
||||
NEXT
|
||||
oPanel:aItems := NIL
|
||||
oPanel := NIL
|
||||
NEXT
|
||||
::aPanels := NIL
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:destroy()
|
||||
#if 0
|
||||
LOCAL oBrw
|
||||
METHOD IdeBrowseManager:show()
|
||||
|
||||
::qToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) )
|
||||
::oQScintillaDock:oWidget:raise()
|
||||
|
||||
// Close tables and clear variables
|
||||
FOR EACH oBrw IN ::aItems
|
||||
Select( oBrw:cAlias )
|
||||
DbCloseArea()
|
||||
NEXT
|
||||
::aItems := {}
|
||||
#endif
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:create( oIde )
|
||||
LOCAL oDock, qBtn
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
oDock := ::oIde:oEM:oQScintillaDock:oWidget
|
||||
::qDbu := QWidget():new()
|
||||
::oIde:oEM:oQScintillaDock:oWidget:setWidget( ::qDbu )
|
||||
|
||||
::oPanel := QWidget():new()
|
||||
oDock:setWidget( ::oPanel )
|
||||
|
||||
::qLayout := QVBoxLayout():new() ; ::oPanel:setLayout( ::qLayout )
|
||||
/* Layout applied to dbu widget */
|
||||
::qLayout := QVBoxLayout():new()
|
||||
::qLayout:setContentsMargins( 0,0,0,0 )
|
||||
::qLayout:setSpacing( 2 )
|
||||
|
||||
::qToolbar := QToolbar():new()
|
||||
::qDbu:setLayout( ::qLayout )
|
||||
|
||||
/* Toolbar */
|
||||
::buildToolbar()
|
||||
::qLayout:addWidget( ::qToolbar )
|
||||
|
||||
/* Stacked widget */
|
||||
::qStack := QStackedWidget():new()
|
||||
::qLayout:addWidget( ::qStack )
|
||||
|
||||
/* Panels on the stacked widget */
|
||||
::addPanels()
|
||||
|
||||
/* Spread tables onto panels */
|
||||
::loadTables()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:buildToolbar()
|
||||
LOCAL qBtn, aBtn
|
||||
|
||||
::qToolbar := QToolbar():new()
|
||||
::qToolbar:setIconSize( QSize():new( 16,16 ) )
|
||||
::qToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) )
|
||||
|
||||
::oStack := QStackedWidget():new()
|
||||
::qLayout:addWidget( ::oStack )
|
||||
aadd( ::aButtons, { "Open a table" , "open" , "clicked()", {|| ::execEvent( "buttonOpen_clicked" ) }, .f. } )
|
||||
aadd( ::aButtons, { "Close current table", "close" , "clicked()", {|| ::execEvent( "buttonClose_clicked" ) }, .f. } )
|
||||
aadd( ::aButtons, { "Show/hide form view", "fullscreen" , "clicked()", {|| ::execEvent( "buttonShowForm_clicked" ) }, .t. } )
|
||||
|
||||
::oMain := QWidget():new()
|
||||
::oStack:addWidget( ::oMain )
|
||||
FOR EACH aBtn IN ::aButtons
|
||||
qBtn := QToolButton():new()
|
||||
qBtn:setTooltip( aBtn[ 1 ] )
|
||||
qBtn:setAutoRaise( .t. )
|
||||
qBtn:setIcon( hbide_image( aBtn[ 2 ] ) )
|
||||
IF aBtn[ 5 ]
|
||||
qBtn:setCheckable( .t. )
|
||||
ENDIF
|
||||
|
||||
::qLayMain := QHBoxLayout():new(); ::oMain:setLayout( ::qLayMain )
|
||||
::qLayMain:setContentsMargins( 0,0,0,0 )
|
||||
::qLayMain:setSpacing( 2 )
|
||||
::connect( qBtn, aBtn[ 3 ], aBtn[ 4 ] )
|
||||
|
||||
::qVSplitter := QSplitter():new()
|
||||
::qVSplitter:setOrientation( Qt_Vertical )
|
||||
::qLayMain:addWidget( ::qVSplitter )
|
||||
::qToolBar:addWidget( qBtn )
|
||||
|
||||
qBtn := QToolButton():new()
|
||||
qBtn:setTooltip( "Open a Table" )
|
||||
qBtn:setAutoRaise( .t. )
|
||||
qBtn:setIcon( hbide_image( "open" ) )
|
||||
::connect( qBtn, "clicked()", {|| ::execEvent( "buttonOpen_clicked" ) } )
|
||||
aadd( ::aToolBtns, qBtn )
|
||||
aadd( ::aToolBtns, qBtn )
|
||||
NEXT
|
||||
|
||||
::qToolBar:addWidget( qBtn )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:addPanels()
|
||||
LOCAL cPanel, aPanel
|
||||
|
||||
::addPanel( "Main" ) /* The default one */
|
||||
|
||||
FOR EACH cPanel IN ::oINI:aDbuPanelsInfo
|
||||
aPanel := hb_aTokens( cPanel )
|
||||
IF aPanel[ 1 ] != "Main"
|
||||
::addPanel( aPanel[ 1 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::qStack:setCurrentWidget( ::aPanels[ 1 ] ) /* Always start with main */
|
||||
::oCurPanel := ::aPanels[ 1 ]
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:addPanel( cPanel )
|
||||
LOCAL qPanel
|
||||
|
||||
qPanel := IdeBrowsePanel():new( ::oIde, cPanel )
|
||||
|
||||
::qStack:addWidget( qPanel:qWidget )
|
||||
|
||||
aadd( ::aPanels, qPanel )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:isPanel( cPanel )
|
||||
RETURN ascan( ::aPanels, {|o| o:qWidget:objectName() == cPanel } ) > 0
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:showPanel( cPanel )
|
||||
LOCAL n
|
||||
|
||||
IF ( n := ascan( ::aPanels, {|o| o:qWidget:objectName() == cPanel } ) ) > 0
|
||||
::qStack:setCurrentWidget( ::aPanels[ n ] )
|
||||
::oCurPanel := ::aPanels[ n ]
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:execEvent( cEvent, p )
|
||||
LOCAL cTable, cPath
|
||||
LOCAL cTable, cPath, n, oBrw
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "buttonShowForm_clicked"
|
||||
IF !empty( ::oCurBrw )
|
||||
IF ::oCurBrw:qForm:isHidden()
|
||||
::oCurBrw:qForm:show()
|
||||
::aToolBtns[ 3 ]:setChecked( .t. )
|
||||
ELSE
|
||||
::oCurBrw:qForm:hide()
|
||||
::aToolBtns[ 3 ]:setChecked( .f. )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE "buttonClose_clicked"
|
||||
IF !empty( ::oCurBrw )
|
||||
IF ( n := ascan( ::aItems, {|oBrw| oBrw == ::oCurBrw } ) ) > 0
|
||||
hb_adel( ::aItems, n, .t. )
|
||||
::oCurBrw:destroy()
|
||||
FOR EACH oBrw IN ::aItems
|
||||
oBrw:oBrw:configure()
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
CASE "buttonOpen_clicked"
|
||||
IF !empty( cTable := hbide_fetchAFile( ::oIde:oDlg, "Select a Table", { { "Database File", "*.dbf" } }, ::oIde:cWrkFolderLast ) )
|
||||
hb_fNameSplit( cTable, @cPath )
|
||||
::oIde:cWrkFolderLast := cPath
|
||||
::addTable( cTable )
|
||||
ENDIF
|
||||
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:addTable( cFileDBF, cAlias, nRow, nCol )
|
||||
LOCAL oBrw
|
||||
METHOD IdeBrowseManager:loadTables()
|
||||
LOCAL cInfo, aPanel, oCurPanel, cTable
|
||||
|
||||
HB_SYMBOL_UNUSED( nRow )
|
||||
HB_SYMBOL_UNUSED( nCol )
|
||||
oCurPanel := ::oCurPanel
|
||||
|
||||
oBrw := IdeBrowse():new()
|
||||
oBrw:cTable := cFileDBF
|
||||
oBrw:cAlias := cAlias
|
||||
oBrw:create()
|
||||
FOR EACH cInfo IN ::oINI:aDbuPanelsInfo
|
||||
aPanel := hb_aTokens( cInfo, "," )
|
||||
IF ::isPanel( aPanel[ 1 ] )
|
||||
IF hb_fileExists( cTable := hbide_pathToOSPath( aPanel[ 2 ] ) )
|
||||
::showPanel( aPanel[ 1 ] )
|
||||
::addTable( cTable )
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::qVSplitter:addWidget( oBrw:oWnd:oWidget )
|
||||
|
||||
aadd( ::aItems, oBrw )
|
||||
::qStack:setCurrentWidget( oCurPanel )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:addArray( aData, aAttr, nRow, nCol )
|
||||
METHOD IdeBrowseManager:addTable( cFileDBF, cAlias )
|
||||
LOCAL oBrw
|
||||
|
||||
oBrw := IdeBrowse():new()
|
||||
oBrw:cTable := cFileDBF
|
||||
oBrw:cAlias := cAlias
|
||||
oBrw:oManager := Self
|
||||
|
||||
oBrw:create()
|
||||
|
||||
::oCurPanel:addBrowser( oBrw )
|
||||
|
||||
aadd( ::oCurPanel:aItems, oBrw )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowseManager:addArray( aData, aAttr )
|
||||
|
||||
HB_SYMBOL_UNUSED( aData )
|
||||
HB_SYMBOL_UNUSED( aAttr )
|
||||
HB_SYMBOL_UNUSED( nRow )
|
||||
HB_SYMBOL_UNUSED( nCol )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
//
|
||||
// Class IdeBrowsePanel
|
||||
//
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeBrowsePanel INHERIT IdeObject
|
||||
|
||||
DATA cPanel INIT ""
|
||||
|
||||
DATA qWidget
|
||||
DATA qLayout
|
||||
DATA qVSplitter
|
||||
|
||||
DATA aItems INIT {}
|
||||
|
||||
METHOD new( oIde, cPanel )
|
||||
METHOD addBrowser( oBrw )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:new( oIde, cPanel )
|
||||
|
||||
::oIde := oIde
|
||||
::cPanel := cPanel
|
||||
|
||||
::qWidget := QWidget():new()
|
||||
::qWidget:setObjectName( ::cPanel )
|
||||
|
||||
::qLayout := QHBoxLayout():new()
|
||||
::qLayout:setContentsMargins( 0,0,0,0 )
|
||||
::qLayout:setSpacing( 2 )
|
||||
|
||||
::qVSplitter := QSplitter():new()
|
||||
::qVSplitter:setOrientation( Qt_Vertical )
|
||||
|
||||
::qLayout:addWidget( ::qVSplitter )
|
||||
|
||||
::qWidget:setLayout( ::qLayout )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowsePanel:addBrowser( oBrw )
|
||||
|
||||
::qVSplitter:addWidget( oBrw:oWnd:oWidget )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -233,6 +438,7 @@ CLASS IdeBrowse INHERIT IdeObject
|
||||
DATA qFLayout
|
||||
DATA qSplitter
|
||||
DATA aForm INIT {}
|
||||
DATA oManager
|
||||
|
||||
DATA nType INIT BRW_TYPE_DBF
|
||||
DATA cAlias INIT ""
|
||||
@@ -246,6 +452,7 @@ CLASS IdeBrowse INHERIT IdeObject
|
||||
DATA nOrder INIT 0
|
||||
DATA nArea INIT 0
|
||||
DATA nCursorType INIT XBPBRW_CURSOR_CELL
|
||||
DATA lOpened INIT .f.
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
@@ -311,6 +518,7 @@ METHOD IdeBrowse:create( oIde )
|
||||
IF empty( ::cAlias )
|
||||
::cAlias := alias()
|
||||
ENDIF
|
||||
::lOpened := .t.
|
||||
ENDIF
|
||||
|
||||
::aStruct := DbStruct()
|
||||
@@ -348,27 +556,16 @@ METHOD IdeBrowse:create( oIde )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:execEvent( cEvent, p, p1 )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "browse_navigate"
|
||||
::populateForm()
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:activated()
|
||||
|
||||
HB_TRACE( HB_TR_ALWAYS, "ACTIVATED" )
|
||||
::oQScintillaDock:oWidget:setWindowTitle( ::cTable )
|
||||
|
||||
METHOD IdeBrowse:destroy()
|
||||
IF !empty( ::oWnd )
|
||||
::qLayout:removeWidget( ::qSplitter )
|
||||
::oWnd:destroy()
|
||||
::qForm := NIL
|
||||
IF ::lOpened
|
||||
( ::cAlias )->( dbCloseArea() )
|
||||
ENDIF
|
||||
::oManager:oCurBrw := NIL
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -395,8 +592,6 @@ METHOD IdeBrowse:buildBrowser()
|
||||
|
||||
::qSplitter:addWidget( oXbpBrowse:oWidget )
|
||||
|
||||
//qLayout:addWidget( oXbpBrowse:oWidget )
|
||||
|
||||
oXbpBrowse:cursorMode := ::nCursorType
|
||||
|
||||
oXbpBrowse:skipBlock := {|n| ::skipBlock( n ) }
|
||||
@@ -419,6 +614,8 @@ METHOD IdeBrowse:buildBrowser()
|
||||
|
||||
::qSplitter:addWidget( ::qForm )
|
||||
|
||||
::qForm:hide() /* Form view defaults to hidden */
|
||||
|
||||
::qLayout := qLayout
|
||||
::oWnd := oWnd
|
||||
::oBrw := oXbpBrowse
|
||||
@@ -427,6 +624,33 @@ METHOD IdeBrowse:buildBrowser()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:execEvent( cEvent, p, p1 )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "browse_navigate"
|
||||
::populateForm()
|
||||
::oManager:oCurBrw := Self
|
||||
::oManager:aToolBtns[ 3 ]:setChecked( ! ::qForm:isHidden() )
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:activated()
|
||||
|
||||
HB_TRACE( HB_TR_ALWAYS, "ACTIVATED" )
|
||||
::oQScintillaDock:oWidget:setWindowTitle( ::cTable )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_xtosForForm( xVrb )
|
||||
LOCAL cType := valtype( xVrb )
|
||||
|
||||
@@ -461,8 +685,7 @@ METHOD IdeBrowse:buildForm()
|
||||
|
||||
IF ::nType == BRW_TYPE_DBF
|
||||
FOR EACH a_ IN ::aStruct
|
||||
qLbl := QLabel():new()
|
||||
qLbl:setText( a_[ 1 ] )
|
||||
qLbl := QLabel():new(); qLbl:setText( a_[ 1 ] )
|
||||
qEdit := QLineEdit():new()
|
||||
::qFLayout:addRow( qLbl, qEdit )
|
||||
aadd( ::aForm, { qLbl, qEdit } )
|
||||
@@ -527,14 +750,6 @@ METHOD IdeBrowse:getPP( aStruct )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:destroy()
|
||||
IF !empty( ::oWnd )
|
||||
::oWnd:destroy()
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeBrowse:skipBlock( nHowMany )
|
||||
LOCAL nRecs, nCurPos
|
||||
LOCAL nSkipped := 0
|
||||
|
||||
@@ -73,27 +73,6 @@
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define docEnvironments_visibilityChanged 301
|
||||
#define dockFindInFiles_visibilityChanged 302
|
||||
#define dockThemes_visibilityChanged 303
|
||||
#define dockProperties_visibilityChanged 304
|
||||
#define dockDocViewer_visibilityChanged 305
|
||||
#define docFunctions_visibilityChanged 306
|
||||
#define dockDocWriter_visibilityChanged 307
|
||||
#define docSkeletons_visibilityChanged 308
|
||||
#define dockSkltnsTree_visibilityChanged 309
|
||||
#define dockHelpDock_visibilityChanged 310
|
||||
#define oFuncDock_visibilityChanged 311
|
||||
#define dockSourceThumbnail_visibilityChanged 312
|
||||
#define dockQScintilla_visibilityChanged 313
|
||||
|
||||
#define qTimer_timeOut 401
|
||||
#define qSystemTrayIcon_show 402
|
||||
#define qSystemTrayIcon_close 403
|
||||
#define qSystemTrayIcon_activated 404
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeDocks INHERIT IdeObject
|
||||
|
||||
DATA nPass INIT 0
|
||||
@@ -116,7 +95,7 @@ CLASS IdeDocks INHERIT IdeObject
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD execEvent( nMode, p )
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD setView( cView )
|
||||
METHOD buildToolBarPanels()
|
||||
METHOD buildHelpWidget()
|
||||
@@ -280,8 +259,8 @@ METHOD IdeDocks:buildDialog()
|
||||
|
||||
::setView( "Stats" ) /* Always call with name */
|
||||
|
||||
::oDlg:connectEvent( ::oDlg:oWidget, QEvent_WindowStateChange, {|e| ::execEvent( QEvent_WindowStateChange, e ) } )
|
||||
::oDlg:connectEvent( ::oDlg:oWidget, QEvent_Hide , {|e| ::execEvent( QEvent_Hide, e ) } )
|
||||
::oDlg:connectEvent( ::oDlg:oWidget, QEvent_WindowStateChange, {|e| ::execEvent( "QEvent_WindowStateChange", e ) } )
|
||||
::oDlg:connectEvent( ::oDlg:oWidget, QEvent_Hide , {|e| ::execEvent( "QEvent_Hide", e ) } )
|
||||
|
||||
#if 1
|
||||
::buildSystemTray()
|
||||
@@ -296,15 +275,15 @@ METHOD IdeDocks:buildSystemTray()
|
||||
::oIde:oSys := QSystemTrayIcon():new( ::oDlg:oWidget )
|
||||
IF ( ::lSystemTrayAvailable := ::oSys:isSystemTrayAvailable() ) .AND. ::lMinimizeInSystemTray
|
||||
::oSys:setIcon( hbide_image( "hbide" ) )
|
||||
::connect( ::oSys, "activated(QSystemTrayIcon::ActivationReason)", {|p| ::execEvent( qSystemTrayIcon_activated, p ) } )
|
||||
::connect( ::oSys, "activated(QSystemTrayIcon::ActivationReason)", {|p| ::execEvent( "qSystemTrayIcon_activated", p ) } )
|
||||
|
||||
::oIde:oSysMenu := QMenu():new( ::oDlg:oWidget )
|
||||
::qAct1 := ::oSysMenu:addAction_1( hbide_image( "fullscreen" ), "&Show" )
|
||||
::oSysMenu:addSeparator()
|
||||
::qAct2 := ::oSysMenu:addAction_1( hbide_image( "exit" ), "&Exit" )
|
||||
|
||||
::connect( ::qAct1, "triggered(bool)", {|| ::execEvent( qSystemTrayIcon_show ) } )
|
||||
::connect( ::qAct2, "triggered(bool)", {|| ::execEvent( qSystemTrayIcon_close ) } )
|
||||
::connect( ::qAct1, "triggered(bool)", {|| ::execEvent( "qSystemTrayIcon_show" ) } )
|
||||
::connect( ::qAct2, "triggered(bool)", {|| ::execEvent( "qSystemTrayIcon_close" ) } )
|
||||
|
||||
::oSys:setContextMenu( ::oSysMenu )
|
||||
::oSys:hide()
|
||||
@@ -316,62 +295,57 @@ METHOD IdeDocks:buildSystemTray()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:execEvent( nMode, p )
|
||||
METHOD IdeDocks:execEvent( cEvent, p )
|
||||
LOCAL qEvent
|
||||
|
||||
DO CASE
|
||||
|
||||
CASE nMode == 2 /* HelpWidget:contextMenuRequested(qPoint) */
|
||||
CASE cEvent == "qHelpBrw_contextMenuRequested"
|
||||
hbide_popupBrwContextMenu( ::qHelpBrw, p )
|
||||
|
||||
CASE nMode == dockQScintilla_visibilityChanged
|
||||
IF ! p
|
||||
::oBM:destroy()
|
||||
ENDIF
|
||||
CASE cEvent == "dockQScintilla_visibilityChanged"
|
||||
IF p ; ::oBM:show() ; ENDIF
|
||||
|
||||
CASE nMode == dockSourceThumbnail_visibilityChanged
|
||||
CASE cEvent == "dockSourceThumbnail_visibilityChanged"
|
||||
IF p; ::oEM:showThumbnail(); ENDIF
|
||||
|
||||
/* Left Panel Docks */
|
||||
CASE nMode == dockSkltnsTree_visibilityChanged
|
||||
CASE cEvent == "dockSkltnsTree_visibilityChanged"
|
||||
IF p; ::oSK:showTree(); ENDIF
|
||||
|
||||
/* Right Panel Docks */
|
||||
CASE nMode == dockHelpDock_visibilityChanged
|
||||
CASE cEvent == "dockHelpDock_visibilityChanged"
|
||||
IF p; ::oHelpDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == dockDocViewer_visibilityChanged
|
||||
CASE cEvent == "dockDocViewer_visibilityChanged"
|
||||
IF p; ::oHL:show(); ::oDocViewDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == dockDocWriter_visibilityChanged
|
||||
CASE cEvent == "dockDocWriter_visibilityChanged"
|
||||
IF p; ::oDW:show(); ::oDocWriteDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == oFuncDock_visibilityChanged
|
||||
CASE cEvent == "oFuncDock_visibilityChanged"
|
||||
IF p; ::oFuncDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == docFunctions_visibilityChanged
|
||||
CASE cEvent == "docFunctions_visibilityChanged"
|
||||
IF p; ::oFN:show(); ::oFunctionsDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == dockProperties_visibilityChanged
|
||||
CASE cEvent == "dockProperties_visibilityChanged"
|
||||
IF p; ::oPM:fetchProperties(); ::oPropertiesDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == docEnvironments_visibilityChanged
|
||||
CASE cEvent == "docEnvironments_visibilityChanged"
|
||||
IF p; ::oEV:show(); ::oEnvironDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == docSkeletons_visibilityChanged
|
||||
CASE cEvent == "docSkeletons_visibilityChanged"
|
||||
IF p; ::oSK:show(); ::oSkeltnDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == dockThemes_visibilityChanged
|
||||
CASE cEvent == "dockThemes_visibilityChanged"
|
||||
IF p; ::oTH:show(); ::oThemesDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == dockFindInFiles_visibilityChanged
|
||||
CASE cEvent == "dockFindInFiles_visibilityChanged"
|
||||
IF p; ::oFF:show(); ::oFindDock:oWidget:raise(); ENDIF
|
||||
|
||||
CASE nMode == QEvent_WindowStateChange
|
||||
CASE cEvent == "QEvent_WindowStateChange"
|
||||
qEvent := QWindowStateChangeEvent():from( p )
|
||||
::nPrevWindowState := qEvent:oldState()
|
||||
|
||||
CASE nMode == QEvent_Hide
|
||||
CASE cEvent == "QEvent_Hide"
|
||||
IF ::lSystemTrayAvailable .AND. ::lMinimizeInSystemTray
|
||||
qEvent := QHideEvent():from( p )
|
||||
IF ! ::lChanging
|
||||
@@ -381,7 +355,7 @@ METHOD IdeDocks:execEvent( nMode, p )
|
||||
::qTimer := QTimer():New()
|
||||
::qTimer:setSingleShot( .t. )
|
||||
::qTimer:setInterval( 250 )
|
||||
::connect( ::qTimer, "timeout()", {|| ::execEvent( qTimer_timeOut ) } )
|
||||
::connect( ::qTimer, "timeout()", {|| ::execEvent( "qTimer_timeOut" ) } )
|
||||
ENDIF
|
||||
::qTimer:start()
|
||||
qEvent:ignore()
|
||||
@@ -390,27 +364,23 @@ METHOD IdeDocks:execEvent( nMode, p )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
CASE nMode == qTimer_timeOut
|
||||
CASE cEvent == "qTimer_timeOut"
|
||||
::oDlg:hide()
|
||||
::oSys:setToolTip( ::oDlg:oWidget:windowTitle() )
|
||||
::oSys:show()
|
||||
|
||||
CASE nMode == qSystemTrayIcon_close
|
||||
CASE cEvent == "qSystemTrayIcon_close"
|
||||
PostAppEvent( xbeP_Close, NIL, NIL, ::oDlg )
|
||||
|
||||
CASE nMode == qSystemTrayIcon_show
|
||||
CASE cEvent == "qSystemTrayIcon_show"
|
||||
::showDlgBySystemTrayIconCommand()
|
||||
|
||||
CASE nMode == qSystemTrayIcon_activated
|
||||
CASE cEvent == "qSystemTrayIcon_activated"
|
||||
IF p == QSystemTrayIcon_Trigger
|
||||
::showDlgBySystemTrayIconCommand()
|
||||
|
||||
ELSEIF p == QSystemTrayIcon_DoubleClick
|
||||
|
||||
ELSEIF p == QSystemTrayIcon_Context
|
||||
|
||||
ELSEIF p == QSystemTrayIcon_MiddleClick
|
||||
|
||||
ENDIF
|
||||
|
||||
ENDCASE
|
||||
@@ -666,7 +636,7 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } )
|
||||
#endif
|
||||
aadd( aBtns, { "togglelinenumber", "Toggle Line Numbers" , {|| ::oEM:toggleLineNumbers() } } )
|
||||
aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } )
|
||||
aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } )
|
||||
aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } )
|
||||
FOR EACH a_ IN aBtns
|
||||
IF empty( a_ )
|
||||
@@ -900,7 +870,7 @@ METHOD IdeDocks:buildSkeletonsTree()
|
||||
::oIde:oSkltnsTreeDock := ::getADockWidget( nAreas, "dockSkltnsTree", "Skeletons", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_LeftDockWidgetArea, ::oSkltnsTreeDock:oWidget, Qt_Vertical )
|
||||
|
||||
::connect( ::oSkltnsTreeDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockSkltnsTree_visibilityChanged, p ) } )
|
||||
::connect( ::oSkltnsTreeDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockSkltnsTree_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -912,7 +882,7 @@ METHOD IdeDocks:buildFuncList()
|
||||
::oIde:oFuncDock := ::getADockWidget( nAreas, "dockFuncList", "Functions List", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFuncDock:oWidget, Qt_Vertical )
|
||||
|
||||
::connect( ::oFuncDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( oFuncDock_visibilityChanged, p ) } )
|
||||
::connect( ::oFuncDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "oFuncDock_visibilityChanged", p ) } )
|
||||
|
||||
::oIde:oFuncList := XbpListBox():new( ::oFuncDock ):create( , , { 0,0 }, { 100,400 }, , .t. )
|
||||
::oFuncList:oWidget:setEditTriggers( QAbstractItemView_NoEditTriggers )
|
||||
@@ -948,9 +918,9 @@ METHOD IdeDocks:buildHelpWidget()
|
||||
|
||||
::oHelpDock:oWidget:setWidget( ::oIde:qHelpBrw )
|
||||
|
||||
::oHelpDock:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( 2, p ) } )
|
||||
::oHelpDock:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( "qHelpBrw_contextMenuRequested", p ) } )
|
||||
|
||||
::connect( ::oHelpDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockHelpDock_visibilityChanged, p ) } )
|
||||
::connect( ::oHelpDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockHelpDock_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1063,7 +1033,7 @@ METHOD IdeDocks:buildThemesDock()
|
||||
::oIde:oThemesDock := ::getADockWidget( nAreas, "dockThemes", "Theme Manager", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oThemesDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oThemesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockThemes_visibilityChanged, p ) } )
|
||||
::connect( ::oThemesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockThemes_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1075,7 +1045,7 @@ METHOD IdeDocks:buildPropertiesDock()
|
||||
::oIde:oPropertiesDock := ::getADockWidget( nAreas, "dockProperties", "Project Properties", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oPropertiesDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockProperties_visibilityChanged, p ) } )
|
||||
::connect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockProperties_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1087,7 +1057,7 @@ METHOD IdeDocks:buildFindInFiles()
|
||||
::oIde:oFindDock := ::getADockWidget( nAreas, "dockFindInFiles", "Find in Files", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFindDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oFindDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockFindInFiles_visibilityChanged, p ) } )
|
||||
::connect( ::oFindDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockFindInFiles_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1099,7 +1069,7 @@ METHOD IdeDocks:buildDocViewer()
|
||||
::oIde:oDocViewDock := ::getADockWidget( nAreas, "dockDocViewer", "Harbour Documentation", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDocViewDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oDocViewDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockDocViewer_visibilityChanged, p ) } )
|
||||
::connect( ::oDocViewDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockDocViewer_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1111,7 +1081,7 @@ METHOD IdeDocks:buildDocWriter()
|
||||
::oIde:oDocWriteDock := ::getADockWidget( nAreas, "dockDocWriter", "Documentation Writer", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDocWriteDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oDocWriteDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockDocWriter_visibilityChanged, p ) } )
|
||||
::connect( ::oDocWriteDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockDocWriter_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1123,7 +1093,7 @@ METHOD IdeDocks:buildFunctionsDock()
|
||||
::oIde:oFunctionsDock := ::getADockWidget( nAreas, "dockFunctions", "Projects Functions Lookup", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFunctionsDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oFunctionsDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docFunctions_visibilityChanged, p ) } )
|
||||
::connect( ::oFunctionsDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docFunctions_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1135,7 +1105,7 @@ METHOD IdeDocks:buildEnvironDock()
|
||||
::oIde:oEnvironDock := ::getADockWidget( nAreas, "dockEnvironments", "Compiler Environments", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docEnvironments_visibilityChanged, p ) } )
|
||||
::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docEnvironments_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1147,7 +1117,7 @@ METHOD IdeDocks:buildSkeletonWidget()
|
||||
::oIde:oSkeltnDock := ::getADockWidget( nAreas, "dockSkeleton", "Code Skeletons", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSkeltnDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oSkeltnDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docSkeletons_visibilityChanged, p ) } )
|
||||
::connect( ::oSkeltnDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docSkeletons_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1159,7 +1129,7 @@ METHOD IdeDocks:buildSourceThumbnail()
|
||||
::oIde:oSourceThumbnailDock := ::getADockWidget( nAreas, "dockSourceThumbnail", "Source Thumbnail", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSourceThumbnailDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockSourceThumbnail_visibilityChanged, p ) } )
|
||||
::connect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockSourceThumbnail_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1168,10 +1138,10 @@ METHOD IdeDocks:buildSourceThumbnail()
|
||||
METHOD IdeDocks:buildQScintilla()
|
||||
LOCAL nAreas := Qt_LeftDockWidgetArea + Qt_RightDockWidgetArea + Qt_TopDockWidgetArea + Qt_BottomDockWidgetArea
|
||||
|
||||
::oIde:oQScintillaDock := ::getADockWidget( nAreas, "dockQScintilla", "Browser Widget", QDockWidget_DockWidgetFloatable )
|
||||
::oIde:oQScintillaDock := ::getADockWidget( nAreas, "dockQScintilla", "ideDBU", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oQScintillaDock:oWidget, Qt_Horizontal )
|
||||
|
||||
::connect( ::oQScintillaDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockQScintilla_visibilityChanged, p ) } )
|
||||
::connect( ::oQScintillaDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockQScintilla_visibilityChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -1275,7 +1245,6 @@ METHOD IdeDocks:animateComponents( nMode )
|
||||
::oMainToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) )
|
||||
::oSBar:oWidget:setStyleSheet( GetStyleSheet( "QStatusBar", nMode ) )
|
||||
|
||||
|
||||
cStyle := GetStyleSheet( "QDockWidget", nMode )
|
||||
|
||||
::oDockPT:oWidget :setStyleSheet( cStyle )
|
||||
@@ -1292,6 +1261,8 @@ METHOD IdeDocks:animateComponents( nMode )
|
||||
::oThemesDock:oWidget :setStyleSheet( cStyle )
|
||||
::oFindDock:oWidget :setStyleSheet( cStyle )
|
||||
::oDockB2:oWidget :setStyleSheet( cStyle )
|
||||
::oQScintillaDock:oWidget:setStyleSheet( cStyle )
|
||||
::oSourceThumbnailDock:oWidget:setStyleSheet( cStyle )
|
||||
|
||||
#if 1
|
||||
// should be iteration
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
#include "hbqt.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#if 0
|
||||
#define INI_HBIDE 1
|
||||
#define INI_PROJECTS 2
|
||||
#define INI_FILES 3
|
||||
@@ -85,6 +85,7 @@
|
||||
#define INI_TOOLS 12
|
||||
#define INI_USERTOOLBARS 13
|
||||
#define INI_KEYWORDS 14
|
||||
#endif
|
||||
|
||||
#define INI_SECTIONS_COUNT 14
|
||||
#define INI_HBIDE_VRBLS 30
|
||||
@@ -139,6 +140,8 @@ CLASS IdeINI INHERIT IdeObject
|
||||
DATA aTools INIT {}
|
||||
DATA aUserToolbars INIT {}
|
||||
DATA aKeywords INIT {}
|
||||
DATA aDbuPanelNames INIT {}
|
||||
DATA aDbuPanelsInfo INIT {}
|
||||
|
||||
DATA cFontName INIT "Courier New"
|
||||
DATA nPointSize INIT 10
|
||||
@@ -182,7 +185,7 @@ METHOD IdeINI:create( oIde )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeINI:save( cHbideIni )
|
||||
LOCAL j, nTab, pTab, n, txt_, oEdit, nTabs, nn, a_
|
||||
LOCAL j, nTab, pTab, n, txt_, oEdit, nTabs, nn, a_, s
|
||||
|
||||
DEFAULT cHbideIni TO ::oIde:cProjIni
|
||||
|
||||
@@ -357,6 +360,20 @@ METHOD IdeINI:save( cHbideIni )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[DBUPANELS]" )
|
||||
aadd( txt_, " " )
|
||||
FOR EACH s IN ::oBM:getPanelNames()
|
||||
aadd( txt_, "dbupanel_" + hb_ntos( s:__enumIndex() ) + "=" + s )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[DBUPANELSINFO]" )
|
||||
aadd( txt_, " " )
|
||||
FOR EACH s IN ::oBM:getPanelsInfo()
|
||||
aadd( txt_, "dbupanelinfo_" + hb_ntos( s:__enumIndex() ) + "=" + s )
|
||||
NEXT
|
||||
aadd( txt_, " " )
|
||||
|
||||
aadd( txt_, "[General]" )
|
||||
aadd( txt_, " " )
|
||||
|
||||
@@ -381,56 +398,62 @@ METHOD IdeINI:load( cHbideIni )
|
||||
SWITCH Upper( s )
|
||||
|
||||
CASE "[GENERAL]"
|
||||
nPart := INI_GENERAL
|
||||
nPart := "INI_GENERAL"
|
||||
EXIT
|
||||
CASE "[HBIDE]"
|
||||
nPart := INI_HBIDE
|
||||
nPart := "INI_HBIDE"
|
||||
EXIT
|
||||
CASE "[PROJECTS]"
|
||||
nPart := INI_PROJECTS
|
||||
nPart := "INI_PROJECTS"
|
||||
EXIT
|
||||
CASE "[FILES]"
|
||||
nPart := INI_FILES
|
||||
nPart := "INI_FILES"
|
||||
EXIT
|
||||
CASE "[FIND]"
|
||||
nPart := INI_FIND
|
||||
nPart := "INI_FIND"
|
||||
EXIT
|
||||
CASE "[REPLACE]"
|
||||
nPart := INI_REPLACE
|
||||
nPart := "INI_REPLACE"
|
||||
EXIT
|
||||
CASE "[RECENTFILES]"
|
||||
nPart := INI_RECENTFILES
|
||||
nPart := "INI_RECENTFILES"
|
||||
EXIT
|
||||
CASE "[RECENTPROJECTS]"
|
||||
nPart := INI_RECENTPROJECTS
|
||||
nPart := "INI_RECENTPROJECTS"
|
||||
EXIT
|
||||
CASE "[FOLDERS]"
|
||||
nPart := INI_FOLDERS
|
||||
nPart := "INI_FOLDERS"
|
||||
EXIT
|
||||
CASE "[VIEWS]"
|
||||
nPart := INI_VIEWS
|
||||
nPart := "INI_VIEWS"
|
||||
EXIT
|
||||
CASE "[TAGGEDPROJECTS]"
|
||||
nPart := INI_TAGGEDPROJECTS
|
||||
nPart := "INI_TAGGEDPROJECTS"
|
||||
EXIT
|
||||
CASE "[TOOLS]"
|
||||
nPart := INI_TOOLS
|
||||
nPart := "INI_TOOLS"
|
||||
EXIT
|
||||
CASE "[USERTOOLBARS]"
|
||||
nPart := INI_USERTOOLBARS
|
||||
nPart := "INI_USERTOOLBARS"
|
||||
EXIT
|
||||
CASE "[KEYWORDS]"
|
||||
nPart := INI_KEYWORDS
|
||||
nPart := "INI_KEYWORDS"
|
||||
EXIT
|
||||
CASE "[DBUPANELS]"
|
||||
nPart := "INI_DBUPANELS"
|
||||
EXIT
|
||||
CASE "[DBUPANELSINFO]"
|
||||
nPart := "INI_DBUPANELSINFO"
|
||||
EXIT
|
||||
OTHERWISE
|
||||
DO CASE
|
||||
CASE Left( s, 1 ) $ '#['
|
||||
* Nothing todo!
|
||||
|
||||
CASE nPart == INI_GENERAL
|
||||
CASE nPart == "INI_GENERAL"
|
||||
* Qt Setttings, do nothing.
|
||||
|
||||
CASE nPart == INI_HBIDE
|
||||
CASE nPart == "INI_HBIDE"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
|
||||
SWITCH cKey
|
||||
@@ -487,12 +510,12 @@ METHOD IdeINI:load( cHbideIni )
|
||||
ENDSWITCH
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_PROJECTS
|
||||
CASE nPart == "INI_PROJECTS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aProjFiles, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_FILES
|
||||
CASE nPart == "INI_FILES"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
a_:= hbide_parseSourceComponents( cVal )
|
||||
IF !Empty( a_[ 1 ] )
|
||||
@@ -500,17 +523,17 @@ METHOD IdeINI:load( cHbideIni )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_FIND
|
||||
CASE nPart == "INI_FIND"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aFind, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_REPLACE
|
||||
CASE nPart == "INI_REPLACE"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aReplace, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_RECENTPROJECTS
|
||||
CASE nPart == "INI_RECENTPROJECTS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
IF Len( ::aRecentProjects ) < 25
|
||||
cVal := hbide_pathNormalized( cVal, .f. )
|
||||
@@ -520,7 +543,7 @@ METHOD IdeINI:load( cHbideIni )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_RECENTFILES
|
||||
CASE nPart == "INI_RECENTFILES"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
IF Len( ::aRecentFiles ) < 25
|
||||
cVal := hbide_pathNormalized( cVal, .f. )
|
||||
@@ -530,36 +553,46 @@ METHOD IdeINI:load( cHbideIni )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_FOLDERS
|
||||
CASE nPart == "INI_FOLDERS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aFolders, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_VIEWS
|
||||
CASE nPart == "INI_VIEWS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aViews, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_TAGGEDPROJECTS
|
||||
CASE nPart == "INI_TAGGEDPROJECTS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd(::aTaggedProjects, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_TOOLS
|
||||
CASE nPart == "INI_TOOLS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aTools, hbide_parseToolComponents( cVal ) )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_USERTOOLBARS
|
||||
CASE nPart == "INI_USERTOOLBARS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aUserToolbars, hbide_parseUserToolbarComponents( cVal ) )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == INI_KEYWORDS
|
||||
CASE nPart == "INI_KEYWORDS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aKeywords, hbide_parseKeywordsComponents( cVal ) )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == "INI_DBUPANELS"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aDbuPanelNames, cVal )
|
||||
ENDIF
|
||||
|
||||
CASE nPart == "INI_DBUPANELSINFO"
|
||||
IF hbide_parseKeyValPair( s, @cKey, @cVal )
|
||||
aadd( ::aDbuPanelsInfo, cVal )
|
||||
ENDIF
|
||||
|
||||
ENDCASE
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
@@ -1385,10 +1385,10 @@ void HBQPlainTextEdit::paintEvent( QPaintEvent * event )
|
||||
bottom = top + height;
|
||||
++blockNumber;
|
||||
}
|
||||
this->hbPaintSelection( event );
|
||||
this->hbPaintHighlight( event );
|
||||
this->hbPaintSelection( event );
|
||||
|
||||
// this->hbDrawCursor( event );
|
||||
// this->hbDrawCursor( event );
|
||||
|
||||
QPlainTextEdit::paintEvent( event );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user