public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: AWT is dead now
@ 2000-03-21  1:08 Nic Ferrier
  2000-04-01  0:00 ` Nic Ferrier
  0 siblings, 1 reply; 60+ messages in thread
From: Nic Ferrier @ 2000-03-21  1:08 UTC (permalink / raw)
  To: per, java-discuss

>>> Per Bothner <per@bothner.com> 21-Mar-00 5:28:24 AM >>>

>One exciting idea I want to explore is to use the XSL
>"formatting object" model for views.  See http://www.w3.org/TR/xsl/

>We could base the implementation on FOP
( http://xml.apache.org/fop/ ),
>which is an open-source implementation in Java sponsored by the
Apache
>XML Project.  

Not GPL/LGPL compatible remember.




Nic Ferrier

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  1:08 AWT is dead now Nic Ferrier
@ 2000-04-01  0:00 ` Nic Ferrier
  0 siblings, 0 replies; 60+ messages in thread
From: Nic Ferrier @ 2000-04-01  0:00 UTC (permalink / raw)
  To: per, java-discuss

>>> Per Bothner <per@bothner.com> 21-Mar-00 5:28:24 AM >>>

>One exciting idea I want to explore is to use the XSL
>"formatting object" model for views.  See http://www.w3.org/TR/xsl/

>We could base the implementation on FOP
( http://xml.apache.org/fop/ ),
>which is an open-source implementation in Java sponsored by the
Apache
>XML Project.  

Not GPL/LGPL compatible remember.




Nic Ferrier

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:44                 ` Brian Sullivan
  2000-03-21 11:38                   ` Jonathan P. Olson
@ 2000-04-01  0:00                   ` Brian Sullivan
  1 sibling, 0 replies; 60+ messages in thread
From: Brian Sullivan @ 2000-04-01  0:00 UTC (permalink / raw)
  To: ks, java-discuss

ks@micky.rgv.hp.com wrote:

> > 4) if somebody really need it at that point, implementing
> > AWT widgets by calling Swing code: I believe that it is (or
> > was) Sun's plan too.
> >
>
> What amazing hubris.  Who is implementing AWT on top of Swing supposed
> to help?

I'm not the original poster, but I'll chime in here.

There are many special cases for AWT heavyweight/lightweight interactions
in the AWT code which I'm quite sure everyone at Sun responsible for it
would love to abandon.  All the special case code and hacks would
disappear.

Heavyweight and lightweight mixing together on the same form just doesn't
work particularly well; replacing AWT heavyweights with lightweights would

solve this.  Our GUI designer allows heavyweight to be mixed with
lightweight,
including live in the editor, but we sure recommend against it.

> Cheers,
> -kls

Regards,
Brian Sullivan

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:47                   ` Jeff Sturm
  2000-03-21 10:12                     ` Cedric Berger
@ 2000-04-01  0:00                     ` Jeff Sturm
  1 sibling, 0 replies; 60+ messages in thread
From: Jeff Sturm @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:
> > Is Java2D required for Swing?
> 
> No, but Graphics2D (the Java2D engine) is a superset of the
> old Graphics class needed by everyone who want to paint on
> a window. So only Graphics is needed for most Swing apps.
> but Graphics2D re-implement (not just augment) all Graphics
> methods; so if plan to develop Graphics first and Graphics2D
> later, I would assumes that most of the work doing Graphics
> will be lost.

OK.  It's becoming clear (to me) that there are folks who want to do
quite fancy graphics stuff in Java, maybe even game programming.

Not everybody is in that crowd (our requirements are fairly primitive
and easily met by java.awt).  Those who want a free Java2D may be stuck
implementing it themselves, since I kinda doubt its a high priority for
libgcj or classpath.

That said, the libart stuff that Per mentioned looks like it could be a
great starting point.  I wonder how much of Java2D could be implemented
by libart directly.

> IMHO, it would be better to start implementing Java2D with
> the latest specs (1.3), but starting with the pieces that are really
> needed by Swing (bezier curves can be left for later...)
  ^^^^^^^^^^^^^^^
Umm... you just said Swing doesn't require Java2D...

-- 
Jeff Sturm
jsturm@sigma6.com

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  8:56               ` ks
  2000-03-21  9:17                 ` Cedric Berger
  2000-03-21  9:44                 ` Brian Sullivan
@ 2000-04-01  0:00                 ` ks
  2 siblings, 0 replies; 60+ messages in thread
From: ks @ 2000-04-01  0:00 UTC (permalink / raw)
  To: cedric, java-discuss

> There has been a lot of discussion about AWT vs Swing design
> option, and I think that most people agree that Swing has two
> major advantages over AWT:
> 1) platform independence: you don't need to test thing on many
> platform, the code is the same, the bugs are the same, ...

This is the hazard of microsoft domination of the PC market for the
last ten years.  If it runs on one platform that covers 80% of the 
machines, it must be platform independent.

Take this clue.  Swing does not run on KVM.  Swing does not run on
Chai.  Swing does not run on IBM VM.  Swing does not run on Kaffe.
Swing does not run on jview.  Swing does not run on TowerJ.  

There are workarounds for some of these.  As long as Sun's licencing
for Swing/1.1 remains as it is you can distribute the swing jars with
your application, which would also work for gcj.  But the licensing 
was changed for JDK1.2, and as Kaffe, GCJ and others start adding 1.2
functionality, I don't think that Sun will hand them the rights to 
redistribute Swing without bringing along the rest of the JDK.

I'd like to see you use a swing based application from a system 360
on top of remote AWT though.  Molasses in winter comes to mind.

[...]
> 
> 4) if somebody really need it at that point, implementing
> AWT widgets by calling Swing code: I believe that it is (or
> was) Sun's plan too.
> 

What amazing hubris.  Who is implementing AWT on top of Swing supposed 
to help?

Cheers,
-kls

^ permalink raw reply	[flat|nested] 60+ messages in thread

* RE: AWT is dead now
  2000-03-21  9:50 Boehm, Hans
@ 2000-04-01  0:00 ` Boehm, Hans
  0 siblings, 0 replies; 60+ messages in thread
From: Boehm, Hans @ 2000-04-01  0:00 UTC (permalink / raw)
  To: 'Cedric Berger', Nic Ferrier; +Cc: java-discuss

I personally think that applets are relevant in this context.  I wrote one
that I would really like to be able to compile with gcj, to reduce the
startup overhead, if nothing else.  Compiling it as an application is
trivial; finding an AWT implementation is obviously not.

In general, it seems to me that this gives a way to write small desktop
tools only once, and have them be runnable quickly as a native executable
from the local disk, or occasionally from within your favorite browser.
This is probably not the most important use of gcj, but it seems to me it is
a potential use, that we shouldn't completely discount either.
Unfortunately, my impression is that very few of them use Swing. 

Hans

-----Original Message-----
From: Cedric Berger [ mailto:cedric@wireless-networks.com ]
Sent: Tuesday, March 21, 2000 8:59 AM
To: Nic Ferrier
Cc: java-discuss@sourceware.cygnus.com
Subject: Re: AWT is dead now

Well, than show me some real *applications* that uses AWT. And I'm not
talking
about applets (not very relevant in a GCJ context) or book's examples.
I'm talking about real, useful, applications.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:13               ` Bryce McKinlay
@ 2000-04-01  0:00                 ` Bryce McKinlay
  0 siblings, 0 replies; 60+ messages in thread
From: Bryce McKinlay @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:

> Nobody uses AWT widgets anymore. I've never seen a new AWT
> application the last two years. In fact, Swing is widely recognized
> as the better GUI toolkit availabe today (and I'm not speaking of
> Java only). The main problem so far was speed, but JDK 1.3 is
> much better, and having the code compiled with a tool like GCJ
> will also make it much faster.

Definatly. Swing is a far superior toolkit to anything else I've ever seen.
Its weaknesses (apart from speed) are poor intergration with native
applications and poor integration between swing applications (eg cut &
paste, drag & drop, etc - although I think these are being remedied
somewhat in JDK 1.3). These are the things we'd be adressing with a "gcj
toolkit". I want to write native applications, but with a Swing API.

> IMHO, the right way to develop a graphic library for Java today
> is:
>
> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.
>
> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

Yeah, whatever the long term plans, we've got to start somewhere.
Implementing an AWT 1.1 using gtk native peers that can run Sun's Swing 1.1
distribution is a reasonable goal in the short term.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  3:08 ` Bryce McKinlay
@ 2000-04-01  0:00   ` Bryce McKinlay
  0 siblings, 0 replies; 60+ messages in thread
From: Bryce McKinlay @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: java-discuss, cedric

Nic Ferrier wrote:

> Who have you been talking to? Many people who make their living out
> of writing Java agree that Swing is bloated and badly designed. Any
> close analysis reveals this to be true, at least in part.

Bloated? Yes. Badly designed? I disagree. Yes, there is a lot of crap in

swing, but in principle I think it is a very well designed architecture.

It is highly unlikely that Swing will ever be completely reimplemented
in a free software project. Free software can achieve great things, but
only where there is sufficient desire and motive to do so. I for one do
not feel particularly motivated to attempt such an endeavor. It will be
more fun to come up with something better.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:26                     ` Cedric Berger
  2000-03-21  9:38                       ` Denis Balazuc
@ 2000-04-01  0:00                       ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

> Cedric Berger <cedric@wireless-networks.com> writes:
>
> > What is the real advantage of Gtk over "pure Java"? Speed?
>
> (Speed is not a major advantage - we always have the option of
> replacing critical methods by CNI for a "mostly-Java" solution.)
> (1) It may be easier to implement something useful if we build on gtk.
> (2) Increased compatibility at the code level between C/C++/Java,
> makes it more feasible to mix components in different languages.
> (3) Better look+feel compatibility between Java apps and Gnome
> apps.  Specifically, Swing L+F should follow gtk themes.
>
> I think (3) is the most important, at least long-term.
> At the very least, we need a default Swing look+feel that just
> uses the current gtk theme.

I'm quite sure that a lot of peoples (including me) would *love* to
have a good Swing L&F that uses gtk themes, especially if it
can be plugged in other VM implementations...
I agree that the implementation of  L&F other than Metal has been
so far a very week part of Sun's implementation. But I don't see
any reasons for that except (wrong?) priorities at Sun.
I understand that Sun wanted to keep Swing in pure java up to
version 1.1, but now that it's integrated in the core, I don't see any
reasons why it cannot uses native method to query the platform's
desktop settings for things like themes, widget size, ...

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 14:05                 ` Paul Fisher
@ 2000-04-01  0:00                   ` Paul Fisher
  0 siblings, 0 replies; 60+ messages in thread
From: Paul Fisher @ 2000-04-01  0:00 UTC (permalink / raw)
  To: java-discuss

Jeff Sturm <jsturm@sigma6.com> writes:

> What are Kaffe and Classpath doing?  Are people using Swing with
> those?

Swing 1.1.1fcs reportedly works under the Kaffe Xlib-based AWT.

The majority of Swing 1.1.1fcs works under the Classpath GTK+ peer set
when the peer set is shoved in between Sun's non-peer AWT and Swing.

Screenshot of Metalworks running under the GTK+ peer set:
<URL: http://people.redhat.com/pnfisher/metalworks.png >

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 11:46                     ` Nathan Meyers
@ 2000-04-01  0:00                       ` Nathan Meyers
  0 siblings, 0 replies; 60+ messages in thread
From: Nathan Meyers @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Jonathan P. Olson, Brian Sullivan, ks, java-discuss

On Tue, Mar 21, 2000 at 05:27:53AM -0700, Jonathan P. Olson wrote:
> I think that the "heavyweight" vs. "lightweight" terminology is really
> misleading.  Seems like the Swing "lightweight" components are usually
> heavier and slower than the native "heavyweight" components.
> A better terminology would be "native" vs. "pure java" or "peer" vs. "non-peer".

The terms have outlived their original purpose, in the X Windows world,
where "heavyweight" components consumed actual windows resources in the
X server and "lightweight" did not. Unfortunately, they've stuck (and
even mutated).

Nathan Meyers
nmeyers@javalinux.net

> 
> -- 
> Jon Olson, Modular Mining Systems
> 	   3289 E. Hemisphere Loop
> 	   Tucson, AZ 85706
> olson@mmsi.com
> Phone:	(520)746-9127
> Fax:	(520)889-5790

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 21:30               ` Per Bothner
                                   ` (3 preceding siblings ...)
  2000-03-21 14:33                 ` Paul Fisher
