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__LAST__ = 22
}
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__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

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::_printHistory(), 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(), 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(), OO_Listener::populate(), s_Nroff_Listener::populate(), s_MsWord_97_Listener::populate(), s_MIF_Listener::populate(), s_LaTeX_Listener::populate(), s_KWord_1_Listener::populate(), s_StyleTree::populate(), s_HTML_Listener::populate(), s_HRText_Listener::populate(), s_Applix_Listener::populate(), s_AbiWord_1_Listener::populate(), fl_TOCListener::populate(), fl_ShadowListener::populate(), fl_DocListener::populate(), 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(), s_MsWord_97_Listener::populateStrux(), s_MIF_Listener::populateStrux(), s_LaTeX_Listener::populateStrux(), LaTeX_Analysis_Listener::populateStrux(), s_KWord_1_Listener::populateStrux(), s_StyleTree::populateStrux(), s_HTML_HdrFtr_Listener::populateStrux(), s_HTML_Listener::populateStrux(), s_HRText_Listener::populateStrux(), s_DocBook_Listener::populateStrux(), s_Applix_Listener::populateStrux(), s_AbiWord_1_Listener::populateStrux(), fl_TOCListener::populateStrux(), fl_ShadowListener::populateStrux(), and fl_DocListener::populateStrux().

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::_printHistory(), 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(), and s_HTML_Listener::populateStrux().

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(), s_RTF_ListenerWriteDoc::_writeAnnotation(), s_RTF_ListenerWriteDoc::_writeBookmark(), s_RTF_ListenerWriteDoc::_writeHyperlink(), s_RTF_ListenerWriteDoc::_writeImageInRTF(), 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(), 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(), OO_Listener::populate(), s_Nroff_Listener::populate(), s_MIF_Listener::populate(), s_LaTeX_Listener::populate(), s_KWord_1_Listener::populate(), s_StyleTree::populate(), s_HTML_Listener::populate(), s_HRText_Listener::populate(), s_DocBook_Listener::populate(), s_Applix_Listener::populate(), s_AbiWord_1_Listener::populate(), 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(), OO_Listener::populateStrux(), s_Nroff_Listener::populateStrux(), s_MsWord_97_Listener::populateStrux(), s_LaTeX_Listener::populateStrux(), s_KWord_1_Listener::populateStrux(), s_StyleTree::populateStrux(), s_HTML_HdrFtr_Listener::populateStrux(), s_HTML_Listener::populateStrux(), s_HRText_Listener::populateStrux(), s_DocBook_Listener::populateStrux(), s_Applix_Listener::populateStrux(), s_AbiWord_1_Listener::populateStrux(), fl_ShadowListener::populateStrux(), and fl_DocListener::populateStrux().

bool PX_ChangeRecord::getPersistance ( void   )  const

Get persitance

Returns:
Persitance

References m_persistant.

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

void PX_ChangeRecord::setPersistance ( bool  persistant  )  [inline]

Set persistance

Parameters:
persistance New persistance setting

Referenced by pt_PieceTable::_realChangeSpanFmt().

PX_ChangeRecord * PX_ChangeRecord::reverse ( void   )  const [virtual]

PX_ChangeRecord::PXType PX_ChangeRecord::getRevType ( void   )  const

UT_sint32 PX_ChangeRecord::getCRNumber ( void   )  const [inline]

UT_uint32 PX_ChangeRecord::getXID (  )  const [inline]

const char * PX_ChangeRecord::getDocUUID (  )  const

References m_MyDocUUID, s, and UT_UUID::toStringFromBinary().

Referenced by setCRNumber().

PD_Document * PX_ChangeRecord::getDocument ( void   )  const

void PX_ChangeRecord::setDocument ( const PD_Document pDoc  )  const

bool PX_ChangeRecord::setCRNumber ( void   )  const

bool PX_ChangeRecord::isFromThisDoc ( void   )  const

void PX_ChangeRecord::setAdjustment ( UT_sint32  iAdj  )  const

UT_sint32 PX_ChangeRecord::getAdjustment ( void   )  const

References m_iAdjust.

Referenced by pt_PieceTable::undoCmd().


Friends And Related Function Documentation

friend class pt_PieceTable [friend]


Member Data Documentation

Type of this change record.

Referenced by getRevType(), and getType().

Persistance flag.

Referenced by getPersistance().

Referenced by setCRNumber().

PD_Document* PX_ChangeRecord::m_pDoc [mutable, protected]

struct uuid PX_ChangeRecord::m_MyDocUUID [read, private]


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

Generated on Sun Jul 20 00:07:09 2008 for AbiWord by  doxygen 1.5.5