Proper check for rawzor libraries.
[rawtherapee-fixes.git] / rtgui / profilepanel.h
blob2009aad8bad126d33fb7d12e2ed2e11072a6960c
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 _PROFILEPANEL_
20 #define _PROFILEPANEL_
22 #include <gtkmm.h>
23 #include <vector>
24 #include <rtengine.h>
25 #include <pparamschangelistener.h>
26 #include <profilechangelistener.h>
28 class ProfilePanel : public Gtk::VBox, public PParamsChangeListener {
30 protected:
32 Gtk::Button* save;
33 Gtk::Button* load;
34 Gtk::Button* copy;
35 Gtk::Button* paste;
36 Gtk::ComboBoxText* profiles;
37 std::vector<Glib::ustring> pparams;
38 rtengine::procparams::ProcParams* custom;
39 rtengine::procparams::ProcParams* lastsaved;
40 rtengine::procparams::ProcParams* lastphoto;
41 Glib::ustring old;
42 ProfileChangeListener* tpc;
43 bool dontupdate;
44 sigc::connection changeconn;
45 Gtk::FileChooserDialog* savedialog;
47 void changeTo (rtengine::procparams::ProcParams* newpp, Glib::ustring profname);
48 void refreshProfileList ();
50 public:
52 ProfilePanel ();
53 virtual ~ProfilePanel ();
55 void setProfileChangeListener (ProfileChangeListener* ppl) { tpc = ppl; }
57 void initProfile (const Glib::ustring& profname, rtengine::procparams::ProcParams* lastSaved, rtengine::procparams::ProcParams* lastPhoto);
59 // PParamsChangeListener interface
60 void procParamsChanged (rtengine::procparams::ProcParams* params, rtengine::ProcEvent ev, Glib::ustring descr, ParamsEdited* paramsEdited=NULL);
62 // gui callbacks
63 void save_clicked ();
64 void load_clicked ();
65 void copy_clicked ();
66 void paste_clicked ();
67 void selection_changed ();
70 #endif