Public Types | Public Member Functions | Protected Attributes | Private Attributes | Friends

PX_ChangeRecord Class Reference

#include <px_ChangeRecord.h>

Inheritance diagram for PX_ChangeRecord:
PX_ChangeRecord_AddStyle PX_ChangeRecord_DataItem PX_ChangeRecord_DocProp PX_ChangeRecord_FmtMark PX_ChangeRecord_FmtMarkChange PX_ChangeRecord_Glob PX_ChangeRecord_Object PX_ChangeRecord_ObjectChange PX_ChangeRecord_RemoveStyle PX_ChangeRecord_Span PX_ChangeRecord_SpanChange PX_ChangeRecord_Strux PX_ChangeRecord_StruxChange

List of all members.

Public Types

enum  _PXType {
  PXT__FIRST__ = -1, PXT_GlobMarker = -1, PXT_InsertSpan = 0, PXT_DeleteSpan = 1,
  PXT_ChangeSpan = 2, PXT_InsertStrux = 3, PXT_DeleteStrux = 4, PXT_ChangeStrux = 5,
  PXT_InsertObject = 6, PXT_DeleteObject = 7, PXT_ChangeObject = 8, PXT_InsertFmtMark = 9,
  PXT_DeleteFmtMark = 10, PXT_ChangeFmtMark = 11, PXT_ChangePoint = 12, PXT_ListUpdate = 13,
  PXT_StopList = 14, PXT_UpdateField = 15, PXT_RemoveList = 16, PXT_UpdateLayout = 17,
  PXT_AddStyle = 18, PXT_RemoveStyle = 19, PXT_CreateDataItem = 20, PXT_ChangeDocProp = 21,
  PXT_ChangeDocRDF = 22, PXT__LAST__ = 23
}
typedef enum
PX_ChangeRecord::_PXType 
PXType

Public Member Functions

 PX_ChangeRecord (PXType type, PT_DocPosition position, PT_AttrPropIndex indexNewAP, UT_uint32 iXID)
virtual ~PX_ChangeRecord ()
PXType getType (void) const
PT_DocPosition getPosition (void) const
PT_AttrPropIndex getIndexAP (void) const
bool getPersistance (void) const
void setPersistance (bool persistant)
virtual PX_ChangeRecordreverse (void) const
PXType getRevType (void) const
UT_sint32 getCRNumber (void) const
UT_uint32 getXID () const
const char * getDocUUID () const
PD_DocumentgetDocument (void) const
void setDocument (const PD_Document *pDoc) const
bool setCRNumber (void) const
bool isFromThisDoc (void) const
void setAdjustment (UT_sint32 iAdj) const
UT_sint32 getAdjustment (void) const

Protected Attributes

PXType m_type
 Type of this change record.
PT_DocPosition m_position
 Absolute document position of the change record.
PT_AttrPropIndex m_indexAP
 Index of attribute property of this change record.
bool m_persistant
 Persistance flag.
UT_uint32 m_iXID
UT_sint32 m_iCRNumber
PD_Documentm_pDoc

Private Attributes

struct uuid m_MyDocUUID
UT_sint32 m_iAdjust

Friends

class pt_PieceTable

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
PXT__FIRST__ 
PXT_GlobMarker 
PXT_InsertSpan 
PXT_DeleteSpan 
PXT_ChangeSpan 
PXT_InsertStrux 
PXT_DeleteStrux 
PXT_ChangeStrux 
PXT_InsertObject 
PXT_DeleteObject 
PXT_ChangeObject 
PXT_InsertFmtMark 
PXT_DeleteFmtMark 
PXT_ChangeFmtMark 
PXT_ChangePoint 
PXT_ListUpdate 
PXT_StopList 
PXT_UpdateField 
PXT_RemoveList 
PXT_UpdateLayout 
PXT_AddStyle 
PXT_RemoveStyle 
PXT_CreateDataItem 
PXT_ChangeDocProp 
PXT_ChangeDocRDF 
PXT__LAST__ 

Constructor & Destructor Documentation

PX_ChangeRecord::PX_ChangeRecord ( PXType  type,
PT_DocPosition  position,
PT_AttrPropIndex  indexNewAP,
UT_uint32  iXID 
)

PX_ChangeRecord describes a change made to the document. This description should be sufficient to allow undo to work and sufficient to allow the formatter to do a partial format and screen update (if appropriate). The change record must be free of pointers, since it represents what was done to the document -- and not how it was done (that is, not what was done to various intermediate data structures). This also lets it be cached to disk (for autosave and maybe multi-session undo).

PX_ChangeRecord is an abstract base class. We use an enum to remember type, rather than use any of the language run-time stuff.

Create change record

Parameters:
type Change record type
position Position of the change record
indexNewAP Index of new attribute property

