diff options
Diffstat (limited to 'sw/source/ui/inc/edtwin.hxx')
-rw-r--r-- | sw/source/ui/inc/edtwin.hxx | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/sw/source/ui/inc/edtwin.hxx b/sw/source/ui/inc/edtwin.hxx index 547d67883508..f85b2f11b2bc 100644 --- a/sw/source/ui/inc/edtwin.hxx +++ b/sw/source/ui/inc/edtwin.hxx @@ -38,6 +38,8 @@ #define _SVSTDARR_STRINGSISORTDTOR #include <svl/svstdarr.hxx> +#include <boost/shared_ptr.hpp> + class SwWrtShell; class SwView; class SwRect; @@ -51,12 +53,21 @@ class SvxAutoCorrect; class SwPaM; struct SwApplyTemplate; struct QuickHelpData; -class SdrDropMarkerOverlay; +class SdrDropMarkerOverlay; +class SwHeaderFooterWin; +class SwPageFrm; /*-------------------------------------------------------------------- Description: input window --------------------------------------------------------------------*/ +/** Window class for the Writer edit area, this is the one handling mouse + and keyboard events and doing the final painting of the document from + the buffered layout. + + To translate the pixel positions from the buffer OutputDevice to the real + pixel positions, use the PixelToLogic methods of this class. + */ class SwEditWin: public Window, public DropTargetHelper, public DragSourceHelper { @@ -91,6 +102,11 @@ friend void PageNumNotify( ViewShell* pVwSh, Timer aKeyInputTimer; // timer for ANY-KeyInut question without a following KeyInputEvent Timer aKeyInputFlushTimer; + /* + * timer for showing the Header/Footer separators when the mouse + * stays over a header or footer area for several seconds. + */ + Timer aOverHeaderFooterTimer; String aInBuffer; LanguageType eBufferLanguage; @@ -146,6 +162,8 @@ friend void PageNumNotify( ViewShell* pVwSh, sal_uInt16 nKS_NUMDOWN_Count; // #i23725# sal_uInt16 nKS_NUMINDENTINC_Count; + std::vector< boost::shared_ptr<SwHeaderFooterWin> > aHeadFootControls; + void LeaveArea(const Point &); void JustifyAreaTimer(); inline void EnterArea(); @@ -183,6 +201,9 @@ friend void PageNumNotify( ViewShell* pVwSh, // timer for overlapping KeyInputs (e.g. for tables) DECL_LINK( KeyInputTimerHandler, Timer * ); + // timer for hovering header/footer areas + DECL_LINK( OverHeaderFooterHandler, Timer * ); + // timer for ApplyTemplates via mouse (in disguise Drag&Drop) DECL_LINK( TemplateTimerHdl, Timer* ); @@ -299,6 +320,11 @@ public: void SetUseInputLanguage( sal_Bool bNew ); sal_Bool IsUseInputLanguage() const { return bUseInputLanguage; } + void SetHeaderFooterControl( const SwPageFrm* pPageFrm, bool bHeader, Point aOffset ); + void RemoveHeaderFooterControls( const SwPageFrm* pPageFrm ); + void HideHeaderFooterControls( ); + void SetReadonlyHeaderFooterControls( bool bReadonly ); + SwEditWin(Window *pParent, SwView &); virtual ~SwEditWin(); }; |