Yes, I would think it'd be perfect esp. for teaching situations to show both how to /program/ trees to generate code, or where a teacher makes an app that does something where the program can then be used as a simulator, such as for laying out electronic circuits (see below).
Docs need to be fleshed out in terms of how to make use of it, as I'm not sure "just" example code is sufficient for a widget like this. There's currently only reference docs (docs of all the methods), but a doc needs to be put together to show how it all works together. There's a full example "test-app" program that shows how to make custom buttons and boxes that let one add and multiply data streams together, generating a perl script that can then be run in perl to duplicate the layout. The example is wired to generate perl code, but the widget can also be used for non-code generation situations, like in-memory data structures, or even hardware control. For instance I could see circuit layouts being done with this, where each "box" could represent things like resistors, capacitors, solenoids, voltage generators, timers, virtual oscilloscopes, etc. And the buttons on the box represent inputs and outputs of these devices. Or simple audio circuits where you can add sin and cos waves together to graph out shapes. This is one widget where I think either a video tutorial or deep discussion with lots of screenshots would really be needed to fully get across how to make good use of it. In general, the idea is that the application programmer derive their own class for the "boxes" and "buttons" so that the behavior of those can be defined. For instance, defining a menu that pops up if you right click on buttons, or have certain behavior occur when you try to connect buttons that represent different data types, ie. connecting an integer to a string should either trigger a conversion, or be disallowed/post a dialog. Code generation is also a subject that can go a lot of directions. Robert Arkiletian wrote: > On Sat, Feb 20, 2010 at 11:03 AM, Greg Ercolano <[email protected]> wrote: >> Thought I'd put this here: >> http://seriss.com/people/erco/fltk/Fl_OpDesk/ >> >> Builds on linux and windows, haven't tested on OSX yet. >> >> A more official release notice for this "mega widget" is forthcoming, >> but thought I'd give you a preview. >> > > Holy cow, > > Greg, you are amazing! > > It immediately reminded me of logic gate diagrams. > > Source code generation. So cool. I'm in deep thought thinking about > possible applications of such new (and unique) widgets. > > As they say: Build it and they will come. > > Thanks for sharing and enriching FLTK :-) > _______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