References m_MyDocUUID.

Referenced by reverse().

PX_ChangeRecord::~PX_ChangeRecord (  )  [virtual]

Destruct change record


Member Function Documentation

UT_sint32 PX_ChangeRecord::getAdjustment ( void   )  const

References m_iAdjust.

Referenced by pt_PieceTable::undoCmd().

UT_sint32 PX_ChangeRecord::getCRNumber ( void   )  const [inline]
PD_Document * PX_ChangeRecord::getDocument ( void   )  const
const char * PX_ChangeRecord::getDocUUID (  )  const
PT_AttrPropIndex PX_ChangeRecord::getIndexAP ( void   )  const

Get index of attribute property

Returns:
Attribute property index

References m_indexAP.

Referenced by ABI_Collab_Export::_buildPacket(), pt_PieceTable::_canCoalesceDeleteSpan(), pt_PieceTable::_canCoalesceInsertSpan(), fl_BlockLayout::_doInsertFieldRun(), pt_PieceTable::_doTheDo(), IE_Exp_HTML_Listener::_openFrame(), s_RTF_ListenerWriteDoc::_writeAnnotation(), s_RTF_ListenerWriteDoc::_writeBookmark(), s_RTF_ListenerWriteDoc::_writeHyperlink(), s_RTF_ListenerWriteDoc::_writeImageInRTF(), s_RTF_ListenerWriteDoc::_writeRDFAnchor(), px_ChangeHistory::addChangeRecord(), fl_DocSectionLayout::bl_doclistener_insertAnnotation(), fl_TableLayout::bl_doclistener_insertBlock(), fl_SectionLayout::bl_doclistener_insertBlock(), fl_CellLayout::bl_doclistener_insertCell(), fl_TableLayout::bl_doclistener_insertCell(), fl_HdrFtrSectionLayout::bl_doclistener_insertFirstBlock(), fl_DocSectionLayout::bl_doclistener_insertFootnote(), fl_SectionLayout::bl_doclistener_insertSection(), fl_TableLayout::bl_doclistener_insertTable(), fl_HdrFtrSectionLayout::bl_doclistener_insertTable(), fl_SectionLayout::bl_doclistener_insertTable(), fl_DocListener::change(), PX_ChangeRecord_Span::coalesce(), fl_TOCLayout::doclistener_changeStrux(), fl_CellLayout::doclistener_changeStrux(), fl_TableLayout::doclistener_changeStrux(), fl_HdrFtrShadow::doclistener_changeStrux(), fl_HdrFtrSectionLayout::doclistener_changeStrux(), fl_DocSectionLayout::doclistener_changeStrux(), fl_FrameLayout::doclistener_changeStrux(), fl_EmbedLayout::doclistener_changeStrux(), fl_BlockLayout::doclistener_changeStrux(), fl_BlockLayout::doclistener_insertBlock(), fl_BlockLayout::doclistener_insertFrame(), fl_BlockLayout::doclistener_insertObject(), fl_BlockLayout::doclistener_insertSection(), fl_BlockLayout::doclistener_insertTable(), fl_BlockLayout::doclistener_populateObject(), fl_FrameLayout::insertBlockAfter(), PL_ListenerCoupleCloser::populate(), ODe_AbiDocListener::populate(), IE_Imp_PasteListener::populate(), s_XSL_FO_Listener::populate(), WordPerfect_Listener::populate(), s_WML_Listener::populate(), Text_Listener::populate(), s_RTF_ListenerWriteDoc::populate(), s_RTF_ListenerGetProps::populate(), PL_Psion_Listener::populate(), Passepartout_Listener::populate(), IE_Exp_OpenXML_Listener::populate(), OO_Listener::populate(), s_MIF_Listener::populate(), s_LaTeX_Listener::populate(), s_KWord_1_Listener::populate(), IE_Exp_HTML_StyleListener::populate(), IE_Exp_HTML_BookmarkListener::populate(), IE_Exp_HTML_Listener::populate(), s_HRText_Listener::populate(), IE_Exp_DocRangeListener::populate(), s_DocBook_Listener::populate(), s_Applix_Listener::populate(), s_AbiWord_1_Listener::populate(), PL_ListenerCoupleCloser::populateAfter(), PL_ListenerCoupleCloser::populateBefore(), ODe_AbiDocListener::populateStrux(), TOC_Listener::populateStrux(), IE_Imp_PasteListener::populateStrux(), s_XSL_FO_Listener::populateStrux(), WordPerfect_Listener::populateStrux(), s_WML_Listener::populateStrux(), Text_Listener::populateStrux(), s_RTF_ListenerWriteDoc::populateStrux(), s_RTF_ListenerGetProps::populateStrux(), PL_Psion_Listener::populateStrux(), Passepartout_Listener::populateStrux(), IE_Exp_OpenXML_Listener::populateStrux(), OO_Listener::populateStrux(), s_MsWord_97_Listener::populateStrux(), s_LaTeX_Listener::populateStrux(), LaTeX_Analysis_Listener::populateStrux(), s_KWord_1_Listener::populateStrux(), IE_Exp_HTML_HeaderFooterListener::populateStrux(), IE_Exp_HTML_StyleListener::populateStrux(), IE_Exp_HTML_Listener::populateStrux(), s_HRText_Listener::populateStrux(), IE_Exp_DocRangeListener::populateStrux(), s_DocBook_Listener::populateStrux(), s_Applix_Listener::populateStrux(), s_AbiWord_1_Listener::populateStrux(), fl_ShadowListener::populateStrux(), fl_DocListener::populateStrux(), PL_ListenerCoupleCloser::populateStruxAfter(), and PL_ListenerCoupleCloser::populateStruxBefore().

