LibreOffice Module sw (master)  1
basesh.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_BASESH_HXX
20 #define INCLUDED_SW_SOURCE_UIBASE_INC_BASESH_HXX
21 
22 #include <shellid.hxx>
23 
24 #include <tools/link.hxx>
25 #include <vcl/timer.hxx>
26 #include <sfx2/module.hxx>
27 #include <sfx2/shell.hxx>
28 #include <viewopt.hxx>
29 
30 #include <mdiexp.hxx>
31 #include <set>
32 
33 class SwWrtShell;
34 class SwView;
35 class SfxItemSet;
36 class SwCursorShell;
37 
38 struct DBTextStruct_Impl;
39 class SAL_DLLPUBLIC_RTTI SwBaseShell: public SfxShell
40 {
42 
43  // DragMode
45 
46  // Bug 75078 - if in GetState the async call of GetGraphic returns
47  // synch, the set the state directly into the itemset
49 
50  // Update-Timer for graphic
51  std::set<sal_uInt16> aGrfUpdateSlots;
52 
53  DECL_LINK( GraphicArrivedHdl, SwCursorShell&, void );
54 
55 protected:
57  SwWrtShell* GetShellPtr();
58 
59  SwView& GetView() { return rView; }
60  void SetGetStateSet( SfxItemSet* p ) { pGetStateSet = p; }
61  bool AddGrfUpdateSlot( sal_uInt16 nSlot ){ return aGrfUpdateSlots.insert( nSlot ).second; }
62 
63  DECL_LINK( InsertDBTextHdl, void*, void );
64 
65  void InsertURLButton( const OUString& rURL, const OUString& rTarget, const OUString& rText );
66  void InsertTable( SfxRequest& _rRequest );
67 
68 public:
69  SwBaseShell(SwView &rShell);
70  virtual ~SwBaseShell() override;
71 
73 
74 private:
76  static void InitInterface_Impl();
77 
78 public:
79  void ExecDelete(SfxRequest &);
80 
81  void ExecClpbrd(SfxRequest &);
82  void StateClpbrd(SfxItemSet &);
83 
84  void ExecUndo(SfxRequest &);
85  void StateUndo(SfxItemSet &);
86 
87  void Execute(SfxRequest &);
88  void GetState(SfxItemSet &);
89  void StateStyle(SfxItemSet &);
90 
91  void ExecuteGallery(SfxRequest&);
92  void GetGalleryState(SfxItemSet&);
93 
94  void ExecDlg(SfxRequest &);
95 
96  void ExecTextCtrl(SfxRequest& rReq);
97  void GetTextFontCtrlState(SfxItemSet& rSet);
98  void GetTextCtrlState(SfxItemSet& rSet);
99  void GetBorderState(SfxItemSet &rSet);
100  void GetBckColState(SfxItemSet &rSet);
101 
102  void ExecBckCol(SfxRequest& rReq);
103  void SetWrapMode( sal_uInt16 nSlot );
104 
105  static void StateDisableItems(SfxItemSet &);
106 
107  void EditRegionDialog(SfxRequest const & rReq);
108  void InsertRegionDialog(SfxRequest& rReq);
109 
110  void ExecField(SfxRequest const & rReq);
111 
112  static void SetFrameMode( FlyMode eMode, SwWrtShell *pShell ); // with update!
113  static void SetFrameMode_( FlyMode eMode ) { eFrameMode = eMode; }
114  static FlyMode GetFrameMode() { return eFrameMode; }
115 };
116 
117 #endif
118 
119 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
FlyMode
Definition: mdiexp.hxx:41
SwView & GetView()
Definition: basesh.hxx:59
Used by the UI to modify the document model.
Definition: wrtsh.hxx:86
SfxItemSet * pGetStateSet
Definition: basesh.hxx:48
void SetGetStateSet(SfxItemSet *p)
Definition: basesh.hxx:60
Shell * GetShell()
std::set< sal_uInt16 > aGrfUpdateSlots
Definition: basesh.hxx:51
static FlyMode eFrameMode
Definition: basesh.hxx:44
#define SW_BASESHELL
Definition: shellid.hxx:26
bool AddGrfUpdateSlot(sal_uInt16 nSlot)
Definition: basesh.hxx:61
SwView & rView
Definition: basesh.hxx:41
static FlyMode GetFrameMode()
Definition: basesh.hxx:114
Definition: view.hxx:146
#define SFX_DECL_INTERFACE(nId)