Some progress with the GtkGrid. After trying to get my expose method called without success I realized I have to add the GDK_EXPOSURE_MASK to the main gdk window of the widget.
Then I played with some gtk_paint_* functions and this is what I got. It starts looking like a real Grid :)
This is my tentative Roadmap for the Grid:
- Create a GtkGridColumn class that will hold the renderer for that column
- Add GtkGridColumns to the GtkGrid and modify the expose event to use the renderers instead of hardcoded drawing stuff.
- Add a model property to the GtkGrid and make sure it is a GtkListStore
- Work on some key events to navigate through the grid
- Add scrolling support
- Add more gdk windows for the header and the left sidebar
- Make the header and sidebar functional by letting to select whole rows and columns
- Gettext support for properties
- Drag and drop of columns and rows
You don't see dates on that roadmap, that's right because I don't know how long will it takes me to write each step as this is the first widget I write.