Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Static Public Member Functions | Public Attributes
EditTxn Class Reference

base class for all document editing transactions. More...

#include <EditTxn.h>

Inheritance diagram for EditTxn:
Inheritance graph
Collaboration diagram for EditTxn:
Collaboration graph

List of all members.

Public Member Functions

virtual ~EditTxn ()
NS_IMETHOD DoTransaction (void)
NS_IMETHOD UndoTransaction (void)
NS_IMETHOD RedoTransaction (void)
NS_IMETHOD GetIsTransient (PRBool *aIsTransient)
NS_IMETHOD Merge (nsITransaction *aTransaction, PRBool *aDidMerge)
NS_IMETHOD GetTxnDescription (nsAString &aTxnDescription)
void doTransaction ()
 Executes the transaction.
void undoTransaction ()
 Restores the state to what it was before the transaction was executed.
void redoTransaction ()
 Executes the transaction again.
boolean merge (in nsITransaction aTransaction)
 Attempts to merge a transaction into "this" transaction.

Static Public Member Functions

static const nsIIDGetCID ()

Public Attributes

readonly attribute boolean isTransient
 The transaction's transient state.
readonly attribute DOMString txnDescription

Detailed Description

base class for all document editing transactions.

provides default concrete behavior for all nsITransaction methods. EditTxns optionally have a name. This name is for internal purposes only, it is never seen by the user or by any external entity.

Definition at line 57 of file EditTxn.h.

Constructor & Destructor Documentation

Definition at line 43 of file EditTxn.cpp.

EditTxn::~EditTxn ( ) [virtual]

Definition at line 47 of file EditTxn.cpp.


Member Function Documentation

Executes the transaction.

static const nsIID& EditTxn::GetCID ( ) [inline, static]

Reimplemented in JoinElementTxn, SetDocTitleTxn, and EditAggregateTxn.

Definition at line 66 of file EditTxn.cpp.

  if (aIsTransient)
    *aIsTransient = PR_FALSE;
  return NS_OK;
NS_IMETHODIMP EditTxn::GetTxnDescription ( nsAString &  aTxnDescription)
NS_IMETHODIMP EditTxn::Merge ( nsITransaction aTransaction,
PRBool aDidMerge 
boolean nsITransaction::merge ( in nsITransaction  aTransaction) [inherited]

Attempts to merge a transaction into "this" transaction.

Both transactions must be in their undo state, doTransaction() methods already called. The transaction manager calls this method to coalesce a new transaction with the transaction on the top of the undo stack. This method returns a boolean value that indicates the merge result. A true value indicates that the transactions were merged successfully, a false value if the merge was not possible or failed. If true, the transaction manager will Release() the new transacton instead of pushing it on the undo stack.

aTransactionthe previously executed transaction to merge.

Executes the transaction again.

Can only be called on a transaction that was previously undone.

In most cases, the redoTransaction() method will actually call the doTransaction() method to execute the transaction again.

Restores the state to what it was before the transaction was executed.

Member Data Documentation

The transaction's transient state.

This attribute is checked by the transaction manager after the transaction's Execute() method is called. If the transient state is false, a reference to the transaction is held by the transaction manager so that the transactions' undoTransaction() and redoTransaction() methods can be called. If the transient state is true, the transaction manager returns immediately after the transaction's doTransaction() method is called, no references to the transaction are maintained. Transient transactions cannot be undone or redone by the transaction manager.

Definition at line 79 of file nsITransaction.idl.

readonly attribute DOMString nsPIEditorTransaction::txnDescription [inherited]

Definition at line 50 of file nsPIEditorTransaction.idl.

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