1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef nsBaseFilePicker_h__
8 #define nsBaseFilePicker_h__
10 #include "nsISupports.h"
11 #include "nsIFilePicker.h"
12 #include "nsISimpleEnumerator.h"
13 #include "nsArrayEnumerator.h"
19 class nsBaseFilePicker
: public nsIFilePicker
23 virtual ~nsBaseFilePicker();
25 NS_IMETHOD
Init(nsIDOMWindow
*aParent
,
26 const nsAString
& aTitle
,
29 NS_IMETHOD
Open(nsIFilePickerShownCallback
*aCallback
);
30 NS_IMETHOD
AppendFilters(int32_t filterMask
);
31 NS_IMETHOD
GetFilterIndex(int32_t *aFilterIndex
);
32 NS_IMETHOD
SetFilterIndex(int32_t aFilterIndex
);
33 NS_IMETHOD
GetFiles(nsISimpleEnumerator
**aFiles
);
34 NS_IMETHOD
GetDisplayDirectory(nsIFile
* *aDisplayDirectory
);
35 NS_IMETHOD
SetDisplayDirectory(nsIFile
* aDisplayDirectory
);
36 NS_IMETHOD
GetAddToRecentDocs(bool *aFlag
);
37 NS_IMETHOD
SetAddToRecentDocs(bool aFlag
);
38 NS_IMETHOD
GetMode(int16_t *aMode
);
40 NS_IMETHOD
GetDomfile(nsIDOMFile
** aDomfile
);
41 NS_IMETHOD
GetDomfiles(nsISimpleEnumerator
** aDomfiles
);
45 virtual void InitNative(nsIWidget
*aParent
, const nsAString
& aTitle
) = 0;
47 bool mAddToRecentDocs
;
48 nsCOMPtr
<nsIFile
> mDisplayDirectory
;
50 // This is an innerWindow.
51 nsCOMPtr
<nsPIDOMWindow
> mParent
;
55 #endif // nsBaseFilePicker_h__