forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			154 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/* ***** 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 mozilla.org code.
 | 
						|
 *
 | 
						|
 * The Initial Developer of the Original Code is
 | 
						|
 * Netscape Communications Corporation.
 | 
						|
 * Portions created by the Initial Developer are Copyright (C) 2001
 | 
						|
 * the Initial Developer. All Rights Reserved.
 | 
						|
 *
 | 
						|
 * Contributor(s):
 | 
						|
 *   Joe Hewitt <hewitt@netscape.com> (Original Author)
 | 
						|
 *   Dean Tessman <dean_tessman@hotmail.com>
 | 
						|
 *   Masayuki Nakano <masayuki@d-toybox.com>
 | 
						|
 *
 | 
						|
 * 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"
 | 
						|
 | 
						|
interface nsIAutoCompleteInput;
 | 
						|
 | 
						|
[scriptable, uuid(b8883380-8cb3-444b-b929-0872b1cb7e73)]
 | 
						|
interface nsIAutoCompleteController : nsISupports
 | 
						|
{
 | 
						|
  /*
 | 
						|
   * Possible values for the searchStatus attribute
 | 
						|
   */
 | 
						|
  const unsigned short STATUS_NONE = 1;
 | 
						|
  const unsigned short STATUS_SEARCHING = 2;
 | 
						|
  const unsigned short STATUS_COMPLETE_NO_MATCH = 3;
 | 
						|
  const unsigned short STATUS_COMPLETE_MATCH = 4;
 | 
						|
 | 
						|
  /*
 | 
						|
   * The input widget that is currently being controlled.
 | 
						|
   */
 | 
						|
  attribute nsIAutoCompleteInput input;
 | 
						|
 | 
						|
  /*
 | 
						|
   * State which indicates the status of possible ongoing searches
 | 
						|
   */
 | 
						|
  readonly attribute unsigned short searchStatus;
 | 
						|
 | 
						|
  /*
 | 
						|
   * The number of matches
 | 
						|
   */
 | 
						|
  readonly attribute unsigned long matchCount;
 | 
						|
 | 
						|
  /*
 | 
						|
   * Start a search on a string, assuming the input property is already set.
 | 
						|
   */
 | 
						|
  void startSearch(in AString searchString);
 | 
						|
 | 
						|
  /* 
 | 
						|
   * Stop all asynchronous searches
 | 
						|
   */
 | 
						|
  void stopSearch();
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user has changed text in the textbox.  This includes all
 | 
						|
   * means of changing the text value, including typing a character, backspacing, deleting, or
 | 
						|
   * pasting in an entirely new value.
 | 
						|
   */
 | 
						|
  void handleText(in boolean aIgnoreSelection);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user wishes to enter the current text
 | 
						|
   *
 | 
						|
   * @return True if the controller wishes to prevent event propagation and default event
 | 
						|
   */
 | 
						|
  boolean handleEnter();
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user wishes to revert autocomplete
 | 
						|
   *
 | 
						|
   * @return True if the controller wishes to prevent event propagation and default event
 | 
						|
   */
 | 
						|
  boolean handleEscape();
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user wishes to start composition
 | 
						|
   */
 | 
						|
  void handleStartComposition();
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user wishes to end composition
 | 
						|
   */
 | 
						|
  void handleEndComposition();
 | 
						|
 | 
						|
  /* 
 | 
						|
   * Handle tab. Just closes up.
 | 
						|
   */
 | 
						|
  void handleTab();
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller of the following key navigation events:
 | 
						|
   *   up, down, left, right, page up, page down
 | 
						|
   *
 | 
						|
   * @return True if the controller wishes to prevent event propagation and default event
 | 
						|
   */
 | 
						|
  boolean handleKeyNavigation(in unsigned long key);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Notify the controller that the user chose to delete the current
 | 
						|
   * auto-complete result.
 | 
						|
   */
 | 
						|
  boolean handleDelete();
 | 
						|
  
 | 
						|
  /*
 | 
						|
   * Get the value of the result at a given index in the last completed search
 | 
						|
   */
 | 
						|
  AString getValueAt(in long index);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Get the comment of the result at a given index in the last completed search
 | 
						|
   */
 | 
						|
  AString getCommentAt(in long index);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Get a the style hint for the result at a given index in the last completed search
 | 
						|
   */
 | 
						|
  AString getStyleAt(in long index);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Get the url of the image of the result at a given index in the last completed search
 | 
						|
   */
 | 
						|
  AString getImageAt(in long index);
 | 
						|
 | 
						|
  /*
 | 
						|
   * Get / set the current search string.  Note, setting will not start searching
 | 
						|
   */
 | 
						|
  attribute AString searchString;
 | 
						|
};
 |