Mostrando un gtk.Calendar en un menú?

Quiero construir un menú contextual con un elemento de menú para seleccionar una fecha. (El caso de uso es seleccionar un grupo de elementos en una vista de árbol y luego establecer una nueva fecha de vencimiento para todos los artículos).

Dado que un artículo es un Gtk.Bin, puedo especificar cualquier widget en lugar de una etiqueta. Sin embargo, parece que no puedointeractuar con el widget. Si hago clic en cualquier parte del menú, el menuitem obtiene el clic. Por lo tanto, no puedo seleccionar una fecha en particular, ni navegar meses o años. ¿Cómo puedo hacer que el calendario obtenga la actividad del ratón?

Además, hay un relleno extraño alrededor de la parte exterior del calendario, y cuando se coloca sobre él se vuelve naranja. ¿Cómo puedo eliminar el relleno y / o no hacer el resaltado naranja?

#!/usr/bin/env python

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


class ContextMenu(gtk.Menu):
    def __init__(self):
        gtk.Menu.__init__(self)

    def add_calendar_submenu_item(self, text, callback, uuids, data=None):
        calendar = gtk.Calendar()
        calendar.show()
        calendar_item = gtk.MenuItem()
        calendar_item.add(calendar)
        calendar_item.show()

        submenu = gtk.Menu()
        submenu.append(calendar_item)
        submenu_item = gtk.MenuItem("%s..." %(text))
        submenu_item.set_submenu(submenu)
        submenu_item.show()
        submenu_item.connect("activate", self.on_calendar_activate)
        self.append(submenu_item)

    def on_calendar_activate(self, widget):
        print "activate"


if __name__ == "__main__":
    class CalendarExample:
        def __init__(self):
            window = gtk.Window(gtk.WINDOW_TOPLEVEL)
            window.set_title("Calendar Example")
            window.set_border_width(5)
            window.set_size_request(200, 100)
            window.set_resizable(False)
            window.stick()
            window.connect("destroy", lambda x: gtk.main_quit())

            menu = ContextMenu()
            menu.add_calendar_submenu_item("date", self.on_date, ['123'])

            root_menu = gtk.MenuItem("Calendar Menu")
            root_menu.show()
            root_menu.set_submenu(menu)

            vbox = gtk.VBox(False, 10)
            window.add(vbox)
            vbox.show()

            menu_bar = gtk.MenuBar()
            vbox.pack_start(menu_bar, False, False, 2)
            menu_bar.append (root_menu)
            menu_bar.show()

            button = gtk.Button("Push Me")
            button.connect("clicked", self.on_menu_push, menu)
            vbox.pack_start(button, False, True, 10)
            button.show()

            window.show()

        def on_menu_push(self, widget, menu):
            menu.popup(None, None, None, 0, 0)

        def on_action(self, widget, uuids, text):
            print "Item %s pressed" %(text)

        def on_date(self, widget, uuids, text):
            print "Calendar activated with %s" %(text)

    CalendarExample()
    gtk.main()

[Actualizar]

Lo que busco es algo parecido al calendario de fecha / hora del menú del indicador de Ubuntu.

Respuestas a la pregunta(1)

Su respuesta a la pregunta