Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] off-topic... steel/liquid v1.0 going alpha.

From: maximo::meteorstudios::com at: 22-Jul-2003 10:27

hi all, liquid is finally going alpha. At home it has gone through FOUR (4) 100% rewrites in one month. The problem is finding a balance between speed, features and lightness. each version was best at each one of those three things and now the forth has about 75% of each in 50% less code (from over 30k to just a tad over 15k). Its also more flexible for power-users. at one point three full-fledged (and highly redundant) classes where needed to do what this new class does simpler and better. Although I'm still teasing all of you, the new engine is simply amazing (at least I think). It supports: -multiple signals per object. -run-time creation/trashing/recycling of signals and/or handlers. -run-time connection which lets you build your signals in advance with ALL the handling you need and let other signalers connect-in later. -Another cool thing is that if you transfer your connection to another signal pipe, your will continue receiving events with the same handler function, but with data changes of the other data pipe. The api interface is extremely high-level with a deeper level of control if you want it. A default mechanism was integrated in every method for cases where you do not need multiple signals per object. In that mode liquid is child's play to use and setup. Liquid, integrated in vid, now looks like: view layout [ styles liquid-vid below val: text 200x25 format [ rejoin ["value :" data]] field attach val sldr: slider attach val 200x25 ] here slider, field and text all update synchronously and with no additional programming on your part. in the example, the text block also has automatic formating applied to it when the value changes. adding the following to the vid block above: [ min-val: field attach 'value 'min sldr max-val: field attach 'value 'max sldr field attach sldr slider attach 'value 'min sldr slider attach 'value 'max sldr ] will create a complex network of gadgets which ALL refresh together. really, this setup actully updates all fields and the value scroll bar's offset as you change the min and max slider or fields. if the scroll bar gets out of bounds you can easily add a little hook which cleans it up befor passing it to the rest of the "pipe". I PLAN ON RELEASING THE STEEL PROJECT on august first, at the state it will be at that moment. Things it WILL most probably have: -liquid v1.0 alpha -liquid-vid (ALL your beloved vid styles liquified, ready to piped like in the above examples) -documentation on how to use liquid and the prebuilt vid styles. -open-library system (v0.5 lib/rebol versioning is disabled... but still expected) -an interim version of liquid-metal (to build UI with VERY simple resizing) -Steel IDE, v0.0.1 which uses everything in the toolkit. (but does nothing with it ;-) -some other libs necessary to run the current state of the ide. -a dumb-proof installer which lets you easily setup the kit, and remove it. At that point all user comments/requests/suggestions will be collected and put into one file and put on the net, updated weekly (that't one of the purposes of steel, btw). I hope some of you are following this and I really wish steel to be a success, for all of us. Every suggestion will be considered, even if it seem philosophically contradictory to the state of the steel project at the time. I plan on making the engine scalable from 2 line code tests up to multiple file/archived/annotated/installable and versionned projects. I don't want to say anything more, cause I don't people to expect too much in the begining. CIAO!! -MAx PS: sorry for using this list, its the only place I post about rebol stuff and I try to keep steel-related posts to less than mail every two weeks.