I've played with a number of IDEs for building GUIs and the easiest for me was Visual-TCL also known as V-TCL. not familiar with Zinc, but just want to say think you for not binding this with KDE/Gnome. things(building/distributing) always get too complicated with you start down that path. --- Eric Wilhelm <ewilhelm@> wrote: > Ok, I'm just coming out of the woods with my adventures in Tk::Zinc. > The text zooming did indeed work out, but it took some juggling to > get from a "height" to a "font" (and that font is currently > hard-coded.) If you're feeling adventurous, feel free to dig into > the subversion repository. > http://ericwilhelm.homeip.net/svn/CAD-Drawing/trunk/code/CAD/Drawing/ > > Sorry, no tarballs yet. Maybe once it's seen some use I'll put it on > CPAN. > > Some interesting issues come up in how to create keybindings between > multiple windows. For instance, the zoom function. The "z" key > activates zoom from any toplevel widget, but which canvas should it > put that functionality into? My solution is "all of them". The > problem then is how to tell the other canvases that you are done > zooming (and that therefore they should be too.) This leads to the > sharing of the functionality CAD::Drawing::GUI and > CAD::Drawing::GUI::View modules. The GUI module handles the > management of multiple canvases, while the View object is a single > canvas (though it has to have the same drawing on it, scale and etc > are independent.) > > As for the braind-dead-ness. I looked at GTK, QT, TK, WX, and finally > ended up with Tk::Zinc because it was the only one that was able to > scale text without having to do the recalculate-approximate dance > (which leads to really bumpy zooming when you have to jump from 12pt > to 24pt.) > > So, why are we using points to describe text in a world of pixels? > > Furthermore, why does the y-axis have to point downward? Sure, that's > how X works, but isn't the point of toolkits to make programming > easier? Am I thinking upside-down, or is that everyone else? > > Finally, what's with the rectangles? Okay, a rectangle can be > described with two points, but it's just a special case of a > polyline. A circle usually doesn't have it's own method (we have to > call it an arc), so why rectangles? On top of that, we describe said > rectangles as a list of four points?! Isn't it a pair of pairs? > > While I'm at the rectangles, why are arcs and elliptical arcs > described as fitting inside of a rectangle? At least with Tk::Zinc, > I can apply rotation afterwards (to get a slanted elliptical arc > (though that makes for some hairy math), but Tk and Wx also suffer > from the rectangular world syndrome and don't seem to have a way to > rotate entities. > > Is there not any demand for these things? I just want a right-side-up > canvas with arcs described by a center and radius, scalable > pixel-sized text, and the ability to draw angled elliptical arcs. > > It's getting to the point where I just want to abandon most of the API > and draw everything as bezier curves. Of course, the slow-down of > evaluating these curves in Perl would not be fun. > > On a more upbeat note, working on this did give me an idea for a > cadfs-based toolkit. Basically, this would be like Draft in that it > immediately displays what happens in the database. However, to be > able to repurpose (embed, etc) it for other applications, you would > want a way to bind callbacks and such to this gui (particularly, a > way for those callbacks to involve multiple viewports, etc.) > Unfortunately, my latest effort is attached to the aging CAD::Drawing > data-structure, but the concepts could easily be re-attached to > something else (and should maybe be done so in a compiled language.) > > --Eric > -- > "Left to themselves, things tend to go from bad to worse." > --Murphy's Corollary Given any mechanical device and the probablity for error to occure. as long as all component are proportionally in error, then the device will continue to funtion in a normal manor. or as my father would say, make it fit. > ===== phrostie Oh I have slipped the surly bonds of DOS and danced the skies on Linux silvered wings. http://pfrostie.freeservers.com/cad-tastrafy/ //www.freelists.org/webpage/cad-linux //www.freelists.org/webpage/cad-linux-dev //www.freelists.org/webpage/snafuu