xref: /trunk/main/sc/source/ui/inc/drawsh.hxx (revision f120fe41)
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 <sfx2/sidebar/EnumContext.hxx>
31 #include <svx/svdmark.hxx>
32 #include <tools/link.hxx>
33 #include <rtl/ref.hxx>
34 
35 class AbstractSvxNameDialog; //CHINA001 class SvxNameDialog;
36 class ScViewData;
37 class ScDrawView;
38 namespace svx { namespace sidebar {
39 class SelectionChangeHandler;
40 } }
41 
42 class ScDrawShell : public SfxShell
43 {
44 	ScViewData*	pViewData;
45     ::rtl::Reference<svx::sidebar::SelectionChangeHandler> mpSelectionChangeHandler;
46 
47     DECL_LINK( NameObjectHdl, AbstractSvxNameDialog* );
48 
49 #ifdef ISSUE66550_HLINK_FOR_SHAPES
50     void SetHlinkForObject( SdrObject* pObj, const rtl::OUString& rHlnk );
51 #endif
52 
53 protected:
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     ::sfx2::sidebar::EnumContext::Context GetContextForSelection (void);
93 };
94 
95 
96 
97 #endif
98 
99 
100