summaryrefslogtreecommitdiff
path: root/sw/inc/crsrsh.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/inc/crsrsh.hxx')
-rw-r--r--sw/inc/crsrsh.hxx134
1 files changed, 68 insertions, 66 deletions
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 6fb9794893..d8683707b7 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -31,13 +31,13 @@
#include <tools/link.hxx>
#include <tools/rtti.hxx>
#include "swdllapi.h"
-#include <swtypes.hxx> // fuer SWPOSDOC
-#include <viewsh.hxx> // fuer ViewShell
-#include <calbck.hxx> // fuer SwClient
-#include <cshtyp.hxx> // fuer die CursorShell Typen
-#include <crstate.hxx> // fuer die CursorMove-Staties
-#include <toxe.hxx> // SwTOXSearchDir
-#include <tblsel.hxx> //SwTblSearchType
+#include <swtypes.hxx> // fuer SWPOSDOC
+#include <viewsh.hxx> // fuer ViewShell
+#include <calbck.hxx> // fuer SwClient
+#include <cshtyp.hxx> // fuer die CursorShell Typen
+#include <crstate.hxx> // fuer die CursorMove-Staties
+#include <toxe.hxx> // SwTOXSearchDir
+#include <tblsel.hxx> //SwTblSearchType
#include <viscrs.hxx>
#include <node.hxx>
#include <tblsel.hxx>
@@ -107,10 +107,11 @@ struct SwContentAtPos
SW_REFMARK = 0x0100,
SW_NUMLABEL = 0x0200, // #i23726#
SW_CONTENT_CHECK = 0x0400, // --> FME 2005-05-13 #i43742# <--
- SW_SMARTTAG = 0x0800
-#ifdef DBG_UTIL
- ,SW_CURR_ATTRS = 0x4000 // nur zum Debuggen
- ,SW_TABLEBOXVALUE = 0x8000 // nur zum Debuggen
+ SW_SMARTTAG = 0x0800,
+ SW_FORMCTRL = 0x1000
+#ifndef PRODUCT
+ ,SW_CURR_ATTRS = 0x4000 // nur zum Debuggen
+ ,SW_TABLEBOXVALUE = 0x8000 // nur zum Debuggen
#endif
} eCntntAtPos;
@@ -119,6 +120,7 @@ struct SwContentAtPos
const SfxPoolItem* pAttr;
const SwRedline* pRedl;
SwCntntNode * pNode; // #i23726#
+ const sw::mark::IFieldmark* pFldmark;
} aFnd;
int nDist; // #i23726#
@@ -162,45 +164,45 @@ public: // public, damit defaultet werden kann !!
/* ein enum fuer den Aufruf von UpdateCrsr */
enum CrsrFlag {
- UPDOWN = (1 << 0), // Up/Down auf Spalte halten
- SCROLLWIN = (1 << 1), // Window Scrollen
- CHKRANGE = (1 << 2), // ueberpruefen von ueberlappenden PaM's
- NOCALRECT = (1 << 3), // CharRect nicht neu berechnen
- READONLY = (1 << 4) // Sichtbar machen trotz Readonly
+ UPDOWN = (1 << 0), // Up/Down auf Spalte halten
+ SCROLLWIN = (1 << 1), // Window Scrollen
+ CHKRANGE = (1 << 2), // ueberpruefen von ueberlappenden PaM's
+ NOCALRECT = (1 << 3), // CharRect nicht neu berechnen
+ READONLY = (1 << 4) // Sichtbar machen trotz Readonly
};
private:
- SwRect aCharRect; // Char-SRectangle auf dem der Cursor steht
- Point aCrsrHeight; // Hohe&Offset von sichtbaren Cursor
- Point aOldRBPos; // Right/Bottom von letzter VisArea
+ SwRect aCharRect; // Char-SRectangle auf dem der Cursor steht
+ Point aCrsrHeight; // Hohe&Offset von sichtbaren Cursor
+ Point aOldRBPos; // Right/Bottom von letzter VisArea
// (wird im Invalidate vom Cursor benutzt)
// um event. Macro was anhaengt auszufuehren.
- Link aFlyMacroLnk; // Link will be called, if the Crsr is set
+ Link aFlyMacroLnk; // Link will be called, if the Crsr is set
// into a fly. A macro can be then becalled
- Link aChgLnk; // link will be called by every attribut/
+ Link aChgLnk; // link will be called by every attribut/
// format changes at cursor position.
- Link aGrfArrivedLnk; // Link calls to UI if a grafik is arrived
+ Link aGrfArrivedLnk; // Link calls to UI if a grafik is arrived
- SwShellCrsr* pCurCrsr; // der aktuelle Cursor
- SwShellCrsr* pCrsrStk; // Stack fuer den Cursor
+ SwShellCrsr* pCurCrsr; // der aktuelle Cursor
+ SwShellCrsr* pCrsrStk; // Stack fuer den Cursor
SwVisCrsr *pVisCrsr; // der Sichtbare-Cursor
IBlockCursor *pBlockCrsr; // interface of cursor for block (=rectangular) selection
- SwShellTableCrsr* pTblCrsr; // Tabellen-Crsr; nur in Tabellen, wenn
+ SwShellTableCrsr* pTblCrsr; // Tabellen-Crsr; nur in Tabellen, wenn
// die Selection ueber 2 Spalten liegt
- SwNodeIndex* pBoxIdx; // fuers erkennen der veraenderten
- SwTableBox* pBoxPtr; // Tabellen-Zelle
+ SwNodeIndex* pBoxIdx; // fuers erkennen der veraenderten
+ SwTableBox* pBoxPtr; // Tabellen-Zelle
- long nUpDownX; // versuche den Cursor bei Up/Down immer in
+ long nUpDownX; // versuche den Cursor bei Up/Down immer in
// der gleichen Spalte zu bewegen
long nLeftFrmPos;
- ULONG nAktNode; // save CursorPos at Start-Action
+ ULONG nAktNode; // save CursorPos at Start-Action
xub_StrLen nAktCntnt;
USHORT nAktNdTyp;
bool bAktSelection;
@@ -212,8 +214,8 @@ private:
* Cursorbewegungen (ueber Find()) realisiert werden.
*/
USHORT nCrsrMove;
- USHORT nBasicActionCnt; // Actions, die vom Basic geklammert wurden
- CrsrMoveState eMvState; // Status fuers Crsr-Travelling - GetCrsrOfst
+ USHORT nBasicActionCnt; // Actions, die vom Basic geklammert wurden
+ CrsrMoveState eMvState; // Status fuers Crsr-Travelling - GetCrsrOfst
// --> OD 2008-04-02 #refactorlists#
String sMarkedListId;
@@ -221,27 +223,27 @@ private:
// <--
BOOL bHasFocus : 1; // Shell ist in einem Window "aktiv"
- BOOL bSVCrsrVis : 1; // SV-Cursor Un-/Sichtbar
- BOOL bChgCallFlag : 1; // Attributaenderung innerhalb von
+ BOOL bSVCrsrVis : 1; // SV-Cursor Un-/Sichtbar
+ BOOL bChgCallFlag : 1; // Attributaenderung innerhalb von
// Start- und EndAction
- BOOL bVisPortChgd : 1; // befindet sich im VisPortChg-Aufruf
+ BOOL bVisPortChgd : 1; // befindet sich im VisPortChg-Aufruf
// (wird im Invalidate vom Cursor benutzt)
- BOOL bCallChgLnk : 1; // Flag fuer abgeleitete Klassen:
+ BOOL bCallChgLnk : 1; // Flag fuer abgeleitete Klassen:
// TRUE -> ChgLnk callen
// Zugriff nur ueber SwChgLinkFlag
- BOOL bAllProtect : 1; // Flag fuer Bereiche
+ BOOL bAllProtect : 1; // Flag fuer Bereiche
// TRUE -> alles geschuetzt / versteckt
- BOOL bInCMvVisportChgd : 1; // Flag fuer CrsrMoves
+ BOOL bInCMvVisportChgd : 1; // Flag fuer CrsrMoves
// TRUE -> die Sicht wurde verschoben
- BOOL bGCAttr : 1; // TRUE -> es existieren nichtaufgespannte Attr.
- BOOL bIgnoreReadonly : 1; // TRUE -> Beim naechsten EndAction trotz
+ BOOL bGCAttr : 1; // TRUE -> es existieren nichtaufgespannte Attr.
+ BOOL bIgnoreReadonly : 1; // TRUE -> Beim naechsten EndAction trotz
// Readonly den Crsr sichtbar machen.
- BOOL bSelTblCells : 1; // TRUE -> Zellen uebers InputWin selektieren
- BOOL bAutoUpdateCells : 1; // TRUE -> Zellen werden autoformatiert
- BOOL bBasicHideCrsr : 1; // TRUE -> HideCrsr vom Basic
+ BOOL bSelTblCells : 1; // TRUE -> Zellen uebers InputWin selektieren
+ BOOL bAutoUpdateCells : 1; // TRUE -> Zellen werden autoformatiert
+ BOOL bBasicHideCrsr : 1; // TRUE -> HideCrsr vom Basic
BOOL bSetCrsrInReadOnly : 1;// TRUE -> Cursor darf in ReadOnly-Bereiche
- BOOL bOverwriteCrsr : 1; // TRUE -> show Overwrite Crsr
+ BOOL bOverwriteCrsr : 1; // TRUE -> show Overwrite Crsr
// OD 11.02.2003 #100556# - flag to allow/avoid execution of marcos (default: true)
bool mbMacroExecAllowed : 1;
@@ -346,11 +348,11 @@ public:
SwPaM* GetCrsr( BOOL bMakeTblCrsr = TRUE ) const;
inline SwCursor* GetSwCrsr( BOOL bMakeTblCrsr = TRUE ) const;
// nur den akt. Cursor returnen
- SwShellCrsr* _GetCrsr() { return pCurCrsr; }
- const SwShellCrsr* _GetCrsr() const { return pCurCrsr; }
+ SwShellCrsr* _GetCrsr() { return pCurCrsr; }
+ const SwShellCrsr* _GetCrsr() const { return pCurCrsr; }
// uebergebenen Cursor anzeigen - fuer UNO
- void SetSelection(const SwPaM& rCrsr);
+ void SetSelection(const SwPaM& rCrsr);
// alle Cursor aus den ContentNodes entfernen und auf 0 setzen.
// Wurde aus der FEShell hierher verschoben.
@@ -366,7 +368,7 @@ public:
void EndAction( const BOOL bIdleEnd = FALSE );
// Basiscursortravelling
- long GetUpDownX() const { return nUpDownX; }
+ long GetUpDownX() const { return nUpDownX; }
BOOL Left( USHORT nCnt, USHORT nMode, BOOL bAllowVisual = FALSE )
{ return LeftRight( TRUE, nCnt, nMode, bAllowVisual ); }
@@ -406,8 +408,8 @@ public:
// Positionieren des Cursors
// returnt
- // CRSR_POSCHG: wenn der ob der SPoint vom Layout korrigiert wurde.
- // CRSR_POSOLD: wenn der Crsr nicht veraendert wurde
+ // CRSR_POSCHG: wenn der ob der SPoint vom Layout korrigiert wurde.
+ // CRSR_POSOLD: wenn der Crsr nicht veraendert wurde
int SetCrsr( const Point &rPt, BOOL bOnlyText = FALSE, bool bBlock = true );
@@ -442,18 +444,18 @@ public:
void SwapPam();
BOOL ChgCurrPam( const Point & rPt,
- BOOL bTstOnly = TRUE, //Nur testen, nicht setzen
- BOOL bTstHit = FALSE ); //Nur genaue Treffer
+ BOOL bTstOnly = TRUE, //Nur testen, nicht setzen
+ BOOL bTstHit = FALSE ); //Nur genaue Treffer
void KillPams();
// erzeuge eine Kopie vom Cursor und speicher diese im Stack
void Push();
/*
* Loescht einen Cursor (gesteuert durch bOldCrsr)
- * - vom Stack oder ( bOldCrsr = TRUE )
- * - den aktuellen und der auf dem Stack stehende wird zum aktuellen
+ * - vom Stack oder ( bOldCrsr = TRUE )
+ * - den aktuellen und der auf dem Stack stehende wird zum aktuellen
*
- * Return: es war auf dem Stack noch einer vorhanden
+ * Return: es war auf dem Stack noch einer vorhanden
*/
BOOL Pop( BOOL bOldCrsr = TRUE );
/*
@@ -508,7 +510,7 @@ public:
// Methoden fuer aFlyMacroLnk
void SetFlyMacroLnk( const Link& rLnk ) { aFlyMacroLnk = rLnk; }
- const Link& GetFlyMacroLnk() const { return aFlyMacroLnk; }
+ const Link& GetFlyMacroLnk() const { return aFlyMacroLnk; }
// Methoden geben/aendern den Link fuer die Attribut/Format-Aenderungen
void SetChgLnk( const Link &rLnk ) { aChgLnk = rLnk; }
@@ -642,8 +644,8 @@ public:
BOOL MakeOutlineSel( USHORT nSttPos, USHORT nEndPos,
BOOL bWithChilds = FALSE );
- BOOL GotoNextOutline(); // naechster Node mit Outline-Num.
- BOOL GotoPrevOutline(); // vorheriger Node mit Outline-Num.
+ BOOL GotoNextOutline(); // naechster Node mit Outline-Num.
+ BOOL GotoPrevOutline(); // vorheriger Node mit Outline-Num.
/** Delivers the current shell cursor
@@ -676,14 +678,14 @@ public:
SwShellTableCrsr* GetTableCrsr() { return pTblCrsr; }
USHORT UpdateTblSelBoxes();
- BOOL GotoFtnTxt(); // springe aus dem Content zur Fussnote
- BOOL GotoFtnAnchor(); // springe aus der Fussnote zum Anker
+ BOOL GotoFtnTxt(); // springe aus dem Content zur Fussnote
+ BOOL GotoFtnAnchor(); // springe aus der Fussnote zum Anker
BOOL GotoPrevFtnAnchor();
BOOL GotoNextFtnAnchor();
- BOOL GotoFlyAnchor(); // springe aus dem Rahmen zum Anker
- BOOL GotoHeaderTxt(); // springe aus dem Content zum Header
- BOOL GotoFooterTxt(); // springe aus dem Content zum Footer
+ BOOL GotoFlyAnchor(); // springe aus dem Rahmen zum Anker
+ BOOL GotoHeaderTxt(); // springe aus dem Content zum Header
+ BOOL GotoFooterTxt(); // springe aus dem Content zum Footer
// springe in den Header/Footer des angegebenen oder akt. PageDesc
BOOL SetCrsrInHdFt( USHORT nDescNo = USHRT_MAX,
BOOL bInHeader = TRUE );
@@ -695,7 +697,7 @@ public:
BOOL GotoNextTOXBase( const String* = 0 );
// springe zum vorherigen Verzeichnis [mit dem Namen]
BOOL GotoPrevTOXBase( const String* = 0 );
- BOOL GotoTOXMarkBase(); // springe zum Verzeichnis vom TOXMark
+ BOOL GotoTOXMarkBase(); // springe zum Verzeichnis vom TOXMark
// springe zum naechsten (vorherigen) Verzeichniseintrag
BOOL GotoNxtPrvTOXMark( BOOL bNext = TRUE );
// Zur naechsten/ vorherigen Verzeichnismarke dieses Typs traveln
@@ -779,7 +781,7 @@ public:
BOOL ChgCrsrTimerFlag( BOOL bTimerOn = TRUE );
#endif
- BOOL BasicActionPend() const { return nBasicActionCnt != nStartAction; }
+ BOOL BasicActionPend() const { return nBasicActionCnt != nStartAction; }
// springe zum benannten Bereich
BOOL GotoRegion( const String& rName );
@@ -828,9 +830,9 @@ public:
virtual void NewCoreSelection();
void SetSelTblCells( BOOL bFlag ) { bSelTblCells = bFlag; }
- BOOL IsSelTblCells() const { return bSelTblCells; }
+ BOOL IsSelTblCells() const { return bSelTblCells; }
- BOOL IsAutoUpdateCells() const { return bAutoUpdateCells; }
+ BOOL IsAutoUpdateCells() const { return bAutoUpdateCells; }
void SetAutoUpdateCells( BOOL bFlag ) { bAutoUpdateCells = bFlag; }
BOOL GetShadowCrsrPos( const Point& rPt, SwFillMode eFillMode,