xref: /haiku/src/apps/expander/DirectoryFilePanel.h (revision e326cef6202a94eeab5149052a48c05db8000eaa)
1 /*
2  * Copyright 2004-2007 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Jérôme Duval
7  */
8 #ifndef _DIRECTORY_FILE_PANEL_H
9 #define _DIRECTORY_FILE_PANEL_H
10 
11 
12 #include <FilePanel.h>
13 #include <Button.h>
14 
15 
16 static const uint32 MSG_DIRECTORY = 'mDIR';
17 
18 
19 class DirectoryRefFilter : public BRefFilter {
20 public:
21 								DirectoryRefFilter();
22 			bool				Filter(const entry_ref* ref, BNode* node,
23 									struct stat_beos* stat,
24 									const char* mimeType);
25 };
26 
27 
28 class DirectoryFilePanel : public BFilePanel {
29 public:
30 								DirectoryFilePanel(
31 									file_panel_mode mode = B_OPEN_PANEL,
32 									BMessenger* target = NULL,
33 									const entry_ref* startDirectory = NULL,
34 									uint32 nodeFlavors = 0,
35 									bool allowMultipleSelection = true,
36 									BMessage* message = NULL,
37 									BRefFilter* filter = NULL,
38 									bool modal = false,
39 									bool hideWhenDone = true);
~DirectoryFilePanel()40 		virtual					~DirectoryFilePanel() {};
41 
42 		virtual	void			SelectionChanged();
43 		virtual	void			Show();
44 			// overrides non-virtual BFilePanel::Show()
45 
46 protected:
47 				BButton*		fCurrentButton;
48 };
49 
50 
51 #endif	// _DIRECTORY_FILE_PANEL_H
52