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
00032 #include "nsISupports.idl"
00033
00034 interface nsIStringEnumerator;
00035 interface nsITreeView;
00036 interface nsIArray;
00037 interface sbIMediaList;
00038
00045 [scriptable, uuid(6b0f6a50-07c9-40e1-9392-2714b9bf2fa3)]
00046 interface sbICascadeFilterSetListener : nsISupports
00047 {
00048 void onChange();
00049
00050 void onValuesChanged(in unsigned short aIndex);
00051 };
00052
00059 [scriptable, uuid(3ef6dd65-aa7f-4e05-b6db-f355dfeff7f3)]
00060 interface sbICascadeFilterSet : nsISupports
00061 {
00065 readonly attribute unsigned short length;
00066
00072 unsigned short appendFilter(in AString aProperty);
00073
00082 unsigned short appendSearch([array, size_is(aPropertyArrayCount)] in wstring aPropertyArray,
00083 in unsigned long aPropertyArrayCount);
00084
00089 void remove(in unsigned short aIndex);
00090
00096 void changeFilter(in unsigned short aIndex, in AString aProperty);
00097
00107 void set(in unsigned short aIndex,
00108 [array, size_is(aValueArrayCount)] in wstring aValueArray,
00109 in unsigned long aValueArrayCount);
00110
00116 nsIArray get(in unsigned short aIndex);
00117
00121 void clearAll();
00122
00128 nsIStringEnumerator getValues(in unsigned short aIndex);
00129
00136 AString getValueAt(in unsigned short aIndex, in unsigned long aValueIndex);
00137
00143 nsITreeView getTreeView(in unsigned short aIndex);
00144
00154 unsigned long getValueCount(in unsigned short aIndex,
00155 [optional] in boolean aUseCache);
00156
00162 AString getProperty(in unsigned short aIndex);
00163
00169 boolean isSearch(in unsigned short aIndex);
00170
00175 void addListener(in sbICascadeFilterSetListener aListener);
00176
00181 void removeListener(in sbICascadeFilterSetListener aListener);
00182 };
00183