@ 2000-04-01  0:00                 ` Per Bothner
  4 siblings, 0 replies; 60+ messages in thread
From: Per Bothner @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger <cedric@wireless-networks.com> writes:

> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.

I agree this comes first.

> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

It seems plausible to use libart (see http://www.levien.com/libart/
and http://developer.gnome.org/arch/imaging/libart.html ).

> 3) implementing Swing on top of the minimal AWT (or
> borrowing it from 1.1 as a temporary solution). Swing is not
> a trivial piece of code, but the advantage is that since almost
> all functions/members of Swing are either public or protected,
> all the skeleton of the code can be written from the JavaDoc
> output of swing. "only" filling the method's body is required.

Well, this is the "pure Java" approach.  It may make sense
to use existing Gtk widgets instead.  It may also make sense
to do provide both:  I.e. the toolkit by default uses Gtk
widgets, but that can be overridden.

I think the "model" classes should be pure Java (except perhaps
a few CNI methods for speed).  However, the "view" classes
should perhaps be based on gtk widgets.  At least the default
implementation of the view classes should use the gtk theme
framework.

One exciting idea I want to explore is to use the XSL
"formatting object" model for views.  See http://www.w3.org/TR/xsl/ 
We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
which is an open-source implementation in Java sponsored by the Apache
XML Project.  FOP can generate pdf - and it also includes
a viewer, so it could form the basis for a "view engine".
(However, I don't know if the Apache license is viewed as
being compatible with the modified-GPL of libgcj.)

Similarly, it might be cool to have the Element hierarchy of a
Swing Document implement the org.w3c.dom.Node.  This might provide
a nice integrated and efficient XML environment.

> 4) if somebody really need it at that point, implementing
> AWT widgets by calling Swing code

That is my suggestion, too.
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 10:12                     ` Cedric Berger
@ 2000-04-01  0:00                       ` Cedric Berger
  0 siblings, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Jeff Sturm, java-discuss

Jeff Sturm wrote:

> > IMHO, it would be better to start implementing Java2D with
> > the latest specs (1.3), but starting with the pieces that are really
> > needed by Swing (bezier curves can be left for later...)
>   ^^^^^^^^^^^^^^^
> Umm... you just said Swing doesn't require Java2D...

Ok, I will try to be more clear.

AWT inplements the following draw methods:
   Graphics.drawLine(x1, y1, x2, y2)
   Graphics.drawArc()
   Graphics.drawPolygon()

I suspect that in JDK 1.0/1.1, these are all native methods.

In JDK 1.2/1.3, the basic primitive used by Java2D to draw is
   Graphics2D.draw(Shape)
and (for what I understand) drawLine() drawArc() are implemented
by creating the corresponding Shape object and calling
Graphics2D.draw().

So what I was suggesting is: let's go strait to the Graphics2D class,
with the Shape concept, but starting by implementing Shapes that are
useful for Swing (i.e. Rectangle and Line are useful, QuadCurve2D
is not).

Cedric


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:04   ` Tom Tromey
@ 2000-04-01  0:00     ` Tom Tromey
  0 siblings, 0 replies; 60+ messages in thread
From: Tom Tromey @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: Nic Ferrier, java-discuss

>>>>> "Cedric" == Cedric Berger <cedric@wireless-networks.com> writes:

Cedric> Well, than show me some real *applications* that uses AWT. And
Cedric> I'm not talking about applets (not very relevant in a GCJ
Cedric> context) or book's examples.  I'm talking about real, useful,
Cedric> applications.

I don't know the answer to this, but in a sense it doesn't matter.  It
is also important to have it just so we can say that we do.  Sad but
true.

Cedric> Yeah, but fortunately, Swing only uses a small subset of AWT.

I'm not picky.  I wouldn't reject a patch just because it implemented
the part of AWT used by Swing and nothing else.  :-)

Tom

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 11:38                   ` Jonathan P. Olson
  2000-03-21 11:46                     ` Nathan Meyers
@ 2000-04-01  0:00                     ` Jonathan P. Olson
  1 sibling, 0 replies; 60+ messages in thread
From: Jonathan P. Olson @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Brian Sullivan, ks, java-discuss

On Tue, 21 Mar 2000, Brian Sullivan wrote:
>
>I'm not the original poster, but I'll chime in here.
>
>There are many special cases for AWT heavyweight/lightweight interactions
>in the AWT code which I'm quite sure everyone at Sun responsible for it
>would love to abandon.  All the special case code and hacks would
>disappear.
>
>Heavyweight and lightweight mixing together on the same form just doesn't
>work particularly well; replacing AWT heavyweights with lightweights would
>

I think that the "heavyweight" vs. "lightweight" terminology is really
misleading.  Seems like the Swing "lightweight" components are usually
heavier and slower than the native "heavyweight" components.
A better terminology would be "native" vs. "pure java" or "peer" vs. "non-peer".

-- 
Jon Olson, Modular Mining Systems
	   3289 E. Hemisphere Loop
	   Tucson, AZ 85706
olson@mmsi.com
Phone:	(520)746-9127
Fax:	(520)889-5790

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:25                 ` Cedric Berger
  2000-03-20 22:56                   ` Per Bothner
@ 2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

Per Bothner wrote:

> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
>
> It seems plausible to use libart (see http://www.levien.com/libart/
> and http://developer.gnome.org/arch/imaging/libart.html ).

Wow, this looks great!

> > 3) implementing Swing on top of the minimal AWT (or
> > borrowing it from 1.1 as a temporary solution). Swing is not
> > a trivial piece of code, but the advantage is that since almost
> > all functions/members of Swing are either public or protected,
> > all the skeleton of the code can be written from the JavaDoc
> > output of swing. "only" filling the method's body is required.
>
> Well, this is the "pure Java" approach.  It may make sense
> to use existing Gtk widgets instead.  It may also make sense
> to do provide both:  I.e. the toolkit by default uses Gtk
> widgets, but that can be overridden.

What is the real advantage of Gtk over "pure Java"? Speed?
What can you do with Gtk that you can't do with "pure Java"?
I must say that I don't know a lot about Gtk (unfortunatly, the
only native toolkit I've ever programmed so far is Win32/MFC)
but having used Swing a lot, I can see a lot of adventages of
"pure Java" over any native toolkit.

> I think the "model" classes should be pure Java (except perhaps
> a few CNI methods for speed).  However, the "view" classes
> should perhaps be based on gtk widgets.  At least the default
> implementation of the view classes should use the gtk theme
> framework.

Do you thing it is feasible to implement that? Again, I don't know
Gtk very well, but I would have troubles doing that with Win32.

And it is sometimes interresting to be able to modify the "view"
part of a widget. If I take again my example of syntax coloring;
I've been able to implement that very easily with Swing because
I've change the *view* part of the simple (plain) text pane: the
document remains a list of lines of ascii text (without style info)
and I've just overriden the drawLine() method of the View. No
need to insert style info or anything special into the "model"

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.  FOP can generate pdf - and it also includes
> a viewer, so it could form the basis for a "view engine".
> (However, I don't know if the Apache license is viewed as
> being compatible with the modified-GPL of libgcj.)

I'm not quite sure I understand what you mean: the FOP viewer
is built on top of Java2D, but kind of GUI widget do you want to
build with FOP?
Or do you thing about generating PDFs from Java2D? that would
be very cool!

Cedric


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:56                   ` Per Bothner
  2000-03-21  9:26                     ` Cedric Berger
