From 5fe01e8b69e40b1acc60b6068aa39cdf625e3ce4 Mon Sep 17 00:00:00 2001 From: Gulsah Kose Date: Wed, 9 Dec 2015 23:22:25 +0200 Subject: tdf#89540 Completed show draw functions button for impress and draw. v2: failed commit. v3: Solved slot defination and dimmed button problem. v4: Tried to find slot execution method. v5: Added a control for draw toolbar name in impress and draw v6: Toolbar name control is changed for checking request only impress and draw. v7: Overrided initialize method of base class. v8: Control provided with module name. v9: Cleaned unnecessary included headers v10: Removed m_sModuleName defination and reused base class' m_sModuleName variable. Added white space before header files. Moved control into the initialize method. Control is changed as only controls impress or draw. Change-Id: I781783a72954af1f16212b981356db472ed48739 Signed-off-by: Gulsah Kose --- include/svx/tbxctl.hxx | 2 ++ sd/sdi/ViewShellBase.sdi | 5 +++++ sd/source/core/typemap.cxx | 3 +++ sd/source/ui/app/sddll.cxx | 2 ++ sd/uiconfig/sdraw/toolbar/standardbar.xml | 1 + sd/uiconfig/simpress/toolbar/standardbar.xml | 1 + svx/source/tbxctrls/tbxdrctl.cxx | 19 +++++++++++++++---- 7 files changed, 29 insertions(+), 4 deletions(-) diff --git a/include/svx/tbxctl.hxx b/include/svx/tbxctl.hxx index b2625ef377fa..fb18d8baddc6 100644 --- a/include/svx/tbxctl.hxx +++ b/include/svx/tbxctl.hxx @@ -39,6 +39,8 @@ protected: public: SvxTbxCtlDraw( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); + // XInitialization + virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) throw ( css::uno::Exception, css::uno::RuntimeException, std::exception) override; virtual ~SvxTbxCtlDraw() {} SFX_DECL_TOOLBOX_CONTROL(); diff --git a/sd/sdi/ViewShellBase.sdi b/sd/sdi/ViewShellBase.sdi index 7996781220f8..432958216f13 100644 --- a/sd/sdi/ViewShellBase.sdi +++ b/sd/sdi/ViewShellBase.sdi @@ -137,6 +137,11 @@ interface ViewShellBaseView ExecMethod = Execute ; StateMethod = GetState ; ] + SID_INSERT_DRAW + [ + ExecMethod = Execute ; + StateMethod = GetState ; + ] } shell ViewShellBase diff --git a/sd/source/core/typemap.cxx b/sd/source/core/typemap.cxx index 65f7cf0ca540..65898a212d79 100644 --- a/sd/source/core/typemap.cxx +++ b/sd/source/core/typemap.cxx @@ -84,6 +84,7 @@ #include #include #include +#include // #UndoRedo# #include @@ -103,6 +104,8 @@ #include #define SFX_TYPEMAP +#define SvxDrawToolItem SfxAllEnumItem #include "sdslots.hxx" + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx index 9fe114879a28..8291d1a44406 100644 --- a/sd/source/ui/app/sddll.cxx +++ b/sd/source/ui/app/sddll.cxx @@ -87,6 +87,7 @@ #include #include #include +#include #include #include #include @@ -244,6 +245,7 @@ void SdDLL::RegisterControllers() SvxFrameLineStyleToolBoxControl::RegisterControl(SID_FRAME_LINESTYLE, pMod ); SvxColorToolBoxControl::RegisterControl(SID_FRAME_LINECOLOR, pMod ); SvxFrameToolBoxControl::RegisterControl(SID_ATTR_BORDER, pMod ); + SvxTbxCtlDraw::RegisterControl(SID_INSERT_DRAW, pMod ); } void SdDLL::Init() diff --git a/sd/uiconfig/sdraw/toolbar/standardbar.xml b/sd/uiconfig/sdraw/toolbar/standardbar.xml index 6894887743a7..d8c840767a0b 100644 --- a/sd/uiconfig/sdraw/toolbar/standardbar.xml +++ b/sd/uiconfig/sdraw/toolbar/standardbar.xml @@ -73,6 +73,7 @@ + diff --git a/sd/uiconfig/simpress/toolbar/standardbar.xml b/sd/uiconfig/simpress/toolbar/standardbar.xml index 64a42e8a567f..ffc55617f6e5 100644 --- a/sd/uiconfig/simpress/toolbar/standardbar.xml +++ b/sd/uiconfig/simpress/toolbar/standardbar.xml @@ -63,6 +63,7 @@ + diff --git a/svx/source/tbxctrls/tbxdrctl.cxx b/svx/source/tbxctrls/tbxdrctl.cxx index f70805cce61b..f2e059f5c87f 100644 --- a/svx/source/tbxctrls/tbxdrctl.cxx +++ b/svx/source/tbxctrls/tbxdrctl.cxx @@ -29,7 +29,6 @@ #include #include - #include "svx/tbxctl.hxx" #include "svx/tbxcolor.hxx" #include @@ -43,15 +42,27 @@ using namespace ::com::sun::star::frame; SvxTbxCtlDraw::SvxTbxCtlDraw( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) : - SfxToolBoxControl( nSlotId, nId, rTbx ), - - m_sToolboxName( "private:resource/toolbar/drawbar" ) + SfxToolBoxControl( nSlotId, nId, rTbx ) { rTbx.SetItemBits( nId, ToolBoxItemBits::CHECKABLE | rTbx.GetItemBits( nId ) ); rTbx.Invalidate(); } +void SAL_CALL SvxTbxCtlDraw::initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) throw ( css::uno::Exception, css::uno::RuntimeException, std::exception) + { + svt::ToolboxController::initialize(aArguments); + /* + * Toolbar name is defined as "private:resource/toolbar/drawbar" in writer and calc, + * "private:resource/toolbar/toolbar" in draw and impress. Control is added for this + * difference. + */ + if (svt::ToolboxController::m_sModuleName=="com.sun.star.presentation.PresentationDocument" || svt::ToolboxController::m_sModuleName=="com.sun.star.drawing.DrawingDocument") + m_sToolboxName="private:resource/toolbar/toolbar"; + else + m_sToolboxName="private:resource/toolbar/drawbar"; + } + void SvxTbxCtlDraw::StateChanged( sal_uInt16 nSID, SfxItemState eState, -- cgit v1.2.3