Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

SSL DeleteNodeTransaction.h   Interaktion und
Portierbarkeitunbekannt

 
rahmenlose Ansicht.h DruckansichtUnknown {[0] [0] [0]}Mathematik

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef DeleteNodeTransaction_h
#define DeleteNodeTransaction_h

#include "DeleteContentTransactionBase.h"

#include "EditorForwards.h"

#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "nsIContent.h"
#include "nsINode.h"
#include "nsISupportsImpl.h"
#include "nscore.h"

namespace mozilla {

/**
 * A transaction that deletes a single element
 */
class DeleteNodeTransaction final : public DeleteContentTransactionBase {
 protected:
  DeleteNodeTransaction(EditorBase& aEditorBase, nsIContent& aContentToDelete);

 public:
  /**
   * Creates a delete node transaction instance.  This returns nullptr if
   * it cannot remove the node from its parent.
   *
   * @param aEditorBase         The editor.
   * @param aContentToDelete    The node to be removed from the DOM tree.
   */
  static already_AddRefed<DeleteNodeTransaction> MaybeCreate(
      EditorBase& aEditorBase, nsIContent& aContentToDelete);

  /**
   * CanDoIt() returns true if there are enough members and can modify the
   * parent.  Otherwise, false.
   */
  bool CanDoIt() const;

  NS_DECL_ISUPPORTS_INHERITED
  NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DeleteNodeTransaction,
                                           DeleteContentTransactionBase)

  NS_DECL_EDITTRANSACTIONBASE
  NS_DECL_EDITTRANSACTIONBASE_GETASMETHODS_OVERRIDE(DeleteNodeTransaction)

  MOZ_CAN_RUN_SCRIPT NS_IMETHOD RedoTransaction() final;

  EditorDOMPoint SuggestPointToPutCaret() const final;

  nsIContent* GetContent() const { return mContentToDelete; }

  friend std::ostream& operator<<(std::ostream& aStream,
                                  const DeleteNodeTransaction& aTransaction);

 protected:
  virtual ~DeleteNodeTransaction() = default;

  // The element to delete.
  nsCOMPtr<nsIContent> mContentToDelete;

  // Parent of node to delete.
  nsCOMPtr<nsINode> mParentNode;

  // Next sibling to remember for undo/redo purposes.
  nsCOMPtr<nsIContent> mRefContent;
};

}  // namespace mozilla

#endif  // #ifndef DeleteNodeTransaction_h

[Verzeichnis aufwärts0.53unsichere Verbindung]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=752002