LCOV - code coverage report
Current view: top level - layout/xul/tree - nsTreeSelection.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 2 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 8 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 3; 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 nsTreeSelection_h__
       8             : #define nsTreeSelection_h__
       9             : 
      10             : #include "nsITreeSelection.h"
      11             : #include "nsITreeColumns.h"
      12             : #include "nsITimer.h"
      13             : #include "nsCycleCollectionParticipant.h"
      14             : #include "mozilla/Attributes.h"
      15             : 
      16             : class nsITreeBoxObject;
      17             : struct nsTreeRange;
      18             : 
      19             : class nsTreeSelection final : public nsINativeTreeSelection
      20             : {
      21             : public:
      22             :   explicit nsTreeSelection(nsITreeBoxObject* aTree);
      23             : 
      24             :   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
      25           0 :   NS_DECL_CYCLE_COLLECTION_CLASS(nsTreeSelection)
      26             :   NS_DECL_NSITREESELECTION
      27             : 
      28             :   // nsINativeTreeSelection: Untrusted code can use us
      29           0 :   NS_IMETHOD EnsureNative() override { return NS_OK; }
      30             : 
      31             :   friend struct nsTreeRange;
      32             : 
      33             : protected:
      34             :   ~nsTreeSelection();
      35             : 
      36             :   nsresult FireOnSelectHandler();
      37             :   static void SelectCallback(nsITimer *aTimer, void *aClosure);
      38             : 
      39             : protected:
      40             :   // Helper function to get the content node associated with mTree.
      41             :   already_AddRefed<nsIContent> GetContent();
      42             : 
      43             :   // Members
      44             :   nsCOMPtr<nsITreeBoxObject> mTree; // The tree will hold on to us through the view and let go when it dies.
      45             : 
      46             :   bool mSuppressed; // Whether or not we should be firing onselect events.
      47             :   int32_t mCurrentIndex; // The item to draw the rect around. The last one clicked, etc.
      48             :   nsCOMPtr<nsITreeColumn> mCurrentColumn;
      49             :   int32_t mShiftSelectPivot; // Used when multiple SHIFT+selects are performed to pivot on.
      50             : 
      51             :   nsTreeRange* mFirstRange; // Our list of ranges.
      52             : 
      53             :   nsCOMPtr<nsITimer> mSelectTimer;
      54             : };
      55             : 
      56             : nsresult
      57             : NS_NewTreeSelection(nsITreeBoxObject* aTree, nsITreeSelection** aResult);
      58             : 
      59             : #endif

Generated by: LCOV version 1.13