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