This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Lightweight peer implementation


On Fri, 2003-08-08 at 15:38, Scott Gilbertson Onsite wrote:
> I claim that lightweights are not platform-specific, which is why I
> submitted the following patch (which has not been comitted) a while back.
> http://gcc.gnu.org/ml/java-patches/2003-q2/msg00140.html
> 
> I think you'll find it works fine with the gtk peers, even though I tested
> it with xlib peers.  You really shouldn't need any gtk-specific methods in
> there, because in the lightweight case the Component and Container classes
> pass all requests up the line to their nearest heavyweight parent.  It's
> enough, therefore, that the heavyweights implement the platform-specific
> (i.e. xlib vs. gtk, etc.) stuff.
> 

Hi Scott,

Thanks for the feedback.

I've adopted your approach and implemented some of the ComponentPeer
methods.  I tried to copy the behaviour of the corresponding Component
calls when peer == null.  My rational is that maybe we can eventually
remove the peer != null checks in Component.java, and assume that a
component always has a non-null peer, whether it be lightweight or
heavyweight.

In the original thread, Tom mentioned that returning a gnu.java.awt
class from a java.awt class might not be a good idea.  What about
implementing LightweightPeer as a private inner class of
Component.java?  This approach would have the advantage that the peer
would have direct access to Component's fields.

Thoughts?

Tom


> ----- Original Message ----- 
> From: "Thomas Fitzsimmons" <fitzsim@redhat.com>
> To: "GCJ Patch List" <java-patches@gcc.gnu.org>
> Sent: Friday, August 08, 2003 2:49 PM
> Subject: Lightweight peer implementation
> 
> 
> > Hello,
> >
> > This patch is a first step toward support for lightweight components
> > that draw on GTK widgets.  The patch prevents a crash in the
> > ComponentMouse test from Acunia's open-wonka-visualtest.
> >
> > Please review and comment.
> >
> > Thanks,
> > Tom
> >
> > 2003-08-08  Thomas Fitzsimmons  <fitzsim@redhat.com>
> >
> > * Makefile.am (gtk_awt_peer_sources): Add
> > GtkLightweightPeer.java.  Remove GLightweightPeer.java.
> > * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Return before
> > attempting to create GTK widgets if this is a lightweight peer.
> > * gnu/java/awt/peer/gtk/GtkToolkit.java (createComponent): New
> > method.
> > * gnu/java/awt/peer/gtk/GtkLightweightPeer.java: New file.
> >
> >
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]