LCOV - code coverage report
Current view: top level - widget - nsIRollupListener.h (source / functions) Hit Total Coverage
Test: output.info Lines: 1 1 100.0 %
Date: 2017-07-14 16:53:18 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
       2             :  *
       3             :  * This Source Code Form is subject to the terms of the Mozilla Public
       4             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       5             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       6             : 
       7             : #ifndef __nsIRollupListener_h__
       8             : #define __nsIRollupListener_h__
       9             : 
      10             : #include "nsTArray.h"
      11             : #include "nsPoint.h"
      12             : 
      13             : class nsIContent;
      14             : class nsIWidget;
      15             : 
      16           3 : class nsIRollupListener {
      17             :  public: 
      18             : 
      19             :   /**
      20             :    * Notifies the object to rollup, optionally returning the node that
      21             :    * was just rolled up.
      22             :    *
      23             :    * If aFlush is true, then views should be flushed after the rollup.
      24             :    *
      25             :    * aPoint is the mouse pointer position where the event that triggered the
      26             :    * rollup occurred, which may be nullptr.
      27             :    *
      28             :    * aCount is the number of popups in a chain to close. If this is
      29             :    * UINT32_MAX, then all popups are closed.
      30             :    * If aLastRolledUp is non-null, it will be set to the last rolled up popup,
      31             :    * if this is supported. aLastRolledUp is not addrefed.
      32             :    *
      33             :    * Returns true if the event that the caller is processing should be consumed.
      34             :    */
      35             :   virtual bool Rollup(uint32_t aCount, bool aFlush,
      36             :                       const nsIntPoint* aPoint, nsIContent** aLastRolledUp) = 0;
      37             : 
      38             :   /**
      39             :    * Asks the RollupListener if it should rollup on mouse wheel events
      40             :    */
      41             :   virtual bool ShouldRollupOnMouseWheelEvent() = 0;
      42             : 
      43             :   /**
      44             :    * Asks the RollupListener if it should consume mouse wheel events
      45             :    */
      46             :   virtual bool ShouldConsumeOnMouseWheelEvent() = 0;
      47             : 
      48             :   /**
      49             :    * Asks the RollupListener if it should rollup on mouse activate, eg. X-Mouse
      50             :    */
      51             :   virtual bool ShouldRollupOnMouseActivate() = 0;
      52             : 
      53             :   /*
      54             :    * Retrieve the widgets for open menus and store them in the array
      55             :    * aWidgetChain. The number of menus of the same type should be returned,
      56             :    * for example, if a context menu is open, return only the number of menus
      57             :    * that are part of the context menu chain. This allows closing up only
      58             :    * those menus in different situations. The returned value should be exactly
      59             :    * the same number of widgets added to aWidgetChain.
      60             :    */
      61             :   virtual uint32_t GetSubmenuWidgetChain(nsTArray<nsIWidget*> *aWidgetChain) = 0;
      62             : 
      63             :   /**
      64             :    * Notify the RollupListener that the widget did a Move or Resize.
      65             :    */
      66             :   virtual void NotifyGeometryChange() = 0;
      67             : 
      68             :   virtual nsIWidget* GetRollupWidget() = 0;
      69             : };
      70             : 
      71             : #endif /* __nsIRollupListener_h__ */

Generated by: LCOV version 1.13