Home | History | Annotate | Download | only in widget
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_
      6 #define UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_
      7 
      8 #include "ui/views/views_export.h"
      9 
     10 namespace views {
     11 
     12 class Widget;
     13 class View;
     14 
     15 // |WidgetRemovalsObserver| complements |WidgetObserver| with additional
     16 // notifications. These include events occurring during tear down like view
     17 // removal. For this reason, it is recommended that subclasses not also inherit
     18 // from |View|.
     19 class VIEWS_EXPORT WidgetRemovalsObserver {
     20  public:
     21   // Called immediately before a descendant view of |widget| is removed.
     22   virtual void OnWillRemoveView(Widget* widget, View* view) {}
     23 
     24  protected:
     25   virtual ~WidgetRemovalsObserver() {}
     26 };
     27 
     28 }  // namespace views
     29 
     30 #endif  // UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_
     31