23 #ifndef _TOOLS_SKILLGUI_SKILLGUI_H_
24 #define _TOOLS_SKILLGUI_SKILLGUI_H_
26 #include <gui_utils/connection_dispatcher.h>
31 # define GCONF_PREFIX "/apps/fawkes/skillgui"
34 #include <interfaces/SkillerDebugInterface.h>
35 #include <interfaces/SkillerInterface.h>
37 #ifndef GTKMM_VERSION_GE
38 # define GTKMM_VERSION_GE(major, minor) \
39 ((GTKMM_MAJOR_VERSION > major) \
40 || (GTKMM_MAJOR_VERSION == major) && (GTKMM_MINOR_VERSION >= minor))
45 class InterfaceDispatcher;
59 SkillGuiGtkWindow(BaseObjectType *cobject,
const Glib::RefPtr<Gtk::Builder> &builder);
67 void on_connection_clicked();
70 void on_exec_clicked();
71 void on_skiller_data_changed();
72 void on_skdbg_data_changed();
73 void on_agdbg_data_changed();
74 void on_exit_clicked();
75 void on_controller_clicked();
76 void on_stop_clicked();
77 void on_config_changed();
78 void on_skill_changed();
79 void on_graphupd_clicked();
80 void on_update_disabled();
81 void on_recording_toggled();
82 void on_graphdir_clicked();
84 void on_graphcolor_toggled();
87 class SkillStringRecord :
public Gtk::TreeModelColumnRecord
92 Gtk::TreeModelColumn<Glib::ustring> skillstring;
95 SkillStringRecord sks_record_;
104 Gtk::ToolButton *tb_connection;
105 Gtk::ToolButton *tb_exit;
106 Gtk::Button * but_exec;
107 Gtk::Button * but_stop;
108 Gtk::Button * but_clearlog;
109 #if GTK_VERSION_GE(3, 0)
110 Gtk::ComboBox *cbe_skillstring;
112 Gtk::ComboBoxEntry * cbe_skillstring;
114 Gtk::Label * lab_status;
115 Gtk::Label * lab_alive;
116 Gtk::Label * lab_skillstring;
117 Gtk::Label * lab_error;
118 Gtk::ScrolledWindow * scw_graph;
119 Gtk::Notebook * ntb_tabs;
120 Gtk::ToggleToolButton *tb_skiller;
121 Gtk::ToggleToolButton *tb_agent;
122 Gtk::ComboBoxText * cb_graphlist;
123 Gtk::ToolItem * tb_graphlist;
124 Gtk::ToolButton * tb_graphsave;
125 Gtk::ToolButton * tb_graphopen;
126 Gtk::ToolButton * tb_graphupd;
127 Gtk::ToggleToolButton *tb_graphrecord;
128 Gtk::ToolButton * tb_controller;
129 Gtk::ToolButton * tb_zoomin;
130 Gtk::ToolButton * tb_zoomout;
131 Gtk::ToolButton * tb_zoomfit;
132 Gtk::ToolButton * tb_zoomreset;
133 #if GTKMM_VERSION_GE(2, 20)
134 Gtk::Spinner *tb_spinner;
137 Gtk::ToolButton * tb_graphdir;
138 Gtk::ToggleToolButton *tb_graphcolored;
140 Glib::RefPtr<Gtk::ListStore> sks_list_;
143 Glib::RefPtr<Gnome::Conf::Client> gconf_;