From 95d10dc3c7f88fa3a212101484b308364597dfcc Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Tue, 4 Sep 2012 05:13:27 +0000 Subject: [PATCH] 2012-09-03 22:03 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/actions.prg * contrib/hbide/docks.prg * contrib/hbide/edit.prg * contrib/hbide/editor.prg * contrib/hbide/hbqtoolbar.prg * contrib/hbide/main.prg * contrib/hbide/misc.prg * contrib/hbide/object.prg * contrib/hbide/saveload.prg % Normailization of code parts. Toolbars management transferred from different sources to actions.prg. + Implemented: two more toolbars separating actions from main into logical chunks. This facilitates better management and placement of toolbars by user choice. Now these are the available toolbars: Main Ide Parts Ide Project Docking Widgets % Changed: dimensions of the toolbar icons. ow all toolbars have the same height/width of icons and are made sleak to give professional look. --- harbour/ChangeLog | 24 ++ harbour/contrib/hbide/actions.prg | 407 +++++++++++++++++++++++---- harbour/contrib/hbide/docks.prg | 287 ++----------------- harbour/contrib/hbide/edit.prg | 2 +- harbour/contrib/hbide/editor.prg | 2 +- harbour/contrib/hbide/hbqtoolbar.prg | 7 +- harbour/contrib/hbide/main.prg | 17 +- harbour/contrib/hbide/misc.prg | 2 +- harbour/contrib/hbide/object.prg | 3 +- harbour/contrib/hbide/saveload.prg | 16 +- 10 files changed, 431 insertions(+), 336 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f11b21d89b..574902ddb2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,30 @@ The license applies to all entries newer than 2009-04-28. */ +2012-09-03 22:03 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbide/actions.prg + * contrib/hbide/docks.prg + * contrib/hbide/edit.prg + * contrib/hbide/editor.prg + * contrib/hbide/hbqtoolbar.prg + * contrib/hbide/main.prg + * contrib/hbide/misc.prg + * contrib/hbide/object.prg + * contrib/hbide/saveload.prg + % Normailization of code parts. Toolbars management transferred + from different sources to actions.prg. + + Implemented: two more toolbars separating actions from main + into logical chunks. This facilitates better management and + placement of toolbars by user choice. Now these are the + available toolbars: + Main + Ide Parts + Ide Project + Docking Widgets + % Changed: dimensions of the toolbar icons. ow all toolbars have + the same height/width of icons and are made sleak to give + professional look. + 2012-09-03 18:21 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/editor.prg ! Fix: to r18056, a nasty one. diff --git a/harbour/contrib/hbide/actions.prg b/harbour/contrib/hbide/actions.prg index 40bf9e3b95..3d4dfe42d1 100644 --- a/harbour/contrib/hbide/actions.prg +++ b/harbour/contrib/hbide/actions.prg @@ -1,11 +1,11 @@ -/* + /* * $Id$ */ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -74,22 +74,52 @@ #define _T( x ) ( mnuNormalizeItem( x ) ) +#define __buttonViewTabbed_clicked__ 2007 +#define __buttonViewOrganized_clicked__ 2009 +#define __buttonSaveLayout_clicked__ 2010 +#define __buttonViewCascaded_clicked__ 2011 +#define __buttonViewTiled_clicked__ 2012 +#define __buttonViewMaximized_clicked__ 2013 +#define __buttonViewStackedVert_clicked__ 2014 +#define __buttonViewStackedHorz_clicked__ 2015 +#define __buttonViewZoomedIn_clicked__ 2016 +#define __buttonViewZoomedOut_clicked__ 2017 + /*----------------------------------------------------------------------*/ CLASS IdeActions INHERIT IdeObject + DATA qWidget DATA hActions INIT { => } DATA oActToolsBtn + DATA qMainToolbar + DATA qPartsToolbar + DATA qProjectToolbar + DATA qTBarDocks + DATA qMdiToolbar + DATA qMdiToolbarL + DATA qSelToolbar + METHOD new( oIde ) METHOD create( oIde ) METHOD destroy() + METHOD getAction( cKey ) METHOD buildActions() METHOD loadActions() - METHOD buildToolBar() + METHOD buildMainMenu() + METHOD buildToolBars() + METHOD buildToolbarMain() + METHOD buildToolbarParts() + METHOD buildToolbarProject() + METHOD buildToolbarDocks() + METHOD buildMdiToolbar() + METHOD buildMdiToolbarLeft() + METHOD buildToolbarSelectedText() + ENDCLASS /*----------------------------------------------------------------------*/ @@ -98,6 +128,7 @@ METHOD IdeActions:new( oIde ) hb_hCaseMatch( ::hActions, .f. ) ::oIde := oIde + ::qWidget := QWidget() RETURN Self @@ -108,6 +139,7 @@ METHOD IdeActions:create( oIde ) DEFAULT oIde TO ::oIde ::oIde := oIde ::buildActions() + RETURN Self /*----------------------------------------------------------------------*/ @@ -140,7 +172,7 @@ METHOD IdeActions:buildActions() FOR EACH a_ IN aAct IF !( hb_hHasKey( ::hActions, a_[ ACT_NAME ] ) ) - qAction := QAction( ::oDlg:oWidget ) + qAction := QAction( ::qWidget ) qAction:setCheckable( iif( empty( a_[ ACT_CHECKABLE ] ), .F., upper( a_[ ACT_CHECKABLE ] ) == "YES" ) ) qAction:setText( strtran( a_[ ACT_TEXT ], "~", "&" ) ) IF !empty( a_[ ACT_IMAGE ] ) @@ -314,7 +346,6 @@ METHOD IdeActions:loadActions() aadd( aAct, { "GotoFunc" , "Goto Function" , "dc_function" , "" , "No", "Yes" } ) aadd( aAct, { "Shortcuts" , "Keyboard Mappings" , "keyboardmappings","" , "No", "Yes" } ) aadd( aAct, { "Setup" , "hbIDE Setup" , "idepreferences" , "" , "No", "Yes" } ) - * aadd( aAct, { "Tools" , "Tools and Utilities" , "tools" , "" , "No", "Yes" } ) aadd( aAct, { "ChangeLog" , "Manage ChangeLog(s)" , "memo" , "" , "No", "Yes" } ) aadd( aAct, { "TB_Hide" , "Hide Show Docks" , "hideshow" , "" , "No", "Yes" } ) aadd( aAct, { "Delete" , "Delete" , "dc_delete" , "" , "No", "Yes" } ) @@ -335,52 +366,6 @@ METHOD IdeActions:loadActions() /*----------------------------------------------------------------------*/ -METHOD IdeActions:buildToolBar() - LOCAL oTBar - LOCAL nSep := XBPTOOLBAR_BUTTON_SEPARATOR - - oTBar := XbpToolBar():new( ::oDlg ) - oTBar:imageWidth := 20 - oTBar:imageHeight := 20 - oTBar:create( , , { 0, ::oDlg:currentSize()[ 2 ]-60 }, { ::oDlg:currentSize()[ 1 ], 60 } ) - oTBar:oWidget:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) - oTBar:oWidget:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea ) - oTBar:oWidget:setFocusPolicy( Qt_NoFocus ) - - oTBar:buttonClick := {|oButton| ::oIde:execAction( oButton:key ) } - - oTBar:addItem( ::getAction( "TB_Exit" ), , , , , , "Exit" ) - oTBar:addItem( ::getAction( "TB_Hide" ), , , , , , "Hide" ) - oTBar:addItem( ::getAction( "TB_Home" ), , , , , , "Home" ) - oTBar:addItem( , , , , , nSep ) - oTBar:addItem( ::getAction( "TB_New" ), , , , , , "New" ) - oTBar:addItem( ::getAction( "TB_Open" ), , , , , , "Open" ) - oTBar:addItem( ::getAction( "TB_Save" ), , , , , , "Save" ) - oTBar:addItem( ::getAction( "TB_Close" ), , , , , , "Close" ) - oTBar:addItem( ::getAction( "TB_Print" ), , , , , , "Print" ) - oTBar:addItem( , , , , , nSep ) - oTBar:addItem( ::getAction( "TB_Script" ), , , , , , "RunAsScript" ) - oTBar:addItem( ::getAction( "TB_Compile" ), , , , , , "Compile" ) - oTBar:addItem( ::getAction( "TB_CompilePPO" ), , , , , , "CompilePPO" ) - oTBar:addItem( ::getAction( "TB_BuildSource" ), , , , , , "BuildSource" ) - oTBar:addItem( ::getAction( "TB_Build" ), , , , , , "Build" ) - oTBar:addItem( ::getAction( "TB_BuildLaunch" ), , , , , , "BuildLaunch" ) - oTBar:addItem( ::getAction( "TB_Rebuild" ), , , , , , "Rebuild" ) - oTBar:addItem( ::getAction( "TB_RebuildLaunch" ), , , , , , "RebuildLaunch" ) - oTBar:addItem( , , , , , nSep ) - ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildToolsButton() ) - oTBar:addItem( , , , , , nSep ) - ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildViewsButton() ) - oTBar:addItem( , , , , , nSep ) - oTBar:addItem( ::getAction( "DBU" ), , , , , , "DBU" ) - oTBar:addItem( ::getAction( "EDITOR" ), , , , , , "EDITOR" ) - - ::oIde:oMainToolbar := oTBar - - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeActions:buildMainMenu() LOCAL oMenuBar, oSubMenu, oSubMenu2, n, f LOCAL oIde := ::oIde @@ -541,10 +526,12 @@ METHOD IdeActions:buildMainMenu() oSubMenu:addItem( { oSubMenu2, "Toolbars" } ) oSubMenu2:oWidget:addAction( ::oIde:oMainToolbar:oWidget:toggleViewAction() ) + oSubMenu2:oWidget:addAction( ::qPartsToolbar:toggleViewAction() ) + oSubMenu2:oWidget:addAction( ::qProjectToolbar:toggleViewAction() ) oSubMenu2:oWidget:addAction( ::qTBarDocks:toggleViewAction() ) hbide_menuAddSep( oSubMenu2 ) - oSubMenu2:oWidget:addAction( ::oDK:qMdiToolbarL:oWidget:toggleViewAction() ) - oSubMenu2:oWidget:addAction( ::oDK:qMdiToolbar:oWidget:toggleViewAction() ) + oSubMenu2:oWidget:addAction( ::qMdiToolbarL:oWidget:toggleViewAction() ) + oSubMenu2:oWidget:addAction( ::qMdiToolbar:oWidget:toggleViewAction() ) hbide_menuAddSep( oSubMenu2 ) oSubMenu2:addItem( { ::getAction( "ConfigToolbars" ), {|| NIL } } ) @@ -576,8 +563,8 @@ METHOD IdeActions:buildMainMenu() hbide_menuAddSep( oSubMenu2 ) oSubMenu2:oWidget:addAction( ::oDockB2:oWidget:toggleViewAction() ) - * oSubMenu:oWidget:addAction( ::oDockB1:oWidget:toggleViewAction() ) - * oSubMenu:oWidget:addAction( ::oDockB:oWidget:toggleViewAction() ) + * oSubMenu:oWidget:addAction( ::oDockB1:oWidget:toggleViewAction() ) + * oSubMenu:oWidget:addAction( ::oDockB:oWidget:toggleViewAction() ) hbide_menuAddSep( oSubMenu ) @@ -975,3 +962,313 @@ STATIC FUNCTION hbide_buildCodecMenu( oIde, oMenu ) */ /*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolBars() + + ::buildToolbarMain() + ::buildToolbarParts() + ::buildToolbarProject() + ::buildToolBarDocks() + + /* User defined toolbars via Tools & Utilities */ + ::oTM:buildUserToolbars() + + ::buildToolbarSelectedText() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolbarMain() + LOCAL oTBar + LOCAL nSep := XBPTOOLBAR_BUTTON_SEPARATOR + + oTBar := XbpToolBar():new( ::oDlg ) + oTBar:imageWidth := 12 + oTBar:imageHeight := 12 + oTBar:create( , , { 0, ::oDlg:currentSize()[ 2 ]-60 }, { ::oDlg:currentSize()[ 1 ], 60 } ) + oTBar:oWidget:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) + oTBar:oWidget:setAllowedAreas( Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea ) + oTBar:oWidget:setFocusPolicy( Qt_NoFocus ) + + oTBar:buttonClick := {|oButton| ::oIde:execAction( oButton:key ) } + + oTBar:addItem( ::getAction( "TB_Exit" ), , , , , , "Exit" ) + oTBar:addItem( ::getAction( "TB_Hide" ), , , , , , "Hide" ) + oTBar:addItem( ::getAction( "TB_Home" ), , , , , , "Home" ) + oTBar:addItem( , , , , , nSep ) + ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildToolsButton() ) + oTBar:addItem( , , , , , nSep ) + ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildViewsButton() ) + oTBar:addItem( , , , , , nSep ) + + oTBar:addItem( ::getAction( "TB_New" ), , , , , , "New" ) + oTBar:addItem( ::getAction( "TB_Open" ), , , , , , "Open" ) + oTBar:addItem( ::getAction( "TB_Save" ), , , , , , "Save" ) + oTBar:addItem( ::getAction( "TB_Close" ), , , , , , "Close" ) + oTBar:addItem( ::getAction( "TB_Print" ), , , , , , "Print" ) + + ::oIde:oMainToolbar := oTBar + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolbarParts() + + ::qPartsToolbar := HBQToolBar():new( "ToolBar_Docks" ) + + ::qPartsToolbar:cName := "ToolBar_Parts" + ::qPartsToolbar:allowedAreas := Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea + ::qPartsToolbar:size := QSize( 12, 12 ) + + ::qPartsToolbar:create() + + ::qPartsToolbar:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) ) + ::qPartsToolbar:setWindowTitle( "Ide Parts" ) + ::qPartsToolbar:setToolButtonStyle( Qt_ToolButtonIconOnly ) + + ::qPartsToolbar:addAction( "IdeDBU" , ::getAction( "DBU" ), {|| ::oIde:execAction( "DBU" ) } ) + ::qPartsToolbar:addAction( "IdeEDITOR", ::getAction( "EDITOR" ), {|| ::oIde:execAction( "EDITOR" ) } ) + + ::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qPartsToolbar:oWidget ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolbarProject() + LOCAL oTBar + + ::qProjectToolbar := HBQToolBar():new( "ToolBar_Docks" ) + + ::qProjectToolbar:cName := "ToolBar_Project" + ::qProjectToolbar:allowedAreas := Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea + ::qProjectToolbar:size := QSize( 12, 12 ) + + ::qProjectToolbar:create() + + ::qProjectToolbar:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) ) + ::qProjectToolbar:setWindowTitle( "Ide Projects" ) + ::qProjectToolbar:setToolButtonStyle( Qt_ToolButtonIconOnly ) + + oTBar := ::qProjectToolbar + + oTBar:addAction( "TB_Script" , ::getAction( "TB_Script" ), {|| ::oIde:execAction( "RunAsScript" ) } ) + oTBar:addAction( "TB_Compile" , ::getAction( "TB_Compile" ), {|| ::oIde:execAction( "Compile" ) } ) + oTBar:addAction( "TB_CompilePPO" , ::getAction( "TB_CompilePPO" ), {|| ::oIde:execAction( "CompilePPO" ) } ) + oTBar:addAction( "TB_BuildSource" , ::getAction( "TB_BuildSource" ), {|| ::oIde:execAction( "BuildSource" ) } ) + oTBar:addAction( "TB_Build" , ::getAction( "TB_Build" ), {|| ::oIde:execAction( "Build" ) } ) + oTBar:addAction( "TB_BuildLaunch" , ::getAction( "TB_BuildLaunch" ), {|| ::oIde:execAction( "BuildLaunch" ) } ) + oTBar:addAction( "TB_Rebuild" , ::getAction( "TB_Rebuild" ), {|| ::oIde:execAction( "Rebuild" ) } ) + oTBar:addAction( "TB_RebuildLaunch", ::getAction( "TB_RebuildLaunch" ), {|| ::oIde:execAction( "RebuildLaunch" ) } ) + + ::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qProjectToolbar:oWidget ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolBarDocks() + LOCAL a_, qAct + LOCAL aBtns := {} + + /* Right-hand docks toolbar */ + + aadd( aBtns, { ::oDockPT , "projtree" } ) + aadd( aBtns, { ::oDockED , "editstree" } ) + aadd( aBtns, { ::oSkltnsTreeDock , "projtree" } ) + aadd( aBtns, {} ) + aadd( aBtns, { ::oHelpDock , "help" } ) + aadd( aBtns, { ::oDocViewDock , "harbourhelp" } ) + aadd( aBtns, { ::oDocWriteDock , "docwriter" } ) + aadd( aBtns, { ::oFuncDock , "dc_function" } ) + aadd( aBtns, { ::oFunctionsDock , "ffn" } ) + aadd( aBtns, { ::oPropertiesDock , "properties" } ) + aadd( aBtns, { ::oEnvironDock , "envconfig" } ) + aadd( aBtns, { ::oSkeltnDock , "codeskeletons" } ) + aadd( aBtns, { ::oThemesDock , "syntaxhiliter" } ) + aadd( aBtns, { ::oFindDock , "search" } ) + aadd( aBtns, { ::oSourceThumbnailDock, "thumbnail" } ) + aadd( aBtns, { ::oQScintillaDock , "browser" } ) + aadd( aBtns, { ::oReportsManagerDock , "designer" } ) + aadd( aBtns, { ::oCuiEdDock , "cuied" } ) + aadd( aBtns, { ::oUiSrcDock , "fileprg" } ) + aadd( aBtns, {} ) + aadd( aBtns, { ::oDockB2 , "builderror" } ) + + ::qTBarDocks := HBQToolBar():new( "ToolBar_Docks" ) + + ::qTBarDocks:cName := "ToolBar_Docks" + ::qTBarDocks:allowedAreas := Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea + ::qTBarDocks:size := QSize( 12,12 ) + + ::qTBarDocks:create() + + ::qTBarDocks:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) ) + ::qTBarDocks:setWindowTitle( "Dockable Widgets" ) + ::qTBarDocks:setToolButtonStyle( Qt_ToolButtonIconOnly ) + + FOR EACH a_ IN aBtns + IF empty( a_ ) + ::qTBarDocks:addSeparator() + ELSE + qAct := a_[ 1 ]:oWidget:toggleViewAction() + qAct:setIcon( QIcon( hbide_image( a_[ 2 ] ) ) ) + ::qTBarDocks:addAction( a_[ 2 ], qAct ) + ENDIF + NEXT + + ::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qTBarDocks:oWidget ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildMdiToolbarLeft() + + ::qMdiToolbarL := HbqToolbar():new() + ::qMdiToolbarL:orientation := Qt_Vertical + ::qMdiToolbarL:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) + ::qMdiToolbarL:create( "EditsManager_Left_Toolbar" ) + ::qMdiToolbarL:setWindowTitle( "Editing Area's Left" ) + ::qMdiToolbarL:setObjectName( "ToolbarEditingAreaLeft" ) + ::qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) + + ::qMdiToolbarL:addToolButton( "ViewTabbed" , "Toggle tabbed view" , hbide_image( "view_tabbed" ), {|| ::oDK:execEvent( __buttonViewTabbed_clicked__ ) }, .f. ) + + ::qMdiToolbarL:addToolButton( "ViewArranged" , "View as arranged" , hbide_image( "view_organized" ), {|| ::oDK:execEvent( __buttonViewOrganized_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "SaveLayout" , "Save layout" , hbide_image( "save3" ), {|| ::oDK:execEvent( __buttonSaveLayout_clicked__ ) }, .f. ) + + ::qMdiToolbarL:addToolButton( "ViewCascaded" , "View as cascaded" , hbide_image( "view_cascaded" ), {|| ::oDK:execEvent( __buttonViewCascaded_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "viewTiled" , "View as tiled" , hbide_image( "view_tiled" ), {|| ::oDK:execEvent( __buttonViewTiled_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ViewMaximized" , "View Maximized" , hbide_image( "fullscreen" ), {|| ::oDK:execEvent( __buttonViewMaximized_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ViewTiledVert" , "View Vertically Tiled" , hbide_image( "view_vertstacked" ), {|| ::oDK:execEvent( __buttonViewStackedVert_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ViewTiledHorz" , "View Horizontally Tiled" , hbide_image( "view_horzstacked" ), {|| ::oDK:execEvent( __buttonViewStackedHorz_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ViewZoomedIn" , "View Zoom In" , hbide_image( "view_zoomin" ), {|| ::oDK:execEvent( __buttonViewZoomedIn_clicked__ ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ViewZoomedOut" , "View Zoom Out" , hbide_image( "view_zoomout" ), {|| ::oDK:execEvent( __buttonViewZoomedOut_clicked__ ) }, .f. ) + ::qMdiToolbarL:addSeparator() + ::qMdiToolbarL:addToolButton( "ToggleLineNos" , "Toggle Line Numbers" , hbide_image( "togglelinenumber" ), {|| ::oEM:toggleLineNumbers() }, .f. ) + ::qMdiToolbarL:addToolButton( "ToggleHorzRuler", "Toggle Horizontal Ruler" , hbide_image( "horzruler" ), {|| ::oEM:toggleHorzRuler() }, .f. ) + ::qMdiToolbarL:addToolButton( "ToggleCurLine" , "Toggle Current Line Hilight", hbide_image( "curlinehilight" ), {|| ::oEM:toggleCurrentLineHighlightMode() }, .f. ) + ::qMdiToolbarL:addSeparator() + ::qMdiToolbarL:addToolButton( "ToggleCodeComp" , "Toggle Code Completion" , hbide_image( "help1" ), {|| ::oEM:toggleCodeCompetion() }, .f. ) + ::qMdiToolbarL:addToolButton( "ToggleCompTips" , "Toggle Completion Tips" , hbide_image( "infotips" ), {|| ::oEM:toggleCompetionTips() }, .f. ) + ::qMdiToolbarL:addSeparator() + ::qMdiToolbarL:addToolButton( "ZoomIn" , "Zoom In" , hbide_image( "zoomin3" ), {|| ::oEM:zoom( +1 ) }, .f. ) + ::qMdiToolbarL:addToolButton( "ZoomOut" , "Zoom Out" , hbide_image( "zoomout3" ), {|| ::oEM:zoom( -1 ) }, .f. ) + ::qMdiToolbarL:addSeparator() + + IF ! ::oINI:lShowEditsLeftToolbar + ::qMdiToolbarL:hide() + ENDIF + + RETURN Self + +/*------------------------------------------------------------------------*/ + +METHOD IdeActions:buildMdiToolbar() + LOCAL qTBar, nW := 25 + + STATIC sp0,sp1,sp2,sp3 + IF empty( sp0 ) + sp0 := QLabel(); sp0:setMinimumWidth( nW ) + sp1 := QLabel(); sp1:setMinimumWidth( nW ) + sp2 := QLabel(); sp2:setMinimumWidth( nW ) + sp3 := QLabel(); sp3:setMinimumWidth( nW ) + ENDIF + + ::qMdiToolbar := HbqToolbar():new() + ::qMdiToolbar:orientation := Qt_Horizontal + ::qMdiToolbar:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) + ::qMdiToolbar:create( "EditsManager_Top_Toolbar" ) + ::qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) + ::qMdiToolbar:setObjectName( "ToolbarEditingAreaTop" ) + ::qMdiToolbar:setWindowTitle( "Editing Area's Top" ) + + qTBar := ::qMdiToolbar + + qTBar:addWidget( "Panels", ::oIde:oTM:buildPanelsButton() ) + qTBar:addWidget( "Label0", sp0 ) + qTBar:addToolButton( "Undo" , "Undo" , hbide_image( "undo" ), {|| ::oEM:undo() }, .f. ) + qTBar:addToolButton( "Redo" , "Redo" , hbide_image( "redo" ), {|| ::oEM:redo() }, .f. ) + qTBar:addSeparator() + qTBar:addToolButton( "Cut" , "Cut" , hbide_image( "cut" ), {|| ::oEM:cut() }, .f. ) + qTBar:addToolButton( "Copy" , "Copy" , hbide_image( "copy" ), {|| ::oEM:copy() }, .f. ) + qTBar:addToolButton( "Paste" , "Paste" , hbide_image( "paste" ), {|| ::oEM:paste() }, .f. ) + qTBar:addToolButton( "SelectAll" , "Select all" , hbide_image( "selectall" ), {|| ::oEM:selectAll() }, .f. ) + qTBar:addToolButton( "SelectionMode", "Selection mode" , hbide_image( "stream" ), {|| ::oEM:toggleSelectionMode(), ::oIDE:manageFocusInEditor() }, .t. ) + qTBar:addWidget( "Label1", sp1 ) + qTBar:addToolButton( "Find" , "Find / Replace" , hbide_image( "find" ), {|| ::oEM:find() }, .f. ) + qTBar:addToolButton( "BookMark" , "Toggle Mark" , hbide_image( "bookmark" ), {|| ::oEM:setMark() }, .f. ) + qTBar:addToolButton( "GotoLine" , "Goto Line" , hbide_image( "gotoline3" ), {|| ::oEM:goTo() }, .f. ) + qTBar:addToolButton( "Reload" , "Reload Source" , hbide_image( "view_refresh" ), {|| ::oEM:reload() }, .f. ) + qTBar:addWidget( "Label2", sp2 ) + qTBar:addToolButton( "MoveUp" , "Move Current Line Up" , hbide_image( "movelineup" ), {|| ::oEM:moveLine( -1 ) }, .f. ) + qTBar:addToolButton( "MoveDn" , "Move Current Line Down" , hbide_image( "movelinedown" ), {|| ::oEM:moveLine( 1 ) }, .f. ) + qTBar:addToolButton( "DelLine" , "Delete Current Line" , hbide_image( "deleteline" ), {|| ::oEM:deleteLine() }, .f. ) + qTBar:addToolButton( "Duplicate" , "Duplicate Current Line" , hbide_image( "duplicateline" ), {|| ::oEM:duplicateLine() }, .f. ) + qTBar:addWidget( "Label3", sp3 ) + qTBar:addToolButton( "ToUpper" , "To Upper" , hbide_image( "toupper" ), {|| ::oEM:convertSelection( "ToUpper" ) }, .f. ) + qTBar:addToolButton( "ToLower" , "To Lower" , hbide_image( "tolower" ), {|| ::oEM:convertSelection( "ToLower" ) }, .f. ) + qTBar:addToolButton( "InvertCase", "Invert Case" , hbide_image( "invertcase" ), {|| ::oEM:convertSelection( "Invert" ) }, .f. ) + qTBar:addSeparator() + qTBar:addToolButton( "BlockCmnt" , "Block Comment" , hbide_image( "blockcomment" ), {|| ::oEM:blockComment() }, .f. ) + qTBar:addToolButton( "StreamCmnt", "Stream Comment" , hbide_image( "streamcomment" ), {|| ::oEM:streamComment() }, .f. ) + qTBar:addSeparator() + qTBar:addToolButton( "IndentR" , "Indent Right" , hbide_image( "blockindentr" ), {|| ::oEM:indent( 1 ) }, .f. ) + qTBar:addToolButton( "IndentL" , "Indent Left" , hbide_image( "blockindentl" ), {|| ::oEM:indent( -1 ) }, .f. ) + qTBar:addSeparator() + qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. ) + qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. ) + qTBar:addToolButton( "Stringify" , "Stringify Selection" , hbide_image( "stringify" ), {|| ::oEM:stringify() }, .f. ) + qTBar:addSeparator() + qTBar:addToolButton( "AlignAt" , "Align At..." , hbide_image( "align_at" ), {|| ::oEM:alignAt() }, .f. ) + + IF ! ::oINI:lShowEditsTopToolbar + ::qMdiToolbar:hide() + ENDIF + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeActions:buildToolbarSelectedText() + LOCAL qTBar + + ::qSelToolbar := HbqToolbar():new( "ToolbarSelectedText", ::oDlg:oWidget ) + ::qSelToolbar:orientation := Qt_Horizontal + ::qSelToolbar:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) + ::qSelToolbar:create( "SelectedText_Toolbar" ) + ::qSelToolbar:setObjectName( "ToolbarSelectedText" ) + ::qSelToolbar:setWindowTitle( "Actions on Selected Text" ) + //::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_CustomizeWindowHint, Qt_WindowTitleHint, Qt_WindowCloseButtonHint ) ) + ::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_CustomizeWindowHint ) ) + ::qSelToolbar:setMovable( .T. ) + ::qSelToolbar:setFloatable( .T. ) + ::qSelToolbar:hide() + + qTBar := ::qSelToolbar + + qTBar:addToolButton( "Undo" , "Undo" , hbide_image( "undo" ), {|| ::oEM:undo() }, .f. ) + qTBar:addToolButton( "Redo" , "Redo" , hbide_image( "redo" ), {|| ::oEM:redo() }, .f. ) + qTBar:addToolButton( "Cut" , "Cut" , hbide_image( "cut" ), {|| ::oEM:cut() }, .f. ) + qTBar:addToolButton( "Copy" , "Copy" , hbide_image( "copy" ), {|| ::oEM:copy() }, .f. ) + qTBar:addToolButton( "Paste" , "Paste" , hbide_image( "paste" ), {|| ::oEM:paste() }, .f. ) + qTBar:addToolButton( "SelMode" , "Selection Mode" , hbide_image( "stream" ), {|| ::oEM:toggleSelectionMode(), ::oIDE:manageFocusInEditor() }, .t. ) + qTBar:addToolButton( "ToUpper" , "To Upper" , hbide_image( "toupper" ), {|| ::oEM:convertSelection( "ToUpper" ) }, .f. ) + qTBar:addToolButton( "ToLower" , "To Lower" , hbide_image( "tolower" ), {|| ::oEM:convertSelection( "ToLower" ) }, .f. ) + qTBar:addToolButton( "InvertCase", "Invert Case" , hbide_image( "invertcase" ), {|| ::oEM:convertSelection( "Invert" ) }, .f. ) + qTBar:addToolButton( "BlockCmnt" , "Block Comment" , hbide_image( "blockcomment" ), {|| ::oEM:blockComment() }, .f. ) + qTBar:addToolButton( "StreamCmnt", "Stream Comment" , hbide_image( "streamcomment" ), {|| ::oEM:streamComment() }, .f. ) + qTBar:addToolButton( "IndentR" , "Indent Right" , hbide_image( "blockindentr" ), {|| ::oEM:indent( 1 ) }, .f. ) + qTBar:addToolButton( "IndentL" , "Indent Left" , hbide_image( "blockindentl" ), {|| ::oEM:indent( -1 ) }, .f. ) + qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. ) + qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. ) + qTBar:addToolButton( "Stringify" , "Stringify Selection" , hbide_image( "stringify" ), {|| ::oEM:stringify() }, .f. ) + qTBar:addToolButton( "AlignAt" , "Align At..." , hbide_image( "align_at" ), {|| ::oEM:alignAt() }, .f. ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbide/docks.prg b/harbour/contrib/hbide/docks.prg index 0e5d90d4df..806393477b 100644 --- a/harbour/contrib/hbide/docks.prg +++ b/harbour/contrib/hbide/docks.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -128,9 +128,6 @@ CLASS IdeDocks INHERIT IdeObject DATA aBtnDocks INIT {} DATA oBtnTabClose - DATA qSelToolbar - DATA qMdiToolBar - DATA qMdiToolBarL DATA aViewsInfo INIT {} DATA qTBtnClose @@ -150,7 +147,6 @@ CLASS IdeDocks INHERIT IdeObject METHOD destroy() METHOD execEvent( nEvent, p, p1 ) METHOD setView( cView ) - METHOD buildToolBarPanels() METHOD buildHelpWidget() METHOD buildSkeletonWidget() METHOD buildDialog() @@ -189,8 +185,6 @@ CLASS IdeDocks INHERIT IdeObject METHOD buildSystemTray() METHOD showDlgBySystemTrayIconCommand() METHOD setViewInitials() - METHOD buildMdiToolbar() - METHOD buildMdiToolbarLeft() METHOD getEditorPanelsInfo() METHOD restPanelsGeometry() METHOD savePanelsGeometry() @@ -202,10 +196,8 @@ CLASS IdeDocks INHERIT IdeObject METHOD setButtonState( cButton, lChecked ) METHOD buildFormatWidget() METHOD hideAllDocks() - METHOD setToolbarSize( nSize ) METHOD buildCuiEdWidget() METHOD buildUISrcDock() - METHOD buildSelectedTextToolbar() METHOD showSelectedTextToolbar( oEdit ) ENDCLASS @@ -454,10 +446,10 @@ METHOD IdeDocks:buildDialog() /* StatusBar */ ::buildStatusBar() - ::buildMdiToolbar() - ::oParts:addWidget( IDE_PART_EDITOR, ::qMdiToolbar:oWidget , 0, 0, 1, 2 ) - ::buildMdiToolbarLeft() - ::oParts:addWidget( IDE_PART_EDITOR, ::qMdiToolbarL:oWidget , 1, 0, 1, 1 ) + ::oAC:buildMdiToolbar() + ::oParts:addWidget( IDE_PART_EDITOR, ::oAC:qMdiToolbar:oWidget , 0, 0, 1, 2 ) + ::oAC:buildMdiToolbarLeft() + ::oParts:addWidget( IDE_PART_EDITOR, ::oAC:qMdiToolbarL:oWidget , 1, 0, 1, 1 ) ::buildStackedWidget() ::oParts:addWidget( IDE_PART_EDITOR, ::oStackedWidget:oWidget , 1, 1, 1, 1 ) ::buildSearchReplaceWidget() @@ -531,8 +523,6 @@ METHOD IdeDocks:buildDialog() ::buildSystemTray() - ::buildSelectedTextToolbar() - RETURN Self /*----------------------------------------------------------------------*/ @@ -850,7 +840,7 @@ METHOD IdeDocks:execEvent( nEvent, p, p1 ) oEdit:qCoEdit:toggleCurrentLineHighlightMode() oEdit:qCoEdit:dispStatusInfo() ::oUpDn:show() - ::oDK:showSelectedTextToolbar() + ::showSelectedTextToolbar() oEdit:changeThumbnail() ENDIF @@ -915,7 +905,7 @@ METHOD IdeDocks:execEvent( nEvent, p, p1 ) oEdit:qCoEdit:toggleCurrentLineHighlightMode() oEdit:qCoEdit:dispStatusInfo() ::oUpDn:show() - ::oDK:showSelectedTextToolbar() + ::showSelectedTextToolbar() oEdit:changeThumbnail() ENDIF ENDIF @@ -1160,193 +1150,11 @@ METHOD IdeDocks:setView( cView ) /*------------------------------------------------------------------------*/ -METHOD IdeDocks:setToolbarSize( nSize ) - - ::qMdiToolbarL:size := QSize( nSize,nSize ) - ::qMdiToolbarL:setIconSize( ::qMdiToolbarL:size ) - ::qMdiToolbarL:setMaximumWidth( nSize + 8 ) - - ::qMdiToolbar:size := QSize( nSize,nSize ) - ::qMdiToolbar:setIconSize( ::qMdiToolbar:size ) - ::qMdiToolbar:setMaximumHeight( nSize + 8 ) - - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD IdeDocks:buildMdiToolbarLeft() - - ::qMdiToolbarL := HbqToolbar():new() - ::qMdiToolbarL:orientation := Qt_Vertical - ::qMdiToolbarL:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) - ::qMdiToolbarL:create( "EditsManager_Left_Toolbar" ) - ::qMdiToolbarL:setWindowTitle( "Editing Area's Left" ) - ::qMdiToolbarL:setObjectName( "ToolbarEditingAreaLeft" ) - ::qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) - - ::qMdiToolbarL:addToolButton( "ViewTabbed" , "Toggle tabbed view" , hbide_image( "view_tabbed" ), {|| ::execEvent( __buttonViewTabbed_clicked__ ) }, .f. ) - ::qMdiToolbarL:addSeparator() - ::qMdiToolbarL:addToolButton( "ViewArranged" , "View as arranged" , hbide_image( "view_organized" ), {|| ::execEvent( __buttonViewOrganized_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "SaveLayout" , "Save layout" , hbide_image( "save3" ), {|| ::execEvent( __buttonSaveLayout_clicked__ ) }, .f. ) - ::qMdiToolbarL:addSeparator() - ::qMdiToolbarL:addToolButton( "ViewCascaded" , "View as cascaded" , hbide_image( "view_cascaded" ), {|| ::execEvent( __buttonViewCascaded_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "viewTiled" , "View as tiled" , hbide_image( "view_tiled" ), {|| ::execEvent( __buttonViewTiled_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ViewMaximized" , "View Maximized" , hbide_image( "fullscreen" ), {|| ::execEvent( __buttonViewMaximized_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ViewTiledVert" , "View Vertically Tiled" , hbide_image( "view_vertstacked" ), {|| ::execEvent( __buttonViewStackedVert_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ViewTiledHorz" , "View Horizontally Tiled" , hbide_image( "view_horzstacked" ), {|| ::execEvent( __buttonViewStackedHorz_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ViewZoomedIn" , "View Zoom In" , hbide_image( "view_zoomin" ), {|| ::execEvent( __buttonViewZoomedIn_clicked__ ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ViewZoomedOut" , "View Zoom Out" , hbide_image( "view_zoomout" ), {|| ::execEvent( __buttonViewZoomedOut_clicked__ ) }, .f. ) - ::qMdiToolbarL:addSeparator() - ::qMdiToolbarL:addToolButton( "ToggleLineNos" , "Toggle Line Numbers" , hbide_image( "togglelinenumber" ), {|| ::oEM:toggleLineNumbers() }, .f. ) - ::qMdiToolbarL:addToolButton( "ToggleHorzRuler", "Toggle Horizontal Ruler" , hbide_image( "horzruler" ), {|| ::oEM:toggleHorzRuler() }, .f. ) - ::qMdiToolbarL:addToolButton( "ToggleCurLine" , "Toggle Current Line Hilight", hbide_image( "curlinehilight" ), {|| ::oEM:toggleCurrentLineHighlightMode() }, .f. ) - ::qMdiToolbarL:addSeparator() - ::qMdiToolbarL:addToolButton( "ToggleCodeComp" , "Toggle Code Completion" , hbide_image( "help1" ), {|| ::oEM:toggleCodeCompetion() }, .f. ) - ::qMdiToolbarL:addToolButton( "ToggleCompTips" , "Toggle Completion Tips" , hbide_image( "infotips" ), {|| ::oEM:toggleCompetionTips() }, .f. ) - ::qMdiToolbarL:addSeparator() - ::qMdiToolbarL:addToolButton( "ZoomIn" , "Zoom In" , hbide_image( "zoomin3" ), {|| ::oEM:zoom( +1 ) }, .f. ) - ::qMdiToolbarL:addToolButton( "ZoomOut" , "Zoom Out" , hbide_image( "zoomout3" ), {|| ::oEM:zoom( -1 ) }, .f. ) - ::qMdiToolbarL:addSeparator() - - IF ! ::oINI:lShowEditsLeftToolbar - ::qMdiToolbarL:hide() - ENDIF - - RETURN Self - -/*------------------------------------------------------------------------*/ - -METHOD IdeDocks:buildMdiToolbar() - LOCAL qTBar, nW := 25 - - STATIC sp0,sp1,sp2,sp3 - IF empty( sp0 ) - sp0 := QLabel(); sp0:setMinimumWidth( nW ) - sp1 := QLabel(); sp1:setMinimumWidth( nW ) - sp2 := QLabel(); sp2:setMinimumWidth( nW ) - sp3 := QLabel(); sp3:setMinimumWidth( nW ) - ENDIF - - ::qMdiToolbar := HbqToolbar():new() - ::qMdiToolbar:orientation := Qt_Horizontal - ::qMdiToolbar:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) - ::qMdiToolbar:create( "EditsManager_Top_Toolbar" ) - ::qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) - ::qMdiToolbar:setObjectName( "ToolbarEditingAreaTop" ) - ::qMdiToolbar:setWindowTitle( "Editing Area's Top" ) - - qTBar := ::qMdiToolbar - - qTBar:addWidget( "Panels", ::oIde:oTM:buildPanelsButton() ) - qTBar:addWidget( "Label0", sp0 ) - qTBar:addToolButton( "Undo" , "Undo" , hbide_image( "undo" ), {|| ::oEM:undo() }, .f. ) - qTBar:addToolButton( "Redo" , "Redo" , hbide_image( "redo" ), {|| ::oEM:redo() }, .f. ) - qTBar:addSeparator() - qTBar:addToolButton( "Cut" , "Cut" , hbide_image( "cut" ), {|| ::oEM:cut() }, .f. ) - qTBar:addToolButton( "Copy" , "Copy" , hbide_image( "copy" ), {|| ::oEM:copy() }, .f. ) - qTBar:addToolButton( "Paste" , "Paste" , hbide_image( "paste" ), {|| ::oEM:paste() }, .f. ) - qTBar:addToolButton( "SelectAll" , "Select all" , hbide_image( "selectall" ), {|| ::oEM:selectAll() }, .f. ) - qTBar:addToolButton( "SelectionMode", "Selection mode" , hbide_image( "stream" ), {|| ::oEM:toggleSelectionMode(), ::oIDE:manageFocusInEditor() }, .t. ) - qTBar:addWidget( "Label1", sp1 ) - qTBar:addToolButton( "Find" , "Find / Replace" , hbide_image( "find" ), {|| ::oEM:find() }, .f. ) - qTBar:addToolButton( "BookMark" , "Toggle Mark" , hbide_image( "bookmark" ), {|| ::oEM:setMark() }, .f. ) - qTBar:addToolButton( "GotoLine" , "Goto Line" , hbide_image( "gotoline3" ), {|| ::oEM:goTo() }, .f. ) - qTBar:addToolButton( "Reload" , "Reload Source" , hbide_image( "view_refresh" ), {|| ::oEM:reload() }, .f. ) - qTBar:addWidget( "Label2", sp2 ) - qTBar:addToolButton( "MoveUp" , "Move Current Line Up" , hbide_image( "movelineup" ), {|| ::oEM:moveLine( -1 ) }, .f. ) - qTBar:addToolButton( "MoveDn" , "Move Current Line Down" , hbide_image( "movelinedown" ), {|| ::oEM:moveLine( 1 ) }, .f. ) - qTBar:addToolButton( "DelLine" , "Delete Current Line" , hbide_image( "deleteline" ), {|| ::oEM:deleteLine() }, .f. ) - qTBar:addToolButton( "Duplicate" , "Duplicate Current Line" , hbide_image( "duplicateline" ), {|| ::oEM:duplicateLine() }, .f. ) - qTBar:addWidget( "Label3", sp3 ) - qTBar:addToolButton( "ToUpper" , "To Upper" , hbide_image( "toupper" ), {|| ::oEM:convertSelection( "ToUpper" ) }, .f. ) - qTBar:addToolButton( "ToLower" , "To Lower" , hbide_image( "tolower" ), {|| ::oEM:convertSelection( "ToLower" ) }, .f. ) - qTBar:addToolButton( "InvertCase", "Invert Case" , hbide_image( "invertcase" ), {|| ::oEM:convertSelection( "Invert" ) }, .f. ) - qTBar:addSeparator() - qTBar:addToolButton( "BlockCmnt" , "Block Comment" , hbide_image( "blockcomment" ), {|| ::oEM:blockComment() }, .f. ) - qTBar:addToolButton( "StreamCmnt", "Stream Comment" , hbide_image( "streamcomment" ), {|| ::oEM:streamComment() }, .f. ) - qTBar:addSeparator() - qTBar:addToolButton( "IndentR" , "Indent Right" , hbide_image( "blockindentr" ), {|| ::oEM:indent( 1 ) }, .f. ) - qTBar:addToolButton( "IndentL" , "Indent Left" , hbide_image( "blockindentl" ), {|| ::oEM:indent( -1 ) }, .f. ) - qTBar:addSeparator() - qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. ) - qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. ) - qTBar:addToolButton( "Stringify" , "Stringify Selection" , hbide_image( "stringify" ), {|| ::oEM:stringify() }, .f. ) - qTBar:addSeparator() - qTBar:addToolButton( "AlignAt" , "Align At..." , hbide_image( "align_at" ), {|| ::oEM:alignAt() }, .f. ) - - IF ! ::oINI:lShowEditsTopToolbar - ::qMdiToolbar:hide() - ENDIF - - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD IdeDocks:buildToolBarPanels() - LOCAL a_, qAct - LOCAL qSize := QSize( 20,20 ) - LOCAL aBtns := {} - - /* Right-hand docks toolbar */ - - aadd( aBtns, { ::oDockPT , "projtree" } ) - aadd( aBtns, { ::oDockED , "editstree" } ) - aadd( aBtns, { ::oSkltnsTreeDock , "projtree" } ) - aadd( aBtns, {} ) - aadd( aBtns, { ::oHelpDock , "help" } ) - aadd( aBtns, { ::oDocViewDock , "harbourhelp" } ) - aadd( aBtns, { ::oDocWriteDock , "docwriter" } ) - aadd( aBtns, { ::oFuncDock , "dc_function" } ) - aadd( aBtns, { ::oFunctionsDock , "ffn" } ) - aadd( aBtns, { ::oPropertiesDock , "properties" } ) - aadd( aBtns, { ::oEnvironDock , "envconfig" } ) - aadd( aBtns, { ::oSkeltnDock , "codeskeletons" } ) - aadd( aBtns, { ::oThemesDock , "syntaxhiliter" } ) - aadd( aBtns, { ::oFindDock , "search" } ) - aadd( aBtns, { ::oSourceThumbnailDock, "thumbnail" } ) - aadd( aBtns, { ::oQScintillaDock , "browser" } ) - aadd( aBtns, { ::oReportsManagerDock , "designer" } ) - aadd( aBtns, { ::oCuiEdDock , "cuied" } ) - aadd( aBtns, { ::oUiSrcDock , "fileprg" } ) - aadd( aBtns, {} ) - aadd( aBtns, { ::oDockB2 , "builderror" } ) - - ::oIde:qTBarDocks := HBQToolBar():new( "ToolBar_Docks" ) - - ::qTBarDocks:cName := "ToolBar_Docks" - ::qTBarDocks:allowedAreas := Qt_LeftToolBarArea + Qt_RightToolBarArea + Qt_TopToolBarArea + Qt_BottomToolBarArea - ::qTBarDocks:size := qSize - - ::qTBarDocks:create() - - ::qTBarDocks:setStyleSheet( GetStyleSheet( "QToolBarLR5", ::nAnimantionMode ) ) - ::qTBarDocks:setWindowTitle( "Dockable Widgets" ) - ::qTBarDocks:setToolButtonStyle( Qt_ToolButtonIconOnly ) - - FOR EACH a_ IN aBtns - IF empty( a_ ) - ::qTBarDocks:addSeparator() - ELSE - qAct := a_[ 1 ]:oWidget:toggleViewAction() - qAct:setIcon( QIcon( hbide_image( a_[ 2 ] ) ) ) - ::qTBarDocks:addAction( a_[ 2 ], qAct ) - ENDIF - NEXT - - ::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qTBarDocks:oWidget ) - - /* User defined toolbars via Tools & Utilities */ - ::oTM:buildUserToolbars() - - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeDocks:setButtonState( cButton, lChecked ) - IF ::qMdiToolbar:contains( cButton ) - RETURN ::qMdiToolbar:setItemChecked( cButton, lChecked ) - ELSEIF ::qMdiToolbarL:contains( cButton ) - RETURN ::qMdiToolbarL:setItemChecked( cButton, lChecked ) + IF ::oAC:qMdiToolbar:contains( cButton ) + RETURN ::oAC:qMdiToolbar:setItemChecked( cButton, lChecked ) + ELSEIF ::oAC:qMdiToolbarL:contains( cButton ) + RETURN ::oAC:qMdiToolbarL:setItemChecked( cButton, lChecked ) ENDIF RETURN .f. @@ -1449,9 +1257,9 @@ METHOD IdeDocks:buildUpDownWidget() ::oIde:oUpDn := IdeUpDown():new( ::oIde ):create() ::oUpDn:oUI:hide() - ::oUpDn:oUI:setParent( ::qMdiToolbarL:oWidget ) + ::oUpDn:oUI:setParent( ::oAC:qMdiToolbarL:oWidget ) ::oUpDn:oUI:show() - ::qMdiToolbarL:addWidget( "UpDown", ::oUpDn:oUI:oWidget ) + ::oAC:qMdiToolbarL:addWidget( "UpDown", ::oUpDn:oUI:oWidget ) ::oUpDn:oUI:hide() RETURN Self @@ -1847,10 +1655,10 @@ METHOD IdeDocks:animateComponents( nMode ) /* Toolbars */ ::oMainToolbar:oWidget:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) ) - ::qTBarDocks :setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) ) + ::oAC:qTBarDocks :setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) ) - ::qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) ) - ::qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) ) + ::oAC:qMdiToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) ) + ::oAC:qMdiToolbarL:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) ) /* User defined toolbars */ ::oTM:setStyleSheet( GetStyleSheet( "QToolBarLR5", nMode ) ) @@ -2054,20 +1862,21 @@ METHOD IdeDocks:buildUISrcDock() METHOD IdeDocks:showSelectedTextToolbar( oEdit ) LOCAL qRect, nVPH, nVPW, nTBH, nTBW, nY, nX + LOCAL qToolbar := ::oAC:qSelToolbar DEFAULT oEdit TO ::oEM:getEditObjectCurrent() IF ! empty( oEdit ) IF ! ::oINI:lSelToolbar - ::qSelToolbar:hide() + qToolbar:hide() RETURN Self ENDIF IF oEdit:aSelectionInfo[ 1 ] > -1 qRect := oEdit:qEdit:cursorRect() IF oEdit:aSelectionInfo[ 5 ] == __selectionMode_column__ - ::oDK:qSelToolbar:setOrientation( Qt_Vertical ) - ::qSelToolbar:adjustSize() - nTBH := ::qSelToolbar:height() + qToolbar:setOrientation( Qt_Vertical ) + qToolbar:adjustSize() + nTBH := qToolbar:height() nVPH := oEdit:qEdit:viewport():height() nY := qRect:y() - ( nTBH / 2 ) IF nY < 0 @@ -2076,12 +1885,12 @@ METHOD IdeDocks:showSelectedTextToolbar( oEdit ) nY := nVPH - nTBH ENDIF nX := Max( oEdit:aSelectionInfo[ 2 ], oEdit:aSelectionInfo[ 4 ] )* oEdit:qEdit:fontMetrics():averageCharWidth() + 30 - ::qSelToolbar:move( oEdit:qEdit:viewport():mapToGlobal( QPoint( nX, nY ) ) ) + qToolbar:move( oEdit:qEdit:viewport():mapToGlobal( QPoint( nX, nY ) ) ) ELSE - ::oDK:qSelToolbar:setOrientation( Qt_Horizontal ) - ::qSelToolbar:adjustSize() + qToolbar:setOrientation( Qt_Horizontal ) + qToolbar:adjustSize() nVPW := oEdit:qEdit:viewport():width() - nTBW := ::qSelToolbar:width() + nTBW := qToolbar:width() nX := ( nVPW / 2 ) - ( nTBW / 2 ) IF nX < 0 nX := 0 @@ -2093,12 +1902,12 @@ METHOD IdeDocks:showSelectedTextToolbar( oEdit ) ELSE nY := qRect:y() - ( qRect:height() * 3 ) ENDIF - ::qSelToolbar:move( oEdit:qEdit:viewport():mapToGlobal( QPoint( nX, nY ) ) ) + qToolbar:move( oEdit:qEdit:viewport():mapToGlobal( QPoint( nX, nY ) ) ) ENDIF - ::qSelToolbar:show() - ::qSelToolbar:raise() + qToolbar:show() + qToolbar:raise() ELSE - ::qSelToolbar:hide() + qToolbar:hide() ENDIF ENDIF @@ -2106,41 +1915,3 @@ METHOD IdeDocks:showSelectedTextToolbar( oEdit ) /*----------------------------------------------------------------------*/ -METHOD IdeDocks:buildSelectedTextToolbar() - LOCAL qTBar - - ::qSelToolbar := HbqToolbar():new( "ToolbarSelectedText", ::oDlg:oWidget ) - ::qSelToolbar:orientation := Qt_Horizontal - ::qSelToolbar:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) ) - ::qSelToolbar:create( "SelectedText_Toolbar" ) - ::qSelToolbar:setObjectName( "ToolbarSelectedText" ) - ::qSelToolbar:setWindowTitle( "Actions on Selected Text" ) - //::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_CustomizeWindowHint, Qt_WindowTitleHint, Qt_WindowCloseButtonHint ) ) - ::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_CustomizeWindowHint ) ) - ::qSelToolbar:setMovable( .T. ) - ::qSelToolbar:setFloatable( .T. ) - ::qSelToolbar:hide() - - qTBar := ::qSelToolbar - - qTBar:addToolButton( "Undo" , "Undo" , hbide_image( "undo" ), {|| ::oEM:undo() }, .f. ) - qTBar:addToolButton( "Redo" , "Redo" , hbide_image( "redo" ), {|| ::oEM:redo() }, .f. ) - qTBar:addToolButton( "Cut" , "Cut" , hbide_image( "cut" ), {|| ::oEM:cut() }, .f. ) - qTBar:addToolButton( "Copy" , "Copy" , hbide_image( "copy" ), {|| ::oEM:copy() }, .f. ) - qTBar:addToolButton( "Paste" , "Paste" , hbide_image( "paste" ), {|| ::oEM:paste() }, .f. ) - qTBar:addToolButton( "SelMode" , "Selection Mode" , hbide_image( "stream" ), {|| ::oEM:toggleSelectionMode(), ::oIDE:manageFocusInEditor() }, .t. ) - qTBar:addToolButton( "ToUpper" , "To Upper" , hbide_image( "toupper" ), {|| ::oEM:convertSelection( "ToUpper" ) }, .f. ) - qTBar:addToolButton( "ToLower" , "To Lower" , hbide_image( "tolower" ), {|| ::oEM:convertSelection( "ToLower" ) }, .f. ) - qTBar:addToolButton( "InvertCase", "Invert Case" , hbide_image( "invertcase" ), {|| ::oEM:convertSelection( "Invert" ) }, .f. ) - qTBar:addToolButton( "BlockCmnt" , "Block Comment" , hbide_image( "blockcomment" ), {|| ::oEM:blockComment() }, .f. ) - qTBar:addToolButton( "StreamCmnt", "Stream Comment" , hbide_image( "streamcomment" ), {|| ::oEM:streamComment() }, .f. ) - qTBar:addToolButton( "IndentR" , "Indent Right" , hbide_image( "blockindentr" ), {|| ::oEM:indent( 1 ) }, .f. ) - qTBar:addToolButton( "IndentL" , "Indent Left" , hbide_image( "blockindentl" ), {|| ::oEM:indent( -1 ) }, .f. ) - qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. ) - qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. ) - qTBar:addToolButton( "Stringify" , "Stringify Selection" , hbide_image( "stringify" ), {|| ::oEM:stringify() }, .f. ) - qTBar:addToolButton( "AlignAt" , "Align At..." , hbide_image( "align_at" ), {|| ::oEM:alignAt() }, .f. ) - - RETURN Self - -/*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/edit.prg b/harbour/contrib/hbide/edit.prg index 1addd424a1..e36afdb224 100644 --- a/harbour/contrib/hbide/edit.prg +++ b/harbour/contrib/hbide/edit.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/editor.prg b/harbour/contrib/hbide/editor.prg index bc22a81809..b9d113e9f1 100644 --- a/harbour/contrib/hbide/editor.prg +++ b/harbour/contrib/hbide/editor.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/hbqtoolbar.prg b/harbour/contrib/hbide/hbqtoolbar.prg index 138f8c210e..0e77145bb0 100644 --- a/harbour/contrib/hbide/hbqtoolbar.prg +++ b/harbour/contrib/hbide/hbqtoolbar.prg @@ -102,7 +102,7 @@ CLASS HbqToolbar METHOD setItemChecked( cName, lState ) METHOD setItemEnabled( cName, lEnabled ) METHOD addWidget( cName, qWidget ) - METHOD addAction( cName, qAction ) + METHOD addAction( cName, qAction, bBlock ) METHOD addSeparator() METHOD contains( cName ) INLINE hb_hHasKey( ::hItems, cName ) METHOD getItem( cName ) INLINE iif( hb_hHasKey( ::hItems, cName ), ::hItems[ cName ], NIL ) @@ -274,7 +274,7 @@ METHOD HbqToolbar:addSeparator() /*----------------------------------------------------------------------*/ -METHOD HbqToolbar:addAction( cName, qAction ) +METHOD HbqToolbar:addAction( cName, qAction, bBlock ) DEFAULT cName TO hbide_getNextIDasString( "IdeToolButtonAction" ) @@ -282,6 +282,9 @@ METHOD HbqToolbar:addAction( cName, qAction ) ::hItems[ cName ] := cName ::hActions[ cName ] := qAction + IF HB_ISBLOCK( bBlock ) + qAction:connect( "triggered()", bBlock ) + ENDIF RETURN NIL diff --git a/harbour/contrib/hbide/main.prg b/harbour/contrib/hbide/main.prg index 06ef86c7bc..8da8f41970 100644 --- a/harbour/contrib/hbide/main.prg +++ b/harbour/contrib/hbide/main.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -626,17 +626,18 @@ METHOD HbIde:create( aParams ) /* Tools Manager */ ::oTM := IdeToolsManager():new( Self ):create() - /* IDE's Main Window */ - ::oDK:buildDialog() /* Actions */ ::oAC := IdeActions():new( Self ):create() + /* IDE's Main Window */ + ::oDK:buildDialog() + /* Docking Widgets */ ::oDK:buildDockWidgets() - /* Toolbar */ - ::oAC:buildToolBar() - /* Build additional Toolbars */ - ::oDK:buildToolBarPanels() + + /* Toolbars */ + ::oAC:buildToolBars() + /* Main Menu */ ::oAC:buildMainMenu() @@ -770,7 +771,7 @@ METHOD HbIde:create( aParams ) /* Fill auto completion lists - it must be the last action and be present here always */ ::oEM:updateCompleter() - ::oDK:qSelToolbar:hide() + ::oAC:qSelToolbar:hide() DO WHILE .t. nEvent := AppEvent( @mp1, @mp2, @oXbp ) diff --git a/harbour/contrib/hbide/misc.prg b/harbour/contrib/hbide/misc.prg index 9c2c3d9630..8ee313f82d 100644 --- a/harbour/contrib/hbide/misc.prg +++ b/harbour/contrib/hbide/misc.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/object.prg b/harbour/contrib/hbide/object.prg index 9c6067255a..a0281cf2aa 100644 --- a/harbour/contrib/hbide/object.prg +++ b/harbour/contrib/hbide/object.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009-2010 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -129,7 +129,6 @@ CLASS IdeObject ACCESS qTBarLines INLINE ::oIde:qTBarLines ACCESS qTBarPanels INLINE ::oIde:qTBarPanels - ACCESS qTBarDocks INLINE ::oIde:qTBarDocks ACCESS qCompleter INLINE ::oIde:qCompleter ACCESS qCompModel INLINE ::oIde:qCompModel ACCESS qProtoList INLINE ::oIde:qProtoList diff --git a/harbour/contrib/hbide/saveload.prg b/harbour/contrib/hbide/saveload.prg index 26243b45b9..a792ba24aa 100644 --- a/harbour/contrib/hbide/saveload.prg +++ b/harbour/contrib/hbide/saveload.prg @@ -1892,21 +1892,21 @@ METHOD IdeSetup:execEvent( nEvent, p, p1 ) EXIT CASE __checkShowTopToolbar_stateChanged__ - IF ::oDK:qMdiToolbar:oWidget:isVisible() - ::oDK:qMdiToolbar:hide() + IF ::oAC:qMdiToolbar:oWidget:isVisible() + ::oAC:qMdiToolbar:hide() ELSE - ::oDK:qMdiToolbar:show() + ::oAC:qMdiToolbar:show() ENDIF - ::oINI:lShowEditsTopToolbar := ::oDK:qMdiToolbar:oWidget:isVisible() + ::oINI:lShowEditsTopToolbar := ::oAC:qMdiToolbar:oWidget:isVisible() EXIT CASE __checkShowLeftToolbar_stateChanged__ - IF ::oDK:qMdiToolbarL:oWidget:isVisible() - ::oDK:qMdiToolbarL:hide() + IF ::oAC:qMdiToolbarL:oWidget:isVisible() + ::oAC:qMdiToolbarL:hide() ELSE - ::oDK:qMdiToolbarL:show() + ::oAC:qMdiToolbarL:show() ENDIF - ::oINI:lShowEditsLeftToolbar := ::oDK:qMdiToolbarL:oWidget:isVisible() + ::oINI:lShowEditsLeftToolbar := ::oAC:qMdiToolbarL:oWidget:isVisible() EXIT CASE __treeWidget_itemSelectionChanged__