/* -*-c-*- -------------- mixgtk_widgets.c : * Implementation of the functions declared in mixgtk_widgets.h * ------------------------------------------------------------------ * Last change: Time-stamp: "01/03/09 22:29:47 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ #include "mixgtk_widgets.h" #include /* the glade spec */ static GladeXML *xml_ = NULL; /* widget names */ static const gchar *names_[] = { "main_window", "word_dialog", "command_prompt", "command_log", "mixal_clist", "rA_entry", "rX_entry", "rJ_entry", "rI1_entry", "rI2_entry", "rI3_entry", "rI4_entry", "rI5_entry", "rI6_entry", "lesser_radio", "equal_radio", "greater_radio", "over_toggle", "memory_cells", "memory_scroll", "devices_notebook", "loc_entry", "elapsed_label", "program_label", "uptime_label", NULL }; #define WIDGET_NO_ (sizeof (names_) / sizeof (names_[0])) /* create a new factory from an xml glade file */ gboolean mixgtk_widget_factory_init (const char *glade_file) { glade_init (); xml_ = glade_xml_new (glade_file, NULL); if (!xml_) return FALSE; glade_xml_signal_autoconnect (xml_); return TRUE; } /* get a widget */ GtkWidget * mixgtk_widget_factory_get (mixgtk_widget_id_t widget) { g_return_val_if_fail (widget < WIDGET_NO_, NULL); return glade_xml_get_widget (xml_, names_[widget]); } /* Get a widget by name */ GtkWidget * mixgtk_widget_factory_get_by_name (const gchar *name) { return glade_xml_get_widget (xml_, name); }