GoogleCodeArchive / piccolo2d

Automatically exported from code.google.com/p/piccolo2d
0 stars 0 forks source link

Updates for PSwing #144

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
When testing Piccolo r772 for compatibility with our projects, my
collaborators and I identified several issues with PSwing, pointed out in
issue #43.  In comment 22, allain.lalonde said "I have rolled back all
changes to the way PSwing paints and sizes itself."  However, we think this
misses several of the improvements.

We have been working on a branch of PSwing, based r390.  We incorporated
several of the changes that allain introduced, and have thoroughly tested
it in many situations over many months.  It's not perfect, but for our
projects it's much better than either r772 or the reverted version circa
r838.  This includes about 10 nontrivial commits since r390, and a diff
against trunk is difficult since the formatting has dramatically changed. 
I've attached it here to see what you think about integrating this into
piccolo2d's trunk.  If possible, it would be nice to have these changes in
any 1.3 releases.

Original issue reported on code.google.com by reids%co...@gtempaccount.com on 28 Oct 2009 at 5:39

Attachments:

GoogleCodeExporter commented 9 years ago
I confirmed that we did not make any changes to other files in the pswing 
package
since r390 in our branch.  I haven't checked whether there were any code 
changes in
piccolo2d's copy of them, though it's fairly certain there are
formatting/documentation changes.

Original comment by reids%co...@gtempaccount.com on 28 Oct 2009 at 5:47

GoogleCodeExporter commented 9 years ago
Terrific. I'll try to swap it out and see if anything breaks.

I'd like to include a list of improvements your team has made in the list of 
changes
in 1.3. Can you give me a quick list? If not, I'll just manually compare r390 
with
the file provided. 

Thanks a lot!

Original comment by allain.lalonde on 28 Oct 2009 at 11:58

GoogleCodeExporter commented 9 years ago

Original comment by allain.lalonde on 28 Oct 2009 at 11:23

GoogleCodeExporter commented 9 years ago
Here's an SVN log for our local branch we got r390 on 9/8/2008 as [24243] and 
made 10
commits since then. Here is a svn log of our changes since then:

------------------------------------------------------------------------
r33958 | samreid | 2009-08-10 11:39:01 -0600 (Mon, 10 Aug 2009) | 1 line

update docs
------------------------------------------------------------------------
r33957 | samreid | 2009-08-10 11:38:19 -0600 (Mon, 10 Aug 2009) | 2 lines

re-enable greeking
add docs
------------------------------------------------------------------------
r33686 | jblanco | 2009-07-28 12:40:40 -0600 (Tue, 28 Jul 2009) | 1 line

Backed out (manually) some experiments that Sam R had done with GraphicsState 
that he
unintentionally checked in. This was discussed with Sam, and was necessary 
because it
was causing build issues when using the build GUI.
------------------------------------------------------------------------
r33649 | samreid | 2009-07-27 13:29:40 -0600 (Mon, 27 Jul 2009) | 1 line

added public interface for disabling buffering after component addition
------------------------------------------------------------------------
r33322 | cmalley | 2009-07-14 16:36:23 -0600 (Tue, 14 Jul 2009) | 1 line

see #1727, applied "PSwing fuzziness" fix provided by Piccolo team, removed 
unused
methods and members related to buffering.
------------------------------------------------------------------------
r32781 | cmalley | 2009-06-26 13:52:21 -0600 (Fri, 26 Jun 2009) | 1 line

see #689, revert to use buffering in PSwing due to ellipsis problem
------------------------------------------------------------------------
r32746 | samreid | 2009-06-25 16:49:24 -0600 (Thu, 25 Jun 2009) | 1 line

Removed buffering from PSwing, see #689
------------------------------------------------------------------------
r32053 | samreid | 2009-05-26 12:50:28 -0600 (Tue, 26 May 2009) | 1 line

Update shape when any property (such as text or font) changes, see #1670
------------------------------------------------------------------------
r32039 | samreid | 2009-05-26 11:31:31 -0600 (Tue, 26 May 2009) | 1 line

improve auto-resizing in pswing, see #1670
------------------------------------------------------------------------
r31446 | samreid | 2009-05-07 11:02:48 -0600 (Thu, 07 May 2009) | 1 line

demonstrate workaround for embedded pswing slider on mac
------------------------------------------------------------------------
r24243 | samreid | 2008-09-08 18:04:08 -0600 (Mon, 08 Sep 2008) | 1 line

updated to piccolo-trunk. This project name has been changed to piccolo2d, and 
the
source roots have been moved a few levels deep to comply with Maven build
conventions. Also, since SWT no longer ships with piccolo, a separate contrib
directory was added for it. (Other junit and ant packages already in our path 
seem to
work fine.)
------------------------------------------------------------------------ 

Please let me know if you have any questions or comments about this.

Original comment by reids%co...@gtempaccount.com on 29 Oct 2009 at 2:41

GoogleCodeExporter commented 9 years ago
Sam, please let us know if cmalley and jblanco would like to be listed in the 
parent
pom.xml contributors section.  They may provide whatever details they wish, if 
any.

Original comment by heue...@gmail.com on 29 Oct 2009 at 6:38

GoogleCodeExporter commented 9 years ago
Applied in r863. After some cleanup.

Original comment by allain.lalonde on 29 Oct 2009 at 9:09

GoogleCodeExporter commented 9 years ago
Thanks for applying this patch and beautifying it.  I noticed that you removed a
method computeBounds() and privatized another method 
componentHierachyChanged(). 
ComputeBounds() was currently just calling reshape() (though this implementation
might change in the future), but reshape() is currently package visible only.  
So
could you add back computeBounds() or make reshape() public?  You could also 
rename
computeBounds()->updateBounds() if you like.  

The long term solution to the componentHierarchyChanged() is to internally 
attach
listeners to the PSwing's jcomponent swing tree and listen for componentAdded, 
etc.
so that new components can have their double buffering disabled.  Right now, 
we're
only using this functionality in one of our projects, and I'm happy to write a 
fix in
the client code if you think this method should be omitted from PSwing (it 
would be a
shame to put it in for 1.3 just to deprecate it for 1.3.0_01.)

Original comment by reids%co...@gtempaccount.com on 30 Oct 2009 at 1:52

GoogleCodeExporter commented 9 years ago
This work for you?
- I'll make reshape() public and rename it to updateBounds()
- Because I think you're right if I left it there, eventually it'd be replaced 
by the
hierarchy listener approach. Clients shouldn't need to remember to call it. So 
if you
want to add it to the client code for the time being, that's probably best for 
everyone.

Let me know. :) 

Original comment by allain.lalonde on 30 Oct 2009 at 2:01

GoogleCodeExporter commented 9 years ago
Yes, both your suggestions sound excellent.  Thanks for taking care of this.  We
might also find a way to alleviate the client having to call updateBounds() in 
the
future, but right now it's rather pervasive in our projects, and a 
straightforward
way to solve the problem.

Original comment by reids%co...@gtempaccount.com on 30 Oct 2009 at 2:06

GoogleCodeExporter commented 9 years ago
Hi Sam,
am I right that your branch is disconnected and isolated? What about making 
your collegues p2d committers and 
linking from your repo to google code via svn:externals?

Original comment by mr0...@mro.name on 30 Oct 2009 at 10:28

GoogleCodeExporter commented 9 years ago
Implemented in r868

Original comment by allain.lalonde on 30 Oct 2009 at 3:59

GoogleCodeExporter commented 9 years ago

Original comment by allain.lalonde on 5 Nov 2009 at 3:59