bool PX_ChangeRecord::getPersistance ( void   )  const

Get persitance

Returns:
Persitance

References m_persistant.

Referenced by px_ChangeHistory::didRedo(), and px_ChangeHistory::didUndo().

PT_DocPosition PX_ChangeRecord::getPosition ( void   )  const

Get position of change record

Returns:
Document position

References m_iAdjust, and m_position.

Referenced by pt_PieceTable::_canCoalesceDeleteSpan(), pt_PieceTable::_canCoalesceInsertSpan(), pt_PieceTable::_doTheDo(), pt_PieceTable::_lastUndoIsThisFmtMark(), px_ChangeHistory::addChangeRecord(), fl_DocSectionLayout::bl_doclistener_insertAnnotation(), fl_TableLayout::bl_doclistener_insertBlock(), fl_CellLayout::bl_doclistener_insertCell(), fl_TableLayout::bl_doclistener_insertCell(), fl_CellLayout::bl_doclistener_insertEndCell(), fl_EmbedLayout::bl_doclistener_insertEndEmbed(), fl_FrameLayout::bl_doclistener_insertEndFrame(), fl_TableLayout::bl_doclistener_insertEndTable(), fl_TOCLayout::bl_doclistener_insertEndTOC(), fl_DocSectionLayout::bl_doclistener_insertFootnote(), fl_SectionLayout::bl_doclistener_insertSection(), fl_TableLayout::bl_doclistener_insertTable(), fl_HdrFtrSectionLayout::bl_doclistener_insertTable(), fl_SectionLayout::bl_doclistener_insertTable(), fl_DocListener::change(), PX_ChangeRecord_Span::coalesce(), PacketFactory< _PacketType >::create(), fl_BlockLayout::doclistener_deleteFmtMark(), fl_BlockLayout::doclistener_deleteObject(), fl_BlockLayout::doclistener_deleteSpan(), fl_DocSectionLayout::doclistener_deleteStrux(), fl_EmbedLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_insertBlock(), fl_BlockLayout::doclistener_insertFirstBlock(), fl_BlockLayout::doclistener_insertFmtMark(), fl_BlockLayout::doclistener_insertFrame(), fl_BlockLayout::doclistener_insertObject(), fl_BlockLayout::doclistener_insertSection(), fl_BlockLayout::doclistener_insertSpan(), fl_BlockLayout::doclistener_insertTable(), px_ChangeHistory::getCRRange(), px_ChangeHistory::getRedo(), px_ChangeHistory::getUndo(), fl_FrameLayout::insertBlockAfter(), fl_DocListener::insertStrux(), Stateful_ViewListener::notify(), s_RTF_ListenerWriteDoc::populate(), IE_Exp_HTML_BookmarkListener::populate(), ODe_AbiDocListener::populateStrux(), and TOC_Listener::populateStrux().

PX_ChangeRecord::PXType PX_ChangeRecord::getType ( void   )  const

Get type of change record

Returns:
Type

References m_type.

