Controls the appearance of the application. More...
import"sbIFeathersManager.idl";
Public Member Functions | |
nsISimpleEnumerator | getSkinDescriptions () |
Enumerator for all registered sbISkinDescription objects. More... | |
nsISimpleEnumerator | getLayoutDescriptions () |
Enumerator for all registered sbILayoutDescription objects. More... | |
void | registerSkin (in sbISkinDescription aSkin) |
Make the given skin available for use. More... | |
void | unregisterSkin (in sbISkinDescription aSkin) |
Disable the given skin. More... | |
sbISkinDescription | getSkinDescription (in AString aInternalName) |
Gets the full skin description associated with a skin identifier. More... | |
void | registerLayout (in sbILayoutDescription aLayout) |
Make the given XUL window available for use. More... | |
void | unregisterLayout (in sbILayoutDescription aLayout) |
Disable the given window. More... | |
sbILayoutDescription | getLayoutDescription (in AString aLayoutURL) |
Gets the full layout description associated with a layout URL. More... | |
void | assertCompatibility (in AString aLayoutURL, in AString aInternalName, in boolean aShowChrome, in boolean onTop) |
Assert compatibility of a skin-layout pair. More... | |
void | unassertCompatibility (in AString aLayoutURL, in AString aInternalName) |
Unassert compatibility of a skin-layout pair. More... | |
void | setDefaultLayout (in AString aLayoutURL, in AString aInternalName) |
Designate a default layout for a skin. More... | |
AString | getDefaultLayout (in AString aInternalName) |
Get the default layout (as a URL) for a given skin name. More... | |
boolean | isChromeEnabled (in AString aLayoutURL, in AString aInternalName) |
Should window chrome be used with the given window-skin pair. More... | |
boolean | isOnTop (in AString aLayoutURL, in AString aInternalName) |
Should the window be kept on top. More... | |
void | setOnTop (in AString aLayoutURL, in AString aInternalName, in boolean aOnTop) |
Should the window be kept on top. More... | |
boolean | canOnTop (in AString aLayoutURL, in AString aInternalName) |
Can the window be kept on top. More... | |
nsISimpleEnumerator | getSkinsForLayout (in AString aLayoutURL) |
Get an enumerator for all registered skins compatible with the given layoutID. More... | |
nsISimpleEnumerator | getLayoutsForSkin (in AString aInternalName) |
Get an enumerator for all registered layouts compatible with the given skin. More... | |
void | switchFeathers (in AString aLayoutURL, in AString aInternalName) |
Switch to the given window-skin pair. More... | |
void | switchToNextLayout () |
Switch to the next layout for the current loaded feather. More... | |
void | openPlayerWindow () |
Launch the player window for the current feathers. More... | |
void | addListener (in sbIFeathersManagerListener aListener) |
Register to receive modification callbacks. More... | |
void | removeListener (in sbIFeathersManagerListener aListener) |
Unregister modification callbacks. More... | |
Public Attributes | |
readonly attribute AString | currentLayoutURL |
URL for the active layout. More... | |
readonly attribute AString | currentSkinName |
Skin internalName string for the active skin. More... | |
readonly attribute AString | previousLayoutURL |
URL for the previously active or default layout. More... | |
readonly attribute AString | previousSkinName |
Skin internalName string for the previously active or default skin. More... | |
readonly attribute unsigned long | skinCount |
Number of registered skins. More... | |
readonly attribute unsigned long | layoutCount |
Number of registered XUL windows. More... | |
Controls the appearance of the application.
Acts as a registry for installed skins and alternate XUL windows, and provides a mechanism for switching between them.
Definition at line 52 of file sbIFeathersManager.idl.
void sbIFeathersManager::addListener | ( | in sbIFeathersManagerListener | aListener | ) |
Register to receive modification callbacks.
aListener | Callback interface |
void sbIFeathersManager::assertCompatibility | ( | in AString | aLayoutURL, |
in AString | aInternalName, | ||
in boolean | aShowChrome, | ||
in boolean | onTop | ||
) |
Assert compatibility of a skin-layout pair.
Indicate that layoutURL and internalName can be active at the same time, and whether the window chrome (titlebar, borders) should be shown.
Note that the given skin and xul window IDs do not need to be registered with the feathers manager.
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
aShowChrome | Whether or not the OS titlebar should be used when the skin-window pair is active |
boolean sbIFeathersManager::canOnTop | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Can the window be kept on top.
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
AString sbIFeathersManager::getDefaultLayout | ( | in AString | aInternalName | ) |
Get the default layout (as a URL) for a given skin name.
NOTE: The default layout can be set in the RDF install of a feather by specifiying a |<songbird:isDefault>true</songbird:isDefault>| tag in the skin description.
If no default layout has been specified, than the layoutURL that is first listed in the install RDF will be specified as the default.
aInternalName | The identifier for a skin. |
sbILayoutDescription sbIFeathersManager::getLayoutDescription | ( | in AString | aLayoutURL | ) |
Gets the full layout description associated with a layout URL.
aLayoutURL | Unique identifier |
nsISimpleEnumerator sbIFeathersManager::getLayoutDescriptions | ( | ) |
Enumerator for all registered sbILayoutDescription objects.
nsISimpleEnumerator sbIFeathersManager::getLayoutsForSkin | ( | in AString | aInternalName | ) |
Get an enumerator for all registered layouts compatible with the given skin.
aInternalName | Identifier for a skin |
sbISkinDescription sbIFeathersManager::getSkinDescription | ( | in AString | aInternalName | ) |
Gets the full skin description associated with a skin identifier.
aInternalName | Skin identifier (provider) |
nsISimpleEnumerator sbIFeathersManager::getSkinDescriptions | ( | ) |
Enumerator for all registered sbISkinDescription objects.
nsISimpleEnumerator sbIFeathersManager::getSkinsForLayout | ( | in AString | aLayoutURL | ) |
Get an enumerator for all registered skins compatible with the given layoutID.
aLayoutURL | URL for a xul window |
boolean sbIFeathersManager::isChromeEnabled | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Should window chrome be used with the given window-skin pair.
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
boolean sbIFeathersManager::isOnTop | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Should the window be kept on top.
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
void sbIFeathersManager::openPlayerWindow | ( | ) |
Launch the player window for the current feathers.
Attempts to open the XUL player window layout for the current feathers. If the current layout or skin is invalid, the default feathers will be loaded instead.
void sbIFeathersManager::registerLayout | ( | in sbILayoutDescription | aLayout | ) |
Make the given XUL window available for use.
Register the the given layout description. Note that any existing registration with the same URL will be overwritten.
aLayout | Window description |
void sbIFeathersManager::registerSkin | ( | in sbISkinDescription | aSkin | ) |
Make the given skin available for use.
Register the the given skin description. Note that any existing registration with the same skin provider name will be overwritten.
aSkin | Skin description |
void sbIFeathersManager::removeListener | ( | in sbIFeathersManagerListener | aListener | ) |
Unregister modification callbacks.
aListener | Callback interface |
void sbIFeathersManager::setDefaultLayout | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Designate a default layout for a skin.
NOTE: The default layout can be set in the RDF install of a feather by specifiying a |<songbird:isDefault>true</songbird:isDefault>| tag in the skin description.
If no default layout has been specified, than the layoutURL that is first listed in the install RDF will be specified as the default.
aLayoutURL | URL for a XUL winodw |
aInternalName | Identifier for a skin. |
void sbIFeathersManager::setOnTop | ( | in AString | aLayoutURL, |
in AString | aInternalName, | ||
in boolean | aOnTop | ||
) |
Should the window be kept on top.
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
aOnTop | Should the window be kept on top |
void sbIFeathersManager::switchFeathers | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Switch to the given window-skin pair.
Attempts to reopen all Songbird windows using the given layout and skin.
Note: triggers the onSelectRequest callback
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
NS_ERROR_FAILURE | if the given feathers are invalid or incompatible |
void sbIFeathersManager::switchToNextLayout | ( | ) |
Switch to the next layout for the current loaded feather.
void sbIFeathersManager::unassertCompatibility | ( | in AString | aLayoutURL, |
in AString | aInternalName | ||
) |
Unassert compatibility of a skin-layout pair.
Indicate that layoutURL and internalName cannot be active at the same time.
TODO: Throw an exception if the mapping is currently in use?
aLayoutURL | URL for a xul window |
aInternalName | Identifier for a skin |
void sbIFeathersManager::unregisterLayout | ( | in sbILayoutDescription | aLayout | ) |
Disable the given window.
aLayout | Window description |
void sbIFeathersManager::unregisterSkin | ( | in sbISkinDescription | aSkin | ) |
Disable the given skin.
aSkin | Skin description |
readonly attribute AString sbIFeathersManager::currentLayoutURL |
URL for the active layout.
Definition at line 57 of file sbIFeathersManager.idl.
readonly attribute AString sbIFeathersManager::currentSkinName |
Skin internalName string for the active skin.
Definition at line 62 of file sbIFeathersManager.idl.
readonly attribute unsigned long sbIFeathersManager::layoutCount |
Number of registered XUL windows.
Definition at line 95 of file sbIFeathersManager.idl.
readonly attribute AString sbIFeathersManager::previousLayoutURL |
URL for the previously active or default layout.
Definition at line 67 of file sbIFeathersManager.idl.
readonly attribute AString sbIFeathersManager::previousSkinName |
Skin internalName string for the previously active or default skin.
Definition at line 72 of file sbIFeathersManager.idl.
readonly attribute unsigned long sbIFeathersManager::skinCount |
Number of registered skins.
Definition at line 83 of file sbIFeathersManager.idl.