Proper check for rawzor libraries.
[rawtherapee-fixes.git] / rtgui / filepanel.h
blob38359036869461abde555d080d19c0773f35e4fa
1 /*
2 * This file is part of RawTherapee.
4 * Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
6 * RawTherapee is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * RawTherapee is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef _FILEPANEL_
20 #define _FILEPANEL_
22 #include <gtkmm.h>
23 #include <batchtoolpanelcoord.h>
24 #include <filecatalog.h>
25 #include <dirbrowser.h>
26 #include <fileselectionlistener.h>
27 #include <placesbrowser.h>
28 #include <recentbrowser.h>
29 #include <pparamschangelistener.h>
30 #include <history.h>
31 #include <filterpanel.h>
33 class RTWindow;
34 class FilePanel : public Gtk::HPaned,
35 public FileSelectionListener,
36 public PParamsChangeListener
39 protected:
40 Gtk::VPaned* placespaned;
41 Gtk::HPaned* dirpaned;
42 DirBrowser* dirBrowser;
43 PlacesBrowser* placesBrowser;
44 RecentBrowser* recentBrowser;
45 FileCatalog* fileCatalog; // filecatalog is the file browser with the button bar above it
46 Gtk::HBox* rightBox;
47 BatchToolPanelCoordinator* tpc;
48 History* history;
49 FilterPanel* filterPanel;
50 RTWindow* parent;
51 Gtk::Notebook* rightNotebook;
53 public:
54 FilePanel ();
56 void on_realize ();
58 void setParent (RTWindow* p) { parent = p; }
59 void init (); // dont call it directly, the constructor calls it as idle source
60 void open (const Glib::ustring& d); // open a file or a directory
61 void refreshEditedState (const std::set<Glib::ustring>& efiles) { fileCatalog->refreshEditedState (efiles); }
63 // call this before closeing rt: it saves file browser relating things into options
64 void saveOptions ();
66 // interface fileselectionlistener
67 bool fileSelected (Thumbnail* thm);
68 bool addBatchQueueJob (BatchQueueEntry* bqe);
70 void optionsChanged ();
73 #endif