2010-08-10 09:58 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt.ch
+ contrib/hbide/resources/designer.png
+ contrib/hbide/resources/f-bold-1.png
+ contrib/hbide/resources/f-generic.png
+ contrib/hbide/resources/f-image.png
+ contrib/hbide/resources/f-italic-1.png
+ contrib/hbide/resources/f-strike-1.png
+ contrib/hbide/resources/f-underline-1.png
+ contrib/hbide/resources/f_align_bottom.png
+ contrib/hbide/resources/f_align_center.png
+ contrib/hbide/resources/f_align_justify.png
+ contrib/hbide/resources/f_align_left.png
+ contrib/hbide/resources/f_align_middle.png
+ contrib/hbide/resources/f_align_right.png
+ contrib/hbide/resources/f_align_top.png
+ contrib/hbide/resources/f_barcode.png
+ contrib/hbide/resources/f_box_all.png
+ contrib/hbide/resources/f_box_bottom.png
+ contrib/hbide/resources/f_box_left.png
+ contrib/hbide/resources/f_box_matrix.png
+ contrib/hbide/resources/f_box_plain.png
+ contrib/hbide/resources/f_box_right.png
+ contrib/hbide/resources/f_box_shadow.png
+ contrib/hbide/resources/f_box_top.png
+ contrib/hbide/resources/f_chart.png
+ contrib/hbide/resources/f_gradient.png
* contrib/hbide/hbide.qrc
+ Added: few more icons.
* contrib/hbide/hbide.hbp
+ Added: ideprojectmanager.prg and idetoolbar.prg
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideobject.prg
+ contrib/hbide/idereportsmanager.prg
+ contrib/hbide/idetoolbar.prg
+ Started: implementation of Harbour's Report Designer and Print Engine.
NOTE: It is a very complex subject and more so I have a little
knowledge about Qt's rendering system, so please do not
pin high hopes. I still do not know which way it will proceed,
will we be successful or failure, will it touch our expectations.
It is an ambitious project I ever dreamt of developing one,
so I just started. If you can extend help in this direction,
every bit will matter. So please gear-up yourselves for next logical
evolution of hbIDE.
@@ -16,6 +16,58 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-08-10 09:58 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/hbqt.ch
|
||||
|
||||
+ contrib/hbide/resources/designer.png
|
||||
+ contrib/hbide/resources/f-bold-1.png
|
||||
+ contrib/hbide/resources/f-generic.png
|
||||
+ contrib/hbide/resources/f-image.png
|
||||
+ contrib/hbide/resources/f-italic-1.png
|
||||
+ contrib/hbide/resources/f-strike-1.png
|
||||
+ contrib/hbide/resources/f-underline-1.png
|
||||
+ contrib/hbide/resources/f_align_bottom.png
|
||||
+ contrib/hbide/resources/f_align_center.png
|
||||
+ contrib/hbide/resources/f_align_justify.png
|
||||
+ contrib/hbide/resources/f_align_left.png
|
||||
+ contrib/hbide/resources/f_align_middle.png
|
||||
+ contrib/hbide/resources/f_align_right.png
|
||||
+ contrib/hbide/resources/f_align_top.png
|
||||
+ contrib/hbide/resources/f_barcode.png
|
||||
+ contrib/hbide/resources/f_box_all.png
|
||||
+ contrib/hbide/resources/f_box_bottom.png
|
||||
+ contrib/hbide/resources/f_box_left.png
|
||||
+ contrib/hbide/resources/f_box_matrix.png
|
||||
+ contrib/hbide/resources/f_box_plain.png
|
||||
+ contrib/hbide/resources/f_box_right.png
|
||||
+ contrib/hbide/resources/f_box_shadow.png
|
||||
+ contrib/hbide/resources/f_box_top.png
|
||||
+ contrib/hbide/resources/f_chart.png
|
||||
+ contrib/hbide/resources/f_gradient.png
|
||||
|
||||
* contrib/hbide/hbide.qrc
|
||||
+ Added: few more icons.
|
||||
|
||||
* contrib/hbide/hbide.hbp
|
||||
+ Added: ideprojectmanager.prg and idetoolbar.prg
|
||||
|
||||
* contrib/hbide/hbide.prg
|
||||
* contrib/hbide/ideactions.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideobject.prg
|
||||
+ contrib/hbide/idereportsmanager.prg
|
||||
+ contrib/hbide/idetoolbar.prg
|
||||
+ Started: implementation of Harbour's Report Designer and Print Engine.
|
||||
|
||||
NOTE: It is a very complex subject and more so I have a little
|
||||
knowledge about Qt's rendering system, so please do not
|
||||
pin high hopes. I still do not know which way it will proceed,
|
||||
will we be successful or failure, will it touch our expectations.
|
||||
It is an ambitious project I ever dreamt of developing one,
|
||||
so I just started. If you can extend help in this direction,
|
||||
every bit will matter. So please gear-up yourselves for next logical
|
||||
evolution of hbIDE.
|
||||
|
||||
2010-08-08 16:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
+ contrib/rddads/adsextrn.prg
|
||||
* contrib/rddads/rddads.hbp
|
||||
|
||||
@@ -48,6 +48,8 @@ ideedit.prg
|
||||
ideplugins.prg
|
||||
idedict.prg
|
||||
idebrowse.prg
|
||||
idereportsmanager.prg
|
||||
idetoolbar.prg
|
||||
|
||||
docviewgenerator.ui
|
||||
docwriter.ui
|
||||
|
||||
@@ -149,6 +149,7 @@ CLASS HbIde
|
||||
DATA oSC /* Shortcuts Manager */
|
||||
DATA oTM /* Plugin Tools Manager */
|
||||
DATA oTH /* Themes Manager */
|
||||
DATA oRM /* Reports Manager */
|
||||
DATA oSetup /* Setup Manager */
|
||||
DATA oINI /* INI Manager */
|
||||
|
||||
@@ -244,6 +245,7 @@ CLASS HbIde
|
||||
DATA oSourceThumbnailDock
|
||||
DATA oQScintillaDock
|
||||
DATA oUpDn
|
||||
DATA oReportsManagerDock
|
||||
|
||||
DATA lProjTreeVisible INIT .t.
|
||||
DATA lDockRVisible INIT .f.
|
||||
@@ -452,6 +454,8 @@ METHOD HbIde:create( aParams )
|
||||
::oDK:buildDockWidgets()
|
||||
/* Toolbar */
|
||||
::oAC:buildToolBar()
|
||||
/* Build additional Toolbars */
|
||||
::oDK:buildToolBarPanels()
|
||||
/* Main Menu */
|
||||
::oAC:buildMainMenu()
|
||||
|
||||
@@ -480,6 +484,9 @@ METHOD HbIde:create( aParams )
|
||||
/* Browser Manager */
|
||||
::oBM := IdeBrowseManager():new():create( Self )
|
||||
|
||||
/* Reports Manager */
|
||||
::oRM := IdeReportsManager():new():create( Self )
|
||||
|
||||
/* Fill various elements of the IDE */
|
||||
::oPM:populate()
|
||||
::oSM:loadSources()
|
||||
@@ -491,8 +498,6 @@ METHOD HbIde:create( aParams )
|
||||
/* Restore Settings */
|
||||
hbide_restSettings( Self )
|
||||
/* Again to be displayed in Statusbar */
|
||||
//HbXbp_SetCodec( ::cWrkCodec )
|
||||
//::oDK:setStatusText( SB_PNL_CODEC, ::cWrkCodec )
|
||||
::setCodec( ::cWrkCodec )
|
||||
::oDK:setStatusText( SB_PNL_THEME, ::cWrkTheme )
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
<file>resources/decreaseindent.png</file>
|
||||
<file>resources/deleteline.png</file>
|
||||
<file>resources/description.png</file>
|
||||
<file>resources/designer.png</file>
|
||||
<file>resources/docwriter.png</file>
|
||||
<file>resources/down.png</file>
|
||||
<file>resources/down16.png</file>
|
||||
@@ -238,5 +239,29 @@
|
||||
<file>resources/zoomout.png</file>
|
||||
<file>resources/zoomin3.png</file>
|
||||
<file>resources/zoomout3.png</file>
|
||||
<file>resources/f_align_left.png</file>
|
||||
<file>resources/f_align_right.png</file>
|
||||
<file>resources/f_align_center.png</file>
|
||||
<file>resources/f_align_justify.png</file>
|
||||
<file>resources/f_align_top.png</file>
|
||||
<file>resources/f_align_middle.png</file>
|
||||
<file>resources/f_align_bottom.png</file>
|
||||
<file>resources/f_box_top.png</file>
|
||||
<file>resources/f_box_left.png</file>
|
||||
<file>resources/f_box_bottom.png</file>
|
||||
<file>resources/f_box_right.png</file>
|
||||
<file>resources/f_box_all.png</file>
|
||||
<file>resources/f_box_plain.png</file>
|
||||
<file>resources/f_box_shadow.png</file>
|
||||
<file>resources/f-generic.png</file>
|
||||
<file>resources/f-image.png</file>
|
||||
<file>resources/f_chart.png</file>
|
||||
<file>resources/f_gradient.png</file>
|
||||
<file>resources/f_barcode.png</file>
|
||||
<file>resources/f-bold-1.png</file>
|
||||
<file>resources/f-italic-1.png</file>
|
||||
<file>resources/f-underline-1.png</file>
|
||||
<file>resources/f-strike-1.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
|
||||
@@ -557,6 +557,8 @@ METHOD IdeActions:buildMainMenu()
|
||||
oSubMenu:oWidget:addAction_4( ::oSourceThumbnailDock:oWidget:toggleViewAction() )
|
||||
oSubMenu:oWidget:addAction_4( ::oQScintillaDock:oWidget:toggleViewAction() )
|
||||
|
||||
oSubMenu:oWidget:addAction_4( ::oReportsManagerDock:toggleViewAction() )
|
||||
|
||||
oSubMenu:oWidget:addSeparator()
|
||||
oSubMenu:oWidget:addAction_4( ::oDockB2:oWidget:toggleViewAction() )
|
||||
* oSubMenu:oWidget:addAction_4( ::oDockB1:oWidget:toggleViewAction() )
|
||||
|
||||
@@ -138,6 +138,7 @@ CLASS IdeDocks INHERIT IdeObject
|
||||
METHOD buildSourceThumbnail()
|
||||
METHOD buildQScintilla()
|
||||
METHOD buildUpDownWidget()
|
||||
METHOD buildReportsDesignerWidget()
|
||||
METHOD buildSystemTray()
|
||||
METHOD showDlgBySystemTrayIconCommand()
|
||||
METHOD setViewInitials()
|
||||
@@ -177,32 +178,33 @@ METHOD IdeDocks:destroy()
|
||||
::oIde:oProjRoot := NIL
|
||||
::oIde:oOpenedSources := NIL
|
||||
|
||||
::disconnect( ::oOutputResult:oWidget , "copyAvailable(bool)" )
|
||||
::disconnect( ::oOutputResult:oWidget , "copyAvailable(bool)" )
|
||||
|
||||
::disconnect( ::oEnvironDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)" )
|
||||
::disconnect( ::oThemesDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDocViewDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDocWriteDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFindDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFunctionsDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oSkeltnDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oHelpDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFuncDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oEnvironDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oPropertiesDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oThemesDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDocViewDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDocWriteDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFindDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFunctionsDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oSkeltnDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oHelpDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oFuncDock:oWidget , "visibilityChanged(bool)" )
|
||||
|
||||
::disconnect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)" )
|
||||
::disconnect( ::oQScintillaDock:oWidget, "visibilityChanged(bool)" )
|
||||
::disconnect( ::oQScintillaDock:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oReportsManagerDock:oWidget , "visibilityChanged(bool)" )
|
||||
|
||||
#if 0 /* Not Implemented */
|
||||
::disconnect( ::oDockPT:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockED:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockB2:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockPT:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockED:oWidget , "visibilityChanged(bool)" )
|
||||
::disconnect( ::oDockB2:oWidget , "visibilityChanged(bool)" )
|
||||
#endif
|
||||
|
||||
IF !empty( ::oSys )
|
||||
::disconnect( ::oSys , "activated(QSystemTrayIcon::ActivationReason)" )
|
||||
::disconnect( ::qAct1 , "triggered(bool)" )
|
||||
::disconnect( ::qAct2 , "triggered(bool)" )
|
||||
::disconnect( ::oSys , "activated(QSystemTrayIcon::ActivationReason)" )
|
||||
::disconnect( ::qAct1 , "triggered(bool)" )
|
||||
::disconnect( ::qAct2 , "triggered(bool)" )
|
||||
ENDIF
|
||||
|
||||
FOR EACH qTBtn IN ::aPanels
|
||||
@@ -259,7 +261,7 @@ METHOD IdeDocks:buildDialog()
|
||||
::oDlg:setTabPosition( Qt_BottomDockWidgetArea, QTabWidget_South )
|
||||
::oDlg:setCorner( Qt_BottomLeftCorner, Qt_LeftDockWidgetArea )
|
||||
::oDlg:setCorner( Qt_BottomRightCorner, Qt_RightDockWidgetArea )
|
||||
::oDlg:resize( 900,470 )
|
||||
::oDlg:oWidget:resize( 950,520 )
|
||||
|
||||
::oIde:oDa := ::oDlg:drawingArea
|
||||
|
||||
@@ -317,10 +319,10 @@ METHOD IdeDocks:buildDialog()
|
||||
aadd( ::aViewsInfo, a_ )
|
||||
NEXT
|
||||
IF ascan( ::aViewsInfo, {|e_| e_[ 1 ] == "Main" } ) == 0
|
||||
hb_ains( ::aViewsInfo, 1, { "Main", NIL, 0, 0, 0, 0 }, .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, 0, 0 }, .t. )
|
||||
hb_ains( ::aViewsInfo, 1, { "Stats", NIL, 0, 0, QMdiArea_TabbedView, 0 }, .t. )
|
||||
ENDIF
|
||||
|
||||
/* View Panels */
|
||||
@@ -371,6 +373,54 @@ METHOD IdeDocks:buildDialog()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildDockWidgets()
|
||||
|
||||
::buildProjectTree()
|
||||
::buildEditorTree()
|
||||
|
||||
::buildFuncList()
|
||||
::buildSkeletonsTree()
|
||||
|
||||
::buildHelpWidget()
|
||||
::buildSkeletonWidget()
|
||||
::buildFindInFiles()
|
||||
::buildThemesDock()
|
||||
::buildPropertiesDock()
|
||||
::buildEnvironDock()
|
||||
|
||||
::buildCompileResults()
|
||||
::buildLinkResults()
|
||||
::buildOutputResults()
|
||||
::buildDocViewer()
|
||||
::buildDocWriter()
|
||||
::buildFunctionsDock()
|
||||
::buildSourceThumbnail()
|
||||
::buildQScintilla()
|
||||
::buildUpDownWidget()
|
||||
::buildReportsDesignerWidget()
|
||||
|
||||
/* Bottom Docks */
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget , ::oDockB2:oWidget )
|
||||
|
||||
/* Right Docks */
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oHelpDock:oWidget , ::oDocViewDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDocViewDock:oWidget , ::oFuncDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFuncDock:oWidget , ::oFunctionsDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFunctionsDock:oWidget , ::oPropertiesDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oPropertiesDock:oWidget , ::oEnvironDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oEnvironDock:oWidget , ::oSkeltnDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oSkeltnDock:oWidget , ::oThemesDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oThemesDock:oWidget , ::oFindDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFindDock:oWidget , ::oDocWriteDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDocWriteDock:oWidget , ::oSourceThumbnailDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oSourceThumbnailDock:oWidget, ::oQScintillaDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oQScintillaDock:oWidget , ::oReportsManagerDock:oWidget )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildSystemTray()
|
||||
|
||||
IF empty( ::oSys )
|
||||
@@ -401,6 +451,12 @@ METHOD IdeDocks:execEvent( cEvent, p, p1 )
|
||||
LOCAL qEvent, qMime, qList, qUrl, i, n, oEdit
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "dockReportsManager_visibilityChanged"
|
||||
IF p; ::oRM:show() ; ENDIF
|
||||
IF ! p .AND. ! p1:isVisible()
|
||||
p1:raise()
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "dockQScintilla_visibilityChanged"
|
||||
IF p; ::oBM:show() ; ENDIF
|
||||
IF ! p .AND. ! p1:isVisible()
|
||||
@@ -788,54 +844,6 @@ METHOD IdeDocks:showDlgBySystemTrayIconCommand()()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildDockWidgets()
|
||||
|
||||
::buildProjectTree()
|
||||
::buildEditorTree()
|
||||
|
||||
::buildFuncList()
|
||||
::buildSkeletonsTree()
|
||||
|
||||
::buildHelpWidget()
|
||||
::buildSkeletonWidget()
|
||||
::buildFindInFiles()
|
||||
::buildThemesDock()
|
||||
::buildPropertiesDock()
|
||||
::buildEnvironDock()
|
||||
|
||||
::buildCompileResults()
|
||||
::buildLinkResults()
|
||||
::buildOutputResults()
|
||||
::buildDocViewer()
|
||||
::buildDocWriter()
|
||||
::buildFunctionsDock()
|
||||
::buildSourceThumbnail()
|
||||
::buildQScintilla()
|
||||
::buildUpDownWidget()
|
||||
|
||||
/* Bottom Docks */
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget , ::oDockB2:oWidget )
|
||||
|
||||
/* Right Docks */
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oHelpDock:oWidget , ::oDocViewDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDocViewDock:oWidget , ::oFuncDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFuncDock:oWidget , ::oFunctionsDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFunctionsDock:oWidget , ::oPropertiesDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oPropertiesDock:oWidget , ::oEnvironDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oEnvironDock:oWidget , ::oSkeltnDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oSkeltnDock:oWidget , ::oThemesDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oThemesDock:oWidget , ::oFindDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oFindDock:oWidget , ::oDocWriteDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oDocWriteDock:oWidget , ::oSourceThumbnailDock:oWidget )
|
||||
::oDlg:oWidget:tabifyDockWidget( ::oSourceThumbnailDock:oWidget, ::oQScintillaDock:oWidget )
|
||||
|
||||
::buildToolBarPanels()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:getADockWidget( nAreas, cObjectName, cWindowTitle, nFlags, cEventVisibility )
|
||||
LOCAL oDock, nBasic
|
||||
|
||||
@@ -1345,6 +1353,7 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
aadd( aBtns, { ::oFindDock , "search" } )
|
||||
aadd( aBtns, { ::oSourceThumbnailDock, "thumbnail" } )
|
||||
aadd( aBtns, { ::oQScintillaDock , "browser" } )
|
||||
aadd( aBtns, { ::oReportsManagerDock , "designer" } )
|
||||
aadd( aBtns, {} )
|
||||
aadd( aBtns, { ::oDockB2 , "builderror" } )
|
||||
|
||||
@@ -1359,7 +1368,11 @@ METHOD IdeDocks:buildToolBarPanels()
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
::oDlg:oWidget:addToolBar( Qt_RightToolBarArea, ::qTBarDocks )
|
||||
IF ::oIde:lCurEditsMdi
|
||||
::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qTBarDocks )
|
||||
ELSE
|
||||
::oDlg:oWidget:addToolBar( Qt_RightToolBarArea, ::qTBarDocks )
|
||||
ENDIF
|
||||
|
||||
/* User defined toolbars via Tools & Utilities */
|
||||
::oTM:buildUserToolbars()
|
||||
@@ -1782,6 +1795,17 @@ METHOD IdeDocks:buildQScintilla()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildReportsDesignerWidget()
|
||||
LOCAL nAreas := Qt_LeftDockWidgetArea + Qt_RightDockWidgetArea + Qt_TopDockWidgetArea + Qt_BottomDockWidgetArea
|
||||
|
||||
::oIde:oReportsManagerDock := ::getADockWidget( nAreas, "dockReportDesigner", "ideReports Designer", QDockWidget_DockWidgetFloatable )
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oReportsManagerDock:oWidget, Qt_Horizontal )
|
||||
::connect( ::oReportsManagerDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockReportsManager_visibilityChanged", p, ::oReportsManagerDock:oWidget ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:setStatusText( nPart, xValue )
|
||||
LOCAL oPanel := ::oSBar:getItem( nPart )
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ CLASS IdeObject
|
||||
ACCESS oTM INLINE ::oIde:oTM
|
||||
ACCESS oTH INLINE ::oIde:oTH
|
||||
ACCESS oFF INLINE ::oIde:oFF
|
||||
ACCESS oRM INLINE ::oIde:oRM
|
||||
ACCESS oSetup INLINE ::oIde:oSetup
|
||||
ACCESS oINI INLINE ::oIde:oINI
|
||||
|
||||
@@ -197,6 +198,7 @@ CLASS IdeObject
|
||||
ACCESS oQScintillaDock INLINE ::oIde:oQScintillaDock
|
||||
ACCESS oMainToolbar INLINE ::oIde:oMainToolbar
|
||||
ACCESS oUpDn INLINE ::oIde:oUpDn
|
||||
ACCESS oReportsManagerDock INLINE ::oIde:oReportsManagerDock
|
||||
ACCESS oSys INLINE ::oIde:oSys
|
||||
ACCESS oSysMenu INLINE ::oIde:oSysMenu
|
||||
|
||||
|
||||
494
harbour/contrib/hbide/idereportsmanager.prg
Normal file
@@ -0,0 +1,494 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*
|
||||
* EkOnkar
|
||||
* ( The LORD is ONE )
|
||||
*
|
||||
* Harbour-Qt IDE
|
||||
*
|
||||
* Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* 07Aug2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqt.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeReportsManager INHERIT IdeObject
|
||||
|
||||
DATA oWidget
|
||||
DATA qLayout
|
||||
DATA qToolbar
|
||||
DATA qToolbarL
|
||||
DATA qToolbarAlign
|
||||
DATA qStack
|
||||
DATA qStatus
|
||||
DATA qTabBar
|
||||
DATA qWidget1
|
||||
DATA qWidget2
|
||||
DATA qWidget3
|
||||
|
||||
DATA qSpliter
|
||||
DATA qLayoutD
|
||||
DATA qFrameL
|
||||
DATA qScroll
|
||||
DATA qFrameR
|
||||
|
||||
DATA qLayL
|
||||
DATA qLayR
|
||||
DATA qSplL
|
||||
DATA qSplR
|
||||
|
||||
DATA qTabL0
|
||||
DATA qPageL01
|
||||
DATA qPageL02
|
||||
DATA qPageL01Lay
|
||||
DATA qTreeObjects
|
||||
|
||||
DATA qTabL1
|
||||
DATA qPageL11
|
||||
DATA qPageL12
|
||||
DATA qPageL11Lay
|
||||
DATA qTreeProp
|
||||
|
||||
DATA qEditDesc
|
||||
|
||||
DATA qTabR1
|
||||
DATA qPageR11
|
||||
DATA qPageR11Lay
|
||||
DATA qTreeData
|
||||
DATA qPageR12
|
||||
DATA qPageR13
|
||||
|
||||
DATA qDesign
|
||||
DATA qHRuler
|
||||
DATA qVRuler
|
||||
DATA qPort
|
||||
|
||||
DATA aStatusPnls INIT {}
|
||||
|
||||
METHOD new( oIde )
|
||||
METHOD create( oIde )
|
||||
METHOD destroy()
|
||||
METHOD show()
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD buildToolbar()
|
||||
METHOD buildToolbarAlign()
|
||||
METHOD buildToolbarLeft()
|
||||
METHOD buildStacks()
|
||||
METHOD buildStatusBar()
|
||||
METHOD buildTabBar()
|
||||
METHOD buildDesignReport()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:new( oIde )
|
||||
|
||||
::oIde := oIde
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:create( oIde )
|
||||
LOCAL qDock
|
||||
|
||||
DEFAULT oIde TO ::oIde
|
||||
::oIde := oIde
|
||||
|
||||
qDock := ::oIde:oReportsManagerDock:oWidget
|
||||
|
||||
::oWidget := QWidget():new()
|
||||
|
||||
qDock:setWidget( ::oWidget )
|
||||
|
||||
/* Layout applied to RM widget */
|
||||
::qLayout := QGridLayout():new()
|
||||
::qLayout:setContentsMargins( 0,0,0,0 )
|
||||
::qLayout:setSpacing( 0 )
|
||||
|
||||
::oWidget:setLayout( ::qLayout )
|
||||
|
||||
/* Toolbar */
|
||||
::buildToolbar()
|
||||
::qLayout:addWidget_1( ::qToolbar:oWidget , 0, 0, 1, 2 )
|
||||
::buildToolbarAlign()
|
||||
::qLayout:addWidget_1( ::qToolbarAlign:oWidget , 1, 0, 1, 2 )
|
||||
|
||||
/* Toolbar left */
|
||||
::buildToolbarLeft()
|
||||
::qLayout:addWidget_1( ::qToolbarL:oWidget , 2, 0, 2, 1 )
|
||||
|
||||
/* ::qTabBar */
|
||||
::buildTabBar()
|
||||
::qLayout:addWidget_1( ::qTabBar , 2, 1, 1, 1 )
|
||||
|
||||
/* Stacked widget */
|
||||
::buildStacks()
|
||||
::qLayout:addWidget_1( ::qStack , 3, 1, 1, 1 )
|
||||
|
||||
/* StatusBar */
|
||||
::buildStatusBar()
|
||||
::qLayout:addWidget_1( ::qStatus , 4, 0, 1, 2 )
|
||||
|
||||
/* Document manipulation interface */
|
||||
::buildDesignReport()
|
||||
|
||||
::qTabBar:setCurrentIndex( 2 )
|
||||
::oWidget:show()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:destroy()
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:show()
|
||||
::oReportsManagerDock:raise()
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:execEvent( cEvent, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "tabBar_currentChanged"
|
||||
IF !empty( ::qStack ) .AND. p < ::qStack:count()
|
||||
::qStack:setCurrentIndex( p )
|
||||
ENDIF
|
||||
EXIT
|
||||
CASE "buttonNew_clicked"
|
||||
EXIT
|
||||
CASE "buttonOpen_clicked"
|
||||
EXIT
|
||||
CASE "buttonSave_clicked"
|
||||
EXIT
|
||||
CASE "buttonClose_clicked"
|
||||
EXIT
|
||||
CASE "buttonPrint_clicked"
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildDesignReport()
|
||||
|
||||
::qLayoutD := QHBoxLayout():new()
|
||||
::qLayoutD:setContentsMargins( 0,0,0,0 )
|
||||
::qLayoutD:setSpacing( 1 )
|
||||
::qWidget3:setLayout( ::qLayoutD )
|
||||
|
||||
::qSpliter := QSplitter():new()
|
||||
::qSpliter:setOrientation( Qt_Horizontal )
|
||||
|
||||
::qLayoutD:addWidget( ::qSpliter )
|
||||
|
||||
::qFrameL := QFrame():new()
|
||||
::qSpliter:addWidget( ::qFrameL )
|
||||
|
||||
::qScroll := QScrollArea():new()
|
||||
::qScroll:setVerticalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::qScroll:setHorizontalScrollBarPolicy( Qt_ScrollBarAsNeeded )
|
||||
::qScroll:setWidgetResizable( .f. )
|
||||
::qScroll:setMinimumWidth( 400 )
|
||||
::qScroll:setBackgroundRole( QPalette_Dark )
|
||||
::qSpliter:addWidget( ::qScroll )
|
||||
|
||||
::qFrameR := QFrame():new()
|
||||
::qSpliter:addWidget( ::qFrameR )
|
||||
|
||||
::qLayL := QVBoxLayout():new()
|
||||
::qLayL:setContentsMargins( 0,0,0,0 )
|
||||
::qLayL:setSpacing( 1 )
|
||||
::qFrameL:setLayout( ::qLayL )
|
||||
::qSplL := QSplitter():new()
|
||||
::qSplL:setOrientation( Qt_Vertical )
|
||||
::qLayL:addWidget( ::qSplL )
|
||||
|
||||
::qLayR := QVBoxLayout():new()
|
||||
::qLayR:setContentsMargins( 0,0,0,0 )
|
||||
::qLayR:setSpacing( 1 )
|
||||
::qFrameR:setLayout( ::qLayR )
|
||||
::qSplR := QSplitter():new()
|
||||
::qSplR:setOrientation( Qt_Vertical )
|
||||
::qLayR:addWidget( ::qSplR )
|
||||
|
||||
::qFrameL:setMinimumWidth( 100 )
|
||||
::qFrameR:setMinimumWidth( 100 )
|
||||
|
||||
|
||||
::qTabL0 := QTabWidget():new()
|
||||
::qSplL:addWidget( ::qTabL0 )
|
||||
/* Left Pane Objects Page */
|
||||
::qPageL01 := QWidget():new()
|
||||
::qTabL0:addTab( ::qPageL01, "Objects" )
|
||||
::qPageL01Lay := QVBoxLayout():new()
|
||||
::qPageL01:setLayout( ::qPageL01Lay )
|
||||
::qPageL01Lay:setContentsMargins( 0,0,0,0 )
|
||||
/* Left Pane Events page */
|
||||
::qPageL02 := QWidget():new()
|
||||
::qTabL0:addTab( ::qPageL02, "Else" )
|
||||
/* Left pane Properties Treeview */
|
||||
::qTreeObjects := QTreeWidget():new()
|
||||
::qPageL01Lay:addWidget( ::qTreeObjects )
|
||||
::qTreeObjects:setHeaderHidden( .t. )
|
||||
|
||||
|
||||
::qTabL1 := QTabWidget():new()
|
||||
::qSplL:addWidget( ::qTabL1 )
|
||||
/* Left Pane Properties Page */
|
||||
::qPageL11 := QWidget():new()
|
||||
::qTabL1:addTab( ::qPageL11, "Props" )
|
||||
::qPageL11Lay := QVBoxLayout():new()
|
||||
::qPageL11:setLayout( ::qPageL11Lay )
|
||||
::qPageL11Lay:setContentsMargins( 0,0,0,0 )
|
||||
/* Left Pane Events page */
|
||||
::qPageL12 := QWidget():new()
|
||||
::qTabL1:addTab( ::qPageL12, "Events" )
|
||||
/* Left pane Properties Treeview */
|
||||
::qTreeProp := QTreeWidget():new()
|
||||
::qPageL11Lay:addWidget( ::qTreeProp )
|
||||
::qTreeProp:setHeaderHidden( .t. )
|
||||
|
||||
|
||||
::qEditDesc := QTextEdit():new()
|
||||
::qSplL:addWidget( ::qEditDesc )
|
||||
::qEditDesc:setPlainText( "Interface implemented is just a proof of concept, no promises yet, please." )
|
||||
::qEditDesc:setMaximumHeight( 120 )
|
||||
|
||||
::qTabR1 := QTabWidget():new()
|
||||
::qSplR:addWidget( ::qTabR1 )
|
||||
::qPageR11 := QWidget():new()
|
||||
::qTabR1:addTab( ::qPageR11, "Data" )
|
||||
::qPageR12 := QWidget():new()
|
||||
::qTabR1:addTab( ::qPageR12, "Variables" )
|
||||
::qPageR13 := QWidget():new()
|
||||
::qTabR1:addTab( ::qPageR13, "Functions" )
|
||||
|
||||
::qPageR11Lay := QVBoxLayout():new()
|
||||
::qPageR11:setLayout( ::qPageR11Lay )
|
||||
::qPageR11Lay:setContentsMargins( 0,0,0,0 )
|
||||
|
||||
::qTreeData := QTreeWidget():new()
|
||||
::qPageR11Lay:addWidget( ::qTreeData )
|
||||
::qTreeData:setHeaderHidden( .t. )
|
||||
|
||||
::qDesign := QFrame():new()
|
||||
::qScroll:setWidget( ::qDesign )
|
||||
::qDesign:setBackgroundRole( QPalette_Dark )
|
||||
::qDesign:setGeometry( QRect():new( 0, 0, 600, 900 ) )
|
||||
|
||||
::qHRuler := QFrame():new( ::qDesign )
|
||||
::qHRuler:setGeometry( QRect():new( 30, 0, ::qDesign:width(), 15 ) )
|
||||
::qHRuler:setStyleSheet( "background-color: rgb(240,240,240);" )
|
||||
::qVRuler := QFrame():new( ::qDesign )
|
||||
::qVRuler:setStyleSheet( "background-color: rgb(240,240,240);" )
|
||||
::qVRuler:setGeometry( QRect():new( 0, 30, 15, ::qDesign:height() ) )
|
||||
|
||||
::qPort := QFrame():new( ::qDesign )
|
||||
::qPort:setStyleSheet( "background-color: white;" )
|
||||
::qPort:setGeometry( QRect():new( 30, 30, ::qDesign:width() - 45, ::qDesign:height() - 45 ) )
|
||||
|
||||
|
||||
::qWidget1:show()
|
||||
::qWidget2:show()
|
||||
::qWidget3:show()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildTabBar()
|
||||
|
||||
::qTabBar := QTabBar():new()
|
||||
//::qTabBar:setDocumentMode( .t. )
|
||||
::qTabBar:setShape( QTabBar_TriangularNorth )
|
||||
|
||||
::qTabBar:addTab( "Code" )
|
||||
::qTabBar:addTab( "Dialogs" )
|
||||
::qTabBar:addTab( "Page1" )
|
||||
|
||||
::connect( ::qTabBar, "currentChanged(int)", {|p| ::execEvent( "tabBar_currentChanged", p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildStacks()
|
||||
|
||||
::qStack := QStackedWidget():new()
|
||||
|
||||
::qWidget1 := QWidget():new()
|
||||
::qStack:addWidget( ::qWidget1 )
|
||||
|
||||
::qWidget2 := QWidget():new()
|
||||
::qStack:addWidget( ::qWidget2 )
|
||||
|
||||
::qWidget3 := QWidget():new()
|
||||
::qStack:addWidget( ::qWidget3 )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildToolbar()
|
||||
|
||||
::qToolbar := IdeToolbar():new()
|
||||
::qToolbar:orientation := Qt_Horizontal
|
||||
::qToolbar:create( "ReportManager_Top_Toolbar" )
|
||||
|
||||
::qToolbar:addToolButton( "New" , "New Report" , hbide_image( "new" ), {|| ::execEvent( "buttonNew_clicked" ) } )
|
||||
::qToolbar:addToolButton( "Open" , "Open Report" , hbide_image( "open3" ), {|| ::execEvent( "buttonOpen_clicked" ) } )
|
||||
::qToolbar:addToolButton( "Save" , "Save Report" , hbide_image( "save3" ), {|| ::execEvent( "buttonSave_clicked" ) } )
|
||||
::qToolbar:addToolButton( "Close", "Close Report", hbide_image( "close3" ), {|| ::execEvent( "buttonClose_clicked" ) } )
|
||||
::qToolbar:addToolButton( "Print", "Print Report", hbide_image( "print" ), {|| ::execEvent( "buttonPrint_clicked" ) } )
|
||||
::qToolbar:addSeparator()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildToolbarAlign()
|
||||
|
||||
::qToolbarAlign := IdeToolbar():new()
|
||||
::qToolbarAlign:orientation := Qt_Horizontal
|
||||
::qToolbarAlign:create( "ReportManager_Top_Toolbar_Align" )
|
||||
|
||||
::qToolbarAlign:addToolButton( "FontG" , "Font", hbide_image( "f-generic" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
::qToolbarAlign:addToolButton( "FontB" , "Text Bold" , hbide_image( "f-bold-1" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "FontI" , "Text Italic" , hbide_image( "f-italic-1" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "FontU" , "Text Underlined" , hbide_image( "f-underline-1" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "FontS" , "Text Strikethrough", hbide_image( "f-strike-1" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
::qToolbarAlign:addToolButton( "JustL" , "Align left" , hbide_image( "f_align_left" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "JustC" , "Align center" , hbide_image( "f_align_center" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "JustR" , "Align right" , hbide_image( "f_align_right" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "JustJ" , "Align justify" , hbide_image( "f_align_justify" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
::qToolbarAlign:addToolButton( "JustT" , "Align top" , hbide_image( "f_align_top" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "JustM" , "Align middle" , hbide_image( "f_align_middle" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "JustB" , "Align bottom" , hbide_image( "f_align_bottom" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
::qToolbarAlign:addToolButton( "BoxT" , "Box-frame top" , hbide_image( "f_box_top" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "BoxL" , "Box-frame left" , hbide_image( "f_box_left" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "BoxB" , "Box-frame bottom" , hbide_image( "f_box_bottom" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "BoxR" , "Box-frame right" , hbide_image( "f_box_right" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
::qToolbarAlign:addToolButton( "BoxA" , "Box-frame all" , hbide_image( "f_box_all" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "BoxP" , "No box-frame" , hbide_image( "f_box_plain" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addToolButton( "BoxS" , "Box shadowed" , hbide_image( "f_box_shadow" ), {|| ::execEvent( "button_clicked" ) } )
|
||||
::qToolbarAlign:addSeparator()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildToolbarLeft()
|
||||
|
||||
::qToolbarL := IdeToolbar():new()
|
||||
::qToolbarL:orientation := Qt_Vertical
|
||||
::qToolbarL:create( "ReportManager_Left_Toolbar" )
|
||||
|
||||
::qToolbarL:addToolButton( "Image" , "Image" , hbide_image( "f-image" ), {|| ::execEvent( "buttonNew_clicked" ) } )
|
||||
::qToolbarL:addToolButton( "Chart" , "Chart" , hbide_image( "f_chart" ), {|| ::execEvent( "buttonNew_clicked" ) } )
|
||||
::qToolbarL:addToolButton( "Gradient", "Gradient", hbide_image( "f_gradient" ), {|| ::execEvent( "buttonNew_clicked" ) } )
|
||||
::qToolbarL:addToolButton( "Barcode" , "Barcode" , hbide_image( "f_barcode" ), {|| ::execEvent( "buttonNew_clicked" ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeReportsManager:buildStatusBar()
|
||||
LOCAL qLabel
|
||||
|
||||
::qStatus := QStatusBar():new()
|
||||
::qStatus:setSizeGripEnabled( .f. )
|
||||
|
||||
qLabel := QLabel():new(); qLabel:setMinimumWidth( 40 )
|
||||
::qStatus:addPermanentWidget( qLabel, 0 )
|
||||
aadd( ::aStatusPnls, qLabel )
|
||||
qLabel:setText( "Ready" )
|
||||
|
||||
qLabel := QLabel():new(); qLabel:setMinimumWidth( 40 )
|
||||
::qStatus:addPermanentWidget( qLabel, 0 )
|
||||
aadd( ::aStatusPnls, qLabel )
|
||||
|
||||
qLabel := QLabel():new(); qLabel:setMinimumWidth( 40 )
|
||||
::qStatus:addPermanentWidget( qLabel, 0 )
|
||||
aadd( ::aStatusPnls, qLabel )
|
||||
|
||||
qLabel := QLabel():new(); qLabel:setMinimumWidth( 40 )
|
||||
::qStatus:addPermanentWidget( qLabel, 1 )
|
||||
aadd( ::aStatusPnls, qLabel )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
222
harbour/contrib/hbide/idetoolbar.prg
Normal file
@@ -0,0 +1,222 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
*
|
||||
* Copyright 2010 Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* www - http://harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*
|
||||
* EkOnkar
|
||||
* ( The LORD is ONE )
|
||||
*
|
||||
* Harbour-Qt IDE
|
||||
*
|
||||
* Pritpal Bedi <bedipritpal@hotmail.com>
|
||||
* 07Aug2010
|
||||
*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include "hbide.ch"
|
||||
#include "common.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "hbqt.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
CLASS IdeToolbar INHERIT IdeObject
|
||||
|
||||
DATA oWidget
|
||||
DATA cName
|
||||
DATA oParent
|
||||
DATA hItems INIT {=>}
|
||||
|
||||
DATA allowedAreas INIT Qt_TopToolBarArea
|
||||
DATA initialArea INIT Qt_TopToolBarArea
|
||||
DATA orientation INIT Qt_Horizontal
|
||||
DATA size INIT QSize():new( 16,16 )
|
||||
DATA moveable INIT .f.
|
||||
DATA floatable INIT .f.
|
||||
|
||||
METHOD new( cName, oParent )
|
||||
METHOD create( cName, oParent )
|
||||
METHOD destroy()
|
||||
METHOD execEvent( cEvent, p )
|
||||
METHOD addToolButton( cName, cDesc, cImage, bAction, lCheckable )
|
||||
METHOD setItemChecked( cName, lState )
|
||||
METHOD setItemEnabled( cName, lEnabled )
|
||||
|
||||
ERROR HANDLER onError( ... )
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:new( cName, oParent )
|
||||
|
||||
::cName := cName
|
||||
::oParent := oParent
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:create( cName, oParent )
|
||||
|
||||
STATIC nID := 0
|
||||
|
||||
DEFAULT cName TO ::cName
|
||||
DEFAULT oParent TO ::oParent
|
||||
::cName := cName
|
||||
::oParent := oParent
|
||||
|
||||
DEFAULT ::cName TO "IdeToolbar_" + hb_ntos( ++nID )
|
||||
|
||||
::oWidget := QToolbar():new()
|
||||
::oWidget:setObjectName( ::cName )
|
||||
::oWidget:setAllowedAreas( ::allowedAreas )
|
||||
::oWidget:setOrientation( ::orientation )
|
||||
::oWidget:setIconSize( ::size )
|
||||
::oWidget:setMovable( ::moveable )
|
||||
::oWidget:setFloatable( ::floatable )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:onError( ... )
|
||||
LOCAL cMsg := __GetMessage()
|
||||
IF SubStr( cMsg, 1, 1 ) == "_"
|
||||
cMsg := SubStr( cMsg, 2 )
|
||||
ENDIF
|
||||
RETURN ::oWidget:&cMsg( ... )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:destroy()
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:execEvent( cEvent, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
SWITCH cEvent
|
||||
CASE "buttonNew_clicked"
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:addToolButton( cName, cDesc, cImage, bAction, lCheckable )
|
||||
LOCAL oButton, qAction
|
||||
|
||||
STATIC nID := 0
|
||||
|
||||
DEFAULT cName TO "IdeToolButton_" + hb_ntos( ++nID )
|
||||
DEFAULT cDesc TO ""
|
||||
DEFAULT lCheckable TO .f.
|
||||
|
||||
oButton := QToolButton():new( ::oWidget )
|
||||
oButton:setObjectName( cName )
|
||||
oButton:setTooltip( cDesc )
|
||||
oButton:setIcon( cImage )
|
||||
oButton:setCheckable( lCheckable )
|
||||
|
||||
IF hb_isBlock( bAction )
|
||||
::connect( oButton, "clicked()", bAction )
|
||||
ENDIF
|
||||
#if 1
|
||||
qAction := QWidgetAction():new()
|
||||
qAction:setDefaultWidget( oButton )
|
||||
::oWidget:addAction( qAction )
|
||||
#else
|
||||
::oWidget:addWidget( oButton )
|
||||
#endif
|
||||
|
||||
::hItems[ cName ] := oButton
|
||||
RETURN oButton
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:setItemChecked( cName, lState )
|
||||
LOCAL lOldState
|
||||
|
||||
IF hb_hHasKey( ::hItems, cName )
|
||||
IF ::hItems[ cName ]:isCheckable()
|
||||
lOldState := ::hItems[ cName ]:isChecked()
|
||||
IF hb_isLogical( lState )
|
||||
::hItems[ cName ]:setChecked( lState )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOldState
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeToolbar:setItemEnabled( cName, lEnabled )
|
||||
LOCAL lOldEnabled
|
||||
|
||||
IF hb_hHasKey( ::hItems, cName )
|
||||
lOldEnabled := ::hItems[ cName ]:isEnabled()
|
||||
IF hb_isLogical( lEnabled )
|
||||
::hItems[ cName ]:setEnabled( lEnabled )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN lOldEnabled
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
BIN
harbour/contrib/hbide/resources/designer.png
Normal file
|
After Width: | Height: | Size: 788 B |
BIN
harbour/contrib/hbide/resources/f-bold-1.png
Normal file
|
After Width: | Height: | Size: 705 B |
BIN
harbour/contrib/hbide/resources/f-generic.png
Normal file
|
After Width: | Height: | Size: 627 B |
BIN
harbour/contrib/hbide/resources/f-image.png
Normal file
|
After Width: | Height: | Size: 558 B |
BIN
harbour/contrib/hbide/resources/f-italic-1.png
Normal file
|
After Width: | Height: | Size: 619 B |
BIN
harbour/contrib/hbide/resources/f-strike-1.png
Normal file
|
After Width: | Height: | Size: 611 B |
BIN
harbour/contrib/hbide/resources/f-underline-1.png
Normal file
|
After Width: | Height: | Size: 673 B |
BIN
harbour/contrib/hbide/resources/f_align_bottom.png
Normal file
|
After Width: | Height: | Size: 94 B |
BIN
harbour/contrib/hbide/resources/f_align_center.png
Normal file
|
After Width: | Height: | Size: 103 B |
BIN
harbour/contrib/hbide/resources/f_align_justify.png
Normal file
|
After Width: | Height: | Size: 86 B |
BIN
harbour/contrib/hbide/resources/f_align_left.png
Normal file
|
After Width: | Height: | Size: 103 B |
BIN
harbour/contrib/hbide/resources/f_align_middle.png
Normal file
|
After Width: | Height: | Size: 99 B |
BIN
harbour/contrib/hbide/resources/f_align_right.png
Normal file
|
After Width: | Height: | Size: 106 B |
BIN
harbour/contrib/hbide/resources/f_align_top.png
Normal file
|
After Width: | Height: | Size: 94 B |
BIN
harbour/contrib/hbide/resources/f_barcode.png
Normal file
|
After Width: | Height: | Size: 529 B |
BIN
harbour/contrib/hbide/resources/f_box_all.png
Normal file
|
After Width: | Height: | Size: 106 B |
BIN
harbour/contrib/hbide/resources/f_box_bottom.png
Normal file
|
After Width: | Height: | Size: 100 B |
BIN
harbour/contrib/hbide/resources/f_box_left.png
Normal file
|
After Width: | Height: | Size: 100 B |
BIN
harbour/contrib/hbide/resources/f_box_matrix.png
Normal file
|
After Width: | Height: | Size: 87 B |
BIN
harbour/contrib/hbide/resources/f_box_plain.png
Normal file
|
After Width: | Height: | Size: 98 B |
BIN
harbour/contrib/hbide/resources/f_box_right.png
Normal file
|
After Width: | Height: | Size: 103 B |
BIN
harbour/contrib/hbide/resources/f_box_shadow.png
Normal file
|
After Width: | Height: | Size: 126 B |
BIN
harbour/contrib/hbide/resources/f_box_top.png
Normal file
|
After Width: | Height: | Size: 101 B |
BIN
harbour/contrib/hbide/resources/f_chart.png
Normal file
|
After Width: | Height: | Size: 587 B |
BIN
harbour/contrib/hbide/resources/f_gradient.png
Normal file
|
After Width: | Height: | Size: 253 B |
@@ -2249,10 +2249,29 @@
|
||||
#define QAbstractItemDelegate_EditNextItem 1 // The view should use the delegate to open an editor on the next item in the view.
|
||||
#define QAbstractItemDelegate_EditPreviousItem 2 // The view should use the delegate to open an editor on the previous item in the view.
|
||||
|
||||
// The following hints are most useful when models are used that cache data, such as those that manipulate data locally in order to increase performance or conserve network bandwidth.
|
||||
//The following hints are most useful when models are used that cache data, such as those that manipulate data locally in order to increase performance or conserve network bandwidth.
|
||||
#define QAbstractItemDelegate_SubmitModelCache 3 // If the model caches data, it should write out cached data to the underlying data store.
|
||||
#define QAbstractItemDelegate_RevertModelCache 4 // If the model caches data, it should discard cached data and replace it with data from the underlying data store.
|
||||
|
||||
#define QTabBar_LeftSide 0 // Left side of the tab.
|
||||
#define QTabBar_RightSide 1 // Right side of the tab.
|
||||
//This enum was introduced in Qt 4.5.
|
||||
|
||||
#define QTabBar_SelectLeftTab 0 // Select the tab to the left of the one being removed.
|
||||
#define QTabBar_SelectRightTab 1 // Select the tab to the right of the one being removed.
|
||||
#define QTabBar_SelectPreviousTab 2 // Select the previously selected tab.
|
||||
//This enum was introduced in Qt 4.5.
|
||||
|
||||
//enum QTabBar::Shape
|
||||
//This enum type lists the built-in shapes supported by QTabBar. Treat these as hints as some styles may not render some of the shapes. However, position should be honored.
|
||||
#define QTabBar_RoundedNorth 0 // The normal rounded look above the pages
|
||||
#define QTabBar_RoundedSouth 1 // The normal rounded look below the pages
|
||||
#define QTabBar_RoundedWest 2 // The normal rounded look on the left side of the pages
|
||||
#define QTabBar_RoundedEast 3 // The normal rounded look on the right side the pages
|
||||
#define QTabBar_TriangularNorth 4 // Triangular tabs above the pages.
|
||||
#define QTabBar_TriangularSouth 5 // Triangular tabs similar to those used in the Excel spreadsheet, for example
|
||||
#define QTabBar_TriangularWest 6 // Triangular tabs on the left of the pages.
|
||||
#define QTabBar_TriangularEast 7 // Triangular tabs on the right of the pages.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||