On 4/24/06, Robert Feldt <robert.feldt / gmail.com> wrote:> On 4/24/06, Ilmari Heikkinen <ilmari.heikkinen / gmail.com> wrote:> > re-implementing GUI widgets is a lot of work.> > Take a simple text editing box for instance:> > that's one vim (or emacs) worth of code right there.> >> I agree it is lots of work but the Editor widget in Inertia is> currently 230 LOC including empty lines. Granted it has only very> basic functionality but getting to a useful state cannot be too hard. A lot could be achieved by making a method call widget that'dbring up a form for the method's params:Right-click/use call-method kb shortcut on a String object,select gsub, up pops a form with a pattern field,a (optional) replacement field, and a block editor.Type in the params and it creates a new String object. GUIs are programming languages, in a way. So leveragingthe underlying programming language for as much existingfunctionality as possible would be really great. The hard work that remains is: rendering, user preferences,undo, different text directions, layout, input methods, integratingall this into a usable GUI, letting other people benefit from it :-) > It would be a great vehicle for GUI innovation. For apps> where the standard widgets are the way to go maybe this is not the> right framework. But what about LiveUpdatableGraphs etc? Where are> they in standard widget kits? etc... Yes, for new stuff it'd be great. Just native 3D capability in a gui toolkitopens the door for all kinds of nifty things that are not that doable withpure 2D drawing (smooth zooming, distortions, lenses, panning alandscape, perspective, etc.) > > Integrating kparts would be a way (> > no idea how doable that is though,> > ie. how to render a kpart to a texture and> > translate input events for it.> > )> >> Sounds interesting. What is kparts? KDE's component framework [1]. E.g. KWrite, Kate and KDevelop allcan use the same KTextEditor part for their editing needs insteadof writing their own (and the part can be switched to another too[2].) I don't know how they would fit the Self/Morphic/Naked Objects -system,but they seem to be very mimetype-centric; there's an image kpart,video kpart, html kpart. And mimetypes map to classes well. [1] http://en.wikipedia.org/wiki/KPart[2] http://www.freenux.org/mirrors/kvim/screenshots.html Ilmari