xref: /AOO41X/main/sc/source/ui/inc/drawsh.hxx (revision d3e0dd8eb215533c15e891ee35bd141abe9397ee)
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