/* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is autocomplete code. * * The Initial Developer of the Original Code is * Google Inc. * Portions created by the Initial Developer are Copyright (C) 2005 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Brett Wilson * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #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(f9841787-ad26-49e6-a2dd-ba9020ee1c64)] 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); /** * Appends a result item consisting of the given value, comment, image and style. * This is how you add results. Note: image and style are optional. */ void appendMatch(in AString aValue, in AString aComment, [optional] in AString aImage, [optional] in AString aStyle); /** * 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. * @param aRemoveFromDb * Whether the value should be removed from persistent storage as well. */ void onValueRemoved(in nsIAutoCompleteSimpleResult aResult, in AString aValue, in boolean aRemoveFromDb); };