/* -*- 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 nsIArray;
interface nsIFile;

[scriptable, uuid(60b320d2-1dd2-11b2-bd73-dc3575f78ddd)]
interface nsIFileView : nsISupports
{
  const short sortName = 0;
  const short sortSize = 1;
  const short sortDate = 2;

  attribute boolean showHiddenFiles;
  attribute boolean showOnlyDirectories;
  readonly attribute short sortType;
  readonly attribute boolean reverseSort;

  void sort(in short sortType, in boolean reverseSort);
  void setDirectory(in nsIFile directory);
  void setFilter(in AString filterString);

  readonly attribute nsIArray selectedFiles;
};

%{C++

#define NS_FILEVIEW_CONTRACTID "@mozilla.org/filepicker/fileview;1"

%}