@ 2000-04-01  0:00                     ` Per Bothner
  1 sibling, 0 replies; 60+ messages in thread
From: Per Bothner @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger <cedric@wireless-networks.com> writes:

> What is the real advantage of Gtk over "pure Java"? Speed?

(Speed is not a major advantage - we always have the option of
replacing critical methods by CNI for a "mostly-Java" solution.)
(1) It may be easier to implement something useful if we build on gtk.
(2) Increased compatibility at the code level between C/C++/Java,
makes it more feasible to mix components in different languages.
(3) Better look+feel compatibility between Java apps and Gnome
apps.  Specifically, Swing L+F should follow gtk themes.

I think (3) is the most important, at least long-term.
At the very least, we need a default Swing look+feel that just
uses the current gtk theme.

> And it is sometimes interresting to be able to modify the "view"
> part of a widget. If I take again my example of syntax coloring;
> I've been able to implement that very easily with Swing because
> I've change the *view* part of the simple (plain) text pane: the
> document remains a list of lines of ascii text (without style info)
> and I've just overriden the drawLine() method of the View. No
> need to insert style info or anything special into the "model"

Yes, but that does not preclude having the default rendering
use the native (gtk) toolkit.  (I don't know what's involved though.)

> I'm not quite sure I understand what you mean: the FOP viewer
> is built on top of Java2D, but kind of GUI widget do you want to
> build with FOP?
> Or do you thing about generating PDFs from Java2D? that would
> be very cool!

I was thinking of using the the abstract "formatting object"
model specified for XSL as the way to organize the Swing View
hierarchies, and possibly using FOP as the basis for such an
implementation.

The idea is we use the XSL spec as a design document for how
to construct View hierarchies.  I.e. wherever XSL has an Area,
we create a sub-class of View with the corresponding semantics.
We have the option of using the FOP implementation (assuming the
licensing is ok), but the design is more important than the code.

This has the obvious advantage of making it easier to write tools
to process XML, but it may have a less obvious advantage in that a
lot of the Swing documentation is under-specified, and trying to
reverse engineer View hierachies is both painful and requires
care with the legalities.  (Though Topley's "Core Swing advanced
programming" gives a fair bit of information.)
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  2:18               ` David Pettersson
@ 2000-04-01  0:00                 ` David Pettersson
  0 siblings, 0 replies; 60+ messages in thread
From: David Pettersson @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Hi,

On Mon, 20 Mar 2000, Cedric Berger wrote:

> Nobody uses AWT widgets anymore. I've never seen a new AWT
> application the last two years. In fact, Swing is widely recognized
> as the better GUI toolkit availabe today (and I'm not speaking of
> Java only). The main problem so far was speed, but JDK 1.3 is
> much better, and having the code compiled with a tool like GCJ
> will also make it much faster.
> 

-- cut --

I do use AWT. I started with Swing but change since I want my code to
run everywhere. Applet using AWT can be used in browsers like netscape
without any problems, extra downloads etc ... . Using AWT make it thus
possible to let costumers easy test a restricted version online before
purchasing the thing. With Swing, well I havn't got netscape to work with
it. AWT seems to be the most portable gui to use and therefore the first
thing that should be implemented. As noted in other answers, swing 1.1
is possible to use then to.

David.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:17                 ` Cedric Berger
  2000-03-21  9:57                   ` ks
@ 2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: ks; +Cc: java-discuss

ks@micky.rgv.hp.com wrote:

> Take this clue.  Swing does not run on KVM.  Swing does not run on
> Chai.  Swing does not run on IBM VM.  Swing does not run on Kaffe.
> Swing does not run on jview.  Swing does not run on TowerJ.

Swing do run very well on jview (I'm using Together/J in this
configuration).
I would be very very surprised if it didn't work on IBM VM or TowerJ
(even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
being designed for server apps).

On the other hand, I will agree with you that Sun's Swing is probably too
big
for most of today's embedded application. But it is probably possible to
make a reduced version of Swing if for example you remove Pluggable L&F

> >
> > 4) if somebody really need it at that point, implementing
> > AWT widgets by calling Swing code: I believe that it is (or
> > was) Sun's plan too.
> >
>
> What amazing hubris.  Who is implementing AWT on top of Swing supposed
> to help?

Simplest way to achieve backward compatibility with old apps that uses
AWT.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 14:33                 ` Paul Fisher
@ 2000-04-01  0:00                   ` Paul Fisher
  0 siblings, 0 replies; 60+ messages in thread
From: Paul Fisher @ 2000-04-01  0:00 UTC (permalink / raw)
  To: java-discuss

Per Bothner <per@bothner.com> writes:

> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
> 
> It seems plausible to use libart (see http://www.levien.com/libart/
> and http://developer.gnome.org/arch/imaging/libart.html ).

It has been Classpath's and RHAD Labs' intention to use libart to
implement Java2D; however, there's still much work that needs to be
done on libart in order to bring it up to the level of functionality
that Java2D requires.  There's also the possibility that a server-side
2D X extension might make its way to the community in the future,
which would alleviate a lot of the problems involved.

(From what I've heard, Sun's implementation of Java2D under Windows
was a relatively simple mapping of Windows 2D primitives onto the Java
2D API.  For X, Sun had to roll their own implementation; it's quite
slow.)

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
                                 ` (4 preceding siblings ...)
  2000-03-21  8:56               ` ks
@ 2000-04-01  0:00               ` Cedric Berger
  5 siblings, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: java-discuss

Nobody uses AWT widgets anymore. I've never seen a new AWT
application the last two years. In fact, Swing is widely recognized
as the better GUI toolkit availabe today (and I'm not speaking of
Java only). The main problem so far was speed, but JDK 1.3 is
much better, and having the code compiled with a tool like GCJ
will also make it much faster.

There has been a lot of discussion about AWT vs Swing design
option, and I think that most people agree that Swing has two
major advantages over AWT:
1) platform independence: you don't need to test thing on many
platform, the code is the same, the bugs are the same, ...
2) flexibility: there is not a single part of the Swing library that
I cannot replace or subclass in an application. Syntax coloring,
for example, can be done with 20-50 lines of code, by just
replacing the text RENDERER.

IMHO, the right way to develop a graphic library for Java today
is:

1) implementing the basic (low level) AWT functionalities.
Basically Window/Frame/Component/Container/Canvas and
event handling.

2) implementing Java2D (it's probably more difficult than 1),
but it can be done later and its probably a lot of fun to do.

3) implementing Swing on top of the minimal AWT (or
borrowing it from 1.1 as a temporary solution). Swing is not
a trivial piece of code, but the advantage is that since almost
all functions/members of Swing are either public or protected,
all the skeleton of the code can be written from the JavaDoc
output of swing. "only" filling the method's body is required.

4) if somebody really need it at that point, implementing
AWT widgets by calling Swing code: I believe that it is (or
was) Sun's plan too.

Cedric

Tom Tromey wrote:

> >> Secondly, I'm quite interested in doing some work on implementing
> >> AWT (I'm more intrested in Client stuff myself). I was wondering if
> >> someone could clear up the position of this, esp. regarding the
> >> Classpath merger. I seem to recall that everything from Classpath
> >> is available except the AWT code.  Now is this all AWT code or just
> >> the native implementation? IF I do use it what is the final result?
> >> That the executable is cover by the GPL? I can live with that for
> >> now...
>
> Jeff> From looking at Warren Levy's latest patches, I'd guess that the
> Jeff> libgcj maintainers haven't given up on doing their own AWT port,
> Jeff> independently of classpath.
>
> Warren's recent patches notwithstanding, we haven't started
> implementing AWT.  Those were needed for something else.
>
> Jeff> AWT would be great... you might consider a portable toolkit
> Jeff> (GTK?)  though before it becomes too Win32-centric, so that
> Jeff> other platforms can benefit.
>
> My goal is to have a retargetable AWT -- one where we can plug in
> different back ends.  So we might have a Gtk+ back end (the one I'd
> like to see :-), a Windows back end, and even a back end running on a
> framebuffer (for embedded folks).  I don't know enough about AWT to
> say whether this is a realistic plan.
>
> Tom


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  1:01                 ` Joerg Brunsmann
@ 2000-04-01  0:00                   ` Joerg Brunsmann
  0 siblings, 0 replies; 60+ messages in thread
From: Joerg Brunsmann @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1605 bytes --]

Per Bothner wrote:

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.  FOP can generate pdf - and it also includes
> a viewer, so it could form the basis for a "view engine".

"A tool is a great tool if it is used in a context for which it wasn't
designed." Obviously FOP is a great tool implementing an ambitious idea,
I agree. 

Anyway, we've been using XSL for over one year now when it was *one* 
specification. Nowadays it has been splitted into *three* specifications: 
XSLT, XPath and XSL FO. We are quite happy with XML/XSL/XPath combination, 
although the XSL processor's performs weakly when used with big XML source 
documents. Due to modifications in the spec we were forced to rewrite our 
XSL a couple of times. XSLT and XPath are now recommendations so this 
doesn't apply anymore. XSL FO is still a working draft which has
had significant modifications over the time. FOP doesn't implement the
current XSL FO specification. I think James Tauber left as an active
developer. XSL FO is a *huge* specification and the implementation needs
a lot of skills, knowledge, time and energy.

If this all sounds too destructive let me say this: in a year from now libgcj 
might have AWT and/or Swing, the XSL FO specification is a W3C recommendation, 
FOP has implemented 60% of the specification and someone might want to start 
using FOP with libgcj.

Jörg

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  8:56 ` Cedric Berger
  2000-03-21  9:04   ` Tom Tromey
@ 2000-04-01  0:00   ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: java-discuss

> >>> Cedric Berger <cedric@wireless-networks.com> 20-Mar-00 7:59:21 PM
> >>>
>
> >Nobody uses AWT widgets anymore.
>
> Frankly this is nonsense.

Well, than show me some real *applications* that uses AWT. And I'm not
talking
about applets (not very relevant in a GCJ context) or book's examples.
I'm talking about real, useful, applications.

> >I've never seen a new AWT application the last two years.
> >In fact, Swing is widely recognized as the better GUI toolkit
> >availabe today
>
> Who have you been talking to? Many people who make their living out
> of writing Java agree that Swing is bloated and badly designed. Any
> close analysis reveals this to be true, at least in part.

I'v not talking to anybody, I'v read newsgroup like this one, but
more important, I've developped (big) GUI applications in MFC, AWT
and Swing the last three years...

> >I think that most people agree that Swing has two
> >major advantages over AWT:
>
> >1) platform independence: you don't need to test thing on many
> >platform, the code is the same, the bugs are the same, ...
>
> Uh... yes. But only when the underlying AWT is the same, since the
> AWT is used to implement all Swing primitives.

Yeah, but fortunately, Swing only uses a small subset of AWT.

> >1) implementing the basic (low level) AWT functionalities.
> >Basically Window/Frame/Component/Container/Canvas and
> >event handling.
>
> Which is in fact most of the work of building the AWT.

you don't have to implements
- all widgets (buttons, ...),
- special containers like scrollpanes
- menu / popups, ...
- file chooser,
- .......


