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_
25 #include <pparamschangelistener.h>
26 #include <profilechangelistener.h>
28 class ProfilePanel
: public Gtk::VBox
, public PParamsChangeListener
{
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
;
42 ProfileChangeListener
* tpc
;
44 sigc::connection changeconn
;
45 Gtk::FileChooserDialog
* savedialog
;
47 void changeTo (rtengine::procparams::ProcParams
* newpp
, Glib::ustring profname
);
48 void refreshProfileList ();
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
);
66 void paste_clicked ();
67 void selection_changed ();