# This is not a program, do not run this
# you can copy-paste these things to pygtkconsole (or a full program)


raise Exception, 'This is not a program, do not run this'

import pygtk
import gtk
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.show()

table = gtk.Table(2, 2)
table.attach(button1, 0, 1, 0, 1)
table.attach(button2, 1, 2, 0, 1)
table.attach(button2, 0, 2, 1, 2)

n=50
scrollw = gtk.ScrolledWindow()
scrollw.set_size_request(300, 300)
table = Table(n, n, True)
table.set_size_request(n*50, n*20)
scrollw.add_with_viewport(table)
win.add(scrollw)
table.show()
scrollw.show()
l = gtk.Label('Hello')
table.attach(l, 30, 31, 30, 31)
l.show()

noteb = gtk.Notebook()
noteb.set_tab_pos(gtk.POS_TOP)
noteb.append_page(child1, child1_label)
noteb.append_page(child3, child3_label)
notebook.insert_page(child2, child2_label, 1)


hbox = gtk.HBox()
win.add(hbox)
hbox.show()

button = gtk.Button('Quit', gtk.STOCK_QUIT)
hbox.pack_start(button)
button.show()

def bHandler(widget, data=None):
    print data

button.connect("clicked", bHandler, "Quit")



tbut = gtk.ToggleButton("Toggle")
hbox.pack_start(tbut, expand=False, fill=False)
tbut.show()
hbox.set_spacing(10)
hbox.set_child_packing(tbut, 0, 0, 10, 0)
tbut.get_active()

cbox = gtk.CheckButton("Chekbox")
hbox.pack_start(cbox)
cbox.show()

rbut = None
for i in range(3):
    rbut = gtk.RadioButton(rbut, "rb%d" % i)
    hbox.pack_start(rbut, expand=False, fill=False)
    rbut.show()

en = gtk.Entry(10)
hbox.pack_start(en)
en.show()
en.get_text()
en.set_text('abc')
en.set_visibility(False)
en.set_invisible_char('#')
en.set_has_frame(True)

textV = gtk.TextView()
hbox.pack_start(textV)
textV.show()
textV.set_text("abc")   # WRONG
textV.set_size_request(100, 100)

buf = textV.get_buffer()
buf.set_text("abc")


sw = gtk.ScrolledWindow()
textV = gtk.TextView()
hbox.pack_start(sw)
sw.show()
sw.add(textV)
textV.show()


win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.show()

vbox = gtk.VBox()
win.add(vbox)

menu_bar = gtk.MenuBar()
menu_item = gtk.MenuItem("File")
menu_bar.add(menu_item)

vbox.pack_start(menu_bar, expand=False, fill=False)
vbox.show()
menu_bar.show()
menu_item.show()

file_menu = gtk.Menu()
menu_item.set_submenu(file_menu)

mi = gtk.MenuItem("Print hello")
file_menu.append(mi)
mi.show()

def mHandler(widget, data=None):
    print data

mi.connect("activate", mHandler, "print")

# dialog
def respcb(dialog, resp_id, data=None):
    if resp_id == gtk.RESPONSE_REJECT:
        dialog.destroy()
    else:
        print 'ok'


dialog = gtk.Dialog("Example", win, gtk.DIALOG_MODAL |  gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))

dialog.connect("response", respcb)
dialog.show()

label = gtk.Label("Information is here")
dialog.vbox.pack_start(label)
label.show()

button = gtk.Button("Help", gtk.STOCK_HELP)
dialog.action_area.pack_start(button)
button.show()


# scale
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.show()
hbox = gtk.HBox()
win.add(hbox)
hbox.show()

def scalecallback(widget, data=None):
    val = widget.get_value()
    print val


adj = gtk.Adjustment(value=0, lower=0, upper=100, step_incr=0.1)
scale = gtk.HScale(adj)

adj.connect("value_changed", scalecallback)
hbox.pack_start(scale)
scale.show()

# scrollbars

win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.show()

n=50
scrollw = gtk.ScrolledWindow()
scrollw.set_size_request(300, 300)
table = Table(n, n, True)
table.set_size_request(n*50, n*20)
scrollw.add_with_viewport(table)
win.add(scrollw)
table.show()
scrollw.show()
l = gtk.Label('Hello')
table.attach(l, 30, 31, 30, 31)
l.show()

vadj = scrollw.get_vadjustment()
vadj.upper
vadj.lower

