mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-09-19 11:40:21 +02:00
143 lines
5.4 KiB
Plaintext
143 lines
5.4 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* ***** 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
|
|
* Blake Ross.
|
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
* Blake Ross <blake@cs.stanford.edu> (Original Author)
|
|
* 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 ***** */
|
|
|
|
|
|
/********************************* #includes *********************************/
|
|
|
|
#include "domstubs.idl" // nsIDOMElement, nsIDOMWindow
|
|
#include "nsISupports.idl" // nsISupports
|
|
|
|
|
|
/******************************** Declarations *******************************/
|
|
|
|
interface nsIDocShell;
|
|
|
|
|
|
/****************************** nsTypeAheadFind ******************************/
|
|
|
|
[scriptable, uuid(376da416-e6b3-4bac-98f3-6aa408742751)]
|
|
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. aHasFocus will be true if the "Find" textfield
|
|
* has focus. */
|
|
unsigned short find(in AString aSearchString, in boolean aLinksOnly);
|
|
|
|
/* Find next match in the page. */
|
|
unsigned short findNext();
|
|
|
|
/* Find previous match in the page. */
|
|
unsigned short findPrevious();
|
|
|
|
|
|
/**************************** 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);
|
|
|
|
|
|
/******************************* Attributes ******************************/
|
|
|
|
readonly attribute AString searchString;
|
|
// Most recent search string
|
|
attribute boolean focusLinks; // DOES NOTHING
|
|
attribute boolean caseSensitive; // Searches are case sensitive
|
|
readonly attribute nsIDOMElement foundLink;
|
|
// Most recent elem found, if a link
|
|
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
|
|
|
|
|
|
/*************************************************************************/
|
|
|
|
};
|
|
|
|
|
|
/********************* nsTypeAheadFind_MOZILLA_1_8_BRANCH ********************/
|
|
|
|
[scriptable, uuid(6e934f17-1975-49c2-880e-4f9fa79a1b2e)]
|
|
interface nsITypeAheadFind_MOZILLA_1_8_BRANCH : nsITypeAheadFind
|
|
{
|
|
/**************************** Helper functions ***************************/
|
|
|
|
/* 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();
|
|
|
|
|
|
/******************************* Attributes ******************************/
|
|
|
|
readonly attribute nsIDOMElement foundEditable;
|
|
// Most recent elem found, if editable
|
|
|
|
|
|
/*************************************************************************/
|
|
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|