mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-06-03 01:29:38 +00:00
94 lines
3.5 KiB
Plaintext
94 lines
3.5 KiB
Plaintext
/* -*- 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 nsIDocShell;
|
|
|
|
|
|
/****************************** nsTypeAheadFind ******************************/
|
|
|
|
[scriptable, uuid(f4411c5b-761b-498c-8050-dcfc8311f69e)]
|
|
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
|
|
readonly attribute nsIDOMElement foundLink;
|
|
// Most recent elem found, if a link
|
|
readonly attribute nsIDOMElement foundEditable;
|
|
// Most recent elem found, if editable
|
|
readonly attribute nsIDOMWindow 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
|
|
|
|
|
|
/*************************************************************************/
|
|
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|