Referenced by ABI_Collab_Export::_buildPacket(), pt_PieceTable::_canCoalesceDeleteSpan(), pt_PieceTable::_canCoalesceInsertSpan(), pt_PieceTable::_doTheDo(), pt_PieceTable::_lastUndoIsThisFmtMark(), px_ChangeHistory::addChangeRecord(), fl_TableLayout::bl_doclistener_insertBlock(), fl_TableLayout::bl_doclistener_insertTable(), fl_SectionLayout::bl_doclistener_insertTable(), fl_DocListener::change(), ABI_Collab_Export::change(), PX_ChangeRecord_Span::coalesce(), px_ChangeHistory::coalesceHistory(), PacketFactory< _PacketType >::create(), fl_BlockLayout::doclistener_changeSpan(), fl_TOCLayout::doclistener_changeStrux(), fl_CellLayout::doclistener_changeStrux(), fl_TableLayout::doclistener_changeStrux(), fl_HdrFtrShadow::doclistener_changeStrux(), fl_HdrFtrSectionLayout::doclistener_changeStrux(), fl_DocSectionLayout::doclistener_changeStrux(), fl_FrameLayout::doclistener_changeStrux(), fl_EmbedLayout::doclistener_changeStrux(), fl_BlockLayout::doclistener_changeStrux(), fl_BlockLayout::doclistener_deleteSpan(), fl_TOCLayout::doclistener_deleteStrux(), fl_CellLayout::doclistener_deleteStrux(), fl_TableLayout::doclistener_deleteStrux(), fl_HdrFtrSectionLayout::doclistener_deleteStrux(), fl_DocSectionLayout::doclistener_deleteStrux(), fl_FrameLayout::doclistener_deleteStrux(), fl_EmbedLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_insertBlock(), fl_BlockLayout::doclistener_insertFrame(), fl_BlockLayout::doclistener_insertSection(), fl_BlockLayout::doclistener_insertSpan(), fl_BlockLayout::doclistener_insertTable(), PD_Document::getAdjustmentForCR(), px_ChangeHistory::getUndo(), fl_FrameLayout::insertBlockAfter(), fl_DocListener::insertStrux(), Stateful_ViewListener::notify(), PL_ListenerCoupleCloser::populate(), ODe_AbiDocListener::populate(), TOC_Listener::populate(), IE_Imp_PasteListener::populate(), s_XSL_FO_Listener::populate(), WordPerfect_Listener::populate(), s_WML_Listener::populate(), Text_Listener::populate(), s_RTF_ListenerWriteDoc::populate(), s_RTF_ListenerGetProps::populate(), PL_Psion_Listener::populate(), Passepartout_Listener::populate(), IE_Exp_OpenXML_Listener::populate(), OO_Listener::populate(), s_MsWord_97_Listener::populate(), s_MIF_Listener::populate(), s_LaTeX_Listener::populate(), s_KWord_1_Listener::populate(), IE_Exp_HTML_StyleListener::populate(), IE_Exp_HTML_BookmarkListener::populate(), IE_Exp_HTML_Listener::populate(), s_HRText_Listener::populate(), IE_Exp_DocRangeListener::populate(), s_Applix_Listener::populate(), s_AbiWord_1_Listener::populate(), fl_TOCListener::populate(), fl_ShadowListener::populate(), fl_DocListener::populate(), PL_ListenerCoupleCloser::populateAfter(), PL_ListenerCoupleCloser::populateBefore(), ODe_AbiDocListener::populateStrux(), TOC_Listener::populateStrux(), IE_Imp_PasteListener::populateStrux(), s_XSL_FO_Listener::populateStrux(), s_WML_Listener::populateStrux(), Text_Listener::populateStrux(), s_RTF_ListenerWriteDoc::populateStrux(), s_RTF_ListenerGetProps::populateStrux(), PL_Psion_Listener::populateStrux(), Passepartout_Listener::populateStrux(), IE_Exp_OpenXML_Listener::populateStrux(), s_MsWord_97_Listener::populateStrux(), s_MIF_Listener::populateStrux(), s_LaTeX_Listener::populateStrux(), LaTeX_Analysis_Listener::populateStrux(), s_KWord_1_Listener::populateStrux(), IE_Exp_HTML_HeaderFooterListener::populateStrux(), IE_Exp_HTML_StyleListener::populateStrux(), IE_Exp_HTML_Listener::populateStrux(), s_HRText_Listener::populateStrux(), IE_Exp_DocRangeListener::populateStrux(), s_DocBook_Listener::populateStrux(), s_Applix_Listener::populateStrux(), s_AbiWord_1_Listener::populateStrux(), fl_TOCListener::populateStrux(), fl_ShadowListener::populateStrux(), fl_DocListener::populateStrux(), PL_ListenerCoupleCloser::populateStruxAfter(), and PL_ListenerCoupleCloser::populateStruxBefore().

void PX_ChangeRecord::setAdjustment ( UT_sint32  iAdj  )  const
void PX_ChangeRecord::setPersistance ( bool  persistant  )  [inline]

Set persistance

Parameters:
persistance New persistance setting

Referenced by pt_PieceTable::_realChangeSpanFmt().


Friends And Related Function Documentation

friend class pt_PieceTable [friend]

Member Data Documentation

Referenced by setCRNumber().

Persistance flag.

Referenced by getPersistance().

Type of this change record.

Referenced by getRevType(), and getType().


The documentation for this class was generated from the following files: