1/*
2 * Copyright 2002-2009 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Jerome Duval, jerome.duval@free.fr
7 */
8
9#ifndef IMAGE_FILE_PANEL_H
10#define IMAGE_FILE_PANEL_H
11
12
13#include <FilePanel.h>
14#include <Node.h>
15
16
17class BStringView;
18class BView;
19
20
21class ImageFilter: public BRefFilter {
22public:
23							ImageFilter(bool filtering);
24	virtual					~ImageFilter() {};
25
26			bool			Filter(const entry_ref* ref, BNode* node,
27								struct stat_beos* st, const char* filetype);
28
29protected:
30			bool			fImageFiltering;
31								// true for images
32								// false for directory
33};
34
35
36class ImageFilePanel: public BFilePanel {
37public:
38							ImageFilePanel(file_panel_mode mode = B_OPEN_PANEL,
39								BMessenger* target = NULL,
40								const entry_ref* startDirectory = NULL,
41								uint32 nodeFlavors = 0,
42								bool allowMultipleSelection = true,
43								BMessage* message = NULL,
44								BRefFilter* filter = NULL,
45								bool modal = false,
46								bool hideWhenDone = true);
47							~ImageFilePanel();
48
49	virtual	void			SelectionChanged();
50			void			Show();
51
52protected:
53			BView*			fImageView;
54			BStringView*	fResolutionView;
55			BStringView*	fImageTypeView;
56};
57
58#endif	// IMAGE_FILE_PANEL_H
59