23 #include <editeng/editeng.hxx>
24 #include <editeng/editids.hrc>
28 #include <osl/diagnose.h>
33 #define SC_RTFTWIPTOL 10 // 10 Twips tolerance when determining columns
38 pActDefault( nullptr ),
69 (
pE->aSel.nStartPara ==
pE->aSel.nEndPara
70 &&
pE->aSel.nStartPos ==
pE->aSel.nEndPos
73 (
pE->aSel.nStartPara + 1 ==
pE->aSel.nEndPara
75 &&
pE->aSel.nEndPos == 0
107 *pCol =
static_cast<SCCOL>(nPos);
138 if (
pE->nColOverlap > 1 )
139 nCol = nCol +
pE->nColOverlap;
143 if ( ++nCol <= pE->nCol )
145 pE->nColOverlap = nCol -
pE->nCol;
156 switch ( rInfo.eState )
158 case RtfImportState::NextToken:
161 case RtfImportState::UnknownAttr:
164 case RtfImportState::Start:
173 case RtfImportState::End:
174 if ( rInfo.aSelection.nEndPos )
176 pActDefault =
nullptr;
180 rInfo.aSelection.nEndPara++;
184 case RtfImportState::SetAttr:
186 case RtfImportState::InsertText:
188 case RtfImportState::InsertPara:
191 OSL_FAIL(
"unknown ImportInfo.eState");
221 for (
const std::unique_ptr<ScRTFCellDefault> & pCellDefault :
maDefaultList)
232 OSL_ENSURE(
pActDefault,
"NewCellRow: pActDefault==0" );
293 OSL_ENSURE(
pDefMerge,
"RTF_CLMRG: pDefMerge==0" );
326 OSL_ENSURE(
pActDefault,
"RTF_CELL: pActDefault==0" );
#define LINK(Instance, Class, Member)
constexpr TypedWhichId< SvxBoxItem > ATTR_BORDER(150)
void SetRtfImportHdl(const Link< RtfImportInfo &, void > &rLink)
void NewActEntry(const ScEEParseEntry *)
bool SeekTwips(sal_uInt16 nTwips, SCCOL *pCol)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
const_iterator find(const Value &x) const
void SetAttrPool(SfxItemPool *pNewPool)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
DefaultList maDefaultList
constexpr TypedWhichId< SvxShadowItem > ATTR_SHADOW(152)
sal_Int32 GetTextLen() const
ErrCode Read(SvStream &rInput, const OUString &rBaseURL, EETextFormat, SvKeyValueIterator *pHTTPHeaderAttrs=nullptr)
void EntryEnd(ScEEParseEntry *, const ESelection &)
std::vector< std::shared_ptr< ScEEParseEntry > > maList
const Link< RtfImportInfo &, void > & GetRtfImportHdl() const
ScRTFCellDefault * pActDefault
void SetPardMap(sal_uInt16 wid, sal_uInt16 widTrue)
rtl::Reference< SfxItemPool > pPool
const_iterator end() const
SvParser< int > * pParser
virtual ~ScRTFParser() override
const_iterator begin() const
constexpr TypedWhichId< SvxBrushItem > ATTR_BACKGROUND(148)
std::shared_ptr< ScEEParseEntry > mxActEntry
std::unique_ptr< ScRTFCellDefault > pInsDefault
virtual ErrCode Read(SvStream &, const OUString &rBaseURL) override
ScRTFParser(EditEngine *)
void ProcToken(RtfImportInfo *)
IMPL_LINK(ScRTFParser, RTFImportHdl, RtfImportInfo &, rInfo, void)
std::pair< const_iterator, bool > insert(Value &&x)
ScRTFCellDefault * pDefMerge
std::vector< sal_uLong >::const_iterator const_iterator
bool m_bDetectedRangeSegmentation false