summaryrefslogtreecommitdiffstats
path: root/include/editeng/editdata.hxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-05-08 18:12:32 +0200
committerEike Rathke <erack@redhat.com>2013-05-10 14:01:38 +0000
commit2af1f5691e8d64afd5246d245d7876b5a2cd5cd8 (patch)
treee8a51d852010730d4af4a14d445664cf8ee6475c /include/editeng/editdata.hxx
parentdon't override TMPDIR with /tmp on cygwin, cleanup TMPDIR/TMP handling (diff)
downloadcore-2af1f5691e8d64afd5246d245d7876b5a2cd5cd8.tar.gz
core-2af1f5691e8d64afd5246d245d7876b5a2cd5cd8.zip
resolved fdo#35756 import more than 64k HTML table cells
Enhanced EditEngine to be able to hold more than 64k paragraphs. Used also in RTF import Calc and Writer, so that could benefit as well. * changed all EditEngine,Outliner,... related paragraph index/count variables from sal_uInt16 to sal_Int32 * sal_Int32 instead of sal_uInt32 to match accessibility API * matched some Outliner methods' paragraph parameters from sal_uLong to sal_Int32 * containers capable to hold size_t nevertheless are limited to a maximum of sal_Int32 * changed definition of EE_PARA_NOT_FOUND and EE_PARA_ALL to SAL_MAX_INT32 + added EE_PARA_MAX_COUNT and EE_TEXTPOS_MAX_COUNT to initialize ESelection with what previously were hard coded 0xFFFF all over the place + for similar reason added EE_TEXTPOS_ALL corresponding to EE_PARA_ALL to initialize an ESelection spanning all available text like aSel(0,0,EE_PARA_ALL,EE_TEXTPOS_ALL) Change-Id: I62d1b9c399cd709a4f93dbac31b219a61c46ec00 Reviewed-on: https://gerrit.libreoffice.org/3838 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'include/editeng/editdata.hxx')
-rw-r--r--include/editeng/editdata.hxx50
1 files changed, 27 insertions, 23 deletions
diff --git a/include/editeng/editdata.hxx b/include/editeng/editdata.hxx
index 9b6d9e7005c3..3f782e420cb7 100644
--- a/include/editeng/editdata.hxx
+++ b/include/editeng/editdata.hxx
@@ -40,10 +40,14 @@ enum EVAnchorMode {
ANCHOR_TOP_HCENTER, ANCHOR_VCENTER_HCENTER, ANCHOR_BOTTOM_HCENTER,
ANCHOR_TOP_RIGHT, ANCHOR_VCENTER_RIGHT, ANCHOR_BOTTOM_RIGHT };
-#define EE_PARA_NOT_FOUND 0xFFFF
-#define EE_PARA_APPEND 0xFFFF
-#define EE_PARA_ALL 0xFFFF
-#define EE_INDEX_NOT_FOUND 0xFFFF
+#define EE_PARA_NOT_FOUND SAL_MAX_INT32
+#define EE_PARA_APPEND SAL_MAX_INT32
+#define EE_PARA_ALL SAL_MAX_INT32
+#define EE_PARA_MAX_COUNT SAL_MAX_INT32
+
+#define EE_INDEX_NOT_FOUND SAL_MAX_UINT16
+#define EE_TEXTPOS_ALL SAL_MAX_UINT16
+#define EE_TEXTPOS_MAX_COUNT SAL_MAX_UINT16
EDITENG_DLLPUBLIC extern const size_t EE_APPEND;
@@ -96,7 +100,7 @@ class SfxStyleSheet;
struct EPosition
{
- sal_uInt16 nPara;
+ sal_Int32 nPara;
xub_StrLen nIndex;
EPosition() :
@@ -105,7 +109,7 @@ struct EPosition
{
}
- EPosition( sal_uInt16 nPara_, xub_StrLen nPos_ ) :
+ EPosition( sal_Int32 nPara_, xub_StrLen nPos_ ) :
nPara( nPara_ ),
nIndex( nPos_ )
{
@@ -114,14 +118,14 @@ struct EPosition
struct ESelection
{
- sal_uInt16 nStartPara;
+ sal_Int32 nStartPara;
xub_StrLen nStartPos;
- sal_uInt16 nEndPara;
+ sal_Int32 nEndPara;
xub_StrLen nEndPos;
ESelection() : nStartPara( 0 ), nStartPos( 0 ), nEndPara( 0 ), nEndPos( 0 ) {}
- ESelection( sal_uInt16 nStPara, xub_StrLen nStPos, sal_uInt16 nEPara, xub_StrLen nEPos ) :
+ ESelection( sal_Int32 nStPara, xub_StrLen nStPos, sal_Int32 nEPara, xub_StrLen nEPos ) :
nStartPara( nStPara ),
nStartPos( nStPos ),
nEndPara( nEPara ),
@@ -129,7 +133,7 @@ struct ESelection
{
}
- ESelection( sal_uInt16 nPara, xub_StrLen nPos ) :
+ ESelection( sal_Int32 nPara, xub_StrLen nPos ) :
nStartPara( nPara ),
nStartPos( nPos ),
nEndPara( nPara ),
@@ -198,7 +202,7 @@ inline void ESelection::Adjust()
if ( bSwap )
{
- sal_uInt16 nSPar = nStartPara; sal_uInt16 nSPos = nStartPos;
+ sal_Int32 nSPar = nStartPara; sal_uInt16 nSPos = nStartPos;
nStartPara = nEndPara; nStartPos = nEndPos;
nEndPara = nSPar; nEndPos = nSPos;
}
@@ -211,7 +215,7 @@ struct EDITENG_DLLPUBLIC EFieldInfo
EPosition aPosition;
EFieldInfo();
- EFieldInfo( const SvxFieldItem& rFieldItem, sal_uInt16 nPara, sal_uInt16 nPos );
+ EFieldInfo( const SvxFieldItem& rFieldItem, sal_Int32 nPara, sal_uInt16 nPos );
~EFieldInfo();
EFieldInfo( const EFieldInfo& );
@@ -279,18 +283,18 @@ struct EECharAttrib
{
const SfxPoolItem* pAttr;
- sal_uInt16 nPara;
+ sal_Int32 nPara;
xub_StrLen nStart;
xub_StrLen nEnd;
};
struct MoveParagraphsInfo
{
- sal_uInt16 nStartPara;
- sal_uInt16 nEndPara;
- sal_uInt16 nDestPara;
+ sal_Int32 nStartPara;
+ sal_Int32 nEndPara;
+ sal_Int32 nDestPara;
- MoveParagraphsInfo( sal_uInt16 nS, sal_uInt16 nE, sal_uInt16 nD )
+ MoveParagraphsInfo( sal_Int32 nS, sal_Int32 nE, sal_Int32 nD )
{ nStartPara = nS; nEndPara = nE; nDestPara = nD; }
};
@@ -300,10 +304,10 @@ struct MoveParagraphsInfo
struct PasteOrDropInfos
{
sal_uInt16 nAction;
- sal_uInt16 nStartPara;
- sal_uInt16 nEndPara;
+ sal_Int32 nStartPara;
+ sal_Int32 nEndPara;
- PasteOrDropInfos() : nAction(0), nStartPara(0xFFFF), nEndPara(0xFFFF) {}
+ PasteOrDropInfos() : nAction(0), nStartPara(0xFFFFFFFF), nEndPara(0xFFFFFFFF) {}
};
enum EENotifyType
@@ -354,10 +358,10 @@ struct EENotify
EditEngine* pEditEngine;
EditView* pEditView;
- sal_uInt16 nParagraph; // only valid in PARAGRAPHINSERTED/EE_NOTIFY_PARAGRAPHREMOVED
+ sal_Int32 nParagraph; // only valid in PARAGRAPHINSERTED/EE_NOTIFY_PARAGRAPHREMOVED
- sal_uInt16 nParam1;
- sal_uInt16 nParam2;
+ sal_Int32 nParam1;
+ sal_Int32 nParam2;
EENotify( EENotifyType eType )
{ eNotificationType = eType; pEditEngine = NULL; pEditView = NULL; nParagraph = EE_PARA_NOT_FOUND; nParam1 = 0; nParam2 = 0; }