editor/nsIHTMLInlineTableEditor.idl
author Masayuki Nakano <masayuki@d-toybox.com>
Tue, 11 Sep 2018 12:10:54 +0000
changeset 435661 acbe78a8fb89d4dc3996c7f6a2242b27354ef5fe
parent 400596 c208e865749a5c5840264dff8ff4a9c492cdcc18
child 470303 0f12aebacdd6845bed9e7f2cbf8e33dbd9b50b8b
permissions -rw-r--r--
Bug 1485929 - Create HTMLEditor::RefreshInlineTableEditingUIInternal() for internal use r=m_kato HTMLEditor::RefreshInlineTableEditingUI() is an XPCOM method. Therefore, we should create a non-virtual method for internal use. Additionally, this patch makes related methods safer for nested calls of ShowInlineTableEditingUI() and HideInlineTableEditingUI(). If ShowInlineTableEditingUI() and RefreshInlineTableEditingUIInternal() detects hiding or replacing current UI, they return error to make the callers stop handling anything for new UI. Differential Revision: https://phabricator.services.mozilla.com/D5428

/* -*- 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;

  /**
   * Refresh already visible inline table editing UI.
   * If inline table editing UI is not visible, this does nothing.
   * If the set of inline table editing UI is hidden or replaced with new
   * one while this is called, this throws an exception.
   * FYI: Current user in script is only BlueGriffon.
   */
  void refreshInlineTableEditingUI();
};