Main Page Widgets Namespaces Book

# Gnome::Glade::Xml Class Reference

Inheritance diagram for Gnome::Glade::Xml:
[legend]

List of all members.

## Public Types
typedef Gnome::Glade::XmlError | Error
## Public Member Functions
virtual | ~Xml ()
GladeXML* | gobj ()
| Provides access to the underlying C GObject.
const GladeXML* | gobj () const
| Provides access to the underlying C GObject.
GladeXML* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
std::string | get_filename () const
Gtk::Widget* | get_widget (const Glib::ustring& name)
| Get a widget from the Glade file.
template<class T_Widget>
T_Widget* | get_widget (const Glib::ustring& name, T_Widget*& widget)
| More convenient way of getting a widget from the Glade file.
template<class T_Widget>
T_Widget* | get_widget_derived (const Glib::ustring& name, T_Widget*& widget)
| This provides a pointer to a widget whose details are specified in the Glade file, but which is implemented by your own derived class.
Glib::ListHandle<Gtk::Widget*> | get_widget_prefix (const Glib::ustring& name)
void | reparent_widget (const Glib::ustring& name, Gtk::Container& container)
| Take the widget from the glade-generated container and put it in another container.
std::string | relative_file (const std::string& filename) const
void | connect_clicked (const Glib::ustring& name, const sigc::slot<void>& slot_)
| Connect a Gtk::Button's clicked signal or a Gtk::MenuItem's activated signal to a slot.
## Static Public Member Functions
static Glib::RefPtr<Xml> | create (const std::string& filename, const Glib::ustring& root=Glib::ustring(), const Glib::ustring& domain=Glib::ustring())
| Loads a Glade XML file.
static Glib::RefPtr<Xml> | create_from_buffer (const char* buffer, int size, const Glib::ustring& root=Glib::ustring(), const Glib::ustring& domain=Glib::ustring())
| Reads glade XML data from memory.
static Glib::ustring | get_widget_name (Gtk::Widget& widget)
static Glib::RefPtr<Xml> | get_widget_tree (Gtk::Widget& widget)
## Protected Member Functions
| Xml (const std::string& filename, const Glib::ustring& root, const Glib::ustring& domain)
| Loads a glade XML file.
| Xml (const char* buffer, int size, const Glib::ustring& root, const Glib::ustring& domain)
| Reads glade XML data from memory.
Gtk::Widget* | get_widget_checked (const Glib::ustring& name, GType type)
GtkWidget* | get_cwidget (const Glib::ustring& name)
virtual GType | lookup_type_vfunc (const Glib::ustring& classname)
| * interface for changing the custom widget handling */
## Related Functions
(Note that these are not member functions.)
Glib::RefPtr<Gnome::Glade::Xml> | wrap (GladeXML* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Member Typedef Documentation

typedef Gnome::Glade::XmlError Gnome::Glade::Xml::Error

## Constructor & Destructor Documentation

virtual Gnome::Glade::Xml::~Xml | ( |  | ) | `[virtual]`

Gnome::Glade::Xml::Xml | ( | const std::string & | filename,
|  | const Glib::ustring & | root,
|  | const Glib::ustring & | domain |
| ) |  |  | `[protected]`

Loads a glade XML file.

Exceptions:

  | XmlError |

Gnome::Glade::Xml::Xml | ( | const char * | buffer,
|  | int | size,
|  | const Glib::ustring & | root,
|  | const Glib::ustring & | domain |
| ) |  |  | `[protected]`

Reads glade XML data from memory.

Exceptions:

  | XmlError |

## Member Function Documentation

GladeXML* Gnome::Glade::Xml::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

const GladeXML* Gnome::Glade::Xml::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

GladeXML* Gnome::Glade::Xml::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Gtk::Widget* Gnome::Glade::Xml::get_widget_checked | ( | const Glib::ustring & | name,
|  | GType | type |
| ) |  |  | `[protected]`

Referenced by get_widget().

GtkWidget* Gnome::Glade::Xml::get_cwidget | ( | const Glib::ustring & | name | ) | `[protected]`

Referenced by get_widget_derived().

static Glib::RefPtr<Xml> Gnome::Glade::Xml::create | ( | const std::string & | filename,
|  | const Glib::ustring & | root = `Glib::ustring()`,
|  | const Glib::ustring & | domain = `Glib::ustring()` |
| ) |  |  | `[static]`

Loads a Glade XML file.

This will instantiate the widgets in the XML file. You can use the root parameter to only instantiate a certain widget and its children. The returned Xml object keeps pointers to the instantiated widgets which you can retrieve with get_widget().

Note that the Xml object does not delete the widgets it instantiates, but instead leaves the responsibility to you. See get_widget(). This means that you can safely let the Xml object go out of scope after you have retrieved the pointers you need from it.

Exceptions:

  | XmlError |

static Glib::RefPtr<Xml> Gnome::Glade::Xml::create_from_buffer | ( | const char * | buffer,
|  | int | size,
|  | const Glib::ustring & | root = `Glib::ustring()`,
|  | const Glib::ustring & | domain = `Glib::ustring()` |
| ) |  |  | `[static]`

Reads glade XML data from memory.

Exceptions:

  | XmlError |

See also:
  create()

std::string Gnome::Glade::Xml::get_filename | ( |  | ) | const

Gtk::Widget* Gnome::Glade::Xml::get_widget | ( | const Glib::ustring & | name | ) |

Get a widget from the Glade file.

For instance:

     Gtk::Table* pTable = dynamic_cast<Gtk::Table*>(refXml->get_widget("mytable"));

Note that you are responsible for deleting top-level widgets (windows and dialogs). Other widgets are instantiated as managed so they will be deleted automatically if you add them to a container.

Parameters:

  | name | The name of the widget.

Returns:
  A pointer to the widget, or `0` on failure.

template <class T_Widget>

T_Widget* Gnome::Glade::Xml::get_widget | ( | const Glib::ustring & | name,
|  | T_Widget *& | widget |
| ) |  |  | `[inline]`

More convenient way of getting a widget from the Glade file.

It allows for a shorter syntax with less repetition. For instance:

     Gtk::Table* pTable = 0;
     refXml->get_widget("mytable", pTable);

This method prints a warning message to the console if the widget doesn't exist or has the wrong type, so you don't need to check that manually.

Note that you are responsible for deleting top-level widgets (windows and dialogs) instantiated by the Xml object. Other widgets are instantiated as managed so they will be deleted automatically if you add them to a container widget.

Parameters:

  | name | The name of the widget.

Return values:

  | widget | A pointer to the widget, or `0` on failure.

Returns:
  The value of widget.

References get_widget_checked().

template <class T_Widget>

T_Widget* Gnome::Glade::Xml::get_widget_derived | ( | const Glib::ustring & | name,
|  | T_Widget *& | widget |
| ) |  |  | `[inline]`

This provides a pointer to a widget whose details are specified in the Glade file, but which is implemented by your own derived class.

Your class must have a constructor like so:

     DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade)
     : Gtk::Dialog(cobject) //Calls the base class constructor

