00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00031 #include "nsISupports.idl"
00032
00033 interface nsISimpleEnumerator;
00034 interface sbIMediaItem;
00035
00040 [scriptable, uuid(8e4e9f65-9c90-4381-a8ed-b8aa2d1ad028)]
00041 interface sbIMediaListViewSelectionListener : nsISupports
00042 {
00046 void onSelectionChanged();
00047
00052 void onCurrentIndexChanged();
00053 };
00054
00063 [scriptable, uuid(ea5d0e88-6b5b-4c22-a753-7274ab774d8a)]
00064 interface sbIMediaListViewSelection : nsISupports
00065 {
00069 readonly attribute long count;
00070
00074 attribute long currentIndex;
00075
00079 readonly attribute sbIMediaItem currentMediaItem;
00080
00086 boolean isIndexSelected(in long aIndex);
00087
00094 readonly attribute nsISimpleEnumerator selectedIndexedMediaItems;
00095
00101 readonly attribute nsISimpleEnumerator selectedMediaItems;
00102
00107 void select(in long aIndex);
00108
00114 void selectOnly(in long aIndex);
00115
00120 void toggle(in long aIndex);
00121
00126 void clear(in long aIndex);
00127
00133 void selectRange(in long aStartIndex, in long aEndIndex);
00134
00140 void clearRange(in long aStartIndex, in long aEndIndex);
00141
00145 void selectNone();
00146
00150 void selectAll();
00151
00157 void addListener(in sbIMediaListViewSelectionListener aListener);
00158
00163 void removeListener(in sbIMediaListViewSelectionListener aListener);
00164
00168 attribute boolean selectionNotificationsSuppressed;
00169 };