> >2) implementing Java2D (it's probably more difficult than 1),
> >but it can be done later and its probably a lot of fun to do.
>
> Volunteering are you? Again this is a hell of a lot of work.

It will have to be done anyway, if peoples want to develop advanced
graphics applications (Games maybee?) GTK/AWT will not replace
that. See Per Brothner's suggestion.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  6:48               ` Jeff Sturm
  2000-03-21  9:00                 ` Cedric Berger
  2000-03-21 14:05                 ` Paul Fisher
@ 2000-04-01  0:00                 ` Jeff Sturm
  2 siblings, 0 replies; 60+ messages in thread
From: Jeff Sturm @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:
> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.
> 
> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

Is Java2D required for Swing?

> 3) implementing Swing on top of the minimal AWT (or
> borrowing it from 1.1 as a temporary solution). Swing is not
> a trivial piece of code, but the advantage is that since almost
> all functions/members of Swing are either public or protected,
> all the skeleton of the code can be written from the JavaDoc
> output of swing. "only" filling the method's body is required.

What are Kaffe and Classpath doing?  Are people using Swing with those?

-- 
Jeff Sturm
jsturm@sigma6.com

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 10:22                     ` Cedric Berger
  2000-03-21 10:41                       ` jean-marie sulmont
@ 2000-04-01  0:00                       ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: ks, java-discuss

ks@micky.rgv.hp.com wrote:

> > I would be very very surprised if it didn't work on IBM VM or TowerJ
> > (even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
> > being designed for server apps).
>
> My argument is that it should be possible to write simple GUIs (for
> system configuration, for monitoring/management, or for interactions
> with small or remote machines) without forcing 13MB (compressed!) of
> Swing classes on them.

If I remember correctly, JRE 1.3 ship (english version) in less than 5MB
(with everything: JVM, Swing, Java2D, .........)

But I agree that, because of the current Microsoft behavior, it's a pain
to have to ship this...
But we must not be making decisions based on M$ behavior, and,
with Netscape 6 and recent Linux deals, things are going to change,
hopefully...

Cedric

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 10:41                       ` jean-marie sulmont
@ 2000-04-01  0:00                         ` jean-marie sulmont
  0 siblings, 0 replies; 60+ messages in thread
From: jean-marie sulmont @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: ks, java-discuss

Why don't you take this topic off list?

-- 
jean-marie sulmont                      1211 SW 5th Ave, suite 900
developer                               Portland, Oregon 97204
Oracle Corporation                      Phone: (503) 525-8057
jsulmont@us.oracle.com                  Fax:   (503) 277-2300

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:23                 ` Bryce McKinlay
@ 2000-04-01  0:00                   ` Bryce McKinlay
  0 siblings, 0 replies; 60+ messages in thread
From: Bryce McKinlay @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Per Bothner; +Cc: Cedric Berger, java-discuss

Per Bothner wrote:

> I think the "model" classes should be pure Java (except perhaps
> a few CNI methods for speed).  However, the "view" classes
> should perhaps be based on gtk widgets.  At least the default
> implementation of the view classes should use the gtk theme
> framework.

Why not do the view classes in Java as well? Implementing Swing's level
of elegance and complexity (even just the views) in C is not something
I'd consider either "fun" or "realistic". Given the elimination of the
synchronization issues, and good garbage collection, the Java
implementation would be allmost as fast. "view" classes written in Java
could even be used by traditional programs written in C(++) as if they
were native gtk widgets, given a bit of glue.

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.

Yes, this sounds very cool.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:00                 ` Cedric Berger
  2000-03-21  9:47                   ` Jeff Sturm
@ 2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 0 replies; 60+ messages in thread
From: Cedric Berger @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Jeff Sturm; +Cc: java-discuss

Jeff Sturm wrote:

> Cedric Berger wrote:
> > 1) implementing the basic (low level) AWT functionalities.
> > Basically Window/Frame/Component/Container/Canvas and
> > event handling.
> >
> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
>
> Is Java2D required for Swing?

No, but Graphics2D (the Java2D engine) is a superset of the
old Graphics class needed by everyone who want to paint on
a window. So only Graphics is needed for most Swing apps.
but Graphics2D re-implement (not just augment) all Graphics
methods; so if plan to develop Graphics first and Graphics2D
later, I would assumes that most of the work doing Graphics
will be lost.
IMHO, it would be better to start implementing Java2D with
the latest specs (1.3), but starting with the pieces that are really
needed by Swing (bezier curves can be left for later...)

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:38                       ` Denis Balazuc
@ 2000-04-01  0:00                         ` Denis Balazuc
  0 siblings, 0 replies; 60+ messages in thread
From: Denis Balazuc @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cygnus-Java Mailing List

> I'm quite sure that a lot of peoples (including me) would *love* to
> have a good Swing L&F that uses gtk themes, especially if it
> can be plugged in other VM implementations...
> I agree that the implementation of  L&F other than Metal has been
> so far a very week part of Sun's implementation. But I don't see
> any reasons for that except (wrong?) priorities at Sun.
> I understand that Sun wanted to keep Swing in pure java up to
> version 1.1, but now that it's integrated in the core, I don't see any
> reasons why it cannot uses native method to query the platform's
> desktop settings for things like themes, widget size, ...


I thought that the idea behind Swing was to remove plateform-dependency and
heavy-weight components in the first place....
(and despite what was said, Windows's not the only plateform where you can
find many  AWT bugs...)
non 100% Pure Java Swing : is that really what one's want ?
Is there a plan from SUN to deviate from a 100% pure implementation ?



^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:57                   ` ks
  2000-03-21 10:22                     ` Cedric Berger
@ 2000-04-01  0:00                     ` ks
  1 sibling, 0 replies; 60+ messages in thread
From: ks @ 2000-04-01  0:00 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

> I would be very very surprised if it didn't work on IBM VM or TowerJ
> (even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
> being designed for server apps).

Perhaps I should more correctly say Swing is not distributed as a part
of those platforms.  If you get Swing from another source then of course
it will run since it is pure Java.

So if I write a Swing based app, and give it to someone who uses jview
they will not be able to run it unless they also have Swing, or unless
I provide Swing with my program.

My argument is that it should be possible to write simple GUIs (for 
system configuration, for monitoring/management, or for interactions
with small or remote machines) without forcing 13MB (compressed!) of
Swing classes on them.

Cheers,
-kls

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  1:04 Nic Ferrier
  2000-03-21  3:08 ` Bryce McKinlay
  2000-03-21  8:56 ` Cedric Berger
@ 2000-04-01  0:00 ` Nic Ferrier
  2 siblings, 0 replies; 60+ messages in thread
From: Nic Ferrier @ 2000-04-01  0:00 UTC (permalink / raw)
  To: java-discuss, cedric

>>> Cedric Berger <cedric@wireless-networks.com> 20-Mar-00 7:59:21 PM
>>>

>Nobody uses AWT widgets anymore. 

Frankly this is nonsense.


>I've never seen a new AWT application the last two years. 
>In fact, Swing is widely recognized as the better GUI toolkit 
>availabe today 

Who have you been talking to? Many people who make their living out
of writing Java agree that Swing is bloated and badly designed. Any
close analysis reveals this to be true, at least in part.


>I think that most people agree that Swing has two
>major advantages over AWT:

>1) platform independence: you don't need to test thing on many
>platform, the code is the same, the bugs are the same, ...

Uh... yes. But only when the underlying AWT is the same, since the
AWT is used to implement all Swing primitives.


>2) flexibility: there is not a single part of the Swing library
that
>I cannot replace or subclass in an application. Syntax coloring,
>for example, can be done with 20-50 lines of code, by just
>replacing the text RENDERER.


>IMHO, the right way to develop a graphic library for Java today
>is:

>1) implementing the basic (low level) AWT functionalities.
>Basically Window/Frame/Component/Container/Canvas and
>event handling.

Which is in fact most of the work of building the AWT.


>2) implementing Java2D (it's probably more difficult than 1),
>but it can be done later and its probably a lot of fun to do.

Volunteering are you? Again this is a hell of a lot of work.


>4) if somebody really need it at that point, implementing
>AWT widgets by calling Swing code: I believe that it is (or
>was) Sun's plan too.

Sure. But before this is finished (sometime in 2020 I should imagine)
can we have at least bits of a working AWT?


Swing is a nice idea but the trouble is it's a lot of work to do, and
it's a lot of bugs and (even worse) bad design (editor kits are my
example of the month).

It's even worse when you consider that Classpath maybe required to
produce all the stuff to do multi-UI.


My suggestion is that Classpath gets a working AWT together then
those programmers who want to use Swing *now* can use Sun's.
Programmers who want to use a free Swing *now* will just have to
wait.



Nic

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 21:30               ` Per Bothner
                                   ` (2 preceding siblings ...)
  2000-03-21  1:01                 ` Joerg Brunsmann
@ 2000-03-21 14:33                 ` Paul Fisher
  2000-04-01  0:00                   ` Paul Fisher
  2000-04-01  0:00                 ` Per Bothner
  4 siblings, 1 reply; 60+ messages in thread
From: Paul Fisher @ 2000-03-21 14:33 UTC (permalink / raw)
  To: java-discuss

Per Bothner <per@bothner.com> writes:

> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
> 
> It seems plausible to use libart (see http://www.levien.com/libart/
> and http://developer.gnome.org/arch/imaging/libart.html ).

It has been Classpath's and RHAD Labs' intention to use libart to
implement Java2D; however, there's still much work that needs to be
done on libart in order to bring it up to the level of functionality
that Java2D requires.  There's also the possibility that a server-side
2D X extension might make its way to the community in the future,
which would alleviate a lot of the problems involved.

(From what I've heard, Sun's implementation of Java2D under Windows
was a relatively simple mapping of Windows 2D primitives onto the Java
2D API.  For X, Sun had to roll their own implementation; it's quite
slow.)

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  6:48               ` Jeff Sturm
  2000-03-21  9:00                 ` Cedric Berger
@ 2000-03-21 14:05                 ` Paul Fisher
  2000-04-01  0:00                   ` Paul Fisher
  2000-04-01  0:00                 ` Jeff Sturm
  2 siblings, 1 reply; 60+ messages in thread
From: Paul Fisher @ 2000-03-21 14:05 UTC (permalink / raw)
  To: java-discuss

Jeff Sturm <jsturm@sigma6.com> writes:

> What are Kaffe and Classpath doing?  Are people using Swing with
> those?

Swing 1.1.1fcs reportedly works under the Kaffe Xlib-based AWT.

The majority of Swing 1.1.1fcs works under the Classpath GTK+ peer set
when the peer set is shoved in between Sun's non-peer AWT and Swing.

Screenshot of Metalworks running under the GTK+ peer set:
<URL: http://people.redhat.com/pnfisher/metalworks.png >

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 11:38                   ` Jonathan P. Olson
@ 2000-03-21 11:46                     ` Nathan Meyers
  2000-04-01  0:00                       ` Nathan Meyers
  2000-04-01  0:00                     ` Jonathan P. Olson
  1 sibling, 1 reply; 60+ messages in thread
From: Nathan Meyers @ 2000-03-21 11:46 UTC (permalink / raw)
  To: Jonathan P. Olson, Brian Sullivan, ks, java-discuss

On Tue, Mar 21, 2000 at 05:27:53AM -0700, Jonathan P. Olson wrote:
> I think that the "heavyweight" vs. "lightweight" terminology is really
> misleading.  Seems like the Swing "lightweight" components are usually
> heavier and slower than the native "heavyweight" components.
> A better terminology would be "native" vs. "pure java" or "peer" vs. "non-peer".

The terms have outlived their original purpose, in the X Windows world,
where "heavyweight" components consumed actual windows resources in the
X server and "lightweight" did not. Unfortunately, they've stuck (and
even mutated).

Nathan Meyers
nmeyers@javalinux.net

