gecko-dev/editor/nsIHTMLInlineTableEditor.idl
Masayuki Nakano a2333fc4bb Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug
If we make nsIEditor a builtin class, that means that its instance can be only TextEditor or HTMLEditor.  Then, users of nsIEditor can use concrete classes such as EditorBase, TextEditor or HTMLEditor instead.  Then, the users can reduce unnecessary QI and a lot of virtual calls if we'll create non-virtual methods.

So, let's make editor related interfaces builtin classes.

MozReview-Commit-ID: 93WfsSDuJiJ

--HG--
extra : rebase_source : 39151eb4ffaaf195fec57234ea84c9f4066c58d1
2017-08-04 13:57:56 +09:00

45 lines
1.4 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
#include "domstubs.idl"
[scriptable, builtinclass, uuid(eda2e65c-a758-451f-9b05-77cb8de74ed2)]
interface nsIHTMLInlineTableEditor : nsISupports
{
/**
* boolean indicating if inline table editing is enabled in the editor.
* When inline table editing is enabled, and when the selection is
* contained in a table cell, special buttons allowing to add/remove
* a line/column are available on the cell's border.
*/
attribute boolean inlineTableEditingEnabled;
/**
* Shows inline table editing UI around a table cell
* @param aCell [IN] a DOM Element being a table cell, td or th
*/
void showInlineTableEditingUI(in nsIDOMElement aCell);
/**
* Hide all inline table editing UI
*/
void hideInlineTableEditingUI();
/**
* Modifies the table containing the selection according to the
* activation of an inline table editing UI element
* @param aUIAnonymousElement [IN] the inline table editing UI element
*/
void doInlineTableEditingAction(in nsIDOMElement aUIAnonymousElement);
/**
* Refresh already visible inline table editing UI
*/
void refreshInlineTableEditingUI();
};