[pygtk] Calendar Widget

Samuel Abels newsgroups at debain.org
Sat Oct 13 05:29:49 WST 2007


So I did continue to work on this after all. The calendar is now pretty
much feature complete, the only missing feature I can think of is
recurring events. If somebody wants to add that, great, but it is not
going to be me. Mandatory screencast:

http://debain.org/blog/calendar2.ogg

Changes include:
- Multi-Day events are now properly displayed as such.
- Two types of events: All day events and "normal" events.
- Events may have color assigned.
- Keyboard navigation using the cursor keys works.
- The calendar now has a event-clicked event.

That said, I am not planning to work on this further (except for fixing
bugs). The package is here:

http://www.debain.org/blog/goocalendar-0.9.0.tgz

Have fun!

-Samuel


On Thu, 2007-10-11 at 21:15 +0200, Samuel Abels wrote:
> Alright, I have a basic version ready. The way in which events are
> painted is very preliminary, but it should work. It also takes its
> colors from the currently selected Gtk/GNOME theme. A short demo:
> 
> http://debain.org/stuff/calendar.ogg
> (250K)
> 
> I implemented a simple model/view, where the event model (which does not
> have to be used, you can also use the calendar as a replacement for
> GtkCalendar) is currently *really* dumb, but good enough for what I am
> planning to do. Example code:
> 
> ------
> [...]
> import GooCalendar
> event_store   = GooCalendar.EventStore()
> calendar      = GooCalendar.Calendar(event_store)
> my_container.add(calendar)
> event         = GooCalendar.Event('Lalala',
>                                   datetime.datetime(2007, 10, 9),
>                                   datetime.datetime(2007, 10, 11))
> event_store.add_event(event)
> ------
> 
> Calendar signals: Pretty much just "day-selected" (in addition to the
> goocanvas.Canvas signals).
> 
> The package is here:
> 
> http://debain.org/stuff/goocalendar-0.0.0.1.tgz
> 
> Not sure how much I am going to work on this in the next days, but I am
> planning to improve this further. If anyone has a good repository to
> store this (a repository for third party PyGtk widgets would be nice)
> let me know, else I'll maintain it in my application's SVN.
> 
> -Samuel



More information about the pygtk mailing list