Revision: 2700
          http://vexi.svn.sourceforge.net/vexi/?rev=2700&view=rev
Author:   clrg
Date:     2007-12-24 19:01:08 -0800 (Mon, 24 Dec 2007)

Log Message:
-----------
Vexi Font Viewer :-)

Added Paths:
-----------
    trunk/xtra/org.vexi.fontviewer/.project
    trunk/xtra/org.vexi.fontviewer/src/
    trunk/xtra/org.vexi.fontviewer/src/org/
    trunk/xtra/org.vexi.fontviewer/src/org/vexi/
    trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/
    trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/charview.t
    trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/main.t

Added: trunk/xtra/org.vexi.fontviewer/.project
===================================================================
--- trunk/xtra/org.vexi.fontviewer/.project                             (rev 0)
+++ trunk/xtra/org.vexi.fontviewer/.project     2007-12-25 03:01:08 UTC (rev 
2700)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.vexi.fontviewer</name>
+       <comment></comment>
+       <projects>
+               <project>org.vexi.widgets</project>
+       </projects>
+       <buildSpec>
+       </buildSpec>
+       <natures>
+               <nature>org.vexi.vexidev.vexiNature</nature>
+       </natures>
+</projectDescription>


Property changes on: trunk/xtra/org.vexi.fontviewer/.project
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/charview.t
===================================================================
--- trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/charview.t           
                (rev 0)
+++ trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/charview.t   
2007-12-25 03:01:08 UTC (rev 2700)
@@ -0,0 +1,33 @@
+<vexi xmlns:ui="vexi://ui" xmlns="vexi.widget">
+    <ui:box minwidth="25" vshrink="true">
+        <ui:box width="1" fill="#888888" />
+        <ui:box orient="vertical" vshrink="true">
+            <ui:box height="1" fill="#888888" />
+            <ui:box id="char" />
+            <ui:box height="1" fill="#888888" />
+            <ui:box fill="white" height="20">
+                <ui:box id="charorig" />
+                <ui:box width="1" fill="#888888" />
+                <ui:box id="charcode" />
+            </ui:box>
+        </ui:box>
+        
+        thisbox.charcode ++= function(v) {
+            cascade = v;
+            $charcode.text = v;
+            $charorig.text = vexi.string.fromCharCode(v);
+            $char.text = $charorig.text;
+        }
+        
+        var setfont = function(v) {
+            cascade = v;
+            $char[trapname] = v;
+            $char.height = vexi.ui.font.height(font, fontsize, "dy");
+            $char.minwidth = $char.height * 0.8;
+        }
+        
+        thisbox.font ++= setfont;
+        thisbox.fontsize ++= setfont;
+        
+    </ui:box>
+</vexi>
\ No newline at end of file

Added: trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/main.t
===================================================================
--- trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/main.t               
                (rev 0)
+++ trunk/xtra/org.vexi.fontviewer/src/org/vexi/fontviewer/main.t       
2007-12-25 03:01:08 UTC (rev 2700)
@@ -0,0 +1,68 @@
+<vexi xmlns:ui="vexi://ui" xmlns="vexi.widget"
+    xmlns:lay="vexi.layout"
+    xmlns:fv="org.vexi.fontviewer">
+    <surface />
+    <ui:box framewidth="500" frameheight="500" orient="vertical">
+        <ui:box shrink="true">
+            <ui:box text=" Font:" shrink="true" />
+            <option id="font" type="font" minwidth="200">
+                <item text="Vera (default)" 
selected="true">value=vexi.ui.font.vera;</item>
+            </option>
+            <spin id="fontsize" type="fontsize" minvalue="5" maxvalue="200" 
value="10" />
+        </ui:box>
+        <bevel form="down">
+            <scrollpane>
+                <ui:box shrink="true">
+                    <ui:box orient="vertical">
+                        <lay:grid id="view" cols="25" />
+                        <ui:box height="1" fill="#888888" />
+                    </ui:box>
+                    <ui:box width="1" fill="#888888" />
+                </ui:box>
+            </scrollpane>
+        </bevel>
+        
+        var setToType = function(v) {
+            cascade = v;
+            var prop = trapee.type;
+            var n = $view.numchildren;
+            for (var i=0; n>i; i++) $view[i][prop] = v;
+        }
+        
+        $font.value ++= setToType;
+        $fontsize.value ++= setToType;
+        
+        // populate fonts
+        var p = vexi.params["fontdir"];
+        if (p == null) throw "Must specify a directory to search for fonts";
+        // get p as an array
+        if (p.indexOf('/')>=0) p = p.split('/'); else
+        if (p.indexOf('#')>=0) p = p.split('#'); else
+        if (p.indexOf('.')>=0) p = p.split('.');
+        if (typeof(p)!="array") p = [p];
+        // get p as a resource)
+        var r = vexi[""];
+        for (var i=0; p.length>i; i++)
+            r = r[p[i]];
+        // load fonts from r
+        for (var k in r) {
+            // skip irrelevant files
+            if (k.toLowerCase().indexOf(".ttf")==-1) continue;
+            // add item to $font option widget
+            var f = .item(vexi.box);
+            f.text = k;
+            f.value = r[k];
+            $font[$font.numchildren] = f;
+        }
+        
+        // populate $view
+        for (var i=0; 255>i; i++) {
+            var c = fv.charview(vexi.box);
+            c.charcode = i;
+            $view[i] = c;
+        }
+        
+        vexi.ui.frame = thisbox;
+        
+    </ui:box>
+</vexi>
\ No newline at end of file


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to