mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 05:15:45 +00:00
397587a596
The key listener is now mostly a mapper of key events to editor actions. Soon, this should be 100% true. The editor builds transactions that are themselves intelligent. The editor makes very few DOM calls itself. It relies on the transactions to do most of the actual editing.
61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
|
|
#ifndef EditTxn_h__
|
|
#define EditTxn_h__
|
|
|
|
#include "nsITransaction.h"
|
|
class nsEditor;
|
|
|
|
class nsIDOMNode;
|
|
|
|
/**
|
|
* base class for all document editing transactions.
|
|
* provides access to the nsEditor that created this transaction.
|
|
*/
|
|
class EditTxn : public nsITransaction
|
|
{
|
|
public:
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
EditTxn(nsEditor *aEditor);
|
|
|
|
virtual nsresult Do(void);
|
|
|
|
virtual nsresult Undo(void);
|
|
|
|
virtual nsresult Redo(void);
|
|
|
|
virtual nsresult GetIsTransient(PRBool *aIsTransient);
|
|
|
|
virtual nsresult Merge(PRBool *aDidMerge, nsITransaction *aTransaction);
|
|
|
|
virtual nsresult Write(nsIOutputStream *aOutputStream);
|
|
|
|
virtual nsresult GetUndoString(nsString **aString);
|
|
|
|
virtual nsresult GetRedoString(nsString **aString);
|
|
|
|
protected:
|
|
|
|
nsEditor *mEditor;
|
|
|
|
};
|
|
|
|
#endif |