xref: /trunk/main/sc/source/ui/inc/drawsh.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
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
10cdf0e10cSrcweir  *
1138d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
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.
19cdf0e10cSrcweir  *
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>
30cdf0e10cSrcweir #include <svx/svdmark.hxx>
31cdf0e10cSrcweir #include <tools/link.hxx>
32f120fe41SAndre Fischer #include <rtl/ref.hxx>
33cdf0e10cSrcweir 
34cdf0e10cSrcweir class AbstractSvxNameDialog; //CHINA001 class SvxNameDialog;
35cdf0e10cSrcweir class ScViewData;
36cdf0e10cSrcweir class ScDrawView;
37f120fe41SAndre Fischer namespace svx { namespace sidebar {
38f120fe41SAndre Fischer class SelectionChangeHandler;
39f120fe41SAndre Fischer } }
40cdf0e10cSrcweir 
41cdf0e10cSrcweir class ScDrawShell : public SfxShell
42cdf0e10cSrcweir {
43cdf0e10cSrcweir     ScViewData* pViewData;
44f120fe41SAndre Fischer     ::rtl::Reference<svx::sidebar::SelectionChangeHandler> mpSelectionChangeHandler;
45cdf0e10cSrcweir 
46cdf0e10cSrcweir     DECL_LINK( NameObjectHdl, AbstractSvxNameDialog* );
47cdf0e10cSrcweir 
48cdf0e10cSrcweir #ifdef ISSUE66550_HLINK_FOR_SHAPES
49cdf0e10cSrcweir     void SetHlinkForObject( SdrObject* pObj, const rtl::OUString& rHlnk );
50cdf0e10cSrcweir #endif
51cdf0e10cSrcweir 
52cdf0e10cSrcweir protected:
53*2a3f8a0eSAndre Fischer     virtual void    Activate(sal_Bool bMDI);
GetViewData()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*2a3f8a0eSAndre Fischer     ::rtl::OUString GetSidebarContextName (void);
93cdf0e10cSrcweir };
94cdf0e10cSrcweir 
95cdf0e10cSrcweir 
96cdf0e10cSrcweir 
97cdf0e10cSrcweir #endif
98