LCOV - code coverage report
Current view: top level - layout/forms - nsIComboboxControlFrame.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 2 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.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             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #ifndef nsIComboboxControlFrame_h___
       7             : #define nsIComboboxControlFrame_h___
       8             : 
       9             : #include "nsQueryFrame.h"
      10             : 
      11             : /**
      12             :   * nsIComboboxControlFrame is the interface for comboboxes.
      13             :   */
      14           0 : class nsIComboboxControlFrame : public nsQueryFrame
      15             : {
      16             : public:
      17             :   NS_DECL_QUERYFRAME_TARGET(nsIComboboxControlFrame)
      18             : 
      19             :   /**
      20             :    * Indicates whether the list is dropped down
      21             :    */
      22             :   virtual bool IsDroppedDown() = 0;
      23             : 
      24             :   virtual bool IsOpenInParentProcess() = 0;
      25             :   virtual void SetOpenInParentProcess(bool aVal) = 0;
      26             : 
      27           0 :   bool IsDroppedDownOrHasParentPopup() { return IsDroppedDown() || IsOpenInParentProcess(); }
      28             : 
      29             :   /**
      30             :    * Shows or hides the drop down
      31             :    */
      32             :   virtual void ShowDropDown(bool aDoDropDown) = 0;
      33             : 
      34             :   /**
      35             :    * Gets the Drop Down List
      36             :    */
      37             :   virtual nsIFrame* GetDropDown() = 0;
      38             : 
      39             :   /**
      40             :    * Sets the Drop Down List
      41             :    */
      42             :   virtual void SetDropDown(nsIFrame* aDropDownFrame) = 0;
      43             : 
      44             :   /**
      45             :    * Tells the combobox to roll up
      46             :    */
      47             :   virtual void RollupFromList() = 0;
      48             : 
      49             :   /**
      50             :    * Redisplay the selected text (will do nothing if text has not changed).
      51             :    * This method might destroy this frame or any others that happen to be
      52             :    * around.  It might even run script.
      53             :    */
      54             :   NS_IMETHOD RedisplaySelectedText() = 0;
      55             : 
      56             :   /*
      57             :    * Update preview text for the select control.
      58             :    */
      59             :   virtual void SetPreviewText(const nsAString& aValue) = 0;
      60             : 
      61             :   /**
      62             :    * Get the current preview text for select control.
      63             :    */
      64             :   virtual void GetPreviewText(nsAString& aValue) = 0;
      65             : 
      66             :   /**
      67             :    * Method for the listbox to set and get the recent index
      68             :    */
      69             :   virtual int32_t UpdateRecentIndex(int32_t aIndex) = 0;
      70             : 
      71             :   /**
      72             :    * Notification that the content has been reset
      73             :    */
      74             :   virtual void OnContentReset() = 0;
      75             : 
      76             :   /**
      77             :    * This returns the index of the item that is currently being displayed
      78             :    * in the display area. It may differ from what the currently Selected index
      79             :    * is in in the dropdown.
      80             :    *
      81             :    * Detailed explanation:
      82             :    * When the dropdown is dropped down via a mouse click and the user moves the mouse
      83             :    * up and down without clicking, the currently selected item is being tracking inside
      84             :    * the dropdown, but the combobox is not being updated. When the user selects items
      85             :    * with the arrow keys, the combobox is being updated. So when the user clicks outside
      86             :    * the dropdown and it needs to roll up it has to decide whether to keep the current
      87             :    * selection or not. This method is used to get the current index in the combobox to
      88             :    * compare it to the current index in the dropdown to see if the combox has been updated
      89             :    * and that way it knows whether to "cancel" the current selection residing in the
      90             :    * dropdown. Or whether to leave the selection alone.
      91             :    */
      92             :   virtual int32_t GetIndexOfDisplayArea() = 0;
      93             : };
      94             : 
      95             : #endif
      96             : 

Generated by: LCOV version 1.13