1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
14 * The Original Code is mozilla.org code.
16 * The Initial Developer of the Original Code is
17 * Netscape Communications Corporation.
18 * Portions created by the Initial Developer are Copyright (C) 2001
19 * the Initial Developer. All Rights Reserved.
22 * Joe Hewitt <hewitt@netscape.com> (Original Author)
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPL"), or
26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 #include
"nsISupports.idl"
39 #include
"nsIAutoCompleteController.idl"
41 interface nsIAutoCompletePopup
;
43 [scriptable
, uuid(f5eddd39
-f8e0
-43b7
-bc3d
-03623f595e52
)]
44 interface nsIAutoCompleteInput
: nsISupports
47 * The result view that will be used to display results
49 readonly attribute nsIAutoCompletePopup popup
;
54 readonly attribute nsIAutoCompleteController controller
;
57 * Indicates if the popup is currently open
59 attribute
boolean popupOpen
;
62 * Option to disable autocomplete functionality
64 attribute
boolean disableAutoComplete
;
67 * If a search result has its defaultIndex set, this will optionally
68 * try to complete the text in the textbox to the entire text of the
69 * result at the default index as the user types
71 attribute
boolean completeDefaultIndex
;
74 * complete text in the textbox as the user selects from the dropdown
75 * options if set to true
77 attribute
boolean completeSelectedIndex
;
80 * Option for completing to the default result whenever the user hits
81 * enter or the textbox loses focus
83 attribute
boolean forceComplete
;
86 * Option to open the popup only after a certain number of results are available
88 attribute
unsigned long minResultsForPopup
;
91 * The maximum number of rows to show in the autocomplete popup.
93 attribute
unsigned long maxRows
;
96 * Option to show a second column in the popup which contains
97 * the comment for each autocomplete result
99 attribute
boolean showCommentColumn
;
102 * Option to show a third column in the popup which contains
103 * an additional image for each autocomplete result
105 attribute
boolean showImageColumn
;
108 * Number of milliseconds after a keystroke before a search begins
110 attribute
unsigned long timeout
;
113 * An extra parameter to configure searches with.
115 attribute AString searchParam
;
118 * The number of autocomplete session to search
120 readonly attribute
unsigned long searchCount
;
123 * Get the name of one of the autocomplete search session objects
125 ACString getSearchAt
(in unsigned long index
);
128 * The value of text in the autocomplete textbox
130 attribute AString textValue
;
133 * Report the starting index of the cursor in the textbox
135 readonly attribute
long selectionStart
;
138 * Report the ending index of the cursor in the textbox
140 readonly attribute
long selectionEnd
;
143 * Select a range of text in the autocomplete textbox
145 void selectTextRange
(in long startIndex
, in long endIndex
);
148 * Notification that the search has started
150 void onSearchBegin
();
153 * Notification that the search concluded successfully
155 void onSearchComplete
();
158 * Notification that the user selected and entered a result item
160 * @return True if the user wishes to prevent the enter
162 boolean onTextEntered
();
165 * Notification that the user cancelled the autocomplete session
167 * @return True if the user wishes to prevent the revert
169 boolean onTextReverted
();
172 * This popup should consume or dispatch the rollup event.
173 * TRUE: should consume; FALSE: should dispatch.
175 readonly attribute
boolean consumeRollupEvent
;