nsITaskbarTabPreview.idl 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* vim: se cin sw=2 ts=2 et : */
  2. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  3. *
  4. * This Source Code Form is subject to the terms of the Mozilla Public
  5. * License, v. 2.0. If a copy of the MPL was not distributed with this
  6. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  7. #include "nsITaskbarPreview.idl"
  8. interface imgIContainer;
  9. /*
  10. * nsITaskbarTabPreview
  11. *
  12. * This interface controls tab preview-specific behavior. Creating an
  13. * nsITaskbarTabPreview for a window will hide that window's
  14. * nsITaskbarWindowPreview in the taskbar - the native API performs this
  15. * unconditionally. When there are no more tab previews for a window, the
  16. * nsITaskbarWindowPreview will automatically become visible again.
  17. *
  18. * An application may have as many tab previews per window as memory allows.
  19. *
  20. */
  21. [scriptable, uuid(11E4C8BD-5C2D-4E1A-A9A1-79DD5B0FE544)]
  22. interface nsITaskbarTabPreview : nsITaskbarPreview
  23. {
  24. /**
  25. * The title displayed above the thumbnail
  26. *
  27. * Default: an empty string
  28. */
  29. attribute DOMString title;
  30. /**
  31. * The icon displayed next to the title in the preview
  32. *
  33. * Default: null
  34. */
  35. attribute imgIContainer icon;
  36. /**
  37. * Rearranges the preview relative to another tab preview from the same window
  38. * @param aNext The preview to the right of this one. A value of null
  39. * indicates that the preview is the rightmost one.
  40. */
  41. void move(in nsITaskbarTabPreview aNext);
  42. /**
  43. * Used internally to grab the handle to the proxy window.
  44. */
  45. [notxpcom]
  46. nativeWindow GetHWND();
  47. /**
  48. * Used internally to ensure that the taskbar knows about this preview. If a
  49. * preview is not registered, then the API call to set its sibling (via move)
  50. * will silently fail.
  51. *
  52. * This method is only invoked when it is safe to make taskbar API calls.
  53. */
  54. [notxpcom]
  55. void EnsureRegistration();
  56. };