sbIFeathersManager.idl
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25 */
26 
33 #include "nsISupports.idl"
34 
35 interface nsISimpleEnumerator;
36 interface sbILayoutDescription;
37 interface sbISkinDescription;
38 
40 
41 
51 [scriptable, uuid(61c28aec-66a6-49f2-85df-9629c7e3d84f)]
53 {
57  readonly attribute AString currentLayoutURL;
58 
62  readonly attribute AString currentSkinName;
63 
67  readonly attribute AString previousLayoutURL;
68 
72  readonly attribute AString previousSkinName;
73 
78 
79 
83  readonly attribute unsigned long skinCount;
84 
85 
90 
91 
95  readonly attribute unsigned long layoutCount;
96 
97 
98 
108  void registerSkin(in sbISkinDescription aSkin);
109 
114  void unregisterSkin(in sbISkinDescription aSkin);
115 
122  sbISkinDescription getSkinDescription(in AString aInternalName);
123 
124 
125 
135  void registerLayout(in sbILayoutDescription aLayout);
136 
141  void unregisterLayout(in sbILayoutDescription aLayout);
142 
149  sbILayoutDescription getLayoutDescription(in AString aLayoutURL);
150 
151 
152 
167  void assertCompatibility(in AString aLayoutURL,
168  in AString aInternalName,
169  in boolean aShowChrome,
170  in boolean onTop);
171 
172 
173 
184  void unassertCompatibility(in AString aLayoutURL,
185  in AString aInternalName);
186 
187 
188 
202  void setDefaultLayout(in AString aLayoutURL, in AString aInternalName);
203 
204 
205 
219  AString getDefaultLayout(in AString aInternalName);
220 
221 
222 
230  boolean isChromeEnabled(in AString aLayoutURL,
231  in AString aInternalName);
232 
233 
234 
242  boolean isOnTop(in AString aLayoutURL,
243  in AString aInternalName);
244 
245 
253  void setOnTop(in AString aLayoutURL,
254  in AString aInternalName,
255  in boolean aOnTop);
256 
257 
265  boolean canOnTop(in AString aLayoutURL,
266  in AString aInternalName);
267 
268 
269 
277  nsISimpleEnumerator getSkinsForLayout(in AString aLayoutURL);
278 
279 
287  nsISimpleEnumerator getLayoutsForSkin(in AString aInternalName);
288 
289 
303  void switchFeathers(in AString aLayoutURL,
304  in AString aInternalName);
305 
306 
310  void switchToNextLayout();
311 
319  void openPlayerWindow();
320 
321 
327  void addListener(in sbIFeathersManagerListener aListener);
328 
334  void removeListener(in sbIFeathersManagerListener aListener);
335 };
336 
337 
338 
339 
void registerLayout(in sbILayoutDescription aLayout)
Make the given XUL window available for use.
nsISimpleEnumerator getSkinsForLayout(in AString aLayoutURL)
Get an enumerator for all registered skins compatible with the given layoutID.
readonly attribute AString currentLayoutURL
URL for the active layout.
boolean isOnTop(in AString aLayoutURL, in AString aInternalName)
Should the window be kept on top.
AString getDefaultLayout(in AString aInternalName)
Get the default layout (as a URL) for a given skin name.
readonly attribute unsigned long skinCount
Number of registered skins.
Struct describing the properties of a XUL window layout.
void registerSkin(in sbISkinDescription aSkin)
Make the given skin available for use.
void assertCompatibility(in AString aLayoutURL, in AString aInternalName, in boolean aShowChrome, in boolean onTop)
Assert compatibility of a skin-layout pair.
void setOnTop(in AString aLayoutURL, in AString aInternalName, in boolean aOnTop)
Should the window be kept on top.
readonly attribute AString previousLayoutURL
URL for the previously active or default layout.
readonly attribute AString currentSkinName
Skin internalName string for the active skin.
void unregisterLayout(in sbILayoutDescription aLayout)
Disable the given window.
var uuid
sbILayoutDescription getLayoutDescription(in AString aLayoutURL)
Gets the full layout description associated with a layout URL.
void removeListener(in sbIFeathersManagerListener aListener)
Unregister modification callbacks.
void unregisterSkin(in sbISkinDescription aSkin)
Disable the given skin.
void addListener(in sbIFeathersManagerListener aListener)
Register to receive modification callbacks.
Struct describing the properties of a skin.
nsISimpleEnumerator getSkinDescriptions()
Enumerator for all registered sbISkinDescription objects.
readonly attribute unsigned long layoutCount
Number of registered XUL windows.
void unassertCompatibility(in AString aLayoutURL, in AString aInternalName)
Unassert compatibility of a skin-layout pair.
Controls the appearance of the application.
void switchFeathers(in AString aLayoutURL, in AString aInternalName)
Switch to the given window-skin pair.
sbISkinDescription getSkinDescription(in AString aInternalName)
Gets the full skin description associated with a skin identifier.
Callback interface used to listen to Feathers Manager changes.
void switchToNextLayout()
Switch to the next layout for the current loaded feather.
void openPlayerWindow()
Launch the player window for the current feathers.
readonly attribute AString previousSkinName
Skin internalName string for the previously active or default skin.
void setDefaultLayout(in AString aLayoutURL, in AString aInternalName)
Designate a default layout for a skin.
boolean canOnTop(in AString aLayoutURL, in AString aInternalName)
Can the window be kept on top.
boolean isChromeEnabled(in AString aLayoutURL, in AString aInternalName)
Should window chrome be used with the given window-skin pair.
nsISimpleEnumerator getLayoutsForSkin(in AString aInternalName)
Get an enumerator for all registered layouts compatible with the given skin.
nsISimpleEnumerator getLayoutDescriptions()
Enumerator for all registered sbILayoutDescription objects.