diff options
Diffstat (limited to 'toolkit/components/typeaheadfind/nsITypeAheadFind.idl')
-rw-r--r-- | toolkit/components/typeaheadfind/nsITypeAheadFind.idl | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/toolkit/components/typeaheadfind/nsITypeAheadFind.idl b/toolkit/components/typeaheadfind/nsITypeAheadFind.idl new file mode 100644 index 000000000..379d2c2a2 --- /dev/null +++ b/toolkit/components/typeaheadfind/nsITypeAheadFind.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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/. */ + + +/********************************* #includes *********************************/ + +#include "domstubs.idl" // nsIDOMElement, nsIDOMWindow +#include "nsISupports.idl" // nsISupports + + +/******************************** Declarations *******************************/ + +interface mozIDOMWindow; +interface nsIDocShell; + + +/****************************** nsTypeAheadFind ******************************/ + +[scriptable, uuid(ae501e28-c57f-4692-ac74-410e1bed98b7)] +interface nsITypeAheadFind : nsISupports +{ + /****************************** Initializer ******************************/ + + /* Necessary initialization that can't happen in the constructor, either + * because function calls here may fail, or because the docShell is + * required. */ + void init(in nsIDocShell aDocShell); + + + /***************************** Core functions ****************************/ + + /* Find aSearchString in page. If aLinksOnly is true, only search the page's + * hyperlinks for the string. */ + unsigned short find(in AString aSearchString, in boolean aLinksOnly); + + /* Find another match in the page. */ + unsigned short findAgain(in boolean findBackwards, in boolean aLinksOnly); + + /* Return the range of the most recent match. */ + nsIDOMRange getFoundRange(); + + + /**************************** Helper functions ***************************/ + + /* Change searched docShell. This happens when e.g. we use the same + * nsITypeAheadFind object to search different tabs. */ + void setDocShell(in nsIDocShell aDocShell); + + /* Change the look of the the "found match" selection to aToggle, and repaint + * the selection. */ + void setSelectionModeAndRepaint(in short toggle); + + /* Collapse the "found match" selection to its start. Because not all + * matches are owned by the same selection controller, this doesn't + * necessarily happen automatically. */ + void collapseSelection(); + + /* Check if a range is visible */ + boolean isRangeVisible(in nsIDOMRange aRange, in boolean aMustBeInViewPort); + + /******************************* Attributes ******************************/ + + readonly attribute AString searchString; + // Most recent search string + attribute boolean caseSensitive; // Searches are case sensitive + attribute boolean entireWord; // Search for whole words only + readonly attribute nsIDOMElement foundLink; + // Most recent elem found, if a link + readonly attribute nsIDOMElement foundEditable; + // Most recent elem found, if editable + readonly attribute mozIDOMWindow currentWindow; + // Window of most recent match + + + /******************************* Constants *******************************/ + + /* Find return codes */ + const unsigned short FIND_FOUND = 0; + // Successful find + const unsigned short FIND_NOTFOUND = 1; + // Unsuccessful find + const unsigned short FIND_WRAPPED = 2; + // Successful find, but wrapped around + const unsigned short FIND_PENDING = 3; + // Unknown status, find has not finished + + + /*************************************************************************/ + +}; + + +/*****************************************************************************/ |