March 26, 2004
§ ¶More Momentum
Murray seems to be dedicating a lot of digital ink lately over his disappointment with Gtk# scheduling. I'd be more concerned if developers weren't flocking to the binding in droves. In the end, the success of Gtk# will be measured by how much easier it makes GUI development for GNOME, and how many users are empowered by the applications created with it.
I don't believe presence or absence in the Platform bindings release set for 2.8 is going to have a big impact on Gtk# adoption by application developers. Of course, I want to eventually get into the officially-blessed bindings list, but I decided that more users would be served by pushing through to completion with the 2.2 platform than making another platform jump right now. Based on the direct feedback I'm getting from Gtk# users, I'm confident this was the right choice.
Gtk# got to strut its stuff in front of 6000 people during today's Brainshare Keynote with Miguel and Erik at the keyboard.
March 16, 2004
§ ¶Caved in
I added support for a [ConnectBefore] attribute this afternoon so that all the whiners would stop complaining about connect_after. ;-) Just kidding.
The default is still to run signal handlers after the default handler unless the ConnectBefore attribute is added to a signal callback method. So something like this:
[GLib.ConnectBefore]
static void btn_press_event (object obj, ButtonPressEventArgs args)
{
Console.WriteLine ("Button Press Event Handler reached");
}
will allow you to short-circuit object encapsulation and change default widget behavior without subclassing just like in C.
I don't recommend this (as is probably obvious), but some compelling arguments were presented to me in Boston so I decided to cave and at least give people a mechanism to override the connection default. Unless you have a compelling reason to use ConnectBefore, I still recommend following the Object-Oriented paradigm of subclassing a widget and overriding the default handler to change its behavior.
March 08, 2004
§ ¶Back in the basement again.
Had to fight some 40 MPH winds into O'Hare, but I'm back home from the first ever Mono summit in Boston. It was an incredible week. I really enjoyed getting to meet all the Novell/Ximian mono hackers finally face to face.
Much of the agenda for the week was related to release planning and organization within the mono project itself. Since I'm the Gtk# dude, I got to hack instead of attending meetings all week. Todd Berman, Martin Baulig, and I cranked out the beginnings of an integrated debugger for MonoDevelop. Todd demoed it on Saturday to the folks that attended the weekend sessions.
So far, it can set/clear breakpoints, halt on breakpoints, step into and over C# code, and display the local variables for the current stack frame when execution is halted. Not bad for a few days hacking. Obviously there are lots more features which need to be implemented, but it's a nice start.
My Gtk# presentation on Friday seemed to be fairly well received. There were many good questions. I was very unprepared for the talk, but I hope it was useful as a current status update and demonstration. Now I need to get Gtk# cleaned up for a stable release alongside the mono 1.0 release.

