Archive for April, 2008

Dynamic Options/Preferences Dialog Library for wxWidgets

Tuesday, April 29th, 2008

So I’ve been doing a lot of work related to my carputer lately, and one of my big focuses is getting Roadnav to be more touchscreen friendly so that I can use it as my primary GPS application. One of the biggest problems I’ve found with most applications (and Roadnav is no exception, unfortunately) is that most of the dialogs are simply too big for my screen. The preferences screen has especially stuck out as an offender here.

To solve this, over the last week I’ve created a set of generic classes that you can use in wxWidgets to create options/preferences dialogs that have a consistent feel to them, and can be easily created at runtime. Its setup in a hierarchical manner, and each layer of the menu is dynamically generated at runtime. Here’s a nice screen shot of the top level menu for your viewing pleasure.

Now, since I’m designing this for a touchscreen, right now the visual design is definitely touchscreen focused. However, its generic enough (thanks to wxWidgets sizers) that you can change the logic in the dialog to whatever you want it to be, without having to change the definition of your menus. In fact, if you do it right you can even switch the look at runtime because of all controls are created at runtime, so each one of the option classes is designed so that you can destroy its controls and then bring it back again.

Another cool option that could be implemented is loading the definitions for the options from an XML file or something similar — I’ve actually created something like that before in C# for the pGina project (see their SVN) — since everything is dynamic, it would be pretty trivial to do that.

Anyways, here’s an overview of how it works:

Installing Monroe Quick Struts on my Grand Am

Saturday, April 26th, 2008

Apparently, the Boston area is notorious for having bad roads and huge potholes. The other day I was driving my 1999 Pontiac Grand Am around here, and I hit some pothole or something really hard… didn’t notice anything wrong though. So a few weeks later when it started really acting up, so I brought it somewhere and appearantly I totally snapped one of the springs in my front left tire, and my struts were bad in the front. With how expensive things are here, they wanted $430 * 2, plus labor costs to fix it… and no, that was not going to happen. Heres a picture of the broken spring/strut next to a new one:

So I found these parts called a quick strut — I got the parts from, and they were around $170 each. They come with the strut, springs, and everything you need, and they’re extremely easy to install! Even though they come with decent instructions, heres a quick howto in case you ever want to do this yourself:


Visual Studio Debug Paradox

Wednesday, April 23rd, 2008

So I’m busy working on some new configuration dialogs for the open source GPS program, Roadnav, and Visual Studio decided to access a null pointer or something while using autocomplete, and crashed. Then windows of course displayed the following dialog…

Yeah… like I want to use Visual Studio to debug ITSELF when it JUST CRASHED!!! Geez… like I’m going to trust the program that crashed to figure out why it crashed. Psh.

FYI: Yes, this is sarcasm, I understand the “why” thats going on here.

Hillary Clinton slighted by

Wednesday, April 9th, 2008

Below is a rather amusing screenshot of an ad I saw on….

Who will join this years TIME 100? The ad shows John McCain, Stephen Colbert, Barack Obama, and three other people I can’t identify offhand. I guess they’ve already written Hillary off and shes no longer important… so much for journalistic neutrality.

FYI: I don’t really care for Hillary as a candidate myself… however, I still found this amusing.

Ubuntu Mobile Screenshot on my Carputer!

Saturday, April 5th, 2008

Well, I’ve been putting in a lot of work trying to fix different things with my carputer, and I can proudly say that the software is *almost* ready for primetime (for real this time, none of that half-working crap I had before!). Check out my Lilliput LCD screen working PERFECTLY (which is a huge surprise, its a serious piece of crap) on my Ubuntu-Mobile desktop. Pardon my wallpaper, I need to change it so it fits a little bit better…

Its looking pretty good so far, if I do say so myself. Much better than what I originally had. Right now, I’m working on getting Roadnav integrated more fully into the hildon envionment that Ubuntu mobile uses. And I need to get the stupid media player actually *playing* my MP3’s… you’d think that would be really simple to make work.

C# Oscilloscope and Analog Meter Controls

Thursday, April 3rd, 2008

I updated my C# analog meter control awhile ago (it had some bugs), but never got around to posting it online. Well, here are those updates, PLUS I integrated a C# Oscilloscope control as well! I’d put up some screenshots, but I don’t currently have a compiler installed for C# (been redoing my machine) so I can’t take any. But, it works pretty nicely except for a few non-serious bugs….

This is an ongoing set of postings documenting some of the software I developed for my senior project this fall.

Go download it.