> 
> -- 
> Jon Olson, Modular Mining Systems
> 	   3289 E. Hemisphere Loop
> 	   Tucson, AZ 85706
> olson@mmsi.com
> Phone:	(520)746-9127
> Fax:	(520)889-5790

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:44                 ` Brian Sullivan
@ 2000-03-21 11:38                   ` Jonathan P. Olson
  2000-03-21 11:46                     ` Nathan Meyers
  2000-04-01  0:00                     ` Jonathan P. Olson
  2000-04-01  0:00                   ` Brian Sullivan
  1 sibling, 2 replies; 60+ messages in thread
From: Jonathan P. Olson @ 2000-03-21 11:38 UTC (permalink / raw)
  To: Brian Sullivan, ks, java-discuss

On Tue, 21 Mar 2000, Brian Sullivan wrote:
>
>I'm not the original poster, but I'll chime in here.
>
>There are many special cases for AWT heavyweight/lightweight interactions
>in the AWT code which I'm quite sure everyone at Sun responsible for it
>would love to abandon.  All the special case code and hacks would
>disappear.
>
>Heavyweight and lightweight mixing together on the same form just doesn't
>work particularly well; replacing AWT heavyweights with lightweights would
>

I think that the "heavyweight" vs. "lightweight" terminology is really
misleading.  Seems like the Swing "lightweight" components are usually
heavier and slower than the native "heavyweight" components.
A better terminology would be "native" vs. "pure java" or "peer" vs. "non-peer".

-- 
Jon Olson, Modular Mining Systems
	   3289 E. Hemisphere Loop
	   Tucson, AZ 85706
olson@mmsi.com
Phone:	(520)746-9127
Fax:	(520)889-5790

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21 10:22                     ` Cedric Berger
@ 2000-03-21 10:41                       ` jean-marie sulmont
  2000-04-01  0:00                         ` jean-marie sulmont
  2000-04-01  0:00                       ` Cedric Berger
  1 sibling, 1 reply; 60+ messages in thread
From: jean-marie sulmont @ 2000-03-21 10:41 UTC (permalink / raw)
  To: Cedric Berger; +Cc: ks, java-discuss

Why don't you take this topic off list?

-- 
jean-marie sulmont                      1211 SW 5th Ave, suite 900
developer                               Portland, Oregon 97204
Oracle Corporation                      Phone: (503) 525-8057
jsulmont@us.oracle.com                  Fax:   (503) 277-2300

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:57                   ` ks
@ 2000-03-21 10:22                     ` Cedric Berger
  2000-03-21 10:41                       ` jean-marie sulmont
  2000-04-01  0:00                       ` Cedric Berger
  2000-04-01  0:00                     ` ks
  1 sibling, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-21 10:22 UTC (permalink / raw)
  To: ks, java-discuss

ks@micky.rgv.hp.com wrote:

> > I would be very very surprised if it didn't work on IBM VM or TowerJ
> > (even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
> > being designed for server apps).
>
> My argument is that it should be possible to write simple GUIs (for
> system configuration, for monitoring/management, or for interactions
> with small or remote machines) without forcing 13MB (compressed!) of
> Swing classes on them.

If I remember correctly, JRE 1.3 ship (english version) in less than 5MB
(with everything: JVM, Swing, Java2D, .........)

But I agree that, because of the current Microsoft behavior, it's a pain
to have to ship this...
But we must not be making decisions based on M$ behavior, and,
with Netscape 6 and recent Linux deals, things are going to change,
hopefully...

Cedric

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:47                   ` Jeff Sturm
@ 2000-03-21 10:12                     ` Cedric Berger
  2000-04-01  0:00                       ` Cedric Berger
  2000-04-01  0:00                     ` Jeff Sturm
  1 sibling, 1 reply; 60+ messages in thread
From: Cedric Berger @ 2000-03-21 10:12 UTC (permalink / raw)
  To: Jeff Sturm, java-discuss

Jeff Sturm wrote:

> > IMHO, it would be better to start implementing Java2D with
> > the latest specs (1.3), but starting with the pieces that are really
> > needed by Swing (bezier curves can be left for later...)
>   ^^^^^^^^^^^^^^^
> Umm... you just said Swing doesn't require Java2D...

Ok, I will try to be more clear.

AWT inplements the following draw methods:
   Graphics.drawLine(x1, y1, x2, y2)
   Graphics.drawArc()
   Graphics.drawPolygon()

I suspect that in JDK 1.0/1.1, these are all native methods.

In JDK 1.2/1.3, the basic primitive used by Java2D to draw is
   Graphics2D.draw(Shape)
and (for what I understand) drawLine() drawArc() are implemented
by creating the corresponding Shape object and calling
Graphics2D.draw().

So what I was suggesting is: let's go strait to the Graphics2D class,
with the Shape concept, but starting by implementing Shapes that are
useful for Swing (i.e. Rectangle and Line are useful, QuadCurve2D
is not).

Cedric


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:17                 ` Cedric Berger
@ 2000-03-21  9:57                   ` ks
  2000-03-21 10:22                     ` Cedric Berger
  2000-04-01  0:00                     ` ks
  2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 2 replies; 60+ messages in thread
From: ks @ 2000-03-21  9:57 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

> I would be very very surprised if it didn't work on IBM VM or TowerJ
> (even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
> being designed for server apps).

Perhaps I should more correctly say Swing is not distributed as a part
of those platforms.  If you get Swing from another source then of course
it will run since it is pure Java.

So if I write a Swing based app, and give it to someone who uses jview
they will not be able to run it unless they also have Swing, or unless
I provide Swing with my program.

My argument is that it should be possible to write simple GUIs (for 
system configuration, for monitoring/management, or for interactions
with small or remote machines) without forcing 13MB (compressed!) of
Swing classes on them.

Cheers,
-kls

^ permalink raw reply	[flat|nested] 60+ messages in thread

* RE: AWT is dead now
@ 2000-03-21  9:50 Boehm, Hans
  2000-04-01  0:00 ` Boehm, Hans
  0 siblings, 1 reply; 60+ messages in thread
From: Boehm, Hans @ 2000-03-21  9:50 UTC (permalink / raw)
  To: 'Cedric Berger', Nic Ferrier; +Cc: java-discuss

I personally think that applets are relevant in this context.  I wrote one
that I would really like to be able to compile with gcj, to reduce the
startup overhead, if nothing else.  Compiling it as an application is
trivial; finding an AWT implementation is obviously not.

In general, it seems to me that this gives a way to write small desktop
tools only once, and have them be runnable quickly as a native executable
from the local disk, or occasionally from within your favorite browser.
This is probably not the most important use of gcj, but it seems to me it is
a potential use, that we shouldn't completely discount either.
Unfortunately, my impression is that very few of them use Swing. 

Hans

-----Original Message-----
From: Cedric Berger [ mailto:cedric@wireless-networks.com ]
Sent: Tuesday, March 21, 2000 8:59 AM
To: Nic Ferrier
Cc: java-discuss@sourceware.cygnus.com
Subject: Re: AWT is dead now

Well, than show me some real *applications* that uses AWT. And I'm not
talking
about applets (not very relevant in a GCJ context) or book's examples.
I'm talking about real, useful, applications.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:00                 ` Cedric Berger
@ 2000-03-21  9:47                   ` Jeff Sturm
  2000-03-21 10:12                     ` Cedric Berger
  2000-04-01  0:00                     ` Jeff Sturm
  2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 2 replies; 60+ messages in thread
From: Jeff Sturm @ 2000-03-21  9:47 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:
> > Is Java2D required for Swing?
> 
> No, but Graphics2D (the Java2D engine) is a superset of the
> old Graphics class needed by everyone who want to paint on
> a window. So only Graphics is needed for most Swing apps.
> but Graphics2D re-implement (not just augment) all Graphics
> methods; so if plan to develop Graphics first and Graphics2D
> later, I would assumes that most of the work doing Graphics
> will be lost.

OK.  It's becoming clear (to me) that there are folks who want to do
quite fancy graphics stuff in Java, maybe even game programming.

Not everybody is in that crowd (our requirements are fairly primitive
and easily met by java.awt).  Those who want a free Java2D may be stuck
implementing it themselves, since I kinda doubt its a high priority for
libgcj or classpath.

That said, the libart stuff that Per mentioned looks like it could be a
great starting point.  I wonder how much of Java2D could be implemented
by libart directly.

> IMHO, it would be better to start implementing Java2D with
> the latest specs (1.3), but starting with the pieces that are really
> needed by Swing (bezier curves can be left for later...)
  ^^^^^^^^^^^^^^^
Umm... you just said Swing doesn't require Java2D...

-- 
Jeff Sturm
jsturm@sigma6.com

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  8:56               ` ks
  2000-03-21  9:17                 ` Cedric Berger
@ 2000-03-21  9:44                 ` Brian Sullivan
  2000-03-21 11:38                   ` Jonathan P. Olson
  2000-04-01  0:00                   ` Brian Sullivan
  2000-04-01  0:00                 ` ks
  2 siblings, 2 replies; 60+ messages in thread
From: Brian Sullivan @ 2000-03-21  9:44 UTC (permalink / raw)
  To: ks, java-discuss

ks@micky.rgv.hp.com wrote:

> > 4) if somebody really need it at that point, implementing
> > AWT widgets by calling Swing code: I believe that it is (or
> > was) Sun's plan too.
> >
>
> What amazing hubris.  Who is implementing AWT on top of Swing supposed
> to help?

I'm not the original poster, but I'll chime in here.

There are many special cases for AWT heavyweight/lightweight interactions
in the AWT code which I'm quite sure everyone at Sun responsible for it
would love to abandon.  All the special case code and hacks would
disappear.

Heavyweight and lightweight mixing together on the same form just doesn't
work particularly well; replacing AWT heavyweights with lightweights would

solve this.  Our GUI designer allows heavyweight to be mixed with
lightweight,
including live in the editor, but we sure recommend against it.

> Cheers,
> -kls

Regards,
Brian Sullivan

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  9:26                     ` Cedric Berger
@ 2000-03-21  9:38                       ` Denis Balazuc
  2000-04-01  0:00                         ` Denis Balazuc
  2000-04-01  0:00                       ` Cedric Berger
  1 sibling, 1 reply; 60+ messages in thread
From: Denis Balazuc @ 2000-03-21  9:38 UTC (permalink / raw)
  To: Cygnus-Java Mailing List

> I'm quite sure that a lot of peoples (including me) would *love* to
> have a good Swing L&F that uses gtk themes, especially if it
> can be plugged in other VM implementations...
> I agree that the implementation of  L&F other than Metal has been
> so far a very week part of Sun's implementation. But I don't see
> any reasons for that except (wrong?) priorities at Sun.
> I understand that Sun wanted to keep Swing in pure java up to
> version 1.1, but now that it's integrated in the core, I don't see any
> reasons why it cannot uses native method to query the platform's
> desktop settings for things like themes, widget size, ...


I thought that the idea behind Swing was to remove plateform-dependency and
heavy-weight components in the first place....
(and despite what was said, Windows's not the only plateform where you can
find many  AWT bugs...)
non 100% Pure Java Swing : is that really what one's want ?
Is there a plan from SUN to deviate from a 100% pure implementation ?



^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:56                   ` Per Bothner
@ 2000-03-21  9:26                     ` Cedric Berger
  2000-03-21  9:38                       ` Denis Balazuc
  2000-04-01  0:00                       ` Cedric Berger
  2000-04-01  0:00                     ` Per Bothner
  1 sibling, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-21  9:26 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

> Cedric Berger <cedric@wireless-networks.com> writes:
>
> > What is the real advantage of Gtk over "pure Java"? Speed?
>
> (Speed is not a major advantage - we always have the option of
> replacing critical methods by CNI for a "mostly-Java" solution.)
> (1) It may be easier to implement something useful if we build on gtk.
> (2) Increased compatibility at the code level between C/C++/Java,
> makes it more feasible to mix components in different languages.
> (3) Better look+feel compatibility between Java apps and Gnome
> apps.  Specifically, Swing L+F should follow gtk themes.
>
> I think (3) is the most important, at least long-term.
> At the very least, we need a default Swing look+feel that just
> uses the current gtk theme.

