gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz ./Gzz.py gzz/client/Fallback.java gzz/view/...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz ./Gzz.py gzz/client/Fallback.java gzz/view/...
Date: Sun, 24 Nov 2002 15:09:18 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      02/11/24 15:09:18

Modified files:
        .              : Gzz.py 
        gzz/client     : Fallback.java 
        gzz/view       : LinebrokenCellContentView.java 
                         TextCellContentView.java 
Added files:
        gzz/view       : CellMagnifier.java 

Log message:
        Allow multiline text (try the --multiline and --double-size
        or --triple-size command line options).

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Gzz.py.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/Fallback.java.diff?tr1=1.50&tr2=1.51&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/CellMagnifier.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/LinebrokenCellContentView.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/TextCellContentView.java.diff?tr1=1.26&tr2=1.27&r1=text&r2=text

Patches:
Index: gzz/Gzz.py
diff -u gzz/Gzz.py:1.47 gzz/Gzz.py:1.48
--- gzz/Gzz.py:1.47     Sat Nov 23 08:44:20 2002
+++ gzz/Gzz.py  Sun Nov 24 15:09:18 2002
@@ -24,11 +24,17 @@
 import gzz.zzutil
 
 
+# Flags that can be passed to Gzz.py
+# (prefix with '--' on the command line)
+flagset = ['multiline', 'double-size', 'triple-size']
+
+
 class Gzz(java.lang.Runnable):
     """The main Gzz client class."""
 
     transient = 0
     bindings_type = 'java'
+    flags = []
 
     def run(self):
         self.style = self.graphicsAPI.getTextStyle("SansSerif", 
java.awt.Font.PLAIN, 13);
@@ -37,7 +43,19 @@
                       ]
         self.viewSpecificBinders = java.util.HashMap()
         self.cellView = gzz.view.BoxCellView()
-        self.cellContentView  = gzz.view.TextCellContentView(self.style)
+        if 'multiline' not in self.flags:
+            self.cellContentView = gzz.view.TextCellContentView(self.style)
+        else:
+            self.cellContentView = \
+                gzz.view.LinebrokenCellContentView(self.style)
+
+        if 'triple-size' in self.flags:
+            self.cellContentView = \
+                gzz.view.CellMagnifier(self.cellContentView, 3)
+        elif 'double-size' in self.flags:
+            self.cellContentView = \
+                gzz.view.CellMagnifier(self.cellContentView, 2)
+        
         if self.gl:
             xubuoy = gzz.view.xubuoy.XuPDF_ViewBinder()
             self.views.append(xubuoy)
@@ -61,6 +79,8 @@
                 self.transient = 1
             if o in ("-p", "--python-bindings"):
                 self.bindings_type = 'python'
+            if o[2:] in flagset:
+                self.flags.append(o[2:])
 
         if (not self.transient) and (not self.args):
             print ""
@@ -161,7 +181,7 @@
 
 def run():
     opts, args = getopt.getopt(sys.argv[1:], "Ctp"+gzz.util.dbg.short,
-            ["test-client", "commander"]+gzz.util.dbg.long)
+            ["test-client", "commander"]+gzz.util.dbg.long+flagset)
 
     testclient = 0
 
Index: gzz/gzz/client/Fallback.java
diff -u gzz/gzz/client/Fallback.java:1.50 gzz/gzz/client/Fallback.java:1.51
--- gzz/gzz/client/Fallback.java:1.50   Fri Nov  1 20:23:45 2002
+++ gzz/gzz/client/Fallback.java        Sun Nov 24 15:09:18 2002
@@ -74,7 +74,7 @@
  * It implements a subset of the 0.6.0 bindings.
  */
 public class Fallback {
-public static final String rcsid = "$Id: Fallback.java,v 1.50 2002/11/02 
01:23:45 benja Exp $";
+public static final String rcsid = "$Id: Fallback.java,v 1.51 2002/11/24 
20:09:18 benja Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -122,8 +122,7 @@
      */
     Map viewSpecificBinders;
     
-    CellView cellView;
-    CellContentView cellContentView;
+    CellInBox cellView, cellContentView;
 
     /** A name and a dimension object.
      */
@@ -347,8 +346,8 @@
 
     public Fallback(Cell start, Space linkSpace, FallbackBinder binder,
                    FallbackDim[] dimList,
-                    View[] viewList, Map viewSpecificBinders, CellView 
cellView,
-                    CellContentView cellContentView, Filer.Group filers) {
+                    View[] viewList, Map viewSpecificBinders, CellInBox 
cellView,
+                    CellInBox cellContentView, Filer.Group filers) {
        this.binder = binder;
        this.dimList = dimList;
         this.viewList = viewList;
Index: gzz/gzz/view/LinebrokenCellContentView.java
diff -u gzz/gzz/view/LinebrokenCellContentView.java:1.15 
gzz/gzz/view/LinebrokenCellContentView.java:1.16
--- gzz/gzz/view/LinebrokenCellContentView.java:1.15    Mon Nov 18 05:28:16 2002
+++ gzz/gzz/view/LinebrokenCellContentView.java Sun Nov 24 15:09:18 2002
@@ -40,7 +40,7 @@
  */
 
 public class LinebrokenCellContentView extends CellContentView {
-public static final String rcsid = "$Id: LinebrokenCellContentView.java,v 1.15 
2002/11/18 10:28:16 humppake Exp $";
+public static final String rcsid = "$Id: LinebrokenCellContentView.java,v 1.16 
2002/11/24 20:09:18 benja Exp $";
     public static boolean dbg = false;
     private static void p(String s) { if(dbg) pa(s); }
     private static void pa(String s) { System.err.println(s); }
@@ -50,8 +50,16 @@
     TextStyle style;
     SimpleLinebreaker breaker = new SimpleLinebreaker();
 
+
+    String widthString;
+
     public LinebrokenCellContentView(TextStyle style) {
+       this(style, "XXXXXXXXXX");
+    }
+
+    public LinebrokenCellContentView(TextStyle style, String widthString) {
         this.style = style;
+       this.widthString = widthString;
     }
 
     /** Get the height necessary to layout *all* text in a cell,
@@ -61,6 +69,25 @@
         HChain ch = getChain(c, scale);
        HBroken br = breaker.breakLines(ch, forWidth, scale);
        return br.getHeight();
+    }
+
+    public void getSize(Cell c, float scale, ViewContext context,
+                       float[] out) {
+       String s;
+       if(c != null)
+           s = c.t();
+       else
+           s = widthString;
+
+       float w = style.getWidth(s, scale);
+       float h;
+       if(c != null)
+           h = getHeight(c, w, scale);
+       else
+           h = style.getHeight(scale);
+       
+       out[0] = w/scale;
+       out[1] = h/scale;
     }
 
     static Rectangle box = new Rectangle();
Index: gzz/gzz/view/TextCellContentView.java
diff -u gzz/gzz/view/TextCellContentView.java:1.26 
gzz/gzz/view/TextCellContentView.java:1.27
--- gzz/gzz/view/TextCellContentView.java:1.26  Sat Nov 23 08:44:20 2002
+++ gzz/gzz/view/TextCellContentView.java       Sun Nov 24 15:09:18 2002
@@ -39,7 +39,7 @@
  */
 
 public class TextCellContentView extends CellContentView {
-public static final String rcsid = "$Id: TextCellContentView.java,v 1.26 
2002/11/23 13:44:20 benja Exp $";
+public static final String rcsid = "$Id: TextCellContentView.java,v 1.27 
2002/11/24 20:09:18 benja Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -48,8 +48,15 @@
     private static Object KEY[] = new Object[20];
     static { for(int i=0; i<KEY.length; i++) KEY[i] = new Integer(i+1); }
 
+    String widthString;
+
     public TextCellContentView(TextStyle style) {
+       this(style, "XXXXXXXXXX");
+    }
+
+    public TextCellContentView(TextStyle style, String widthString) {
         this.style = style;
+       this.widthString = widthString;
     }
 
     public void getSize(Cell c, float scale, ViewContext context, 
@@ -58,7 +65,7 @@
        if(c != null)
            s = c.t();
        else
-           s = "XXXXXXXXXXXX";
+           s = widthString;
        out[0] = style.getWidth(s, scale) / scale;
        out[1] = style.getHeight(scale) / scale;
     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]