Had an awesome week of work last week, I finally started the actual Weighbridge client project that I’ve been working toward for the past six months. The guts of the client is the delivery wizard which guides the user through a series of steps to create one of the types of deliveries we receive in and out of the mill.
The steps and layout are defined by the old version of the client we’re replacing, the users are happy with it so I can’t stray too far from it, but that app was designed in the days of tiny screen resolutions. So problem number one was how to keep the layout roughly the same and cater for much higher res widescreen monitors.
The solution I came up with was to use Viewboxes to allow the user to choose their own zoom level and display the previous and next steps either side of the active step you’re filling out. So if you have trouble seeing you can have the single step filling up the whole screen, if you’ve got a massive monitor you can see what you’ve done in a previous step as you fill in the next step.
You also end up with a nice cover flow style and reflection look as well.
I also came up with a nice little threaded class that takes an INotifyPropertyChanged object and property name, it monitors that property (using a little .Net reflection) for changes over a certain length and kicks off a search in a background thread. Perfect so little lookups and validation.
Those links you can see in the screen shot are little controls that you can hover over to see that object’s full details (in a popup), another benefit inherited from my previous viewmodel/view design. In fact we should be able to directly link most of those views to the source files in the MilliT admin project.
It may have taken me all week to get one step done, but the major pieces are in place now so the rest of the wizard will be easy!