import gtk, syncmenu


open_item = None
copy_item = None


def menu_item_activate_cb(item, user_data):
	global open_item, copy_item
	print "Item activated: %s" % user_data

	#g_object_get (G_OBJECT (copy_item),
	#            "visible", &visible,
	#            "sensitive", &sensitive,
	#            NULL)

	#if (item == open_item) {
	#gtk_widget_set_sensitive (copy_item, !sensitive)
	#/*g_object_set (G_OBJECT (copy_item), "visible", !visible, NULL)*/


def test_setup_menu():
	global open_item, copy_item
	menubar = gtk.MenuBar()

	item = gtk.MenuItem("File")
	menubar.append(item)
	menu = gtk.Menu()
	item.set_submenu(menu)
	item = gtk.MenuItem("Open")
	open_item = item
	item.connect("activate", menu_item_activate_cb, "open")
	menu.append(item)
	item = gtk.MenuItem("Quit")
	item.connect("activate", menu_item_activate_cb, "quit")
	menu.append(item)

	item = gtk.MenuItem("Edit")

	menubar.append(item)
	menu = gtk.Menu()
	item.set_submenu(menu)
	item = gtk.MenuItem("Copy")
	copy_item = item
	item.connect("activate", menu_item_activate_cb, "copy")
	menu.append(item)
	item = gtk.MenuItem("Paste")
	item.connect("activate", menu_item_activate_cb, "paste")
	menu.append(item)

	item = gtk.MenuItem("Help")
	menubar.append(item)
	menu = gtk.Menu()
	item.set_submenu(menu)
	item = gtk.MenuItem("About")
	item.connect("activate", menu_item_activate_cb, "about")
	menu.append(item)

	return menubar


window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_default_size(400, 300)
window.connect("destroy", gtk.main_quit, None)

vbox = gtk.VBox(False, 0)
window.add(vbox)

menubar = test_setup_menu()
vbox.pack_start(menubar, False, True, 0)
vbox.pack_start(gtk.Label("Some window content here"), True, True, 0)

window.show_all()
menubar.hide()

syncmenu.takeover_menu(menubar)

gtk.main()
