I forgot the actual patch. Here it comes now. /Roman
Am Montag, den 21.11.2005, 14:34 +0100 schrieb Roman Kennke:
> Hi Mark,
>
>
> Am Samstag, den 19.11.2005, 20:04 +0100 schrieb Mark Wielaard:
> > On Tue, 2005-11-15 at 21:23 +0100, Mark Wielaard wrote:
> > > On Tue, 2005-11-15 at 14:16 +0000, Roman Kennke wrote:
> > > > 2005-11-15 Roman Kennke <[EMAIL PROTECTED]>
> > > >
> > > > * javax/swing/JViewport.java
> > > > (JViewport): Recognize setting of a system property
> > > > gnu.javax.swing.JViewport for the scrollMode.
> > > >
> > > > --- javax/swing/JViewport.java 27 Oct 2005 17:20:22 -0000 1.34
> > > > +++ javax/swing/JViewport.java 15 Nov 2005 14:12:41 -0000
> > > > @@ -246,7 +246,18 @@
> > > > public JViewport()
> > > > {
> > > > setOpaque(true);
> > > > - setScrollMode(BLIT_SCROLL_MODE);
> > > > + String scrollModeProp =
> > > > + System.getProperty("gnu.javax.swing.JViewport.scrollMode",
> > > > + "BLIT");
> > >
> > > You want to use gnu.classpath.SystemProperties.getProperty() here for
> > > the (admittedly unlikely) case a JViewport is instantiated through code
> > > that doesn't have enough permissions for reading that system property.
> > >
> > > It might also be an idea to make scrollModeProp static and only
> > > instantiate it once for efficiency. Although that might be an
> > > optimization that isn't really worth it since I guess instantiating
> > > JViewPorts isn't don't that often. And it would prevent changing this
> > > programmaticaly per instance of course. If that is desirable.
> >
> > Ping. Any comments?
>
> I fixed this with the attached patch.
>
> 2005-11-21 Roman Kennke <[EMAIL PROTECTED]>
>
> * javax/swing/JViewport.java
> (static_initializer): Initialize the defaultScrollMode here.
> (JViewport): Set the defaultScrollMode that was initialized in
> the static initializer.
>
> /Roman
>
> _______________________________________________
> Classpath-patches mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/classpath-patches
Index: javax/swing/JViewport.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JViewport.java,v
retrieving revision 1.34
retrieving revision 1.36
diff -u -r1.34 -r1.36
--- javax/swing/JViewport.java 27 Oct 2005 17:20:22 -0000 1.34
+++ javax/swing/JViewport.java 21 Nov 2005 13:33:06 -0000 1.36
@@ -38,6 +38,8 @@
package javax.swing;
+import gnu.classpath.SystemProperties;
+
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
@@ -163,7 +165,13 @@
public static final int BACKINGSTORE_SCROLL_MODE = 2;
private static final long serialVersionUID = -6925142919680527970L;
-
+
+ /**
+ * The default scrollmode to be used by all JViewports as determined by
+ * the system property gnu.javax.swing.JViewport.scrollMode.
+ */
+ private static final int defaultScrollMode;
+
protected boolean scrollUnderway;
protected boolean isViewSizeSet;
@@ -243,10 +251,27 @@
*/
boolean sizeChanged = true;
+ /**
+ * Initializes the default setting for the scrollMode property.
+ */
+ static
+ {
+ String scrollModeProp =
+ SystemProperties.getProperty("gnu.javax.swing.JViewport.scrollMode",
+ "BLIT");
+ int myScrollMode;
+ if (scrollModeProp.equalsIgnoreCase("simple"))
+ defaultScrollMode = SIMPLE_SCROLL_MODE;
+ else if (scrollModeProp.equalsIgnoreCase("backingstore"))
+ defaultScrollMode = BACKINGSTORE_SCROLL_MODE;
+ else
+ defaultScrollMode = BLIT_SCROLL_MODE;
+ }
+
public JViewport()
{
setOpaque(true);
- setScrollMode(BLIT_SCROLL_MODE);
+ setScrollMode(defaultScrollMode);
updateUI();
setLayout(createLayoutManager());
lastPaintPosition = new Point();
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
_______________________________________________ Classpath-patches mailing list [email protected] http://lists.gnu.org/mailman/listinfo/classpath-patches
