#!/usr/bin/env python

# example tooltip.py

import pygtk
pygtk.require('2.0')
import gtk

# Create an Arrow widget with the specified parameters
# and pack it into a button
def create_arrow_button(arrow_type, shadow_type, label):
    arrow = gtk.Arrow(arrow_type, shadow_type)
    button = gtk.ToolButton(arrow, label)
    #button.add(arrow)
    button.show()
    arrow.show()
    return button

class Tooltips:
    def __init__(self):
        # Create a new window
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)

        window.set_title("Tooltips")

        # It's a good idea to do this for all windows.
        window.connect("destroy", lambda w: gtk.main_quit())

        # Sets the border width of the window.
        window.set_border_width(10)
        toolbar = gtk.Toolbar()
        toolbar.set_tooltips(True)
        window.add(toolbar)

        # Create a box to hold the arrows/buttons
        #box = gtk.HBox(False, 0)
        #box.set_border_width(2)
        #window.add(box)

        # create a tooltips object
        tooltips = gtk.Tooltips()

        # Pack and show all our widgets
        #box.show()
        window.show_all() 

        button1 = create_arrow_button(gtk.ARROW_UP, gtk.SHADOW_IN, "ToolButton1")
        toolbar.add(button1) 
        #box.pack_start(button, False, False, 3)
        tooltips.set_tip(button1, "SHADOW_IN")
        #button1.set_tip(tooltips)

        button2 = create_arrow_button(gtk.ARROW_DOWN, gtk.SHADOW_OUT, "ToolButton2")
        toolbar.add(button2) 
        #box.pack_start(button, False, False, 3)
        tooltips.set_tip(button2, "SHADOW_OUT")
        #button2.set_tip(tooltips)
  
        button3 = create_arrow_button(gtk.ARROW_LEFT, gtk.SHADOW_ETCHED_IN, "ToolButton3")
        toolbar.add(button3)
        #box.pack_start(button, False, False, 3)
        tooltips.set_tip(button3, "SHADOW_ETCHED_IN")
        #button.set_tip(tooltips)
  
        button4 = create_arrow_button(gtk.ARROW_RIGHT, gtk.SHADOW_ETCHED_OUT, "ToolButton4")
        toolbar.add(button4)
        #box.pack_start(button, False, False, 3)
        tooltips.set_tip(button4, "SHADOW_ETCHED_OUT")
        #button4.set_tip(tooltips)

	window.resize(600,100)

def main():
    gtk.main()
    return 0

if __name__ == "__main__":
    tt = Tooltips()
    main()
