summaryrefslogtreecommitdiff
path: root/sw/source/ui/inc/edtwin.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/inc/edtwin.hxx')
-rw-r--r--sw/source/ui/inc/edtwin.hxx28
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();
};