PatchSet 5902 
Date: 2005/01/22 19:10:50
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
resynced with GNU Classpath: swing fixes

2005-01-22  Dalibor Topic  <[EMAIL PROTECTED]>

Resynced with GNU Classpath.

2005-01-21  Michael Koch  <[EMAIL PROTECTED]>

* javax/swing/text/DefaultEditorKit.java
(read): Added '\n' after each line.
* javax/swing/text/PlainView.java
(modelToView): Update metrics.
(drawLine): Use offsets from element.
(paint): Update metrics. Draw all lines.

Members: 
        ChangeLog:1.3441->1.3442 
        libraries/javalib/javax/swing/text/DefaultEditorKit.java:1.8->1.9 
        libraries/javalib/javax/swing/text/PlainView.java:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3441 kaffe/ChangeLog:1.3442
--- kaffe/ChangeLog:1.3441      Sat Jan 22 19:08:10 2005
+++ kaffe/ChangeLog     Sat Jan 22 19:10:50 2005
@@ -2,6 +2,19 @@
 
        Resynced with GNU Classpath.
        
+       2005-01-21  Michael Koch  <[EMAIL PROTECTED]>
+
+       * javax/swing/text/DefaultEditorKit.java
+       (read): Added '\n' after each line.
+       * javax/swing/text/PlainView.java
+       (modelToView): Update metrics.
+       (drawLine): Use offsets from element.
+       (paint): Update metrics. Draw all lines.
+
+2005-01-22  Dalibor Topic  <[EMAIL PROTECTED]>
+
+       Resynced with GNU Classpath.
+       
        2005-01-20  Michael Koch  <[EMAIL PROTECTED]>
 
        * java/awt/print/PrinterJob.java
Index: kaffe/libraries/javalib/javax/swing/text/DefaultEditorKit.java
diff -u kaffe/libraries/javalib/javax/swing/text/DefaultEditorKit.java:1.8 
kaffe/libraries/javalib/javax/swing/text/DefaultEditorKit.java:1.9
--- kaffe/libraries/javalib/javax/swing/text/DefaultEditorKit.java:1.8  Thu Jan 
13 07:38:58 2005
+++ kaffe/libraries/javalib/javax/swing/text/DefaultEditorKit.java      Sat Jan 
22 19:10:56 2005
@@ -375,7 +375,10 @@
     StringBuffer content = new StringBuffer();
 
     while ((line = reader.readLine()) != null)
-      content.append(line);
+      {
+       content.append(line);
+       content.append("\n");
+      }
     
     document.insertString(offset, content.toString(),
                          SimpleAttributeSet.EMPTY);
Index: kaffe/libraries/javalib/javax/swing/text/PlainView.java
diff -u kaffe/libraries/javalib/javax/swing/text/PlainView.java:1.3 
kaffe/libraries/javalib/javax/swing/text/PlainView.java:1.4
--- kaffe/libraries/javalib/javax/swing/text/PlainView.java:1.3 Tue Sep 28 
22:45:33 2004
+++ kaffe/libraries/javalib/javax/swing/text/PlainView.java     Sat Jan 22 
19:10:56 2005
@@ -1,5 +1,5 @@
 /* PlainView.java -- 
-   Copyright (C) 2004  Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -46,7 +46,6 @@
 import java.awt.Rectangle;
 import java.awt.Shape;
 
-
 public class PlainView extends View
   implements TabExpander
 {
@@ -93,6 +92,9 @@
   public Shape modelToView(int position, Shape a, Position.Bias b)
     throws BadLocationException
   {
+    // Ensure metrics are up-to-date.
+    updateMetrics();
+    
     Document document = getDocument();
 
     // Get rectangle of the line containing position.
@@ -121,7 +123,8 @@
       {
        metrics = g.getFontMetrics();
        // FIXME: Selected text are not drawn yet.
-       drawUnselectedText(g, x, y, 0, getDocument().getLength());
+       Element line = 
getDocument().getDefaultRootElement().getElement(lineIndex);
+       drawUnselectedText(g, x, y, line.getStartOffset(), line.getEndOffset());
        //drawSelectedText(g, , , , );
       }
     catch (BadLocationException e)
@@ -150,6 +153,9 @@
 
   public void paint(Graphics g, Shape s)
   {
+    // Ensure metrics are up-to-date.
+    updateMetrics();
+    
     JTextComponent textComponent = (JTextComponent) getContainer();
 
     g.setFont(textComponent.getFont());
@@ -159,7 +165,15 @@
     Rectangle rect = s.getBounds();
 
     // FIXME: Text may be scrolled.
-    drawLine(0, g, rect.x, rect.y);
+    Document document = textComponent.getDocument();
+    Element root = document.getDefaultRootElement();
+    int y = rect.y;
+    
+    for (int i = 0; i < root.getElementCount(); i++)
+      {
+       drawLine(i, g, rect.x, y);
+       y += metrics.getHeight();
+      }
   }
 
   public int getTabSize()

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to