#!/usr/bin/env python

import gtk

builder_window = """
<?xml version="1.0"?>
<interface>
  <requires lib="gtk+" version="2.14"/>
  <!-- interface-naming-policy project-wide -->
  <object class="GtkWindow" id="main">
    <signal name="destroy" handler="on_main_destroy"/>
    <child>
      <object class="GtkTable" id="table1">
        <property name="visible">True</property>
        <property name="n_rows">3</property>
        <property name="n_columns">3</property>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <object class="GtkButton" id="btn_hello_world">
            <property name="label" translatable="yes">Hello world!</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="receives_default">True</property>
            <signal name="clicked" handler="on_btn_hello_world_clicked"/>
          </object>
          <packing>
            <property name="left_attach">1</property>
            <property name="right_attach">2</property>
            <property name="top_attach">1</property>
            <property name="bottom_attach">2</property>
            <property name="x_options"></property>
            <property name="y_options"></property>
          </packing>
        </child>
      </object>
    </child>
  </object>
</interface>
"""

builder_dialog = """
<?xml version="1.0"?>
<interface>
  <requires lib="gtk+" version="2.14"/>
  <!-- interface-naming-policy project-wide -->
  <object class="GtkWindow" id="dialog">
  <property name="modal">True</property>
    <child>
      <object class="GtkLabel" id="label">
        <property name="visible">True</property>
        <property name="label" translatable="yes">Alpacas are awesome!</property>
      </object>
    </child>
  </object>
</interface>
"""

class BuilderWindow():
	def __init__(self):
		self.builder = gtk.Builder()
		self.builder.add_from_string(builder_window)
		self.builder.connect_signals(self)
		
		self.main = self.builder.get_object("main")
		self.main.show()
		
	def on_main_destroy(self, widget, data=None):
		gtk.main_quit()
		
	def on_btn_hello_world_clicked(self, widget, data=None):
		BuilderDialog()


class BuilderDialog():
	def __init__(self):
		self.builder = gtk.Builder()
		self.builder.add_from_string(builder_dialog)
		self.dialog = self.builder.get_object("dialog")
		self.dialog.show()


if __name__ == "__main__":
	BuilderWindow()
	gtk.main()


