My deadline was 4 o’clock and that’s a screenshot of the running app. My progress has been good but even so, one or two more weekends. As it stands here, you can get the source. It’s not done, but remember this is just for fun.
A couple of interesting things about development. For starters, I need to restructure the data once I was building it. The first approach kept all the tasks in collections that were part of the projects.
Getting a list of all the tasks becomes difficult so in the end, the data was structured much like it is structured on Remember the Milk. For disorganized people around the world, it’s a free app that allows you to share tasks and lists with anyone at home or at work. It unlocks other features if you open an account.
With ID reference, I have a list of both projects and tasks and then I tie them together. This is a little less of XML and a little more of DB but it has simplified things. I also created three controls that I want to share. However, before they are general purpose, they need some tweaking. But sift through the source and use them as you see fit.
CalloutShape is the first shape. It’s a shape you see surrounding the calendar. The arrow, with its fixed height and width, is in a fixed spit. Though, that will be easy to customize. Let me know if you do the work and I’ll link or post to the new version.
It’s worth checking out if you haven’t created a shape before. It’s a simple example. When creating the geometry of the shape, I use CombinedGeometry to merge the rounded rectangle with the arrow.
That’s a useful technique to know to create a geometry that would normally require a lot of maths so as to handle the rounded corners. IndexingStackPanel is a panel that comes next.
It comes from Kaxaml and is essentially a StackPanel that sets attached properties on its children. You will know whether it’s even or odd, you will know the child’s index and where it is relative to the selected item in a Selector. It’s useful for the likes of alternating line colors.
Lastly, there’s a simple calendar control, but it is perhaps still too simple at this point. It is supposed to be used with another control to handle month changes. At the moment it displays dates and allows you to select one. Let me know if you do anything cool with it.
Well, thanks for being in touch and following along and I’ll keep you posted on the progress of the Thought box. A real good feature of the Thought box is that it lets you see notes and lists related to a particular topic in one spot.
If you’re looking for something that works on Windows and if you’re a fellow GTDer, I’d like some help with this project, so just drop me a line and work something out.