LCOV - code coverage report
Current view: top level - editor/libeditor - nsIEditRules.h (source / functions) Hit Total Coverage
Test: output.info Lines: 5 5 100.0 %
Date: 2017-07-14 16:53:18 Functions: 3 4 75.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 nsIEditRules_h
       7             : #define nsIEditRules_h
       8             : 
       9             : #define NS_IEDITRULES_IID \
      10             : { 0x3836386d, 0x806a, 0x488d, \
      11             :   { 0x8b, 0xab, 0xaf, 0x42, 0xbb, 0x4c, 0x90, 0x66 } }
      12             : 
      13             : #include "mozilla/EditorBase.h" // for EditAction enum
      14             : 
      15             : namespace mozilla {
      16             : 
      17             : class TextEditor;
      18             : namespace dom {
      19             : class Selection;
      20             : } // namespace dom
      21             : 
      22             : /**
      23             :  * Base for an object to encapsulate any additional info needed to be passed
      24             :  * to rules system by the editor.
      25             :  */
      26             : class RulesInfo
      27             : {
      28             : public:
      29           5 :   explicit RulesInfo(EditAction aAction)
      30           5 :     : action(aAction)
      31           5 :   {}
      32           5 :   virtual ~RulesInfo() {}
      33             : 
      34             :   EditAction action;
      35             : };
      36             : 
      37             : } // namespace mozilla
      38             : 
      39             : /**
      40             :  * Interface of editing rules.
      41             :  */
      42           1 : class nsIEditRules : public nsISupports
      43             : {
      44             : public:
      45             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IEDITRULES_IID)
      46             : 
      47             : //Interfaces for addref and release and queryinterface
      48             : //NOTE: Use   NS_DECL_ISUPPORTS_INHERITED in any class inherited from nsIEditRules
      49             : 
      50             :   NS_IMETHOD Init(mozilla::TextEditor* aTextEditor) = 0;
      51             :   NS_IMETHOD SetInitialValue(const nsAString& aValue) = 0;
      52             :   NS_IMETHOD DetachEditor() = 0;
      53             :   NS_IMETHOD BeforeEdit(EditAction action,
      54             :                         nsIEditor::EDirection aDirection) = 0;
      55             :   NS_IMETHOD AfterEdit(EditAction action,
      56             :                        nsIEditor::EDirection aDirection) = 0;
      57             :   NS_IMETHOD WillDoAction(mozilla::dom::Selection* aSelection,
      58             :                           mozilla::RulesInfo* aInfo, bool* aCancel,
      59             :                           bool* aHandled) = 0;
      60             :   NS_IMETHOD DidDoAction(mozilla::dom::Selection* aSelection,
      61             :                          mozilla::RulesInfo* aInfo, nsresult aResult) = 0;
      62             :   NS_IMETHOD_(bool) DocumentIsEmpty() = 0;
      63             :   NS_IMETHOD DocumentModified() = 0;
      64             : };
      65             : 
      66             : NS_DEFINE_STATIC_IID_ACCESSOR(nsIEditRules, NS_IEDITRULES_IID)
      67             : 
      68             : #endif // #ifndef nsIEditRules_h

Generated by: LCOV version 1.13