mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 18:07:31 +09:00
109 lines
3.9 KiB
Text
109 lines
3.9 KiB
Text
/* -*- Mode: IDL; 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/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
interface nsIAbCard;
|
|
interface nsIAbDirectory;
|
|
interface nsIArray;
|
|
|
|
/// Define a class using this interface to listen to updates from nsIAbView.
|
|
[scriptable, uuid(79ad5d6e-1dd2-11b2-addd-f547dab50d75)]
|
|
interface nsIAbViewListener : nsISupports
|
|
{
|
|
/// Called when the selection is changed in the tree
|
|
void onSelectionChanged();
|
|
|
|
/// Called when the total count of cards is changed.
|
|
void onCountChanged(in long total);
|
|
};
|
|
|
|
/**
|
|
* This interface and its associated nsAbView object provides an interface
|
|
* to allow a tree to be associated with an address book, and the results
|
|
* to be displayed in that tree.
|
|
*
|
|
* If you wish for the tree to display the results of a different address
|
|
* book, then call setView again. There is no need to delete and recreate the
|
|
* nsAbView object. If you wish to clear the view, then just call clearView.
|
|
*/
|
|
[scriptable, uuid(45e2fa9f-0b59-4090-a2fa-fb7042cf64a2)]
|
|
interface nsIAbView : nsISupports
|
|
{
|
|
/**
|
|
* Sets up the nsIAbView to look at the specified directory. This may be
|
|
* called multiple times.
|
|
*
|
|
* @param aDirectory The directory to search, this may be a directory
|
|
* with a query string.
|
|
* @param aViewListener An optional listener.
|
|
* @param aSortColumn The column to sort by. See the xul element with
|
|
* id abResultsTreeCols for possible values.
|
|
* @param aSortDirection The sort direction to use ("ascending"/"descending")
|
|
* @return The actual sortColumn (various switching of apps
|
|
* could cause the persisted sortColumn to be bogus).
|
|
*/
|
|
AString setView(in nsIAbDirectory aAddressBook,
|
|
in nsIAbViewListener aAbViewListener,
|
|
in AString aSortColumn,
|
|
in AString aSortDirection);
|
|
|
|
/**
|
|
* Clears the view and releases any locally held copies of the address book
|
|
* directory. This should be called when the view is no longer required, e.g.
|
|
* on unload.
|
|
*/
|
|
void clearView();
|
|
|
|
/**
|
|
* Sorts the tree by the specified parameters.
|
|
*
|
|
* @param aSortColumn The column to sort by. See the xul element with
|
|
* id abResultsTreeCols for possible values.
|
|
* @param aSortDirection The sort direction to use ("ascending"/"descending")
|
|
* @param aResort The function DOES optimize for the case when sortColumn
|
|
* and sortDirection is identical since the last call.
|
|
* If an unconditional resort is needed, set this to true.
|
|
*/
|
|
void sortBy(in wstring aSortColumn, in wstring aSortDirection,
|
|
[optional] in boolean aResort);
|
|
|
|
/// Returns the current sort column
|
|
readonly attribute AString sortColumn;
|
|
|
|
/// Returns the current sort direction
|
|
readonly attribute AString sortDirection;
|
|
|
|
/**
|
|
* Returns the current directory that this view is hooked up to. May be
|
|
* null if no directory has been set.
|
|
*/
|
|
readonly attribute nsIAbDirectory directory;
|
|
|
|
/**
|
|
* Returns the card associated with the given row.
|
|
*
|
|
* @param aRow The row from which to return the card.
|
|
* @return A card associated with the row, or null if row is not valid.
|
|
*/
|
|
nsIAbCard getCardFromRow(in long aRow);
|
|
|
|
/// Selects all rows in the view.
|
|
void selectAll();
|
|
|
|
/// Deletes all the selected cards (no prompts are given).
|
|
void deleteSelectedCards();
|
|
|
|
/**
|
|
* Swaps the first and last name order, and updates the appropriate
|
|
* preference.
|
|
*/
|
|
void swapFirstNameLastName();
|
|
|
|
/**
|
|
* Returns an array of the currently selected addresses.
|
|
*/
|
|
readonly attribute nsIArray selectedAddresses;
|
|
};
|