diff options
Diffstat (limited to 'toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl')
-rw-r--r-- | toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl b/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl new file mode 100644 index 0000000000..2be873eb59 --- /dev/null +++ b/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl @@ -0,0 +1,120 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" +#include "nsIAutoCompleteResult.idl" + +interface nsIAutoCompleteSimpleResultListener; + +/** + * This class implements nsIAutoCompleteResult and provides simple methods + * for setting the value and result items. It can be used whenever some basic + * auto complete results are needed that can be pre-generated and filled into + * an array. + */ + +[scriptable, uuid(23de9c96-becb-4d0d-a9bb-1d131ce361b5)] +interface nsIAutoCompleteSimpleResult : nsIAutoCompleteResult +{ + /** + * A writer for the readonly attribute 'searchString' which should contain + * the string that the user typed. + */ + void setSearchString(in AString aSearchString); + + /** + * A writer for the readonly attribute 'errorDescription'. + */ + void setErrorDescription(in AString aErrorDescription); + + /** + * A writer for the readonly attribute 'defaultIndex' which should contain + * the index of the list that will be selected by default (normally 0). + */ + void setDefaultIndex(in long aDefaultIndex); + + /** + * A writer for the readonly attribute 'searchResult' which should contain + * one of the constants nsIAutoCompleteResult.RESULT_* indicating the success + * of the search. + */ + void setSearchResult(in unsigned short aSearchResult); + + /** + * Inserts a match consisting of the given value, comment, image, style and + * the value to use for defaultIndex completion at a given position. + * @param aIndex + * The index to insert at + * @param aValue + * The value to autocomplete to + * @param aComment + * Comment shown in the autocomplete widget to describe this match + * @param aImage + * Image shown in the autocomplete widget for this match. + * @param aStyle + * Describes how to style the match in the autocomplete widget + * @param aFinalCompleteValue + * Value used when the user confirms selecting this match. If not + * provided, aValue will be used. + */ + void insertMatchAt(in long aIndex, + in AString aValue, + in AString aComment, + [optional] in AString aImage, + [optional] in AString aStyle, + [optional] in AString aFinalCompleteValue, + [optional] in AString aLabel); + + /** + * Appends a match consisting of the given value, comment, image, style and + * the value to use for defaultIndex completion. + * @param aValue + * The value to autocomplete to + * @param aComment + * Comment shown in the autocomplete widget to describe this match + * @param aImage + * Image shown in the autocomplete widget for this match. + * @param aStyle + * Describes how to style the match in the autocomplete widget + * @param aFinalCompleteValue + * Value used when the user confirms selecting this match. If not + * provided, aValue will be used. + */ + void appendMatch(in AString aValue, + in AString aComment, + [optional] in AString aImage, + [optional] in AString aStyle, + [optional] in AString aFinalCompleteValue, + [optional] in AString aLabel); + + /** + * Removes an existing match. + * @note this is different from removeValueAt, since it's not a consequence of + * a user action, and as such it won't notify onValueRemoved. + */ + void removeMatchAt(in long aIndex); + + /** + * Gets the listener for changes in the result. + */ + nsIAutoCompleteSimpleResultListener getListener(); + + /** + * Sets a listener for changes in the result. + */ + void setListener(in nsIAutoCompleteSimpleResultListener aListener); +}; + +[scriptable, uuid(004efdc5-1989-4874-8a7a-345bf2fa33af)] +interface nsIAutoCompleteSimpleResultListener : nsISupports +{ + /** + * Dispatched after a value is removed from the result. + * @param aResult + * The result from which aValue has been removed. + * @param aValue + * The removed value. + */ + void onValueRemoved(in nsIAutoCompleteSimpleResult aResult, in AString aValue); +}; |