1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6#include "nsITreeView.idl" 7 8interface nsIMsgDBHdr; 9 10 /* //TODO JavaDoc 11 When implementing a js custom column handler (of type nsITreeView) you must implement the following 12 functions: 13 1. isEditable 14 2. GetCellProperties 15 3. GetImageSrc 16 4. GetCellText 17 5. CycleCell 18 6. GetSortStringForRow 19 7. GetSortLongForRow 20 8. isString 21 22 You can, at your option, implement 23 9. GetRowProperties. 24 25 With Bug 1192696, Grouped By Sort was implemented for custom columns. 26 Implementers should consider that the value returned by GetSortStringForRow 27 will be displayed in the grouped header row, as well as be used as the 28 sort string. 29 30 If implementing a c++ custom column handler, you must define all 31 nsITreeView and nsIMsgCustomColumnHandler methods. 32 */ 33 34[scriptable, uuid(00f75b13-3ac4-4a17-a8b9-c6e4dd1b3f32)] 35interface nsIMsgCustomColumnHandler : nsITreeView 36{ 37 AString getSortStringForRow(in nsIMsgDBHdr aHdr); 38 unsigned long getSortLongForRow(in nsIMsgDBHdr aHdr); 39 boolean isString(); 40}; 41