Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/widget/cocoa/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  nsChangeObserver.h   Sprache: C

 
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * 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 nsChangeObserver_h_
#define nsChangeObserver_h_

class nsIContent;
class nsAtom;
namespace mozilla {
namespace dom {
class Document;
}
}  // namespace mozilla

#define NS_DECL_CHANGEOBSERVER                                            \
  void ObserveAttributeChanged(mozilla::dom::Document* aDocument,         \
                               nsIContent* aContent, nsAtom* aAttribute)  \
      override;                                                           \
  void ObserveContentRemoved(mozilla::dom::Document* aDocument,           \
                             nsIContent* aContainer, nsIContent* aChild)  \
      override;                                                           \
  void ObserveContentInserted(mozilla::dom::Document* aDocument,          \
                              nsIContent* aContainer, nsIContent* aChild) \
      override;

// Something that wants to be alerted to changes in attributes or changes in
// its corresponding content object.
//
// This interface is used by our menu code so we only have to have one
// nsIMutationObserver per menu subtree root (e.g. per menubar).
//
// Any class that implements this interface must take care to unregister itself
// on deletion.
//
// XXXmstange The methods below use nsIContent*. Eventually, the should be
// converted to use mozilla::dom::Element* instead.
class nsChangeObserver {
 public:
  // Called when the attribute aAttribute on the element aContent has changed.
  // Only if aContent is being observed by this nsChangeObserver.
  virtual void ObserveAttributeChanged(mozilla::dom::Document* aDocument,
                                       nsIContent* aContent,
                                       nsAtom* aAttribute) = 0;

  // Called when aChild has been removed from its parent aContainer.
  // aPreviousSibling is the old previous sibling of aChild.
  // aContainer is always the old parent node of aChild and of aPreviousSibling.
  // Only called if aContainer or aContainer's parent node are being observed
  // by this nsChangeObserver.
  // In other words: If you observe an element, ObserveContentRemoved is called
  // if that element's children and grandchildren are removed. NOT if the
  // observed element itself is removed.
  virtual void ObserveContentRemoved(mozilla::dom::Document* aDocument,
                                     nsIContent* aContainer,
                                     nsIContent* aChild) = 0;

  // Called when aChild has been inserted into its new parent aContainer.
  // Only called if aContainer or aContainer's parent node are being observed
  // by this nsChangeObserver.
  // In other words: If you observe an element, ObserveContentInserted is called
  // if that element receives a new child or grandchild. NOT if the observed
  // element itself is inserted anywhere.
  virtual void ObserveContentInserted(mozilla::dom::Document* aDocument,
                                      nsIContent* aContainer,
                                      nsIContent* aChild) = 0;
};

#endif  // nsChangeObserver_h_

100%


¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.