diff options
author | Gulsah Kose <gulsah.1004@gmail.com> | 2015-12-09 23:22:25 +0200 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2015-12-30 22:58:10 +0200 |
commit | 5fe01e8b69e40b1acc60b6068aa39cdf625e3ce4 (patch) | |
tree | 2ea0bc179b5b2b5d2aab48a71a36c8d0b1e2a529 | |
parent | 6c2a9102eeb4d3de6a64780eb2b97415b15ce4a9 (diff) |
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 <gulsah.1004@gmail.com>
-rw-r--r-- | include/svx/tbxctl.hxx | 2 | ||||
-rw-r--r-- | sd/sdi/ViewShellBase.sdi | 5 | ||||
-rw-r--r-- | sd/source/core/typemap.cxx | 3 | ||||
-rw-r--r-- | sd/source/ui/app/sddll.cxx | 2 | ||||
-rw-r--r-- | sd/uiconfig/sdraw/toolbar/standardbar.xml | 1 | ||||
-rw-r--r-- | sd/uiconfig/simpress/toolbar/standardbar.xml | 1 | ||||
-rw-r--r-- | 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 <svx/xftshxy.hxx> #include <avmedia/mediaitem.hxx> #include <svx/drawitem.hxx> +#include <svl/aeitem.hxx> // #UndoRedo# #include <svl/slstitm.hxx> @@ -103,6 +104,8 @@ #include <svx/galleryitem.hxx> #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 <svx/xmlsecctrl.hxx> #include <svx/zoomctrl.hxx> #include <svx/zoomsliderctrl.hxx> +#include <svx/tbxctl.hxx> #include <sfx2/docfilt.hxx> #include <sfx2/docfile.hxx> #include <sfx2/fcontnr.hxx> @@ -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 @@ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/> <toolbar:toolbaritem xlink:href=".uno:GlueEditMode"/> <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/> + <toolbar:toolbaritem xlink:href=".uno:InsertDraw"/> <toolbar:toolbarseparator/> <toolbar:toolbaritem xlink:href=".uno:HelpIndex" toolbar:visible="false"/> <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false"/> 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 @@ <toolbar:toolbaritem xlink:href=".uno:GridVisible"/> <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false"/> <toolbar:toolbaritem xlink:href=".uno:AnimationEffects"/> + <toolbar:toolbaritem xlink:href=".uno:InsertDraw"/> <toolbar:toolbarseparator/> <toolbar:toolbaritem xlink:href=".uno:PageSetup"/> <toolbar:toolbaritem xlink:href=".uno:SlideMasterPage"/> 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 <svx/dialmgr.hxx> #include <svx/dialogs.hrc> - #include "svx/tbxctl.hxx" #include "svx/tbxcolor.hxx" #include <com/sun/star/frame/XLayoutManager.hpp> @@ -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, |