Thanks to Clairvoyance, all the hard work implementing multiple documents and tabs in WinUIpad is complete. There is still a lot of fit and finish work to do, but these are small issues, not major architectural problems. The goal that I've struggled to achieve for a year or more has been swept aside like it was nothing.
Last time, I discussed how I had started over with a new Visual Studio project, building out the basic UI and architecture and then fine-tuning the app user interface, building out the menu system and status bar, and implementing Add new tab, Close tab, and File open.
The progress since then has been breathtaking.
Thanks to Clairvoyance getting me past the biggest blocker I've experienced over the course of this project, I'm finally moving forward. In some cases, I'm reimplementing functionality I had previously completed, yes. But I'm comparing my code to Clairvoyance's code at each step, and choosing the one I prefer each time. As noted below, Clairvoyance made some different design choices than I had, and some of them are pretty good. But because this is my codebase inherently, I understand it and can move quickly.
And so I have.
Here's what's happened over the past few days.
App settings build out
As per my previous work building out the menu system again, I took on the settings page buildout next. This is a lot of UI, all based on the code I wrote with the initial Windows App SDK version of the app (which was itself based on an earlier and similar WPF implementation), and so it was more tedious than difficult. Well, at least the XAML bits.
I may just change it. The current design is based on the settings page in Notepad, of course, because the original goal with this was to literally reproduce that app as closely as possible. But as I've worked on this app over the past year, I've come around to the idea of it having its own identity, too. And while I feel good about my ability to implement the settings UI from Notepad, that UI is also a weird outlier that bears no resemblance to any other Microsoft app settings UI. And I'm not sure if I like it.
We'll get to that, and to related changes to the menu system but for now, I just want to put this behind me. And given that I'd already figured out settings, all I want mention here is a change I made to the Clairvoyance implementation.
One of the tricks with Windows App SDK and WPF is that changing the style of controls is hugely complicated. The most glaring example of this problem is how the TabItem control is styled incorrectly between the active and inactive states, at least if the goal is to match the look and feel of Notepad. I mostly figured that out myself earlier, and I the way I did it in WinUIpad this time around is simpler and not quite perfect. But the way Clairvoyance styled the settings page looked ... off. To me.
The issue is that's opaque, whereas the version I had made was transparent, as is the version in Notepad. Changing...
With technology shaping our everyday lives, how could we not dig deeper?
Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.