Free Projects Part 3: SketchPad
Last week's project
So far the response to my free projects has been positive. There was a question about why I put the strange requirement of having to create a project to get the code. The simple reason is because I thought it was funny. I have no way to enforce that anyone does anything with the code. As with all of my open source work, I simply hope that something useful comes out of the effort I put in. So if you like the code just drop me an email saying so. That's really all. And with that, here is the code to the stacked editor.
Now, on to this week's project:
SketchPad: A Generic Reusable Tookit for Building GUI Editors for Building Graphical Products
Okay, I seriously went waaaaay to meta on this one. What I actually built with it is two visual editors. One is a Swing GUI builder with some experimental ways of configuring the constraints using magnet like controls. The other is a simple drawing app with grouping abilities. But hey! It's got a nice scrolling ruler! I'm sure that could be used for something cool!
Drawing program with ruler
Swing Layout program with magnet grid controls
What could you do with it?
The toolkit API itself is a mess. I wrote it over several years while I was learning more about API design and I hadn't done much with reflection yet. I wouldn't try to build further apps with it. I think the code generation and on the fly compilation parts might be useful. There are several components within it which might be reusable, like the scalable ruler. I think there are also some interesting interaction ideas here, such as the magnet layout and the simple drag for shapes.
NetBeans 6.0 update
Just to let you know what we are up to, here is a screenshot of the latest Action Property Editor dialog. This dialog lets you select any action, update it's properties, or create a new one either in the current class or application wide. It still needs lots of tweaking and may look completely different by the type 6.0 goes final, but this will give you an idea of where we are headed.
Action Property Editor dialog
More photos for your enjoyment.
Enjoy. More code and screenshots next week.