I'm quite sure that a lot of peoples (including me) would *love* to
have a good Swing L&F that uses gtk themes, especially if it
can be plugged in other VM implementations...
I agree that the implementation of  L&F other than Metal has been
so far a very week part of Sun's implementation. But I don't see
any reasons for that except (wrong?) priorities at Sun.
I understand that Sun wanted to keep Swing in pure java up to
version 1.1, but now that it's integrated in the core, I don't see any
reasons why it cannot uses native method to query the platform's
desktop settings for things like themes, widget size, ...

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  8:56               ` ks
@ 2000-03-21  9:17                 ` Cedric Berger
  2000-03-21  9:57                   ` ks
  2000-04-01  0:00                   ` Cedric Berger
  2000-03-21  9:44                 ` Brian Sullivan
  2000-04-01  0:00                 ` ks
  2 siblings, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-21  9:17 UTC (permalink / raw)
  To: ks; +Cc: java-discuss

ks@micky.rgv.hp.com wrote:

> Take this clue.  Swing does not run on KVM.  Swing does not run on
> Chai.  Swing does not run on IBM VM.  Swing does not run on Kaffe.
> Swing does not run on jview.  Swing does not run on TowerJ.

Swing do run very well on jview (I'm using Together/J in this
configuration).
I would be very very surprised if it didn't work on IBM VM or TowerJ
(even it doesn't make a lot of sense to use TowerJ with Swing, towerJ
being designed for server apps).

On the other hand, I will agree with you that Sun's Swing is probably too
big
for most of today's embedded application. But it is probably possible to
make a reduced version of Swing if for example you remove Pluggable L&F

> >
> > 4) if somebody really need it at that point, implementing
> > AWT widgets by calling Swing code: I believe that it is (or
> > was) Sun's plan too.
> >
>
> What amazing hubris.  Who is implementing AWT on top of Swing supposed
> to help?

Simplest way to achieve backward compatibility with old apps that uses
AWT.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  8:56 ` Cedric Berger
@ 2000-03-21  9:04   ` Tom Tromey
  2000-04-01  0:00     ` Tom Tromey
  2000-04-01  0:00   ` Cedric Berger
  1 sibling, 1 reply; 60+ messages in thread
From: Tom Tromey @ 2000-03-21  9:04 UTC (permalink / raw)
  To: Cedric Berger; +Cc: Nic Ferrier, java-discuss

>>>>> "Cedric" == Cedric Berger <cedric@wireless-networks.com> writes:

Cedric> Well, than show me some real *applications* that uses AWT. And
Cedric> I'm not talking about applets (not very relevant in a GCJ
Cedric> context) or book's examples.  I'm talking about real, useful,
Cedric> applications.

I don't know the answer to this, but in a sense it doesn't matter.  It
is also important to have it just so we can say that we do.  Sad but
true.

Cedric> Yeah, but fortunately, Swing only uses a small subset of AWT.

I'm not picky.  I wouldn't reject a patch just because it implemented
the part of AWT used by Swing and nothing else.  :-)

Tom

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  6:48               ` Jeff Sturm
@ 2000-03-21  9:00                 ` Cedric Berger
  2000-03-21  9:47                   ` Jeff Sturm
  2000-04-01  0:00                   ` Cedric Berger
  2000-03-21 14:05                 ` Paul Fisher
  2000-04-01  0:00                 ` Jeff Sturm
  2 siblings, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-21  9:00 UTC (permalink / raw)
  To: Jeff Sturm; +Cc: java-discuss

Jeff Sturm wrote:

> Cedric Berger wrote:
> > 1) implementing the basic (low level) AWT functionalities.
> > Basically Window/Frame/Component/Container/Canvas and
> > event handling.
> >
> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
>
> Is Java2D required for Swing?

No, but Graphics2D (the Java2D engine) is a superset of the
old Graphics class needed by everyone who want to paint on
a window. So only Graphics is needed for most Swing apps.
but Graphics2D re-implement (not just augment) all Graphics
methods; so if plan to develop Graphics first and Graphics2D
later, I would assumes that most of the work doing Graphics
will be lost.
IMHO, it would be better to start implementing Java2D with
the latest specs (1.3), but starting with the pieces that are really
needed by Swing (bezier curves can be left for later...)

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  1:04 Nic Ferrier
  2000-03-21  3:08 ` Bryce McKinlay
@ 2000-03-21  8:56 ` Cedric Berger
  2000-03-21  9:04   ` Tom Tromey
  2000-04-01  0:00   ` Cedric Berger
  2000-04-01  0:00 ` Nic Ferrier
  2 siblings, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-21  8:56 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: java-discuss

> >>> Cedric Berger <cedric@wireless-networks.com> 20-Mar-00 7:59:21 PM
> >>>
>
> >Nobody uses AWT widgets anymore.
>
> Frankly this is nonsense.

Well, than show me some real *applications* that uses AWT. And I'm not
talking
about applets (not very relevant in a GCJ context) or book's examples.
I'm talking about real, useful, applications.

> >I've never seen a new AWT application the last two years.
> >In fact, Swing is widely recognized as the better GUI toolkit
> >availabe today
>
> Who have you been talking to? Many people who make their living out
> of writing Java agree that Swing is bloated and badly designed. Any
> close analysis reveals this to be true, at least in part.

I'v not talking to anybody, I'v read newsgroup like this one, but
more important, I've developped (big) GUI applications in MFC, AWT
and Swing the last three years...

> >I think that most people agree that Swing has two
> >major advantages over AWT:
>
> >1) platform independence: you don't need to test thing on many
> >platform, the code is the same, the bugs are the same, ...
>
> Uh... yes. But only when the underlying AWT is the same, since the
> AWT is used to implement all Swing primitives.

Yeah, but fortunately, Swing only uses a small subset of AWT.

> >1) implementing the basic (low level) AWT functionalities.
> >Basically Window/Frame/Component/Container/Canvas and
> >event handling.
>
> Which is in fact most of the work of building the AWT.

you don't have to implements
- all widgets (buttons, ...),
- special containers like scrollpanes
- menu / popups, ...
- file chooser,
- .......


> >2) implementing Java2D (it's probably more difficult than 1),
> >but it can be done later and its probably a lot of fun to do.
>
> Volunteering are you? Again this is a hell of a lot of work.

It will have to be done anyway, if peoples want to develop advanced
graphics applications (Games maybee?) GTK/AWT will not replace
that. See Per Brothner's suggestion.

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
                                 ` (3 preceding siblings ...)
  2000-03-21  6:48               ` Jeff Sturm
@ 2000-03-21  8:56               ` ks
  2000-03-21  9:17                 ` Cedric Berger
                                   ` (2 more replies)
  2000-04-01  0:00               ` Cedric Berger
  5 siblings, 3 replies; 60+ messages in thread
From: ks @ 2000-03-21  8:56 UTC (permalink / raw)
  To: cedric, java-discuss

> There has been a lot of discussion about AWT vs Swing design
> option, and I think that most people agree that Swing has two
> major advantages over AWT:
> 1) platform independence: you don't need to test thing on many
> platform, the code is the same, the bugs are the same, ...

This is the hazard of microsoft domination of the PC market for the
last ten years.  If it runs on one platform that covers 80% of the 
machines, it must be platform independent.

Take this clue.  Swing does not run on KVM.  Swing does not run on
Chai.  Swing does not run on IBM VM.  Swing does not run on Kaffe.
Swing does not run on jview.  Swing does not run on TowerJ.  

There are workarounds for some of these.  As long as Sun's licencing
for Swing/1.1 remains as it is you can distribute the swing jars with
your application, which would also work for gcj.  But the licensing 
was changed for JDK1.2, and as Kaffe, GCJ and others start adding 1.2
functionality, I don't think that Sun will hand them the rights to 
redistribute Swing without bringing along the rest of the JDK.

I'd like to see you use a swing based application from a system 360
on top of remote AWT though.  Molasses in winter comes to mind.

[...]
> 
> 4) if somebody really need it at that point, implementing
> AWT widgets by calling Swing code: I believe that it is (or
> was) Sun's plan too.
> 

What amazing hubris.  Who is implementing AWT on top of Swing supposed 
to help?

Cheers,
-kls

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
                                 ` (2 preceding siblings ...)
  2000-03-21  2:18               ` David Pettersson
@ 2000-03-21  6:48               ` Jeff Sturm
  2000-03-21  9:00                 ` Cedric Berger
                                   ` (2 more replies)
  2000-03-21  8:56               ` ks
  2000-04-01  0:00               ` Cedric Berger
  5 siblings, 3 replies; 60+ messages in thread
From: Jeff Sturm @ 2000-03-21  6:48 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:
> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.
> 
> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

Is Java2D required for Swing?

> 3) implementing Swing on top of the minimal AWT (or
> borrowing it from 1.1 as a temporary solution). Swing is not
> a trivial piece of code, but the advantage is that since almost
> all functions/members of Swing are either public or protected,
> all the skeleton of the code can be written from the JavaDoc
> output of swing. "only" filling the method's body is required.

What are Kaffe and Classpath doing?  Are people using Swing with those?

-- 
Jeff Sturm
jsturm@sigma6.com

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-21  1:04 Nic Ferrier
@ 2000-03-21  3:08 ` Bryce McKinlay
  2000-04-01  0:00   ` Bryce McKinlay
  2000-03-21  8:56 ` Cedric Berger
  2000-04-01  0:00 ` Nic Ferrier
  2 siblings, 1 reply; 60+ messages in thread
From: Bryce McKinlay @ 2000-03-21  3:08 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: java-discuss, cedric

Nic Ferrier wrote:

> Who have you been talking to? Many people who make their living out
> of writing Java agree that Swing is bloated and badly designed. Any
> close analysis reveals this to be true, at least in part.

Bloated? Yes. Badly designed? I disagree. Yes, there is a lot of crap in

swing, but in principle I think it is a very well designed architecture.

It is highly unlikely that Swing will ever be completely reimplemented
in a free software project. Free software can achieve great things, but
only where there is sufficient desire and motive to do so. I for one do
not feel particularly motivated to attempt such an endeavor. It will be
more fun to come up with something better.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
  2000-03-20 21:30               ` Per Bothner
  2000-03-20 22:13               ` Bryce McKinlay
@ 2000-03-21  2:18               ` David Pettersson
  2000-04-01  0:00                 ` David Pettersson
  2000-03-21  6:48               ` Jeff Sturm
                                 ` (2 subsequent siblings)
  5 siblings, 1 reply; 60+ messages in thread
From: David Pettersson @ 2000-03-21  2:18 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Hi,

On Mon, 20 Mar 2000, Cedric Berger wrote:

