[aplusdev] Win port revisited (Cross Platform GUI)

stevan apter sapter at earthlink.net
Thu Aug 2 11:00:27 EDT 2001


----- Original Message -----
From: "Stefano Lanzavecchia" <stf at apl.it>
To: <aplusdev at d13.com>
Sent: Thursday, August 02, 2001 10:06 AM
Subject: RE: [aplusdev] Win port revisited (Cross Platform GUI)


> > Here are some possibilities for cross platform GUI for A+.
> > 1. Re-implement MSTK on top of an existing cross platform GUI tool kit
>
> > like wxWindows, FLTK, or GTK+.  This looks like a lot of work.
>
> As far as I know the A+ GUI is optimised to be able to handle large
> quantities of data, in particular tabular data in its grid object. I
> think that any implementation which requires movement of data (TCL/TK,
> XUL, XML-RPC) would destroy performance. In fact this seems to be the
> major drawback of Apter's Java GUI extensions to K.
>
> To maintain the same level of performance with large variables the only
> way is for the GUI extensions to be able to access directly the internal
> representation of the variables.
>

actually, there's no need (at least in the k-java toolkit) to access
the internal representations in order to provide display of large variables.
let me explain why.

currently, when variable v is manifested, the formatted content of v
is sent to the java process where the widget is manufactured and displayed.
the widget then owns a copy of the contents of v.

it is a fairly trivial matter to avoid this, and so permit the display of
large variables:  when v is manifested, send the count of v and the the
formatted content of the first n elements of v, where n is small, but
large enough to span several windows-full.  as the thumb of the scrollbar
moves, the widget makes calls into k for more data (and zeroes out data
which is "far enough away" from being displayed.

if v is very large -- millions of elemenets -- than obviously you don't
want to read all of v into the widget if you move the thumb from top to
bottom.  instead, you want to use some kind of sampling algorithm to only
*give the impression* that this is the case.

mike and i still plan to implement this functionality, but we decided to
punt until k4, and make it part of a general rewrite.

the major difference between the A+ gui and the k-java gui is that the
latter involves two processes:  a java process, where the widgets are
manufactured and displayed, and a k process, where the variables live.  but
as i said, that constitutes no obstacle at all for displaying large
variables.

best

sa



> --
> WildHeart'2k1 - mailto:stf at apl.it
> Homepage: http://come.to/wildheart/
>
> <<<Onegai dareka itte "kimi wa daijoubu dakara" to ---
>    Please, somebody tell me "You'll be all right">>>
>
>




More information about the apluslist mailing list