diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
commit | 9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /widget/nsITaskbarPreview.idl | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'widget/nsITaskbarPreview.idl')
-rw-r--r-- | widget/nsITaskbarPreview.idl | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/widget/nsITaskbarPreview.idl b/widget/nsITaskbarPreview.idl new file mode 100644 index 0000000000..9bb5f079e7 --- /dev/null +++ b/widget/nsITaskbarPreview.idl @@ -0,0 +1,70 @@ +/* vim: se cin sw=2 ts=2 et : */ +/* -*- 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 "nsIBaseWindow.idl" + +interface nsITaskbarPreviewController; + +/** + * nsITaskbarPreview + * + * Common interface for both window and tab taskbar previews. This interface + * cannot be instantiated directly. + * + */ +[scriptable, uuid(CBFDF766-D002-403B-A3D9-B091C9AD465B)] +interface nsITaskbarPreview : nsISupports +{ + /** + * The controller for this preview. A controller is required to provide + * the behavior and appearance of the taskbar previews. It is responsible for + * determining the size and contents of the preview, which buttons are + * displayed and how the application responds to user actions on the preview. + * + * Neither preview makes full use of the controller. See the documentation + * for nsITaskbarWindowPreview and nsITaskbarTabPreview for details on which + * controller methods are used. + * + * The controller is not allowed to be null. + * + * @see nsITaskbarPreviewController + */ + attribute nsITaskbarPreviewController controller; + + /** + * The tooltip displayed above the preview when the user hovers over it + * + * Default: an empty string + */ + attribute AString tooltip; + + /** + * Whether or not the preview is visible. + * + * Changing this option is expensive for tab previews since toggling this + * option will destroy/create the proxy window and its registration with the + * taskbar. If any step of that fails, an exception will be thrown. + * + * For window previews, this operation is very cheap. + * + * Default: false + */ + attribute boolean visible; + + /** + * Gets/sets whether or not the preview is marked active (selected) in the + * taskbar. + */ + attribute boolean active; + + /** + * Invalidates the taskbar's cached image of this preview, forcing a redraw + * if necessary + */ + void invalidate(); +}; |