25 #ifndef SRC_HEADERS_GX_UI_BUILDER_H_ 26 #define SRC_HEADERS_GX_UI_BUILDER_H_ 28 #include <gxwmm/controlparameter.h> 29 #include <gxwmm/regler.h> 44 const string&
id, sigc::signal<
void(
bool)> *out_ctr,
bool disable);
47 sigc::signal<
void(
bool)> *out_ctr);
76 static Glib::RefPtr<GxBuilder>
create_from_file(
const std::string& filename,
const char* object_id);
77 static Glib::RefPtr<GxBuilder>
create_from_file(
const std::string& filename,
const Glib::ustring& object_id);
78 static Glib::RefPtr<GxBuilder>
create_from_file(
const std::string& filename,
const Glib::StringArrayHandle& object_ids);
79 static Glib::RefPtr<GxBuilder>
create_from_string(
const Glib::ustring& buffer,
const char* object_id);
80 static Glib::RefPtr<GxBuilder>
create_from_string(
const Glib::ustring& buffer,
const Glib::ustring& object_id);
81 static Glib::RefPtr<GxBuilder>
create_from_string(
const Glib::ustring& buffer,
const Glib::StringArrayHandle& object_ids);
84 static inline Glib::RefPtr<GxBuilder>
create() {
return Glib::RefPtr<GxBuilder>(
new GxBuilder()); }
87 const std::string& filename,
gx_engine::GxMachineBase* pmach = 0,
const char* object_id = 0, sigc::signal<
void(
bool)> *out_ctr = 0);
90 const std::string& filename,
gx_engine::GxMachineBase* pmach,
const Glib::StringArrayHandle& object_ids, sigc::signal<
void(
bool)> *out_ctr = 0);
93 const Glib::ustring& buffer,
gx_engine::GxMachineBase* pmach = 0,
const char* object_id = 0, sigc::signal<
void(
bool)> *out_ctr = 0);
96 const Glib::ustring& buffer,
gx_engine::GxMachineBase* pmach,
const Glib::StringArrayHandle& object_ids, sigc::signal<
void(
bool)> *out_ctr = 0);
109 template <
class T_W
idget>
inline 111 widget =
dynamic_cast<T_Widget*
>(get_widget_checked(name, T_Widget::get_base_type()));
116 template <
class T_Object>
inline 118 object =
dynamic_cast<T_Object*
>(get_object(name).get());
122 template <
class T_W
idget,
class F>
inline 125 typedef typename T_Widget::BaseObjectType cwidget_type;
126 cwidget_type* pCWidget = (cwidget_type*)
get_cobject(name);
130 Glib::ObjectBase* pObjectBase = ObjectBase::_get_current_wrapper((GObject*)pCWidget);
132 widget =
dynamic_cast<T_Widget*
>( Glib::wrap((GtkWidget*)pCWidget) );
134 g_critical(
"GxBuilder::get_widget_derived(): dynamic_cast<> failed. An existing C++ instance, of a different type, seems to exist.");
137 widget = f(pCWidget);
142 return gtk_builder_get_object(gobj(), name.c_str()) != 0;
145 template <
class T_W
idget>
inline 147 GType type = T_Widget::get_base_type();
148 widget =
dynamic_cast<T_Widget*
>(get_widget_checked(name, type));
150 assert(!widget->get_parent());
155 template <
class T_W
idget,
class F>
inline 158 typedef typename T_Widget::BaseObjectType cwidget_type;
159 cwidget_type* pCWidget = (cwidget_type*)
get_cobject(name);
163 if (!g_type_is_a(G_OBJECT_TYPE(pCWidget), GTK_TYPE_WINDOW)) {
164 g_object_ref(pCWidget);
166 Glib::ObjectBase* pObjectBase = ObjectBase::_get_current_wrapper((GObject*)pCWidget);
168 widget =
dynamic_cast<T_Widget*
>( Glib::wrap((GtkWidget*)pCWidget) );
170 g_critical(
"GxBuilder::get_widget_derived(): dynamic_cast<> failed. An existing C++ instance, of a different type, seems to exist.");
173 widget = f(pCWidget);
175 assert(!widget->get_parent());
186 static void openTabBox_(
const char* label);
187 static void openVerticalBox_(
const char* label);
188 static void openVerticalBox1_(
const char* label);
189 static void openVerticalBox2_(
const char* label);
190 static void openHorizontalBox_(
const char* label);
192 static void openHorizontalhideBox_(
const char* label);
193 static void openHorizontalTableBox_(
const char* label);
194 static void openFrameBox_(
const char *label);
195 static void openFlipLabelBox_(
const char* label);
196 static void openpaintampBox_(
const char* label);
197 static void insertSpacer_();
198 static void set_next_flags_(
int flags);
199 static void create_mid_rackknob_(
const char *
id,
const char *label);
200 static void create_small_rackknob_(
const char *
id,
const char *label);
201 static void create_small_rackknobr_(
const char *
id,
const char *label);
202 static void create_big_rackknob_(
const char *
id,
const char *label);
203 static void create_master_slider_(
const char *
id,
const char *label);
204 static void create_feedback_slider_(
const char *
id,
const char *label);
205 static void create_selector_no_caption_(
const char *
id);
206 static void create_selector_(
const char *
id,
const char *label);
207 static void create_simple_meter_(
const char *
id);
208 static void create_simple_c_meter_(
const char *
id,
const char *idl,
const char *label);
209 static void create_spin_value_(
const char *
id,
const char *label);
210 static void create_switch_no_caption_(
const char *sw_type,
const char *
id);
211 static void create_feedback_switch_(
const char *sw_type,
const char *
id);
212 static void create_fload_switch_(
const char *sw_type,
const char *
id,
const char * idf);
213 static void create_switch_(
const char *sw_type,
const char *
id,
const char *label);
214 static void create_wheel_(
const char *
id,
const char *label);
215 static void create_port_display_(
const char *
id,
const char *label);
216 static void create_p_display_(
const char *
id,
const char *idl,
const char *idh);
217 static void create_simple_spin_value_(
const char *
id);
218 static void create_eq_rackslider_no_caption_(
const char *
id);
219 static void closeBox_();
220 static void load_glade_(
const char *data);
221 static void load_glade_file_(
const char *fname);
230 GtkWidget *
load_toplevel(GtkBuilder *builder,
const char* filename,
const char* windowname);
233 #endif // SRC_HEADERS_GX_UI_BUILDER_H_ void get_toplevel(const Glib::ustring &name, T_Widget *&widget)
static void set_tooltip_text_connect_handler(GtkWidget *widget, const char *text)
void find_object(const Glib::ustring &name, T_Object *&object)
gx_engine::Parameter * check_get_parameter(gx_engine::GxMachineBase &machine, const std::string &id, Gtk::Widget *w)
static bool show_tooltips
static StackBoxBuilder * intf
bool ui_connect(gx_engine::GxMachineBase &machine, Gtk::Widget *w, const std::string &id, sigc::signal< void(bool)> *out_ctr)
GtkWidget * load_toplevel(GtkBuilder *builder, const char *filename, const char *windowname)
void find_widget_derived(const Glib::ustring &name, T_Widget *&widget, F f)
static Glib::RefPtr< GxBuilder > create_from_string(const Glib::ustring &buffer, const char *object_id)
void get_toplevel_derived(const Glib::ustring &name, T_Widget *&widget, F f)
static void connect_gx_tooltip_handler(GtkWidget *widget)
static void set_tooltip_text_connect_handler(Gtk::Widget &widget, const Glib::ustring &text)
gx_engine::FloatParameter * check_get_float_parameter(gx_engine::GxMachineBase &machine, const std::string &id, Gtk::Widget *w)
GObject * get_cobject(const Glib::ustring &name)
static void set_tooltip_text_connect_handler(Gtk::Widget &widget, const char *text)
static Glib::RefPtr< GxBuilder > create()
static bool get_show_tooltips()
Gtk::Window * get_first_window()
void fixup_controlparameters(gx_engine::GxMachineBase &machine, sigc::signal< void(bool)> *out_ctr)
void find_widget(const Glib::ustring &name, T_Widget *&widget)
std::vector< PluginUI * > * pluginlist
bool ui_connect_switch(gx_engine::GxMachineBase &machine, Gtk::ToggleButton *b, const string &id, sigc::signal< void(bool)> *out_ctr, bool disable)
bool has_object(const Glib::ustring &name)
static Glib::RefPtr< GxBuilder > create_from_file(const std::string &filename, const char *object_id)
static void set_show_tooltips(bool v)