1 /* This file is part of the hkl library.
3 * The hkl library is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
8 * The hkl library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with the hkl library. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright (C) 2003-2010 Synchrotron SOLEIL
17 * L'Orme des Merisiers Saint-Aubin
18 * BP 48 91192 GIF-sur-YVETTE CEDEX
20 * Authors: Picca Frédéric-Emmanuel <picca@synchrotron-soleil.fr>
22 #ifndef __PSEUDO_AXES_FRAME_H__
23 #define __PSEUDO_AXES_FRAME_H__
28 class ModeModelColumns
: public Gtk::TreeModel::ColumnRecord
31 Gtk::TreeModelColumn
<Glib::ustring
> name
;
32 Gtk::TreeModelColumn
<HklMode
*> mode
;
41 class PseudoAxisModelColumns
: public Gtk::TreeModel::ColumnRecord
44 Gtk::TreeModelColumn
<Glib::ustring
> name
;
45 Gtk::TreeModelColumn
<double> value
;
46 Gtk::TreeModelColumn
<HklParameter
*> parameter
;
48 PseudoAxisModelColumns()
56 class ModeParameterModelColumns
: public Gtk::TreeModel::ColumnRecord
59 Gtk::TreeModelColumn
<Glib::ustring
> name
;
60 Gtk::TreeModelColumn
<double> value
;
61 Gtk::TreeModelColumn
<HklParameter
*> parameter
;
63 ModeParameterModelColumns()
74 PseudoAxesFrame(HklEngine
*engine
);
75 Gtk::Frame
&frame(void) {return *_frame1
;}
76 virtual ~PseudoAxesFrame(void);
81 typedef sigc::signal
<void> type_signal_changed
;
82 type_signal_changed
signal_changed(void);
86 void on_combobox1_changed(void);
87 virtual void on_cell_TreeView_pseudoAxis_value_edited(Glib::ustring
const &,
88 Glib::ustring
const &);
89 virtual void on_cell_treeview2_mode_parameter_value_edited(Glib::ustring
const &,
90 Glib::ustring
const &);
91 void on_button1_clicked(void);
92 void on_button2_clicked(void);
96 void updateMode(void);
97 void updatePseudoAxis(void);
98 void updateModeParameters(void);
100 type_signal_changed _signal_changed
;
107 Glib::RefPtr
<Gtk::Builder
> _refGlade
;
110 Gtk::ComboBox
*_combobox1
;
111 Gtk::Expander
*_expander1
;
112 Gtk::TreeView
*_treeview1
;
113 Gtk::TreeView
*_treeview2
;
114 Gtk::Button
*_button1
;
115 Gtk::Button
*_button2
;
118 Glib::RefPtr
<Gtk::ListStore
> _mode_ListStore
;
119 Glib::RefPtr
<Gtk::ListStore
> _pseudoAxis_ListStore
;
120 Glib::RefPtr
<Gtk::ListStore
> _mode_parameter_ListStore
;
121 ModeModelColumns _mode_columns
;
122 PseudoAxisModelColumns _pseudoAxis_columns
;
123 ModeParameterModelColumns _mode_parameter_columns
;
126 #endif // __PSEUDO_AXES_FRAME_H__