Wednesday, July 7, 2010

Making Smart Completion Smarter...

When the Command Line completion was done, I finally was really happy that things were better. But sadly some internals were not right. Just trying to create a point, and writing just after the coordinate, will make that the point to be created that many times. In fact the coordinate of the point was sent as many times as character were written previously. The yesterday (quick and dirty) solution was to make sure that any time a character is written, some message passing (named events and delegates in .NET world) were cleaned up. Today, also being "motivated" that writing a negative coordinate can make NaroCAD to crash, I've review the code and I done the fix in both ways, in the idea that the command line will try to not make "completion" when a '-' (minus) is written, but also I've made sure that no extra logic is executed anyway. So in this way, even I will remove the extra checks that were done in the last two days (which are good anyway, just as they validate the input), no extra message passing is happening.
Also the Options dialogs were ported to WPF and they likely seem to work. This will reduce the Windows Forms code in NaroCAD to just custom dialogs that are still present in some tools (some that are really hard to port, like rendering's preview one) and will likely make the experience more consistent. Also the code is defined in MVC paradigm, so you may be able to change at least in some instances the interface without changing a line of code from the options code.

No comments: