LibreOffice Module sw (master)  1
FrameControl.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 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_FRAMECONTROL_HXX
10 #define INCLUDED_SW_SOURCE_UIBASE_INC_FRAMECONTROL_HXX
11 
13 #include <vcl/virdev.hxx>
14 
15 #include "edtwin.hxx"
16 
17 class SwEditWin;
18 class SwPageFrame;
19 class SwFrame;
20 class Point;
21 
24 {
25 public:
26  virtual ~ISwFrameControl();
27  virtual void SetReadonly( bool bReadonly ) = 0;
28  virtual void ShowAll( bool bShow ) = 0;
29 
31  virtual bool Contains( const Point &rDocPt ) const = 0;
32 
33  virtual const SwFrame* GetFrame() = 0;
34  virtual SwEditWin* GetEditWin() = 0;
35 };
36 
37 class SwFrameControl final
38 {
41 public:
42  SwFrameControl( const VclPtr<vcl::Window> &pWindow );
44 
45  vcl::Window* GetWindow() { return mxWindow.get(); }
47 
48  void SetReadonly( bool bReadonly ) { mpIFace->SetReadonly( bReadonly ); }
49  void ShowAll( bool bShow ) { mpIFace->ShowAll( bShow ); }
50  bool Contains( const Point &rDocPt ) const { return mpIFace->Contains( rDocPt ); }
51 };
52 
56 {
57 protected:
59 private:
61  const SwFrame* m_pFrame;
62 
63 protected:
64  virtual ~SwFrameMenuButtonBase() override { disposeOnce(); }
65  virtual void dispose() override;
66 
67  void SetVirDevFont();
68 
69 public:
70  SwFrameMenuButtonBase(SwEditWin* pEditWin, const SwFrame* pFrame,
71  const OUString& rUIXMLDescription, const OString& rID);
72 
73  virtual const SwFrame* GetFrame() override { return m_pFrame; }
74  virtual SwEditWin* GetEditWin() override { return m_pEditWin; }
75  const SwPageFrame* GetPageFrame() const;
76 };
77 
78 #endif
79 
80 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void SetReadonly(bool bReadonly)
Base class of the Writer layout elements.
Definition: frame.hxx:313
virtual void dispose() override
SwFrameMenuButtonBase(SwEditWin *pEditWin, const SwFrame *pFrame, const OUString &rUIXMLDescription, const OString &rID)
virtual const SwFrame * GetFrame() override
virtual SwEditWin * GetEditWin()=0
vcl::Window * GetWindow()
virtual void ShowAll(bool bShow)=0
Abstract interface to be implemented by writer FrameControls.
Window class for the Writer edit area, this is the one handling mouse and keyboard events and doing t...
Definition: edtwin.hxx:58
bool Contains(const Point &rDocPt) const
Class sharing some MenuButton code.
virtual ~SwFrameMenuButtonBase() override
VclPtr< vcl::Window > mxWindow
A page of the document layout.
Definition: pagefrm.hxx:57
void ShowAll(bool bShow)
virtual const SwFrame * GetFrame()=0
const SwFrame * m_pFrame
virtual bool Contains(const Point &rDocPt) const =0
Returns true if the point is inside the control.
VclPtr< SwEditWin > m_pEditWin
const SwPageFrame * GetPageFrame() const
ISwFrameControl * GetIFacePtr()
ISwFrameControl * mpIFace
VclPtr< VirtualDevice > m_xVirDev
vcl::Window * get() const
virtual void SetReadonly(bool bReadonly)=0
virtual SwEditWin * GetEditWin() override
SwFrameControl(const VclPtr< vcl::Window > &pWindow)