#!/usr/bin/env python2.5
import gtk
import hildon

class TabTestApp(hildon.Program):
  def __init__(self):
    hildon.Program.__init__(self)

    self.window = hildon.Window()
    self.window.connect("destroy", gtk.main_quit)
    self.add_window(self.window)

    # Notebook 1 (tabs on top).
    self.label11 = gtk.Label("Notebook 1, Page 1")
    self.label12 = gtk.Label("Notebook 1, Page 2")
    self.tab_label11 = gtk.Label("Tab1")
    self.tab_label12 = gtk.Label("Tab2")
    self.notebook1 = gtk.Notebook()
    self.notebook1.set_show_tabs(True)
    self.notebook1.set_tab_pos(gtk.POS_TOP)
    self.notebook1.append_page(self.label11, tab_label=self.tab_label11)
    self.notebook1.append_page(self.label12, tab_label=self.tab_label12)

    # Notebook 2 (tabs on right side).
    self.label21 = gtk.Label("Notebook 2, Page 1")
    self.label22 = gtk.Label("Notebook 2, Page 2")
    self.tab_label21 = gtk.Label("Tab1")
    self.tab_label22 = gtk.Label("Tab2")
    self.tab_label21.set_angle(270)
    self.tab_label22.set_angle(270)
    self.notebook2 = gtk.Notebook()
    self.notebook2.set_show_tabs(True)
    self.notebook2.set_tab_pos(gtk.POS_RIGHT)
    # Turn off expand, fill and set all borders to 0.
    self.notebook2.set_tab_label_packing(self.label21, False, False, gtk.PACK_START)
    self.notebook2.set_tab_label_packing(self.label22, False, False, gtk.PACK_START)
    self.notebook2.set_property('tab-border', 0)
    self.notebook2.set_property('tab-hborder', 0)
    self.notebook2.set_property('tab-vborder', 0)
    self.notebook2.append_page(self.label21, tab_label=self.tab_label21)
    self.notebook2.append_page(self.label22, tab_label=self.tab_label22)

    self.vbox = gtk.VBox()
    self.vbox.add(self.notebook1)
    self.vbox.add(self.notebook2)
    self.window.add(self.vbox)
    self.window.show_all()

  def run(self):
    self.window.show_all()
    gtk.main()

app = TabTestApp()
app.run()