23#include <document.hxx>
44 : rExport(rTempExport),
56 return "ct" + OUString::number(nActionNumber);
69 sal_Int64 nStartColumn;
73 sal_Int64 nStartSheet;
75 rBigRange.
GetVars(nStartColumn, nStartRow, nStartSheet,
76 nEndColumn, nEndRow, nEndSheet);
77 if ((nStartColumn == nEndColumn) && (nStartRow == nEndRow) && (nStartSheet == nEndSheet))
107 OUStringBuffer sDate;
115 const OUString& sComment(pAction->
GetComment());
116 if (!sComment.isEmpty())
119 bool bPrevCharWasSpace(
true);
126#if OSL_DEBUG_LEVEL > 0
205 bool bSetAttributes(
false);
206 if (!sValue.isEmpty())
209 double fTempValue = 0.0;
213 if (
nType & SvNumFormatType::DEFINED)
217 case SvNumFormatType::DATE:
222 OUStringBuffer sBuffer;
225 bSetAttributes =
true;
229 case SvNumFormatType::TIME:
232 OUStringBuffer sBuffer;
235 bSetAttributes =
true;
245 OUStringBuffer sBuffer;
247 OUString sNumValue(sBuffer.makeStringAndClear());
248 if (!sNumValue.isEmpty())
270 bool bPrevCharWasSpace(
true);
340 if (!sCellValue.isEmpty())
343 bool bPrevCharWasSpace(
true);
395 sal_Int64 nPosition(0);
397 sal_Int64 nStartPosition(0);
398 sal_Int64 nEndPosition(0);
399 sal_Int64 nStartColumn;
400 sal_Int64 nEndColumn;
403 sal_Int64 nStartSheet;
406 rBigRange.
GetVars(nStartColumn, nStartRow, nStartSheet,
407 nEndColumn, nEndRow, nEndSheet);
408 switch (pConstAction->
GetType())
413 nStartPosition = nStartColumn;
414 nEndPosition = nEndColumn;
420 nStartPosition = nStartRow;
421 nEndPosition = nEndRow;
427 nStartPosition = nStartSheet;
428 nEndPosition = nEndSheet;
433 OSL_FAIL(
"wrong insertion type");
437 nPosition = nStartPosition;
438 nCount = nEndPosition - nStartPosition + 1;
440 OSL_ENSURE(
nCount > 0,
"wrong insertion count");
461 sal_Int32 nPosition(0);
463 sal_Int64 nStartColumn(0);
464 sal_Int64 nEndColumn(0);
465 sal_Int64 nStartRow(0);
466 sal_Int64 nEndRow(0);
467 sal_Int64 nStartSheet(0);
468 sal_Int64 nEndSheet(0);
469 rBigRange.
GetVars(nStartColumn, nStartRow, nStartSheet,
470 nEndColumn, nEndRow, nEndSheet);
476 nPosition = nStartColumn;
482 nPosition = nStartRow;
488 nPosition = nStartSheet;
493 OSL_FAIL(
"wrong deletion type");
506 sal_Int32 nSlavesCount (1);
509 if (
p->GetType() != pDelAction->
GetType())
532 if (!(pCutOffIns || pLinkMove))
555 pLinkMove = pLinkMove->
GetNext();
617 SAL_WARN(
"sc.filter",
"WorkWithChangeAction: type is not writable");
653 while (pAction != pLastAction)
678 while (pAction != pLastAction)
void GetVars(sal_Int64 &nCol1, sal_Int64 &nRow1, sal_Int64 &nTab1, sal_Int64 &nCol2, sal_Int64 &nRow2, sal_Int64 &nTab2) const
const ScCellValue & GetNewCell() const
OUString GetNewString(const ScDocument *pDoc) const
const ScChangeActionDelMoveEntry * GetNext() const
short GetCutOffTo() const
short GetCutOffFrom() const
bool IsMultiDelete() const
const ScChangeActionDelMoveEntry * GetFirstMoveEntry() const
short GetCutOffCount() const
const ScChangeActionIns * GetCutOffInsert() const
A link/connection/dependency between change actions.
const ScChangeAction * GetAction() const
const ScChangeActionLinkEntry * GetNext() const
ScBigRange & GetFromRange()
const OUString & GetComment() const
ScBigRange & GetBigRange()
sal_uLong GetRejectAction() const
sal_uLong GetActionNumber() const
const DateTime & GetDateTimeUTC() const
ScChangeActionType GetType() const
const ScChangeActionLinkEntry * GetFirstDependentEntry() const
bool HasDependent() const
bool IsDeleteType() const
const ScChangeActionLinkEntry * GetFirstDeletedEntry() const
bool IsInsertType() const
ScChangeAction * GetNext() const
const OUString & GetUser() const
SC_DLLPUBLIC bool IsAccepted() const
ScChangeAction * GetLast() const
sal_uLong GetActionMax() const
bool IsGenerated(sal_uLong nAction) const
ScChangeActionContent * GetFirstGenerated() const
ScChangeAction * GetFirst() const
void WriteDepending(const ScChangeAction *pDependAction)
void WriteCell(const ScCellValue &rCell, const OUString &sValue)
void WriteStringCell(const ScCellValue &rCell)
~ScChangeTrackingExportHelper()
void WriteDeletion(ScChangeAction *pAction)
void CollectCellAutoStyles(const ScCellValue &rCell)
void WriteDependings(const ScChangeAction *pAction)
void WriteMovement(const ScChangeAction *pAction)
rtl::Reference< ScEditEngineTextObj > pEditTextObj
void WriteFormulaCell(const ScCellValue &rCell, const OUString &sValue)
void WriteContentChange(const ScChangeAction *pAction)
void WriteInsertion(const ScChangeAction *pAction)
ScChangeTrack * pChangeTrack
void WriteEditCell(const ScCellValue &rCell)
void WriteGenerated(const ScChangeAction *pDependAction)
void CollectActionAutoStyles(const ScChangeAction *pAction)
void AddInsertionAttributes(const ScChangeAction *pAction)
void WriteValueCell(const ScCellValue &rCell, const OUString &sValue)
void SetValueAttributes(const double &fValue, const OUString &sValue)
void WriteDeleted(const ScChangeAction *pDependAction)
void WriteBigRange(const ScBigRange &rBigRange, xmloff::token::XMLTokenEnum aName)
void WriteChangeInfo(const ScChangeAction *pAction)
void WriteCutOffs(const ScChangeActionDel *pAction)
void CollectAndWriteChanges()
static OUString GetChangeID(const sal_uInt32 nActionNumber)
void WorkWithChangeAction(ScChangeAction *pAction)
void GetAcceptanceState(const ScChangeAction *pAction)
ScChangeTrackingExportHelper(ScXMLExport &rExport)
void AddDeletionAttributes(const ScChangeActionDel *pAction)
void WriteRejection(const ScChangeAction *pAction)
formula::FormulaGrammar::Grammar GetStorageGrammar() const
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
ScChangeTrack * GetChangeTrack() const
static SC_DLLPUBLIC OUString GetString(const EditTextObject &rEditText, const ScDocument *pDoc)
Retrieves string with paragraphs delimited by new lines (' ').
static void GetStringFromAddress(OUString &rString, const ScAddress &rAddress, const ScDocument *pDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Unicode cSeparator=' ', bool bAppendStr=false, ScRefFlags nFormatFlags=ScRefFlags::VALID|ScRefFlags::TAB_3D)
Range to String core.
static void ConvertDateTimeToString(const DateTime &aDateTime, OUStringBuffer &sDate)
ScDocument * GetDocument()
const SvXMLNamespaceMap & GetNamespaceMap() const
rtl::Reference< XMLTextParagraphExport > const & GetTextParagraphExport()
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
void Characters(const OUString &rChars)
const css::uno::Reference< css::frame::XModel > & GetModel() const
const SvXMLUnitConverter & GetMM100UnitConverter() const
OUString GetQNameByKey(sal_uInt16 nKey, const OUString &rLocalName, bool bCache=true) const
void convertDateTime(OUStringBuffer &rBuffer, const double &fDateTime, bool const bAddTimeIf0AM=false)
bool setNullDate(const css::uno::Reference< css::frame::XModel > &xModel)
static void convertDouble(OUStringBuffer &rBuffer, double fNumber, bool bWriteUnits, sal_Int16 nSourceUnit, sal_Int16 nTargetUnit)
static void convertDuration(OUStringBuffer &rBuffer, const double fTime)
const OUString & getString() const
#define SAL_WARN(area, stream)
XML_CELL_CONTENT_DELETION
XML_NUMBER_MATRIX_COLUMNS_SPANNED
XML_MULTI_DELETION_SPANNED
XML_NUMBER_MATRIX_ROWS_SPANNED
XML_CHANGE_TRACK_TABLE_CELL
Store arbitrary cell value of any kind.
const svl::SharedString * getSharedString() const
ScFormulaCell * getFormula() const
EditTextObject * getEditText() const
constexpr sal_uInt16 XML_NAMESPACE_DC
constexpr sal_uInt16 XML_NAMESPACE_OOOC
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_OF
constexpr sal_uInt16 XML_NAMESPACE_TABLE
constexpr sal_uInt16 XML_NAMESPACE_OFFICE