/usr/share/idl/thunderbird/nsIAbView.idl is in thunderbird-dev 1:52.7.0+build1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | /* -*- 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;
};
|