> Nobody uses AWT widgets anymore. I've never seen a new AWT
> application the last two years. In fact, Swing is widely recognized
> as the better GUI toolkit availabe today (and I'm not speaking of
> Java only). The main problem so far was speed, but JDK 1.3 is
> much better, and having the code compiled with a tool like GCJ
> will also make it much faster.
> 

-- cut --

I do use AWT. I started with Swing but change since I want my code to
run everywhere. Applet using AWT can be used in browsers like netscape
without any problems, extra downloads etc ... . Using AWT make it thus
possible to let costumers easy test a restricted version online before
purchasing the thing. With Swing, well I havn't got netscape to work with
it. AWT seems to be the most portable gui to use and therefore the first
thing that should be implemented. As noted in other answers, swing 1.1
is possible to use then to.

David.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
@ 2000-03-21  1:04 Nic Ferrier
  2000-03-21  3:08 ` Bryce McKinlay
                   ` (2 more replies)
  0 siblings, 3 replies; 60+ messages in thread
From: Nic Ferrier @ 2000-03-21  1:04 UTC (permalink / raw)
  To: java-discuss, cedric

>>> Cedric Berger <cedric@wireless-networks.com> 20-Mar-00 7:59:21 PM
>>>

>Nobody uses AWT widgets anymore. 

Frankly this is nonsense.


>I've never seen a new AWT application the last two years. 
>In fact, Swing is widely recognized as the better GUI toolkit 
>availabe today 

Who have you been talking to? Many people who make their living out
of writing Java agree that Swing is bloated and badly designed. Any
close analysis reveals this to be true, at least in part.


>I think that most people agree that Swing has two
>major advantages over AWT:

>1) platform independence: you don't need to test thing on many
>platform, the code is the same, the bugs are the same, ...

Uh... yes. But only when the underlying AWT is the same, since the
AWT is used to implement all Swing primitives.


>2) flexibility: there is not a single part of the Swing library
that
>I cannot replace or subclass in an application. Syntax coloring,
>for example, can be done with 20-50 lines of code, by just
>replacing the text RENDERER.


>IMHO, the right way to develop a graphic library for Java today
>is:

>1) implementing the basic (low level) AWT functionalities.
>Basically Window/Frame/Component/Container/Canvas and
>event handling.

Which is in fact most of the work of building the AWT.


>2) implementing Java2D (it's probably more difficult than 1),
>but it can be done later and its probably a lot of fun to do.

Volunteering are you? Again this is a hell of a lot of work.


>4) if somebody really need it at that point, implementing
>AWT widgets by calling Swing code: I believe that it is (or
>was) Sun's plan too.

Sure. But before this is finished (sometime in 2020 I should imagine)
can we have at least bits of a working AWT?


Swing is a nice idea but the trouble is it's a lot of work to do, and
it's a lot of bugs and (even worse) bad design (editor kits are my
example of the month).

It's even worse when you consider that Classpath maybe required to
produce all the stuff to do multi-UI.


My suggestion is that Classpath gets a working AWT together then
those programmers who want to use Swing *now* can use Sun's.
Programmers who want to use a free Swing *now* will just have to
wait.



Nic

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 21:30               ` Per Bothner
  2000-03-20 22:23                 ` Bryce McKinlay
  2000-03-20 22:25                 ` Cedric Berger
@ 2000-03-21  1:01                 ` Joerg Brunsmann
  2000-04-01  0:00                   ` Joerg Brunsmann
  2000-03-21 14:33                 ` Paul Fisher
  2000-04-01  0:00                 ` Per Bothner
  4 siblings, 1 reply; 60+ messages in thread
From: Joerg Brunsmann @ 2000-03-21  1:01 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1605 bytes --]

Per Bothner wrote:

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.  FOP can generate pdf - and it also includes
> a viewer, so it could form the basis for a "view engine".

"A tool is a great tool if it is used in a context for which it wasn't
designed." Obviously FOP is a great tool implementing an ambitious idea,
I agree. 

Anyway, we've been using XSL for over one year now when it was *one* 
specification. Nowadays it has been splitted into *three* specifications: 
XSLT, XPath and XSL FO. We are quite happy with XML/XSL/XPath combination, 
although the XSL processor's performs weakly when used with big XML source 
documents. Due to modifications in the spec we were forced to rewrite our 
XSL a couple of times. XSLT and XPath are now recommendations so this 
doesn't apply anymore. XSL FO is still a working draft which has
had significant modifications over the time. FOP doesn't implement the
current XSL FO specification. I think James Tauber left as an active
developer. XSL FO is a *huge* specification and the implementation needs
a lot of skills, knowledge, time and energy.

If this all sounds too destructive let me say this: in a year from now libgcj 
might have AWT and/or Swing, the XSL FO specification is a W3C recommendation, 
FOP has implemented 60% of the specification and someone might want to start 
using FOP with libgcj.

Jörg

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 22:25                 ` Cedric Berger
@ 2000-03-20 22:56                   ` Per Bothner
  2000-03-21  9:26                     ` Cedric Berger
  2000-04-01  0:00                     ` Per Bothner
  2000-04-01  0:00                   ` Cedric Berger
  1 sibling, 2 replies; 60+ messages in thread
From: Per Bothner @ 2000-03-20 22:56 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger <cedric@wireless-networks.com> writes:

> What is the real advantage of Gtk over "pure Java"? Speed?

(Speed is not a major advantage - we always have the option of
replacing critical methods by CNI for a "mostly-Java" solution.)
(1) It may be easier to implement something useful if we build on gtk.
(2) Increased compatibility at the code level between C/C++/Java,
makes it more feasible to mix components in different languages.
(3) Better look+feel compatibility between Java apps and Gnome
apps.  Specifically, Swing L+F should follow gtk themes.

I think (3) is the most important, at least long-term.
At the very least, we need a default Swing look+feel that just
uses the current gtk theme.

> And it is sometimes interresting to be able to modify the "view"
> part of a widget. If I take again my example of syntax coloring;
> I've been able to implement that very easily with Swing because
> I've change the *view* part of the simple (plain) text pane: the
> document remains a list of lines of ascii text (without style info)
> and I've just overriden the drawLine() method of the View. No
> need to insert style info or anything special into the "model"

Yes, but that does not preclude having the default rendering
use the native (gtk) toolkit.  (I don't know what's involved though.)

> I'm not quite sure I understand what you mean: the FOP viewer
> is built on top of Java2D, but kind of GUI widget do you want to
> build with FOP?
> Or do you thing about generating PDFs from Java2D? that would
> be very cool!

I was thinking of using the the abstract "formatting object"
model specified for XSL as the way to organize the Swing View
hierarchies, and possibly using FOP as the basis for such an
implementation.

The idea is we use the XSL spec as a design document for how
to construct View hierarchies.  I.e. wherever XSL has an Area,
we create a sub-class of View with the corresponding semantics.
We have the option of using the FOP implementation (assuming the
licensing is ok), but the design is more important than the code.