For instance:

     Gtk::DerivedBox* pBox = 0;
     refXml->get_widget_derived("mybox", pBox);

Parameters:

  | name | The name of the widget.

Return values:

  | widget | A pointer to the widget, or `0` on failure.

Returns:
  The value of widget.

References get_cwidget().

Glib::ListHandle<Gtk::Widget*> Gnome::Glade::Xml::get_widget_prefix | ( | const Glib::ustring & | name | ) |

void Gnome::Glade::Xml::reparent_widget | ( | const Glib::ustring & | name,
|  | Gtk::Container & | container |
| ) |  |  |

Take the widget from the glade-generated container and put it in another container.

std::string Gnome::Glade::Xml::relative_file | ( | const std::string & | filename | ) | const

static Glib::ustring Gnome::Glade::Xml::get_widget_name | ( | Gtk::Widget & | widget | ) | `[static]`

static Glib::RefPtr<Xml> Gnome::Glade::Xml::get_widget_tree | ( | Gtk::Widget & | widget | ) | `[static]`

void Gnome::Glade::Xml::connect_clicked | ( | const Glib::ustring & | name,
|  | const sigc::slot< void > & | slot_ |
| ) |  |  |

Connect a Gtk::Button's clicked signal or a Gtk::MenuItem's activated signal to a slot.

For instance:

     refXml->connect_button("button", sigc::mem_fun(*this, &ExampleWindow::on_button_clicked) );

Parameters:

  | name | The name of the widget.
  | pslot | The slot to connect to.

virtual GType Gnome::Glade::Xml::lookup_type_vfunc | ( | const Glib::ustring & | classname | ) | `[protected, virtual]`

* interface for changing the custom widget handling */

## Friends And Related Function Documentation

Glib::RefPtr<Gnome::Glade::Xml> wrap | ( | GladeXML * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- xml.h