michael@0: /* vim: se cin sw=2 ts=2 et : */ michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsITaskbarPreview.idl" michael@0: interface imgIContainer; michael@0: michael@0: /* michael@0: * nsITaskbarTabPreview michael@0: * michael@0: * This interface controls tab preview-specific behavior. Creating an michael@0: * nsITaskbarTabPreview for a window will hide that window's michael@0: * nsITaskbarWindowPreview in the taskbar - the native API performs this michael@0: * unconditionally. When there are no more tab previews for a window, the michael@0: * nsITaskbarWindowPreview will automatically become visible again. michael@0: * michael@0: * An application may have as many tab previews per window as memory allows. michael@0: * michael@0: */ michael@0: [scriptable, uuid(11E4C8BD-5C2D-4E1A-A9A1-79DD5B0FE544)] michael@0: interface nsITaskbarTabPreview : nsITaskbarPreview michael@0: { michael@0: /** michael@0: * The title displayed above the thumbnail michael@0: * michael@0: * Default: an empty string michael@0: */ michael@0: attribute DOMString title; michael@0: michael@0: /** michael@0: * The icon displayed next to the title in the preview michael@0: * michael@0: * Default: null michael@0: */ michael@0: attribute imgIContainer icon; michael@0: michael@0: /** michael@0: * Rearranges the preview relative to another tab preview from the same window michael@0: * @param aNext The preview to the right of this one. A value of null michael@0: * indicates that the preview is the rightmost one. michael@0: */ michael@0: void move(in nsITaskbarTabPreview aNext); michael@0: michael@0: /** michael@0: * Used internally to grab the handle to the proxy window. michael@0: */ michael@0: [notxpcom] michael@0: nativeWindow GetHWND(); michael@0: michael@0: /** michael@0: * Used internally to ensure that the taskbar knows about this preview. If a michael@0: * preview is not registered, then the API call to set its sibling (via move) michael@0: * will silently fail. michael@0: * michael@0: * This method is only invoked when it is safe to make taskbar API calls. michael@0: */ michael@0: [notxpcom] michael@0: void EnsureRegistration(); michael@0: }; michael@0: