tn5250j/src/org/tn5250j/swing/ui BasicTerminalUI.java,1.1,1.2 BasicOIA.java,1.1,1.2 BasicScreenUI.java,1.1,1.2

"Kenneth J. Pouncey" <[email protected]> Tue, 20 Jul 2004 20:17:39 +0000
Newsgroups gmane.comp.java.tn5250j.cvs
Message-ID <[email protected]>
Update of /cvsroot/tn5250j/tn5250j/src/org/tn5250j/swing/ui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20677/src/org/tn5250j/swing/ui

Modified Files:
	BasicTerminalUI.java BasicOIA.java BasicScreenUI.java 
Log Message:
Fix paint problem on screen resize

Index: BasicScreenUI.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/swing/ui/BasicScreenUI.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** BasicScreenUI.java	18 Jul 2004 13:32:32 -0000	1.1
--- BasicScreenUI.java	20 Jul 2004 20:17:37 -0000	1.2
***************
*** 106,109 ****
--- 106,114 ----
  
  }
+ 
+ 	public void onScreenSizeChanged(int rows, int cols) {
+ 	   
+ 	}
+ 	
  //  public void onScreenChanged(int inUpdate, iOhioPosition inStart, iOhioPosition inEnd)
    public void onScreenChanged(int inUpdate, int startRow, int startCol, int endRow, int endCol)
***************
*** 113,118 ****
        iOhioPosition inStart = new iOhioPosition(startRow,startCol);
        iOhioPosition inEnd = new iOhioPosition(endRow,endCol);
! //      System.out.println("screen updated -> " +  startRow + ", "
! //                           + startCol + ", " + endRow + ", " + endCol);
        lastScreenUpdate = inUpdate;
  
--- 118,123 ----
        iOhioPosition inStart = new iOhioPosition(startRow,startCol);
        iOhioPosition inEnd = new iOhioPosition(endRow,endCol);
!       System.out.println("screen updated -> " +  startRow + ", "
!                            + startCol + ", " + endRow + ", " + endCol);
        lastScreenUpdate = inUpdate;
  

Index: BasicTerminalUI.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/swing/ui/BasicTerminalUI.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** BasicTerminalUI.java	18 Jul 2004 13:32:32 -0000	1.1
--- BasicTerminalUI.java	20 Jul 2004 20:17:33 -0000	1.2
***************
*** 18,21 ****
--- 18,22 ----
  public class BasicTerminalUI extends TerminalUI implements org.tn5250j.TN5250jConstants
  {
+    boolean graphicsDebugMode = false;
  
    public static void paintSubComponent(Graphics g, BasicSubUI component)
***************
*** 63,67 ****
      {
        this.terminal = (JTerminal)c;
-       boolean graphicsDebugMode = false;
        if (graphicsDebugMode)
        {
--- 64,67 ----

Index: BasicOIA.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/swing/ui/BasicOIA.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** BasicOIA.java	18 Jul 2004 13:32:32 -0000	1.1
--- BasicOIA.java	20 Jul 2004 20:17:37 -0000	1.2
***************
*** 28,31 ****
--- 28,36 ----
    }
  
+   public void onScreenSizeChanged(int rows, int cols) {
+      
+      
+   }
+   
    public void onScreenChanged(int inUpdate, int startRow, int startCol, int endRow, int endCol)
    {
***************
*** 44,47 ****
--- 49,53 ----
            break;
          case OIA_CHANGED_INPUTINHIBITED:
+            addDirtyRectangle(inhibitedRectangle);
            break;
          case OIA_CHANGED_INSERT_MODE:
***************
*** 88,91 ****
--- 94,98 ----
      paintRuler(g, clip);
      paintLocation(g, clip);
+     paintInhibited(g, clip);
    }
  
***************
*** 111,114 ****
--- 118,164 ----
    }
  
+   private void paintInhibited(Graphics g, Rectangle clip)
+   {
+ 
+      if (inhibitedRectangle.intersects(clip))
+      {
+         if (oia.getInhibitedText() != null)
+            System.out.println(oia.getInhibitedText());
+ 
+         System.out.println("xsystem " + oia.getLevel() + "," + oia.getInputInhibited());
+ 
+         g.setColor(BasicTerminalUI.DFT_FOREGROUND);
+ 
+        Screen5250 s = oia.getSource();
+        int cy = (int)(inhibitedRectangle.y + rowHeight - (metrics.getDescent() + metrics.getLeading()));
+        int attr = oia.getLevel();
+        int value = oia.getInputInhibited();
+        String stext = oia.getInhibitedText();
+ 
+        g.setColor(Color.black);
+        g.fillRect(inhibitedRectangle.x,inhibitedRectangle.x,inhibitedRectangle.width,
+              inhibitedRectangle.height);
+              
+        switch (oia.getLevel()) {
+           case 7:
+              if (value == ScreenOIA.INPUTINHIBITED_SYSTEM_WAIT) {
+              
+ 	             g.setColor(Color.white);
+ 	             if (stext != null) {
+ 	                g.drawChars(stext.toCharArray(),0,
+ 	                      oia.getInhibitedText().length(),inhibitedRectangle.x,cy);
+ 	             }
+ 	             else {
+ 	                g.drawChars("X - System".toCharArray(),0,
+ 	                      "X - System".length(),inhibitedRectangle.x,cy);
+ 	                
+ 	             }
+              }
+              break;
+        }
+ 
+      }
+   }
+ 
    public final void setPosition(int row, int column)
    {
***************
*** 117,124 ****
--- 167,176 ----
    transient ScreenOIA      oia;
    private transient Rectangle locationRectangle;
+   private transient Rectangle inhibitedRectangle;
  
    private void clearLayout()
    {
      locationRectangle = null;
+     inhibitedRectangle = null;
    }
  
***************
*** 133,136 ****
--- 185,189 ----
        w = 6 * this.columnWidth;
        locationRectangle = new Rectangle(bounds.width - w, 0, w, this.rowHeight);
+       inhibitedRectangle = new Rectangle(10, 0, 25* this.columnWidth, this.rowHeight);
      }
    }



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click