[Top][All Lists]
[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz ./Gzz.py gzz/client/Fallback.java gzz/view/...,
Benja Fallenstein <=