This has the obvious advantage of making it easier to write tools
to process XML, but it may have a less obvious advantage in that a
lot of the Swing documentation is under-specified, and trying to
reverse engineer View hierachies is both painful and requires
care with the legalities.  (Though Topley's "Core Swing advanced
programming" gives a fair bit of information.)
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 21:30               ` Per Bothner
  2000-03-20 22:23                 ` Bryce McKinlay
@ 2000-03-20 22:25                 ` Cedric Berger
  2000-03-20 22:56                   ` Per Bothner
  2000-04-01  0:00                   ` Cedric Berger
  2000-03-21  1:01                 ` Joerg Brunsmann
                                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-20 22:25 UTC (permalink / raw)
  To: Per Bothner; +Cc: java-discuss

Per Bothner wrote:

> > 2) implementing Java2D (it's probably more difficult than 1),
> > but it can be done later and its probably a lot of fun to do.
>
> It seems plausible to use libart (see http://www.levien.com/libart/
> and http://developer.gnome.org/arch/imaging/libart.html ).

Wow, this looks great!

> > 3) implementing Swing on top of the minimal AWT (or
> > borrowing it from 1.1 as a temporary solution). Swing is not
> > a trivial piece of code, but the advantage is that since almost
> > all functions/members of Swing are either public or protected,
> > all the skeleton of the code can be written from the JavaDoc
> > output of swing. "only" filling the method's body is required.
>
> Well, this is the "pure Java" approach.  It may make sense
> to use existing Gtk widgets instead.  It may also make sense
> to do provide both:  I.e. the toolkit by default uses Gtk
> widgets, but that can be overridden.

What is the real advantage of Gtk over "pure Java"? Speed?
What can you do with Gtk that you can't do with "pure Java"?
I must say that I don't know a lot about Gtk (unfortunatly, the
only native toolkit I've ever programmed so far is Win32/MFC)
but having used Swing a lot, I can see a lot of adventages of
"pure Java" over any native toolkit.

> I think the "model" classes should be pure Java (except perhaps
> a few CNI methods for speed).  However, the "view" classes
> should perhaps be based on gtk widgets.  At least the default
> implementation of the view classes should use the gtk theme
> framework.

Do you thing it is feasible to implement that? Again, I don't know
Gtk very well, but I would have troubles doing that with Win32.

And it is sometimes interresting to be able to modify the "view"
part of a widget. If I take again my example of syntax coloring;
I've been able to implement that very easily with Swing because
I've change the *view* part of the simple (plain) text pane: the
document remains a list of lines of ascii text (without style info)
and I've just overriden the drawLine() method of the View. No
need to insert style info or anything special into the "model"

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.  FOP can generate pdf - and it also includes
> a viewer, so it could form the basis for a "view engine".
> (However, I don't know if the Apache license is viewed as
> being compatible with the modified-GPL of libgcj.)

I'm not quite sure I understand what you mean: the FOP viewer
is built on top of Java2D, but kind of GUI widget do you want to
build with FOP?
Or do you thing about generating PDFs from Java2D? that would
be very cool!

Cedric


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 21:30               ` Per Bothner
@ 2000-03-20 22:23                 ` Bryce McKinlay
  2000-04-01  0:00                   ` Bryce McKinlay
  2000-03-20 22:25                 ` Cedric Berger
                                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 60+ messages in thread
From: Bryce McKinlay @ 2000-03-20 22:23 UTC (permalink / raw)
  To: Per Bothner; +Cc: Cedric Berger, java-discuss

Per Bothner wrote:

> I think the "model" classes should be pure Java (except perhaps
> a few CNI methods for speed).  However, the "view" classes
> should perhaps be based on gtk widgets.  At least the default
> implementation of the view classes should use the gtk theme
> framework.

Why not do the view classes in Java as well? Implementing Swing's level
of elegance and complexity (even just the views) in C is not something
I'd consider either "fun" or "realistic". Given the elimination of the
synchronization issues, and good garbage collection, the Java
implementation would be allmost as fast. "view" classes written in Java
could even be used by traditional programs written in C(++) as if they
were native gtk widgets, given a bit of glue.

> One exciting idea I want to explore is to use the XSL
> "formatting object" model for views.  See http://www.w3.org/TR/xsl/
> We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
> which is an open-source implementation in Java sponsored by the Apache
> XML Project.

Yes, this sounds very cool.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
  2000-03-20 21:30               ` Per Bothner
@ 2000-03-20 22:13               ` Bryce McKinlay
  2000-04-01  0:00                 ` Bryce McKinlay
  2000-03-21  2:18               ` David Pettersson
                                 ` (3 subsequent siblings)
  5 siblings, 1 reply; 60+ messages in thread
From: Bryce McKinlay @ 2000-03-20 22:13 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger wrote:

> Nobody uses AWT widgets anymore. I've never seen a new AWT
> application the last two years. In fact, Swing is widely recognized
> as the better GUI toolkit availabe today (and I'm not speaking of
> Java only). The main problem so far was speed, but JDK 1.3 is
> much better, and having the code compiled with a tool like GCJ
> will also make it much faster.

Definatly. Swing is a far superior toolkit to anything else I've ever seen.
Its weaknesses (apart from speed) are poor intergration with native
applications and poor integration between swing applications (eg cut &
paste, drag & drop, etc - although I think these are being remedied
somewhat in JDK 1.3). These are the things we'd be adressing with a "gcj
toolkit". I want to write native applications, but with a Swing API.

> IMHO, the right way to develop a graphic library for Java today
> is:
>
> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.
>
> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

Yeah, whatever the long term plans, we've got to start somewhere.
Implementing an AWT 1.1 using gtk native peers that can run Sun's Swing 1.1
distribution is a reasonable goal in the short term.

regards

  [ bryce ]


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
  2000-03-20 20:59             ` AWT is dead now Cedric Berger
@ 2000-03-20 21:30               ` Per Bothner
  2000-03-20 22:23                 ` Bryce McKinlay
                                   ` (4 more replies)
  2000-03-20 22:13               ` Bryce McKinlay
                                 ` (4 subsequent siblings)
  5 siblings, 5 replies; 60+ messages in thread
From: Per Bothner @ 2000-03-20 21:30 UTC (permalink / raw)
  To: Cedric Berger; +Cc: java-discuss

Cedric Berger <cedric@wireless-networks.com> writes:

> 1) implementing the basic (low level) AWT functionalities.
> Basically Window/Frame/Component/Container/Canvas and
> event handling.

I agree this comes first.

> 2) implementing Java2D (it's probably more difficult than 1),
> but it can be done later and its probably a lot of fun to do.

It seems plausible to use libart (see http://www.levien.com/libart/
and http://developer.gnome.org/arch/imaging/libart.html ).

> 3) implementing Swing on top of the minimal AWT (or
> borrowing it from 1.1 as a temporary solution). Swing is not
> a trivial piece of code, but the advantage is that since almost
> all functions/members of Swing are either public or protected,
> all the skeleton of the code can be written from the JavaDoc
> output of swing. "only" filling the method's body is required.

Well, this is the "pure Java" approach.  It may make sense
to use existing Gtk widgets instead.  It may also make sense
to do provide both:  I.e. the toolkit by default uses Gtk
widgets, but that can be overridden.

I think the "model" classes should be pure Java (except perhaps
a few CNI methods for speed).  However, the "view" classes
should perhaps be based on gtk widgets.  At least the default
implementation of the view classes should use the gtk theme
framework.

One exciting idea I want to explore is to use the XSL
"formatting object" model for views.  See http://www.w3.org/TR/xsl/ 
We could base the implementation on FOP ( http://xml.apache.org/fop/ ),
which is an open-source implementation in Java sponsored by the Apache
XML Project.  FOP can generate pdf - and it also includes
a viewer, so it could form the basis for a "view engine".
(However, I don't know if the Apache license is viewed as
being compatible with the modified-GPL of libgcj.)

Similarly, it might be cool to have the Element hierarchy of a
Swing Document implement the org.w3c.dom.Node.  This might provide
a nice integrated and efficient XML environment.

> 4) if somebody really need it at that point, implementing
> AWT widgets by calling Swing code

That is my suggestion, too.
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: AWT is dead now
       [not found]           ` <38D681A9.1ED6097A@berger.to>
@ 2000-03-20 20:59             ` Cedric Berger
  2000-03-20 21:30               ` Per Bothner
                                 ` (5 more replies)
  0 siblings, 6 replies; 60+ messages in thread
From: Cedric Berger @ 2000-03-20 20:59 UTC (permalink / raw)
  To: java-discuss

Nobody uses AWT widgets anymore. I've never seen a new AWT
application the last two years. In fact, Swing is widely recognized
as the better GUI toolkit availabe today (and I'm not speaking of
Java only). The main problem so far was speed, but JDK 1.3 is
much better, and having the code compiled with a tool like GCJ
will also make it much faster.

There has been a lot of discussion about AWT vs Swing design
option, and I think that most people agree that Swing has two
major advantages over AWT:
1) platform independence: you don't need to test thing on many
platform, the code is the same, the bugs are the same, ...
2) flexibility: there is not a single part of the Swing library that
I cannot replace or subclass in an application. Syntax coloring,
for example, can be done with 20-50 lines of code, by just
replacing the text RENDERER.

IMHO, the right way to develop a graphic library for Java today
is:

1) implementing the basic (low level) AWT functionalities.
Basically Window/Frame/Component/Container/Canvas and
event handling.

2) implementing Java2D (it's probably more difficult than 1),
but it can be done later and its probably a lot of fun to do.

3) implementing Swing on top of the minimal AWT (or
borrowing it from 1.1 as a temporary solution). Swing is not
a trivial piece of code, but the advantage is that since almost
all functions/members of Swing are either public or protected,
all the skeleton of the code can be written from the JavaDoc
output of swing. "only" filling the method's body is required.

4) if somebody really need it at that point, implementing
AWT widgets by calling Swing code: I believe that it is (or
was) Sun's plan too.

Cedric

Tom Tromey wrote:

> >> Secondly, I'm quite interested in doing some work on implementing
> >> AWT (I'm more intrested in Client stuff myself). I was wondering if
> >> someone could clear up the position of this, esp. regarding the
> >> Classpath merger. I seem to recall that everything from Classpath
> >> is available except the AWT code.  Now is this all AWT code or just
> >> the native implementation? IF I do use it what is the final result?
> >> That the executable is cover by the GPL? I can live with that for
> >> now...
>
> Jeff> From looking at Warren Levy's latest patches, I'd guess that the
> Jeff> libgcj maintainers haven't given up on doing their own AWT port,
> Jeff> independently of classpath.
>
> Warren's recent patches notwithstanding, we haven't started
> implementing AWT.  Those were needed for something else.
>
> Jeff> AWT would be great... you might consider a portable toolkit
> Jeff> (GTK?)  though before it becomes too Win32-centric, so that
> Jeff> other platforms can benefit.
>
> My goal is to have a retargetable AWT -- one where we can plug in
> different back ends.  So we might have a Gtk+ back end (the one I'd
> like to see :-), a Windows back end, and even a back end running on a
> framebuffer (for embedded folks).  I don't know enough about AWT to
> say whether this is a realistic plan.
>
> Tom


^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2000-04-01  0:00 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-21  1:08 AWT is dead now Nic Ferrier
2000-04-01  0:00 ` Nic Ferrier
  -- strict thread matches above, loose matches on Subject: below --
2000-04-01  0:00 libgcj for win32 Jeff Sturm
2000-04-01  0:00 ` Jon Beniston
2000-04-01  0:00   ` Jeff Sturm
2000-03-20  6:19     ` Interrupted IO and AWT Jon Beniston
2000-03-20  7:07       ` Jeff Sturm
2000-03-20  8:21         ` Tom Tromey
     [not found]           ` <38D681A9.1ED6097A@berger.to>
2000-03-20 20:59             ` AWT is dead now Cedric Berger
2000-03-20 21:30               ` Per Bothner
2000-03-20 22:23                 ` Bryce McKinlay
2000-04-01  0:00                   ` Bryce McKinlay
2000-03-20 22:25                 ` Cedric Berger
2000-03-20 22:56                   ` Per Bothner
2000-03-21  9:26                     ` Cedric Berger
2000-03-21  9:38                       ` Denis Balazuc
2000-04-01  0:00                         ` Denis Balazuc
2000-04-01  0:00                       ` Cedric Berger
2000-04-01  0:00                     ` Per Bothner
2000-04-01  0:00                   ` Cedric Berger
2000-03-21  1:01                 ` Joerg Brunsmann
2000-04-01  0:00                   ` Joerg Brunsmann
2000-03-21 14:33                 ` Paul Fisher
2000-04-01  0:00                   ` Paul Fisher
2000-04-01  0:00                 ` Per Bothner
2000-03-20 22:13               ` Bryce McKinlay
2000-04-01  0:00                 ` Bryce McKinlay
2000-03-21  2:18               ` David Pettersson
2000-04-01  0:00                 ` David Pettersson
2000-03-21  6:48               ` Jeff Sturm
2000-03-21  9:00                 ` Cedric Berger
2000-03-21  9:47                   ` Jeff Sturm
2000-03-21 10:12                     ` Cedric Berger
2000-04-01  0:00                       ` Cedric Berger
2000-04-01  0:00                     ` Jeff Sturm
2000-04-01  0:00                   ` Cedric Berger
2000-03-21 14:05                 ` Paul Fisher
2000-04-01  0:00                   ` Paul Fisher
2000-04-01  0:00                 ` Jeff Sturm
2000-03-21  8:56               ` ks
2000-03-21  9:17                 ` Cedric Berger
2000-03-21  9:57                   ` ks
2000-03-21 10:22                     ` Cedric Berger
2000-03-21 10:41                       ` jean-marie sulmont
2000-04-01  0:00                         ` jean-marie sulmont
2000-04-01  0:00                       ` Cedric Berger
2000-04-01  0:00                     ` ks
2000-04-01  0:00                   ` Cedric Berger
2000-03-21  9:44                 ` Brian Sullivan
2000-03-21 11:38                   ` Jonathan P. Olson
2000-03-21 11:46                     ` Nathan Meyers
2000-04-01  0:00                       ` Nathan Meyers
2000-04-01  0:00                     ` Jonathan P. Olson
2000-04-01  0:00                   ` Brian Sullivan
2000-04-01  0:00                 ` ks
2000-04-01  0:00               ` Cedric Berger
2000-03-21  9:50 Boehm, Hans
2000-04-01  0:00 ` Boehm, Hans
2000-03-21  1:04 Nic Ferrier
2000-03-21  3:08 ` Bryce McKinlay
2000-04-01  0:00   ` Bryce McKinlay
2000-03-21  8:56 ` Cedric Berger
2000-03-21  9:04   ` Tom Tromey
2000-04-01  0:00     ` Tom Tromey
2000-04-01  0:00   ` Cedric Berger
2000-04-01  0:00 ` Nic Ferrier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).