xref: /aoo41x/main/sc/source/ui/inc/drawsh.hxx (revision f120fe41)
138d50f7bSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
338d50f7bSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
438d50f7bSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
538d50f7bSAndrew Rist  * distributed with this work for additional information
638d50f7bSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
738d50f7bSAndrew Rist  * to you under the Apache License, Version 2.0 (the
838d50f7bSAndrew Rist  * "License"); you may not use this file except in compliance
938d50f7bSAndrew Rist  * with the License.  You may obtain a copy of the License at
1038d50f7bSAndrew Rist  *
1138d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
1238d50f7bSAndrew Rist  *
1338d50f7bSAndrew Rist  * Unless required by applicable law or agreed to in writing,
1438d50f7bSAndrew Rist  * software distributed under the License is distributed on an
1538d50f7bSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
1638d50f7bSAndrew Rist  * KIND, either express or implied.  See the License for the
1738d50f7bSAndrew Rist  * specific language governing permissions and limitations
1838d50f7bSAndrew Rist  * under the License.
1938d50f7bSAndrew Rist  *
2038d50f7bSAndrew Rist  *************************************************************/
2138d50f7bSAndrew Rist 
2238d50f7bSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SC_DRAWSH_HXX
25cdf0e10cSrcweir #define SC_DRAWSH_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <sfx2/shell.hxx>
28cdf0e10cSrcweir #include "shellids.hxx"
29cdf0e10cSrcweir #include <sfx2/module.hxx>
30*f120fe41SAndre Fischer #include <sfx2/sidebar/EnumContext.hxx>
31cdf0e10cSrcweir #include <svx/svdmark.hxx>
32cdf0e10cSrcweir #include <tools/link.hxx>
33*f120fe41SAndre Fischer #include <rtl/ref.hxx>
34cdf0e10cSrcweir 
35cdf0e10cSrcweir class AbstractSvxNameDialog; //CHINA001 class SvxNameDialog;
36cdf0e10cSrcweir class ScViewData;
37cdf0e10cSrcweir class ScDrawView;
38*f120fe41SAndre Fischer namespace svx { namespace sidebar {
39*f120fe41SAndre Fischer class SelectionChangeHandler;
40*f120fe41SAndre Fischer } }
41cdf0e10cSrcweir 
42cdf0e10cSrcweir class ScDrawShell : public SfxShell
43cdf0e10cSrcweir {
44cdf0e10cSrcweir 	ScViewData*	pViewData;
45*f120fe41SAndre Fischer     ::rtl::Reference<svx::sidebar::SelectionChangeHandler> mpSelectionChangeHandler;
46cdf0e10cSrcweir 
47cdf0e10cSrcweir     DECL_LINK( NameObjectHdl, AbstractSvxNameDialog* );
48cdf0e10cSrcweir 
49cdf0e10cSrcweir #ifdef ISSUE66550_HLINK_FOR_SHAPES
50cdf0e10cSrcweir     void SetHlinkForObject( SdrObject* pObj, const rtl::OUString& rHlnk );
51cdf0e10cSrcweir #endif
52cdf0e10cSrcweir 
53cdf0e10cSrcweir protected:
54cdf0e10cSrcweir 	ScViewData*	GetViewData()	{ return pViewData; }
55cdf0e10cSrcweir 
56cdf0e10cSrcweir public:
57cdf0e10cSrcweir 	TYPEINFO();
58cdf0e10cSrcweir 	SFX_DECL_INTERFACE(SCID_DRAW_SHELL)
59cdf0e10cSrcweir 
60cdf0e10cSrcweir 					ScDrawShell(ScViewData* pData);
61cdf0e10cSrcweir 					~ScDrawShell();
62cdf0e10cSrcweir 
63cdf0e10cSrcweir 	void 	StateDisableItems( SfxItemSet &rSet );
64cdf0e10cSrcweir 
65cdf0e10cSrcweir 	void	ExecDrawAttr(SfxRequest& rReq);
66cdf0e10cSrcweir 	void	GetDrawAttrState(SfxItemSet &rSet);
67cdf0e10cSrcweir 	void	GetAttrFuncState(SfxItemSet &rSet);
68cdf0e10cSrcweir 
69cdf0e10cSrcweir 	void	ExecDrawFunc(SfxRequest& rReq);
70cdf0e10cSrcweir 	void	GetDrawFuncState(SfxItemSet &rSet);
71cdf0e10cSrcweir 	void	GetState(SfxItemSet &rSet);
72cdf0e10cSrcweir 
73cdf0e10cSrcweir 	void	ExecFormText(SfxRequest& rReq);		// StarFontWork
74cdf0e10cSrcweir 	void	GetFormTextState(SfxItemSet& rSet);
75cdf0e10cSrcweir 
76cdf0e10cSrcweir 	void	ExecuteHLink(SfxRequest& rReq);		// Hyperlink
77cdf0e10cSrcweir 	void	GetHLinkState(SfxItemSet& rSet);
78cdf0e10cSrcweir 
79cdf0e10cSrcweir     void    ExecFormatPaintbrush(SfxRequest& rReq);
80cdf0e10cSrcweir     void    StateFormatPaintbrush(SfxItemSet& rSet);
81cdf0e10cSrcweir 
82cdf0e10cSrcweir     void    ExecuteMacroAssign( SdrObject* pObj, Window* pWin );
83cdf0e10cSrcweir 	void	ExecuteLineDlg( SfxRequest& rReq, sal_uInt16 nTabPage = 0xffff );
84cdf0e10cSrcweir 	void	ExecuteAreaDlg( SfxRequest& rReq, sal_uInt16 nTabPage = 0xffff );
85cdf0e10cSrcweir 	void	ExecuteTextAttrDlg( SfxRequest& rReq, sal_uInt16 nTabPage = 0xffff );
86cdf0e10cSrcweir 
87cdf0e10cSrcweir     ScDrawView* GetDrawView();
88cdf0e10cSrcweir 
89cdf0e10cSrcweir 	sal_Bool	AreAllObjectsOnLayer(sal_uInt16 nLayerNo,const SdrMarkList& rMark);
90ee093554SAndre Fischer 
91ee093554SAndre Fischer     void GetDrawAttrStateForIFBX( SfxItemSet& rSet );
92*f120fe41SAndre Fischer     ::sfx2::sidebar::EnumContext::Context GetContextForSelection (void);
93cdf0e10cSrcweir };
94cdf0e10cSrcweir 
95cdf0e10cSrcweir 
96cdf0e10cSrcweir 
97cdf0e10cSrcweir #endif
98cdf0e10cSrcweir 
99cdf0e10cSrcweir 
100