#!/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 tooltips object
        tooltips = gtk.Tooltips()

        button1 = create_arrow_button(gtk.ARROW_UP, gtk.SHADOW_IN, "ToolButton1")
        toolbar.add(button1) 
        button1.set_tooltip(tooltips, "SHADOW_IN")

        button2 = create_arrow_button(gtk.ARROW_DOWN, gtk.SHADOW_OUT, "ToolButton2")
        toolbar.add(button2) 
        button2.set_tooltip(tooltips, "SHADOW_OUT")
  
        button3 = create_arrow_button(gtk.ARROW_LEFT, gtk.SHADOW_ETCHED_IN, "ToolButton3")
        toolbar.add(button3)
        button3.set_tooltip(tooltips, "SHADOW_ETCHED_IN")
  
        button4 = create_arrow_button(gtk.ARROW_RIGHT, gtk.SHADOW_ETCHED_OUT, "ToolButton4")
        toolbar.add(button4)
        button4.set_tooltip(tooltips, "SHADOW_ETCHED_OUT")

        window.show_all() 
        window.resize(600,100)

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

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