Revision: 4255
          http://vexi.svn.sourceforge.net/vexi/?rev=4255&view=rev
Author:   clrg
Date:     2011-09-23 00:11:41 +0000 (Fri, 23 Sep 2011)
Log Message:
-----------
Enhancements to make viewfont useful

Modified Paths:
--------------
    trunk/org.vexi-vapp.viewfont/src_main/org/vexi/fontviewer/main.t

Modified: trunk/org.vexi-vapp.viewfont/src_main/org/vexi/fontviewer/main.t
===================================================================
--- trunk/org.vexi-vapp.viewfont/src_main/org/vexi/fontviewer/main.t    
2011-09-22 23:44:53 UTC (rev 4254)
+++ trunk/org.vexi-vapp.viewfont/src_main/org/vexi/fontviewer/main.t    
2011-09-23 00:11:41 UTC (rev 4255)
@@ -4,10 +4,11 @@
     <surface />
     <ui:box framewidth="500" frameheight="500" orient="vertical" 
frametitle="Vexi Font Viewer">
         <ui:box shrink="true">
-            <ui:box text=" Font:" shrink="true" />
+            <ui:box text=" Font" shrink="true" />
             <option id="font" type="font" minwidth="200">
                 <item text="Vera (default)" 
selected="true">thisbox.value=vexi.ui.font.sansserif;</item>
             </option>
+            <ui:box text=" Fontsize" shrink="true" />
             <spin id="fontsize" type="fontsize" minvalue="5" maxvalue="200" 
value="24" />
         </ui:box>
         <bevel form="down">
@@ -20,6 +21,12 @@
                     </ui:box>
                 </ui:box>
             </scrollpane>
+            <ui:box orient="vertical">
+                <bevel form="thinup">
+                    <label id="label" margin="5" text="The quick brown fox 
jumps over the lazy dog" />
+                </bevel>
+                <textarea id="text" />
+            </ui:box>
         </bevel>
         
         thisbox.charsize = 32;
@@ -44,34 +51,46 @@
                 c.fontsize = $fontsize.value.number;
                 c.charsize = charsize;
             }
+            $label.font = $font.value;
+            $label.fontsize = $fontsize.value.number;
+            $text.font = $font.value;
+            $text.fontsize = $fontsize.value.number;
         }
         
         $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[""];
-        vexi.trace(p);
-        vexi.trace(p.length);
-        for (var i,sub in p) {
-            if (sub) r = r[sub];
+        var fontdir = vexi.params["fontdir"];
+        if (fontdir == null) throw "Must specify a directory to search for 
fonts";
+        
+        // get font location resource
+        var loc;
+        if (fontdir.indexOf('/')>=0) loc = fontdir.split('/'); else
+        if (fontdir.indexOf('#')>=0) loc = fontdir.split('#'); else
+        if (fontdir.indexOf('.')>=0) loc = fontdir.split('.');
+        if (typeof(loc)!="array") loc = [loc];
+        
+        // get res as a stream
+        var res = vexi[""];
+        for (var i,sub in loc) {
+            if (sub) res = res[sub];
         }
-        // load fonts from r
-        for (var k in r) {
+        
+        // build list of fonts for sorting
+        var fontlist = [];
+        for (var k in res)
+            fontlist.push(k);
+        fontlist.sort();
+        
+        // load fonts in order from res
+        for (var i,name in fontlist) {
             // skip irrelevant files
-            if (k.toLowerCase().indexOf(".ttf")==-1) continue;
+            if (name.toLowerCase().indexOf(".ttf")==-1) continue;
             // add item to $font option widget
             var f = new .item();
-            f.text = k;
-            f.value = r[k];
+            f.text = name;
+            f.value = res[name];
             $font.add(f);
         }
         

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


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to