I'm pleased to announce the first stage of my roadmap to fully open Default Programs Editor with the release of Aero.Wizard and Aero.Controls.
What are Aero.Wizard and Aero.Controls?
Aero.Wizard is an WinForms implementation of an Aero Wizard Dialog. Aero.Controls is a package of a half dozen WinForms controls, intended for use with an Aero Wizard Dialog. These are some of the components I wrote for the creation of Default Programs Editor 2.0 with the revised user interface, and I'm now freely releasing them to the public.
- History/Navigation handled automatically
- Page contents are children of separate container controls, which can be created in design time like a regular Windows form
- Glass title area degrades gracefully when running a theme without glass, or on XP
- Blank Wizard Page template included
- Use with Aero.Controls pack to make Windows UX Guidelines compatible user interfaces
- Main Instructions Label
- Command Link button
- Instant Search Box
- UAC Shield Button
- Split Button
- Listview with Mixed State checkbox
- Aero Link Label
Both of these projects strive to adhere to the Windows User Experience Guidelines, freely available documentation from Microsoft which provided the basis for the DPE 2.0 restructuring.
I debated for some time on this issue, trying to figure out a permissive license where I could retain some amount of ownership without being overbearing. I settled on BSD, which in my opinion is very permissive and seems to be low-friction for other developers to use this code in their projects.
Both projects are hosted on Bitbucket (Mercurial) and you can either clone the repositories, or download the latest revision as a zip file. I encourage anyone to contribute bug fixes or report issues on each project's public issue ticketing system.
With the release of this code pack, my plan for fully releasing Default Programs Editor is underway. It is now possible to fully replicate the UI with this release. The next step is for me to continue refining and documenting the base file association library the project is built on, then release that as well as the UI logic for the program itself. Be looking for that in the next few months.