[Vexi-svn] SF.net SVN: vexi:[4901] branches/vexi3/org.vexi-library.js/src/main/jpp/org /ibex/js/JS.jpp
Revision: 4901 http://sourceforge.net/p/vexi/code/4901 Author: clrg Date: 2016-11-18 12:45:45 + (Fri, 18 Nov 2016) Log Message: --- Disambiguate exception message. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-11-17 13:26:41 UTC (rev 4900) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-11-18 12:45:45 UTC (rev 4901) @@ -334,8 +334,8 @@ public static class Immutable implements JS { public JS unclone() { return this; } -public Keys keys() throws JSExn { throw new JSExn(type()+" has no key set"); } -public Set keySet() throws JSExn { throw new JSExn(type()+" has no key set"); } +public Keys keys() throws JSExn { throw new JSExn(type()+" has no KeySet"); } +public Set keySet() throws JSExn { throw new JSExn(type()+" has no KeySet"); } public JS get(JS key) throws JSExn { //#noswitch - leave, needed for jsdoc /*@PAGE(varname=Immutable,humanname=Immutable JS Object) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4899] trunk/org.vexi-build.jsdoc/parser_setup.xml
Revision: 4899 http://sourceforge.net/p/vexi/code/4899 Author: clrg Date: 2016-11-09 12:47:16 + (Wed, 09 Nov 2016) Log Message: --- Bring in line with ebuild standards. Modified Paths: -- trunk/org.vexi-build.jsdoc/parser_setup.xml Modified: trunk/org.vexi-build.jsdoc/parser_setup.xml === --- trunk/org.vexi-build.jsdoc/parser_setup.xml 2016-11-04 06:58:07 UTC (rev 4898) +++ trunk/org.vexi-build.jsdoc/parser_setup.xml 2016-11-09 12:47:16 UTC (rev 4899) @@ -1,13 +1,13 @@ + NOTES: add gen/main/java to project build path after --> - + http://sdm.link/xeonphi ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4886] branches/vexi3/org.vexi-library.js/src/main/java/ org/ibex/js/Scheduler.java
Revision: 4886 http://sourceforge.net/p/vexi/code/4886 Author: clrg Date: 2016-10-14 16:53:02 + (Fri, 14 Oct 2016) Log Message: --- Quit if something goes badly wrong instead of leaving an unresponsive window. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/Scheduler.java Modified: branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/Scheduler.java === --- branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/Scheduler.java 2016-10-14 15:57:07 UTC (rev 4885) +++ branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/Scheduler.java 2016-10-14 16:53:02 UTC (rev 4886) @@ -112,27 +112,32 @@ synchronized (this) { //Log.debug(Scheduler.class, "performing " + current); - run(current); + run(current); } renderAll(); /*} catch (Stop e){ Log.uInfo(Scheduler.class, "Scheduler halted: " + e.getMessage()); return;*/ -} catch (Exception e) { +} catch (Error err) { + logger.error(Scheduler.class, "Something has gone badly wrong!"); + logger.error(Scheduler.class, err); + return new Exception("Encountered '"+err.getMessage()); + +} catch(Exception e) { // REMARK for running tests, as we need to pass any // uncaught js/assertion exceptions out. if (quitOnExn) { return e; } -if(current instanceof Thread){ +if (current instanceof Thread) { logger.error(Scheduler.class, "Vexiscript unhandled exception - "+((Thread)current).description()+":"); -}else{ +} else { logger.error(Scheduler.class, "Background call unhandled exception:"); } -if(e instanceof JSExn){ +if (e instanceof JSExn) { ((JSExn)e).printStackTrace(Logger.ERROR, logger, Scheduler.class); -}else{ +} else { logger.error(Scheduler.class, e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4885] branches/vexi3/org.vexi-core.main/src/main/jpp/org/ vexi/core/Box.jpp
Revision: 4885 http://sourceforge.net/p/vexi/code/4885 Author: clrg Date: 2016-10-14 15:57:07 + (Fri, 14 Oct 2016) Log Message: --- Fix stackoverflow when trying to change cursor during Move trap. Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2016-09-30 20:01:38 UTC (rev 4884) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2016-10-14 15:57:07 UTC (rev 4885) @@ -2593,6 +2593,8 @@ case "clear": isReadOnly(name); case "mouse": isReadOnly(name); case "cursor": + // avert stackoverflow caused by cursor put in Move invoking Move + if (get(name) == value) return; // only need to worry about updating the cursor if the // mouse is inside thisbox and it is part of a surface Surface s = test(DISPLAY|MOUSEINSIDE) ? getSurface() : null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4884] trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc
Revision: 4884 http://sourceforge.net/p/vexi/code/4884 Author: clrg Date: 2016-09-30 20:01:38 + (Fri, 30 Sep 2016) Log Message: --- Improve docs Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/JSU.java branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSArray.jpp branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSPrimitive.jpp branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/JreHTTP.java trunk/org.vexi-build.jsdoc/parser_setup.xml trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc/RunOnVexi.java Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-09-29 14:09:31 UTC (rev 4883) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-09-30 20:01:38 UTC (rev 4884) @@ -122,16 +122,16 @@ * * *Charles Goodwin <mailto:charles\\@webenableit.co.uk";>charles\\@webenableit.com> - * Content author + * Developer and principle content author *Michael Goodwin <mike\\@webenableit.com> - * Content author, Documentation tool author + * Developer, content contributor, and documentation tool author * * *AFT Inc. (http://www.aftinc.net/"; target="_top">www.aftinc.net) * * *Adam Andrews - * Contains modified portions of the Vexi 1.0 Function Reference authored by Adam Andrews + * Contains modified portions of the ‘Vexi 1.0 Function Reference’ authored by Adam Andrews * * *Individuals @@ -140,6 +140,10 @@ *Adam Megacz (http://www.megacz.com"; target="_top">www.megacz.com) * Inspired by and contains modified portions of the http://xwt.org/reference.html";>XWT * Reference authored by Adam Megacz + *David Crawshaw (https://plus.google.com/+DavidCrawshaw"; target="_top">DavidCrawshaw (GooglePlus)) + * Key contributor to Vexi, and Ibex and XWT before it (notably the JS engine) + *Brian Alliet (http://www.brianweb.net/"; target="_top">www.brianweb.net/) + * Key contributor to Vexi, and Ibex and XWT before it (notably NestedVM) * * * Modified: branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/JSU.java === --- branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/JSU.java 2016-09-29 14:09:31 UTC (rev 4883) +++ branches/vexi3/org.vexi-library.js/src/main/java/org/ibex/js/JSU.java 2016-09-30 20:01:38 UTC (rev 4884) @@ -1,3 +1,7 @@ +// Copyright 2000-2016 the Contributors, as shown in the revision logs. +// Licensed under the Apache Software License 2.0 ("the License"). +// You may not use this file except in compliance with the License. + package org.ibex.js; import java.io.*; Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-09-29 14:09:31 UTC (rev 4883) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-09-30 20:01:38 UTC (rev 4884) @@ -60,12 +60,12 @@ * Write Traps * * A write trap is a js function with a single argument, which is the value being assigned to - * the property. It should contain either a return or put to the cascade keyword and - * will produce a warning if neither is present. + * the property. It should contain either return or cascade and will + * produce a warning if neither is present. * - * To put a value to the property at any point in the function, put to the cascade - * keyword. This may only be done once per execution of a write trap. Note that putting to - * the property directly will re-invoke the write trap. + * Put to the cascade keyword to put a value to the property at any point in the + * function. This may only be done once per execution of a write trap. Note that putting + * to the property directly will re-invoke the write trap. * * To block a put - that is, cause the put to be ignored - simply return. * @@ -94,15 +94,15 @@ * Trap Chains * * When assigning multiple read or write traps to the same property on the same object, the - * traps are stacked in order of assignment to create a trap chain. + * trap functions are stacked in order of assignment to create a trap chain. * * There are two paths of execution in a trap chain, know
[Vexi-svn] SF.net SVN: vexi:[4883] branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/ widgets/colorpicker.t
Revision: 4883 http://sourceforge.net/p/vexi/code/4883 Author: clrg Date: 2016-09-29 14:09:31 + (Thu, 29 Sep 2016) Log Message: --- Colorpicker poke. Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/colorpicker.t Added: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/colorpicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/colorpicker.t (rev 0) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/colorpicker.t 2016-09-29 14:09:31 UTC (rev 4883) @@ -0,0 +1,19 @@ + + + + + + + + + + + +$picker.value ++= function(v) { +$output.text = v; +} + +vexi.ui.frame = thisbox; + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4882] branches/vexi3/org.vexi-library.js/src/main/jpp/org /ibex/js/JS.jpp
Revision: 4882 http://sourceforge.net/p/vexi/code/4882 Author: clrg Date: 2016-09-06 10:41:10 + (Tue, 06 Sep 2016) Log Message: --- Trivial doc fix. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-09-06 10:39:04 UTC (rev 4881) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2016-09-06 10:41:10 UTC (rev 4882) @@ -965,11 +965,11 @@ /*@PAGE(varname=ProxyList,humanname=ProxyList Object) * * The proxy list object is an alternative list object to the standard js array, - * which supports a “range trap” lsquo;Elementsrsquo; to trap on the - * access/assignment/removal of elements + * which supports a “range trap” ‘Elements’ to trap on the + * access/assignment/removal of elements. * - * Whereas the Proxy object is very similar to the standard Object the ProxyList is not - * similar to an array and so cannot be used as a drop in replacement. + * Whereas the Proxy object is very similar to the standard Object, the ProxyList + * is not similar to an array and so cannot be used as a drop in replacement. * * Notably, ProxyList does not support most of the methods that arrays have, and * it is not sparse and cannot contain nulls. Putting null to a proxy list will remove This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4881] branches/vexi3/org.vexi-core.main/src/main/jpp/org/ vexi/core/Vexi.jpp
Revision: 4881 http://sourceforge.net/p/vexi/code/4881 Author: clrg Date: 2016-09-06 10:39:04 + (Tue, 06 Sep 2016) Log Message: --- Fix setDefaultTimeout. Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-09-06 10:37:08 UTC (rev 4880) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-09-06 10:39:04 UTC (rev 4881) @@ -405,13 +405,13 @@ * @return(xmlrpc) */ case "net.rpc.xml": return METHOD; -/* Set how long in milliseconds Vexi will attempt an RPC call before it times out +/* Get how long in milliseconds Vexi will attempt an RPC call before it times out * @param(ms) */ case "net.getDefaultTimeout": return METHOD; -/* Get how long in milliseconds Vexi will attempt an RPC call before it times out +/* Set how long in milliseconds Vexi will attempt an RPC call before it times out * @return(number) */ -case "net.getDefaultTimeout": return METHOD; +case "net.setDefaultTimeout": return METHOD; /* Paramaters passed into vexi when launched can read as properties on this object * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4880] branches/vexi3/org.vexi-library.js/src/main/jpp/org /ibex/js/JSInstant.jpp
Revision: 4880 http://sourceforge.net/p/vexi/code/4880 Author: clrg Date: 2016-09-06 10:37:08 + (Tue, 06 Sep 2016) Log Message: --- Docs for JSInstant. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2016-08-12 09:24:15 UTC (rev 4879) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2016-09-06 10:37:08 UTC (rev 4880) @@ -57,16 +57,27 @@ public JS get(JS key) throws JSExn { //#switch(JSU.toString(key)) -case "timezone": - return JSU.S(getTimeZone().getID()); - case "now": -return new JSInstant(new Instant()); -case "compare": -return METHOD; -case "tryParseTimestamp": - return METHOD; -case "diffMillis": - return METHOD; +/*@PAGE(varname=Instant,humanname=Instant Object) + * + * Represents a point in time. + * */ + +/* The timezone for this Instant + * @type(String) */ +case "timezone": return JSU.S(getTimeZone().getID()); +/* An Instant representing the time right now + * @type(Instant) */ + case "now": return new JSInstant(new Instant()); +/* Compares two Instants to each other, returning 0 if they are the same, + * 1 if ‘ins1’ is bigger or -1 if ‘ins2’ is bigger + * @param(ins1) @param(ins2) @return(Number) */ +case "compare": return METHOD; +/* Returns the absolute value of ‘num’ + * @param(str) @return(Number) */ +case "tryParseTimestamp": return METHOD; +/* Returns the difference between two Instants in milliseconds + * @param(ins1) @param(ins2) @return(Number) */ +case "diffMillis": return METHOD; //#end return super.get(key); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4872] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/numfield.t
Revision: 4872 http://sourceforge.net/p/vexi/code/4872 Author: clrg Date: 2016-06-28 16:46:33 + (Tue, 28 Jun 2016) Log Message: --- Fix numfield height setting - view/viewport mixed up. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/numfield.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/numfield.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/numfield.t 2016-06-20 23:41:53 UTC (rev 4871) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/numfield.t 2016-06-28 16:46:33 UTC (rev 4872) @@ -7,7 +7,7 @@ - + @@ -18,8 +18,8 @@ thisbox.th_shadowtext = $shadow; thisbox.th_shadowwrap = $shadowpad; thisbox.th_minus = $minus; -thisbox.th_view = $inset; -thisbox.th_viewport = $content; +thisbox.th_view = $content; +thisbox.th_viewport = $inset; thisbox.v_init = static.init; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4871] trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc /RunOnVexi.java
Revision: 4871 http://sourceforge.net/p/vexi/code/4871 Author: clrg Date: 2016-06-20 23:41:53 + (Mon, 20 Jun 2016) Log Message: --- Minor. Modified Paths: -- trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc/RunOnVexi.java Modified: trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc/RunOnVexi.java === --- trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc/RunOnVexi.java 2016-06-20 23:36:23 UTC (rev 4870) +++ trunk/org.vexi-build.jsdoc/src/poke/java/vexi/jsdoc/RunOnVexi.java 2016-06-20 23:41:53 UTC (rev 4871) @@ -1,6 +1,7 @@ package vexi.jsdoc; import java.io.*; +import java.util.Calendar; import org.vexi.build.jsdoc.*; import org.vexi.tools.autodoc.SourcePath; @@ -8,8 +9,8 @@ public class RunOnVexi { // vexidoc options / defaults - static String version = "3.0 svn"; - static String build = "Unknown"; + static String version = "3.1"; + static String build = "Dev"; static String docpath = "../"; static public void main(String[] args) throws Exception { @@ -39,8 +40,8 @@ JSDoc jsdoc = new JSDoc(path, new File("vexi_jsdoc")){{ setName("Vexi"); - setVersion("3.0"); - setCopyRight("2011 The Vexi Project"); + setVersion(RunOnVexi.version); + setCopyRight("Copyright "+Calendar.getInstance().get(Calendar.YEAR)+" The Vexi Project"); setProjectWWW("vexi.sourceforge.net"); addLibraryRoot("vexi", "org.vexi.core.Vexi"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4870] trunk/org.vexi-build.jsdoc/parser_setup.xml
Revision: 4870 http://sourceforge.net/p/vexi/code/4870 Author: clrg Date: 2016-06-20 23:36:23 + (Mon, 20 Jun 2016) Log Message: --- Temporary autodoc prep ant file in lieu of ebuild-based approach. Added Paths: --- trunk/org.vexi-build.jsdoc/parser_setup.xml Added: trunk/org.vexi-build.jsdoc/parser_setup.xml === --- trunk/org.vexi-build.jsdoc/parser_setup.xml (rev 0) +++ trunk/org.vexi-build.jsdoc/parser_setup.xml 2016-06-20 23:36:23 UTC (rev 4870) @@ -0,0 +1,18 @@ + + + + + + + + + + Property changes on: trunk/org.vexi-build.jsdoc/parser_setup.xml ___ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4869] branches/vexi3/org.vexi-library.js/src/main/jpp/org
Revision: 4869 http://sourceforge.net/p/vexi/code/4869 Author: clrg Date: 2016-06-20 16:41:49 + (Mon, 20 Jun 2016) Log Message: --- Trivial. JS-consistent error messages with incorrect number of args for max/min. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp 2016-06-20 16:36:07 UTC (rev 4868) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp 2016-06-20 16:41:49 UTC (rev 4869) @@ -54,18 +54,20 @@ } default: { //#switch(JSU.toString(method)) -case "min": -if (args.length<3) throw new JSExn("math.min expects at least 2 arguments"); -double min = JSU.toDouble(args[0]); -for (int i=1; args.length>i; i++) -min = java.lang.Math.min(min, JSU.toDouble(args[i])); -return JSU.N(min); -case "max": -if (args.length<3) throw new JSExn("math.max expects at least 2 arguments"); -double max = JSU.toDouble(args[0]); -for (int i=1; args.length>i; i++) -max = java.lang.Math.max(max, JSU.toDouble(args[i])); -return JSU.N(max); + case "min": + // super call will give default error + if (args.length<3) return super.callMethod(this_, method, args); + double min = JSU.toDouble(args[0]); + for (int i=1; args.length>i; i++) + min = java.lang.Math.min(min, JSU.toDouble(args[i])); + return JSU.N(min); + case "max": + // super call will give default error + if (args.length<3) return super.callMethod(this_, method, args); + double max = JSU.toDouble(args[0]); + for (int i=1; args.length>i; i++) + max = java.lang.Math.max(max, JSU.toDouble(args[i])); +return JSU.N(max); //#end break; } Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp 2016-06-20 16:36:07 UTC (rev 4868) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp 2016-06-20 16:41:49 UTC (rev 4869) @@ -366,13 +366,15 @@ default: { //#switch(JSU.toString(method)) case "min": - if (args.length<3) throw new JSExn("math.min expects at least 2 arguments"); + // super call will give default error + if (args.length<3) return super.callMethod(this_, method, args); double min = JSU.toDouble(args[0]); for (int i=1; args.length>i; i++) min = java.lang.Math.min(min, JSU.toDouble(args[i])); return JSU.N(min); case "max": - if (args.length<3) throw new JSExn("math.max expects at least 2 arguments"); + // super call will give default error + if (args.length<3) return super.callMethod(this_, method, args); double max = JSU.toDouble(args[0]); for (int i=1; args.length>i; i++) max = java.lang.Math.max(max, JSU.toDouble(args[i])); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4868] branches/vexi3/org.vexi-library.js/src/test/java/ test/js/exec/number/testMath.js
Revision: 4868 http://sourceforge.net/p/vexi/code/4868 Author: clrg Date: 2016-06-20 16:36:07 + (Mon, 20 Jun 2016) Log Message: --- Adjusted test for math.max/min with more than 2 arguments. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/test/java/test/js/exec/number/testMath.js Modified: branches/vexi3/org.vexi-library.js/src/test/java/test/js/exec/number/testMath.js === --- branches/vexi3/org.vexi-library.js/src/test/java/test/js/exec/number/testMath.js 2016-06-20 16:35:25 UTC (rev 4867) +++ branches/vexi3/org.vexi-library.js/src/test/java/test/js/exec/number/testMath.js 2016-06-20 16:36:07 UTC (rev 4868) @@ -1,13 +1,12 @@ sys.import("lib"); assertEquals(sys.math.abs(-3.2),3.2); - sys.log.info("** SKIPPING ASSERTS <= sys.math.max with > 2 args **"); - //assert(sys.math.max(111,22,3) == 111); - //assertEquals(sys.math.min(111,22,3),(is_nav4_ || is_ie5_1_ ? 22 : 3)); - //assertEquals(sys.math.max(3,22,111),(is_nav4_ || is_ie5_1_ ? 22 : 111)); + assert(sys.math.max(111,22,3) == 111); + assertEquals(sys.math.min(111,22,3),3); + assertEquals(sys.math.max(3,22,111),111); - //assert(sys.math.max(1,2) == 2 && sys.math.max(1,2,3,4) == (is_nav4_ || is_ie5_1_ ? 2 : 4)); - //assert(sys.math.min(1,2) == 1 && sys.math.min(1,2,3,0) == (is_nav4_ || is_ie5_1_ ? 1 : 0)); + assert((sys.math.max(1,2) == 2) && (sys.math.max(1,2,3,4) == 4)); + assert((sys.math.min(1,2) == 1) && (sys.math.min(1,2,3,0) == 0)); assert(sys.math.random() > 0 && 1 >= sys.math.random()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4867] branches/vexi3/org.vexi-library.js/src/main/jpp/org
Revision: 4867 http://sourceforge.net/p/vexi/code/4867 Author: clrg Date: 2016-06-20 16:35:25 + (Mon, 20 Jun 2016) Log Message: --- Support unlimited arguments for math.max/min (global JS objects). Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp 2016-06-20 16:13:13 UTC (rev 4866) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/JSMath.jpp 2016-06-20 16:35:25 UTC (rev 4867) @@ -52,6 +52,23 @@ //#end break; } +default: { +//#switch(JSU.toString(method)) +case "min": +if (args.length<3) throw new JSExn("math.min expects at least 2 arguments"); +double min = JSU.toDouble(args[0]); +for (int i=1; args.length>i; i++) +min = java.lang.Math.min(min, JSU.toDouble(args[i])); +return JSU.N(min); +case "max": +if (args.length<3) throw new JSExn("math.max expects at least 2 arguments"); +double max = JSU.toDouble(args[0]); +for (int i=1; args.length>i; i++) +max = java.lang.Math.max(max, JSU.toDouble(args[i])); +return JSU.N(max); +//#end +break; +} } return super.callMethod(this_, method, args); } Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp 2016-06-20 16:13:13 UTC (rev 4866) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/vexi/js/VexiJS.jpp 2016-06-20 16:35:25 UTC (rev 4867) @@ -363,6 +363,23 @@ //#end break; } +default: { +//#switch(JSU.toString(method)) + case "min": + if (args.length<3) throw new JSExn("math.min expects at least 2 arguments"); + double min = JSU.toDouble(args[0]); + for (int i=1; args.length>i; i++) + min = java.lang.Math.min(min, JSU.toDouble(args[i])); + return JSU.N(min); + case "max": + if (args.length<3) throw new JSExn("math.max expects at least 2 arguments"); + double max = JSU.toDouble(args[0]); + for (int i=1; args.length>i; i++) + max = java.lang.Math.max(max, JSU.toDouble(args[i])); + return JSU.N(max); +//#end +break; +} } return super.callMethod(this_, method, args); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4866] branches/vexi3/org.vexi-core.main/src/main/java/org /vexi/core
Revision: 4866 http://sourceforge.net/p/vexi/code/4866 Author: clrg Date: 2016-06-20 16:13:13 + (Mon, 20 Jun 2016) Log Message: --- Trivial. Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VML.java branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VMLBuilder.java Modified: branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VML.java === --- branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VML.java 2016-06-20 16:12:30 UTC (rev 4865) +++ branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VML.java 2016-06-20 16:13:13 UTC (rev 4866) @@ -447,7 +447,7 @@ } static abstract class CodeBlock { -final CodeBlock parent;/// Only used for sharing id scopeing +final CodeBlock parent;/// Only used for sharing id scoping final Basket.Array idlist; @@ -456,7 +456,7 @@ int contentStart = -1; ///< line number of the first line of content int elementStart = -1; ///< the line number that this element starts on -Prefixes uriPrefixes; /// Uri prefixes->Blessings +Prefixes uriPrefixes; /// URI prefixes->Blessings CodeBlock(CodeBlock parent, int elementStart, boolean idContext) { Modified: branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VMLBuilder.java === --- branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VMLBuilder.java 2016-06-20 16:12:30 UTC (rev 4865) +++ branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/VMLBuilder.java 2016-06-20 16:13:13 UTC (rev 4866) @@ -382,10 +382,8 @@ String v = a.getVal(i); if (k.equals("id")) { t.id = v.toString().intern(); -if (cb.hasId(t.id)) { - cb.hasId(t.id); +if (cb.hasId(t.id)) throw new XML.Exn("duplicate node id '"+t.id+"'", XML.Exn.SCHEMA, getLine(), -1); -} cb.addId(t.id); continue ATTR; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4865] branches/vexi3/org.vexi-library.js/src/main/jpp/org /ibex/js/XMLRPC.jpp
Revision: 4865 http://sourceforge.net/p/vexi/code/4865 Author: clrg Date: 2016-06-20 16:12:30 + (Mon, 20 Jun 2016) Log Message: --- Minor. Make debug logging logic only occur during debug logging. Modified Paths: -- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/XMLRPC.jpp Modified: branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/XMLRPC.jpp === --- branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/XMLRPC.jpp 2016-06-20 15:57:09 UTC (rev 4864) +++ branches/vexi3/org.vexi-library.js/src/main/jpp/org/ibex/js/XMLRPC.jpp 2016-06-20 16:12:30 UTC (rev 4865) @@ -376,21 +376,20 @@ if (logger.isDebug()) logger.debug(LOG_TYPE, "send:\n" + request); InputStream is = http.POST("text/xml", request.getBytes(encoding)).body; try { -if(logger.isDebug() || true){ - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - IOUtil.pipe(is, baos); - byte[] xmlBytes = baos.toByteArray(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + IOUtil.pipe(is, baos); + byte[] xmlBytes = baos.toByteArray(); +if (logger.isDebug()) { logger.debug(LOG_TYPE, "received:"); // REMARK this is far from ideal -try{ +try { logger.debug(LOG_TYPE, prettyPrint(xmlBytes)); -}catch(Throwable t){ +} catch(Throwable t){ logger.debug(LOG_TYPE, "Xml response not formatted because: "+t.getClass().getSimpleName()+": "+t.getMessage()); logger.debug(LOG_TYPE, new String(xmlBytes,"UTF-8")); } - - is = new ByteArrayInputStream(xmlBytes); } + is = new ByteArrayInputStream(xmlBytes); new Helper().parse(is); @@ -422,13 +421,13 @@ // is not ideal, but formatting the xmlrpc responses is not // core functionality and this way is convenient and small. public String prettyPrint(byte[] xml) throws Exception { - Transformer serializer= SAXTransformerFactory.newInstance().newTransformer(); + Transformer serializer = SAXTransformerFactory.newInstance().newTransformer(); serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount";, "2"); //serializer.setOutputProperty("{http://xml.customer.org/xslt}indent-amount";, "2"); - Source xmlSource=new SAXSource(new InputSource(new ByteArrayInputStream(xml))); - StreamResult res = new StreamResult(new ByteArrayOutputStream()); + Source xmlSource = new SAXSource(new InputSource(new ByteArrayInputStream(xml))); + StreamResult res = new StreamResult(new ByteArrayOutputStream()); serializer.transform(xmlSource, res); return new String(((ByteArrayOutputStream)res.getOutputStream()).toByteArray()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4864] branches/vexi3
Revision: 4864 http://sourceforge.net/p/vexi/code/4864 Author: clrg Date: 2016-06-20 15:57:09 + (Mon, 20 Jun 2016) Log Message: --- Add timeout to RPC calls - previously was -1 (infinite) but now defaults to 30s - can be set (or get) via vexi.net.setDefaultTimeout (and .get) Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/HTTP.java branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/JreHTTP.java branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/OrigHTTP.java branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/OrigHTTP_reconnect.java branches/vexi3/org.vexi-library.net/src/main/jpp/org/ibex/net/ApacheHTTP.jpp Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-06-19 15:52:18 UTC (rev 4863) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp 2016-06-20 15:57:09 UTC (rev 4864) @@ -10,6 +10,7 @@ import org.ibex.js.Thread; import org.ibex.js.JSU.*; import org.vexi.js.*; +import org.ibex.net.HTTP; import org.ibex.util.Cache; import org.ibex.util.Callable; import org.ibex.util.Encode; @@ -404,6 +405,14 @@ * @return(xmlrpc) */ case "net.rpc.xml": return METHOD; +/* Set how long in milliseconds Vexi will attempt an RPC call before it times out + * @param(ms) */ +case "net.getDefaultTimeout": return METHOD; + +/* Get how long in milliseconds Vexi will attempt an RPC call before it times out + * @return(number) */ +case "net.getDefaultTimeout": return METHOD; + /* Paramaters passed into vexi when launched can read as properties on this object * * var host = params["host"]; @@ -779,6 +788,8 @@ case "crypto.rc4": /* FEATURE */ return null; case "file.remove": ((Fountain.File)args[0]).remove(); return null; case "js.stringify": return JSON.marshal(args[0]); +case "net.getDefaultTimeout": return JSU.N(HTTP.getDefaultSettings().getConnectTimeout()); +case "net.setDefaultTimeout": HTTP.getDefaultSettings().setConnectTimeout(JSU.toInt(args[0])); return null; case "net.rpc.xml": return new XMLRPC(Log.rpc, JSU.toString(args[0]), ""); case "net.rpc.soap": throw new JSExn("Not yet implemented"); case "regexp": return new JSRegexp(args[0], null); Modified: branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/HTTP.java === --- branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/HTTP.java 2016-06-19 15:52:18 UTC (rev 4863) +++ branches/vexi3/org.vexi-library.net/src/main/java/org/ibex/net/HTTP.java 2016-06-20 15:57:09 UTC (rev 4864) @@ -2,8 +2,11 @@ import java.io.*; -public interface HTTP { -static public class HTTPEntityInfo{ +import org.ibex.net.HTTP.HTTPSettings; + +public abstract class HTTP { + +static public class HTTPEntityInfo { final public int contentLength; ///< the length of the entire content body; -1 if chunked final public String contentType; final public String lastModified; @@ -28,15 +31,45 @@ } } -static public class HTTPResponse{ +static public class HTTPResponse { final public HTTPEntityInfo info; final public InputStream body; - public HTTPResponse(HTTPEntityInfo info, InputStream body){ + public HTTPResponse(HTTPEntityInfo info, InputStream body) { this.info = info; this.body = body; } } -public HTTPResponse GET() throws IOException; - public HTTPResponse POST(String mime, byte[] bytes) throws IOException; +abstract public HTTPResponse GET() throws IOException; +abstract public HTTPResponse POST(String mime, byte[] bytes) throws IOException; + + + static public class HTTPSettings { + int connectTimeout; // in milliseconds + public void setConnectTimeout(int ms) { connectTimeout = ms; } + public int getConnectTimeout() { return connectTimeout; } + + public HTTPSettings(int ct) { connectTimeout = ct; } + } + + static private HTTPSettings defaultSettings = new HTTPSettings(3); + private HTTPSettings settings; + + static public HTTPSettings getDefaultSettings() { + return
[Vexi-svn] SF.net SVN: vexi:[4862] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/tool/colorpicker.t
Revision: 4862 http://sourceforge.net/p/vexi/code/4862 Author: clrg Date: 2016-06-18 00:21:41 + (Sat, 18 Jun 2016) Log Message: --- Fix colorpicker circle being cut off at the edges. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t 2016-06-17 23:35:53 UTC (rev 4861) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t 2016-06-18 00:21:41 UTC (rev 4862) @@ -25,19 +25,19 @@ - - + + + + + - - + - + -$gradient.marker = $marker; - @@ -242,7 +242,7 @@ const H = model.hue, S = model.saturation, V = model.value; // set marker arrows -$gradient.marker.y = 0 - round((V/255) * $gradient.height); +$gradientMarker.y = 0 - round((V/255) * $gradient.height); // Recalculate the color from HSV, but this time with a full value const hue6 = H/60; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4861] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/tool/colorpicker.t
Revision: 4861 http://sourceforge.net/p/vexi/code/4861 Author: clrg Date: 2016-06-17 23:35:53 + (Fri, 17 Jun 2016) Log Message: --- Refactor colorpicker - clearer, commented code - refactor to work using a colour "model" - relabel 'intensity'->'value' as it was HSV logic, not HSI - add spinners for colour components - eliminate code fighting (functions calling each other unnecessarily) - take out pointless threading Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t 2016-06-17 22:18:09 UTC (rev 4860) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/tool/colorpicker.t 2016-06-17 23:35:53 UTC (rev 4861) @@ -1,12 +1,14 @@ - + + xmlns="org.vexi.tool"> + Colorpicker A 24-bit colorpicker @@ -20,7 +22,7 @@ - + @@ -38,9 +40,9 @@ - + - + @@ -53,337 +55,470 @@ - - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + - -// api -thisbox.h ++= function() { return $Hue.value; } -thisbox.h ++= function(v) { $Hue.value = v; cascade = v; } -thisbox.s ++= function() { return $Saturation.value; } -thisbox.s ++= function(v) { $Saturation.value = v; cascade = v; } -thisbox.n ++= function() { return $Intensity.value; } -thisbox.n ++= function(v) { $Intensity.value = v; cascade = v; } -thisbox.r ++= function() { return $Red.value; } -thisbox.r ++= function(v) { $Red.value = v; cascade = v; } -thisbox.g ++= function() { return $Green.value; } -thisbox.g ++= function(v) { $Green.value = v; cascade = v; } -thisbox.b ++= function() { return $Blue.value; } -thisbox.b ++= function(v) { $Blue.value = v; cascade = v; } -thisbox.color_left ++= function() { return $colorleft.fill; } -thisbox.color_left ++= function(v) { $colorleft.fill = v; cascade = v; } -thisbox.color_right ++= function() { return $colorright.fill; } -thisbox.color_right ++= function(v) { $colorright.fill = v; cascade = v; } + -// deliberately shadowing api on box, set internal values without triggering traps -var r, g, b; -var h, s, n; + +// Color Model - -// internal functions -const hexdid = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" ]; -const toHexColor = function(red, green, blue) { -// REMARK - should be, but is, necessary -// why are we receiving negative values? -if (0>red) red = 0; -if (0>green) green = 0; -if (0>blue) blue = 0; - -return "#" + hexdid[vexi.math.floor(red/16)] + hexdid[vexi.math.floor(red%16)] - + hexdid[vexi.math.floor(green/16)] + hexdid[vexi.math.floor(green%16)] - + hexdid[vexi.math.floor(blue/16)] + hexdid[vexi.math.floor(blue%16)]; +const model = { +hasAlpha:true, +alpha:0, red:0, green:0, blue:0, // ARGB all 0-255 +hue:0, saturation:0, value:0, // H 0-360, SI 0-255 } - - - -var threadsleeping = false; -var lock_value = false; -var lock_text = false;
[Vexi-svn] SF.net SVN: vexi:[4860] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/slider.t
Revision: 4860 http://sourceforge.net/p/vexi/code/4860 Author: clrg Date: 2016-06-17 22:18:09 + (Fri, 17 Jun 2016) Log Message: --- Previous fix exposed broken behaviour. Improve/fix that too! Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-06-17 21:01:32 UTC (rev 4859) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-06-17 22:18:09 UTC (rev 4860) @@ -38,8 +38,17 @@ } /** used to sync the handle position */ -thisbox.syncHandle = function(v) { cascade = v; step = step; } +thisbox.syncHandle = function() { + // adjust the handle position according to the step + th_handle[pos] = step * (th_track[dim] - th_handle[dim]) / numsteps; +} +/** for track/thumb to sync handle when resizing */ +thisbox.syncHandleTrap = function(v) { +cascade = v; +syncHandle(); +} + // draggable integration thisbox.moveEvent = function(v) { cascade = v; syncStep(); } thisbox.Press1 ++= thisbox.moveEvent; @@ -71,8 +80,7 @@ // nothing to do if (s == trapee.step) return; cascade = s; -// adjust the handle position according to the step -trapee.th_handle[trapee.pos] = trapee.step * (trapee.th_track[trapee.dim] - trapee.th_handle[trapee.dim]) / trapee.numsteps; +trapee.syncHandle(); // fire value traps trapee.traplock = true; trapee.value = trapee.value; @@ -94,13 +102,13 @@ /** mak sure the handle is kept at the write track position */ static.handleWrite = function(v) { cascade = v; -trapee.th_handle.width ++= trapee.syncHandle; +trapee.th_handle.width ++= trapee.syncHandleTrap; } /** mak sure the handle is kept at the write track position */ static.trackWrite = function(v) { cascade = v; -trapee.th_track.width ++= trapee.syncHandle; +trapee.th_track.width ++= trapee.syncHandleTrap; } /** return value based on step */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4859] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/slider.t
Revision: 4859 http://sourceforge.net/p/vexi/code/4859 Author: clrg Date: 2016-06-17 21:01:32 + (Fri, 17 Jun 2016) Log Message: --- Fix double cascade in slider step write trap - long standing bug - slider sending out values beyond min/max settings Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-06-14 12:00:58 UTC (rev 4858) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-06-17 21:01:32 UTC (rev 4859) @@ -28,7 +28,9 @@ var surfaceToTrack; var syncStep = function() { -if (surfaceToTrack==null) surfaceToTrack = surface.frame.distanceto(th_track); +if (surfaceToTrack==null) +surfaceToTrack = surface.frame.distanceto(th_track); + step = vexi.math.round(numsteps * (surface.frame.mouse[pos] - vexi.math.abs(surfaceToTrack[pos]) - @@ -65,14 +67,16 @@ /** move handle based on new step value */ static.stepWrite = function(v) { // make sure step has a valid value -cascade = (0 > v) ? 0 : (v > trapee.numsteps) ? trapee.numsteps : v; +var s = (0 > v) ? 0 : (v > trapee.numsteps) ? trapee.numsteps : v; +// nothing to do +if (s == trapee.step) return; +cascade = s; // adjust the handle position according to the step trapee.th_handle[trapee.pos] = trapee.step * (trapee.th_track[trapee.dim] - trapee.th_handle[trapee.dim]) / trapee.numsteps; // fire value traps trapee.traplock = true; trapee.value = trapee.value; trapee.traplock = false; -cascade = v; } /** recalculate numsteps based on interval/min/max */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohomanageengine ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4858] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/slider.t
Revision: 4858 http://sourceforge.net/p/vexi/code/4858 Author: clrg Date: 2016-06-14 12:00:58 + (Tue, 14 Jun 2016) Log Message: --- Fix slider initializing with handles off the edge of the track. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-05-18 22:27:02 UTC (rev 4857) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t 2016-06-14 12:00:58 UTC (rev 4858) @@ -50,6 +50,7 @@ step ++= static.stepWrite; value ++= static.valueRead; value ++= static.valueWrite; +th_handle ++= static.handleWrite; th_track ++= static.trackWrite; @@ -87,6 +88,12 @@ } /** mak sure the handle is kept at the write track position */ +static.handleWrite = function(v) { +cascade = v; +trapee.th_handle.width ++= trapee.syncHandle; +} + +/** mak sure the handle is kept at the write track position */ static.trackWrite = function(v) { cascade = v; trapee.th_track.width ++= trapee.syncHandle; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4843] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/tabpane.t
Revision: 4843 http://sourceforge.net/p/vexi/code/4843 Author: clrg Date: 2016-02-10 14:55:23 + (Wed, 10 Feb 2016) Log Message: --- Fix bevel property forwarding for tabpane. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2016-01-25 23:16:57 UTC (rev 4842) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2016-02-10 14:55:23 UTC (rev 4843) @@ -12,7 +12,7 @@ - + @@ -42,7 +42,7 @@ thisbox.th_tablist = $tablist; thisbox.v_fillbox = $content; -const toBevel = function(v) { $content[trapname] = v; } +const toBevel = function(v) { $bevel[trapname] = v; } thisbox.shadecolor ++= toBevel; thisbox.shinecolor ++= toBevel; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4842] branches/vexi3_integrated_layout/org.vexi-vexi. widgets
Revision: 4842 http://sourceforge.net/p/vexi/code/4842 Author: clrg Date: 2016-01-25 23:16:57 + (Mon, 25 Jan 2016) Log Message: --- Porting WIP Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/CheckBox.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/RadioButton.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Container.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Draggable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/FocusManager.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Focusable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Polarized.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/PopupManager.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Popupable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Repeater.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/SelectContainer.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Selectable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Subsurface.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Surface.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Settings.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Tooltip.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/body.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/foot.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/head.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/FocusBorder.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/progressbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/CheckBox.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/util/common.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/util/sync.t Added Paths: --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Item.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Link.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/List.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Menu.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/MenuItem.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/NumberField.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Option.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/ShadePane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/ShadowText.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Spinner.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Submenu.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Tab.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Tabpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/ToggleButton.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Toolbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Toolitem.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Tree.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Aspect.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Cardpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Flow.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Grid.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Ratio.t
[Vexi-svn] SF.net SVN: vexi:[4840] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic
Revision: 4840 http://sourceforge.net/p/vexi/code/4840 Author: clrg Date: 2016-01-07 15:18:23 + (Thu, 07 Jan 2016) Log Message: --- Improve tabpane layouts - boxes flush with the left/top edges will fill to the visible bevel - previously there would be a 1 pixel gap Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2016-01-04 12:55:02 UTC (rev 4839) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2016-01-07 15:18:23 UTC (rev 4840) @@ -23,7 +23,7 @@ - + Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2016-01-04 12:55:02 UTC (rev 4839) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2016-01-07 15:18:23 UTC (rev 4840) @@ -3,32 +3,36 @@ - - - - + + + + + + + - + - - - + + + - + - - - + + + - + - - + + thisbox.th_add = $add; thisbox.th_head = $head; @@ -47,7 +51,7 @@ cascade = v; var hide = hidetabs and 1 >= v_content.numchildren; $wrap.display = !hide; -$content.y = hide ? 0 : $head.height - 2; +$body.y = hide ? 0 : $head.height - 2; } thisbox.hidetabs ++= hideTabsTrap; @@ -56,9 +60,9 @@ /** support variable tab height */ $head.height ++= function(v) { $wrap.height = v; -$content.y = v-2; +$body.y = v-2; cascade = v; } - + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4835] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/link.t
Revision: 4835 http://sourceforge.net/p/vexi/code/4835 Author: clrg Date: 2015-12-09 15:57:13 + (Wed, 09 Dec 2015) Log Message: --- Add 'styles' to links - a prototype for how things should be done - probably can be generalised in some cases Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t 2015-12-04 10:33:41 UTC (rev 4834) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t 2015-12-09 15:57:13 UTC (rev 4835) @@ -1,16 +1,11 @@ - -Charles Goodwin -Link - + xmlns:lang="vexi://lang" + xmlns="vexi.layout" + xmlns:role="org.vexi.lib.role" + xmlns:theme="vexi.theme" + xmlns:rdt="vexi.util.redirect"> @@ -34,7 +29,13 @@ +$text.textcolor ++= function(v) { +cascade = v; +$hintline.fill = v; +$underline.fill = v; +} +thisbox.style = static.default_style; thisbox.th_focus = $focus; thisbox.v_linkbox = $link; thisbox.v_textbox = $text; @@ -107,23 +108,41 @@ return; } +static.default_style = { +textcolor : { +normal : "black", +disabled : "#66", +hover : "blue", +active : "red" +}, +//fill : { +//normal : null, +//disabled : null, +//hover : null, +//active : null +//} +} + static.activeWrite = function(v) { -trapee.v_linkbox[0].textcolor = "red"; +const s = trapee.style.textcolor; +trapee.v_linkbox[0].textcolor = s.active; trapee.v_linkbox[2].display = true; -trapee.v_linkbox[2].fill = "red"; +trapee.v_linkbox[2].fill = s.active; return; } static.hoverWrite = function(v) { -trapee.v_linkbox[0].textcolor = "blue"; +const s = trapee.style.textcolor; +trapee.v_linkbox[0].textcolor = s.hover; trapee.v_linkbox[2].display = true; -trapee.v_linkbox[2].fill = "blue"; +trapee.v_linkbox[2].fill = s.hover; return; } static.normalWrite = function(v) { -trapee.v_linkbox[0].textcolor = trapee.enabled ? "black" : "#66"; -trapee.v_linkbox[1].fill = trapee.enabled ? "black" : null; +const s = trapee.style.textcolor; +trapee.v_linkbox[0].textcolor = trapee.enabled ? s.normal : s.tdisabled; +trapee.v_linkbox[1].fill = trapee.enabled ? s.normal : null; trapee.v_linkbox[2].display = false; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4834] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/tab.t
Revision: 4834 http://sourceforge.net/p/vexi/code/4834 Author: clrg Date: 2015-12-04 10:33:41 + (Fri, 04 Dec 2015) Log Message: --- Tabs with dark fills have white text / close icon Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2015-11-30 22:58:47 UTC (rev 4833) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2015-12-04 10:33:41 UTC (rev 4834) @@ -1,6 +1,7 @@ @@ -16,7 +17,7 @@ - + @@ -29,10 +30,15 @@ +const getReadableColor = util.color..getReadableColor; + $bevel.fill ++= function(v) { var f = v?:.settings..tabfill; cascade = f; $overfill.fill = f; +var tc = getReadableColor(f); +textcolor = tc; +$closeimg.fill = .image["close"+((tc == "white" or tc == "#ff")?"_white":"")]; } $bevel.fill = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4832] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/tabpane.t
Revision: 4832 http://sourceforge.net/p/vexi/code/4832 Author: clrg Date: 2015-11-19 11:47:50 + (Thu, 19 Nov 2015) Log Message: --- Fix tab overflow dropdown with custom tabs; use v_tab.text instead of tabtext (KISS). Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/tabpane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/tabpane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/tabpane.t 2015-11-19 02:53:32 UTC (rev 4831) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/tabpane.t 2015-11-19 11:47:50 UTC (rev 4832) @@ -64,14 +64,14 @@ // hide the rest while (c!=null) { c.v_tab.display = false; -c.v_tabitem.text = c.tabtext; +c.v_tabitem.text = c.v_tab.text?:"Unnamed Tab"; c = taborder.after(c); } th_tablist.display = true; return; } c.v_tab.display = true; -c.v_tabitem.text = "* "+c.tabtext; +c.v_tabitem.text = "* "+(c.v_tab.text?:"Unnamed Tab"); cw += c.v_tab.width; } th_tablist.display = false; @@ -190,8 +190,7 @@ // tab overflow policy if (!c.v_tabitem) { var i = new wi.item(); -if(c.tabtext!=null) -i.text = c.tabtext; +// text gets set later i.value = c; c.v_tabitem = i; th_tablist.add(i); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4831] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic
Revision: 4831 http://sourceforge.net/p/vexi/code/4831 Author: clrg Date: 2015-11-19 02:53:32 + (Thu, 19 Nov 2015) Log Message: --- Fix. Fill the bevel since it now handles fill differently depending upon bevel depth. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/option.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t 2015-11-16 17:14:30 UTC (rev 4830) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t 2015-11-19 02:53:32 UTC (rev 4831) @@ -68,7 +68,7 @@ thisbox.surfaceHeight ++= opt.surfaceHeightRead; thisbox.v_container ++= function(v) { -v_fillbox = $focus; +v_fillbox = $bevel; v_textbox = $edit.v_edit; thisbox.textalign ++= function(v) { cascade = v; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/option.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/option.t 2015-11-16 17:14:30 UTC (rev 4830) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/option.t 2015-11-19 02:53:32 UTC (rev 4831) @@ -7,7 +7,7 @@ - + @@ -52,7 +52,7 @@ thisbox.v_container ++= function(v) { cascade = v; -v_fillbox = $focus; +v_fillbox = $bevel; v_textbox = $output; thisbox.textalign ++= function(v) { cascade = v; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4830] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/scrollpane.t
Revision: 4830 http://sourceforge.net/p/vexi/code/4830 Author: clrg Date: 2015-11-16 17:14:30 + (Mon, 16 Nov 2015) Log Message: --- When changing scrollvertical/scrollhorizontal from false->true, need to remove the size contraints that had been imposed Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollpane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollpane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollpane.t 2015-11-13 04:37:29 UTC (rev 4829) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollpane.t 2015-11-16 17:14:30 UTC (rev 4830) @@ -69,6 +69,8 @@ } } else { th_viewport[0].contentwidth --= constrainPaneH; +th_viewport.maxwidth = vexi.ui.maxdim; +th_viewport.minwidth = 0; } cascade = s; } @@ -107,6 +109,8 @@ } } else { th_viewport[0].contentheight --= constrainPaneV; +th_viewport.maxheight = vexi.ui.maxdim; +th_viewport.minheight = 0; } cascade = s; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Presto, an open source distributed SQL query engine for big data, initially developed by Facebook, enables you to easily query your data on Hadoop in a more interactive manner. Teradata is also now providing full enterprise support for Presto. Download a free open source copy now. http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140 ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4816] branches/vexi3_integrated_layout/org.vexi-library. js/src/main/jpp/org/ibex/js/JS.jpp
Revision: 4816 http://sourceforge.net/p/vexi/code/4816 Author: clrg Date: 2015-10-06 21:51:22 + (Tue, 06 Oct 2015) Log Message: --- Trivial. Error message should reference type for classes inheriting Immutable. Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp Modified: branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp === --- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2015-10-05 11:44:39 UTC (rev 4815) +++ branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2015-10-06 21:51:22 UTC (rev 4816) @@ -381,7 +381,7 @@ public boolean isTruthy() { return true; } public boolean instanceOf(JS constructor) { return false; } public void addConstructor(JS constructor) throws JSExn { -throw new JSExn("Attempted to add constructor to immutable"); +throw new JSExn("Attempted to add constructor to "+type()); } /** Returns ClassName$ where is the hashcode in hex. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4815] branches/vexi3_integrated_layout/org.vexi-library. js/src/main/jpp/org/ibex/js
Revision: 4815 http://sourceforge.net/p/vexi/code/4815 Author: clrg Date: 2015-10-05 11:44:39 + (Mon, 05 Oct 2015) Log Message: --- Trivial. Spelling correction. Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSArray.jpp branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDate.jpp branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp Modified: branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp === --- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2015-09-12 20:20:45 UTC (rev 4814) +++ branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JS.jpp 2015-10-05 11:44:39 UTC (rev 4815) @@ -381,7 +381,7 @@ public boolean isTruthy() { return true; } public boolean instanceOf(JS constructor) { return false; } public void addConstructor(JS constructor) throws JSExn { -throw new JSExn("Attemted to add constructor to immutable"); +throw new JSExn("Attempted to add constructor to immutable"); } /** Returns ClassName$ where is the hashcode in hex. Modified: branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSArray.jpp === --- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSArray.jpp 2015-09-12 20:20:45 UTC (rev 4814) +++ branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSArray.jpp 2015-10-05 11:44:39 UTC (rev 4815) @@ -197,7 +197,7 @@ public int callType(){ return CALLTYPE_METHOD; } public String coerceToString() { return "array$" + Integer.toHexString(hashCode()); } public boolean instanceOf(JS constructor){ return constructor==Constructor; } -public void addConstructor(JS constructor) throws JSExn {throw new JSExn("Attemted to add constructor to array"); } +public void addConstructor(JS constructor) throws JSExn { throw new JSExn("Attempted to add constructor to array"); } public JS new_(JS[] args) throws JSExn { throw new JSExn(type() +" is not a constructor"); } public JS apply(JS target, JS[] args) throws JSExn { throw new JSExn("Cannot call a " + type()); } public JS callMethod(JS this_, JS method, JS[] args) throws JSExn { Modified: branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDate.jpp === --- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDate.jpp 2015-09-12 20:20:45 UTC (rev 4814) +++ branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSDate.jpp 2015-10-05 11:44:39 UTC (rev 4815) @@ -122,7 +122,7 @@ }; public boolean instanceOf(JS constructor) { return constructor==Constructor; } -public void addConstructor(JS constructor) throws JSExn {throw new JSExn("Attemted to add constructor to date"); } +public void addConstructor(JS constructor) throws JSExn {throw new JSExn("Attempted to add constructor to date"); } final public Date date; Modified: branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp === --- branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2015-09-12 20:20:45 UTC (rev 4814) +++ branches/vexi3_integrated_layout/org.vexi-library.js/src/main/jpp/org/ibex/js/JSInstant.jpp 2015-10-05 11:44:39 UTC (rev 4815) @@ -103,7 +103,7 @@ }; public boolean instanceOf(JS constructor) { return constructor==Constructor; } -public void addConstructor(JS constructor) throws JSExn {throw new JSExn("Attemted to add constructor to date"); } +public void addConstructor(JS constructor) throws JSExn {throw new JSExn("Attempted to add constructor to date"); } final public Instant instant; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4812] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/layout/icon.t
Revision: 4812 http://sourceforge.net/p/vexi/code/4812 Author: clrg Date: 2015-08-05 10:32:57 + (Wed, 05 Aug 2015) Log Message: --- Improve icon to accept a stream as well as a string Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t 2015-08-05 10:28:29 UTC (rev 4811) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t 2015-08-05 10:32:57 UTC (rev 4812) @@ -38,7 +38,11 @@ if (!trapee.size) { return; } -trapee[0][0].fill = v ? static.getIcon("icon"+trapee.size, v) : null; +// determine whether icon is null, a stream, otherwise +// assume it is a string reference to look up an icon +var icon = v==null or typeof(v)=="stream" ? v + : static.getIcon("icon"+trapee.size, v); +trapee[0][0].fill = icon; } /** sets the size, in pixels, of this icon */ @@ -94,8 +98,9 @@ static.getIcon = function(subdir, name){ const key = subdir+"."+name; var r = icons[subdir][name]; -if(!r){ - +if (r==null) { + // if the look up fails, then fill in with a + // blank icon and output a suitable warning var msg = "[WARNING] icon not found: "+subdir+"/"+name; vexi.log.warn(new vexi.js.Exception(msg)); if(!listed[subdir]){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4811] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/menu.t
Revision: 4811 http://sourceforge.net/p/vexi/code/4811 Author: clrg Date: 2015-08-05 10:28:29 + (Wed, 05 Aug 2015) Log Message: --- Fix translucent menu edges Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/menu.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/menu.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/menu.t 2015-08-05 10:27:35 UTC (rev 4810) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/menu.t 2015-08-05 10:28:29 UTC (rev 4811) @@ -17,8 +17,8 @@ - - + + thisbox.v_popbox = $popbox; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4810] branches/vexi3/org.vexi-vapp.codetutor/src_main/org /vexi/codetutor
Revision: 4810 http://sourceforge.net/p/vexi/code/4810 Author: clrg Date: 2015-08-05 10:27:35 + (Wed, 05 Aug 2015) Log Message: --- Refactor/improve Modified Paths: -- branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeline.t branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeview.t branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/linenumber.t branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/main.t Modified: branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeline.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeline.t 2015-08-05 10:26:10 UTC (rev 4809) +++ branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeline.t 2015-08-05 10:27:35 UTC (rev 4810) @@ -1,9 +1,5 @@ - - -Charles Goodwin - - - + + font = .font["VeraMono.ttf"]; - + \ No newline at end of file Modified: branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeview.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeview.t 2015-08-05 10:26:10 UTC (rev 4809) +++ branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/codeview.t 2015-08-05 10:27:35 UTC (rev 4810) @@ -1,11 +1,19 @@ - - -Charles Goodwin - + - - - + + + + + + + + + + + + thisbox.tabtext = arguments[1]; @@ -19,18 +27,21 @@ } { // constructor -var s = getStream(arguments[0], vexi[""]); -var samplestr = vexi.stream.utf8reader(s).all; -var strbyline = samplestr.split('\n'); -var len = strbyline.length; +const arg0 = arguments[0]; +const f = getStream(arg0, vexi[""]); +const samplestr = vexi.stream.utf8reader(f).all; +const strbyline = samplestr.split('\n'); +const len = strbyline.length; for (var i=0; len>i; i++) { -var c = tutor.codeline(vexi.box); -c.text = strbyline[i]; -$code[i] = c; -var l = tutor.linenumber(vexi.box); +const c = new tutor.codeline(); +const t = strbyline[i]; +c.text = t.length ? t : " "; +$code.add(c); +const l = new tutor.linenumber(); l.text = i; -$line[i] = l; +$line.add(l); } +location = arg0; } Modified: branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/linenumber.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/linenumber.t 2015-08-05 10:26:10 UTC (rev 4809) +++ branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/linenumber.t 2015-08-05 10:27:35 UTC (rev 4810) @@ -1,9 +1,5 @@ - - -Charles Goodwin - - - + + font = .font["VeraMono.ttf"]; - + \ No newline at end of file Modified: branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/main.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/main.t 2015-08-05 10:26:10 UTC (rev 4809) +++ branches/vexi3/org.vexi-vapp.codetutor/src_main/org/vexi/codetutor/main.t 2015-08-05 10:27:35 UTC (rev 4810) @@ -1,39 +1,36 @@ - - -Charles Goodwin - + - + thisbox.action ++= function(v) { surface.frame.Close = true; return; } - + - - - - + - - - + + + - - - - - + + + + + - + @@ -46,72 +43,82 @@ } $run.action ++= function(v) { -$msg.text = "Opening: &
[Vexi-svn] SF.net SVN: vexi:[4809] branches/vexi3/org.vexi-vapp.calc/src_main/org/vexi /calc/main.t
Revision: 4809 http://sourceforge.net/p/vexi/code/4809 Author: clrg Date: 2015-08-05 10:26:10 + (Wed, 05 Aug 2015) Log Message: --- Fix Modified Paths: -- branches/vexi3/org.vexi-vapp.calc/src_main/org/vexi/calc/main.t Modified: branches/vexi3/org.vexi-vapp.calc/src_main/org/vexi/calc/main.t === --- branches/vexi3/org.vexi-vapp.calc/src_main/org/vexi/calc/main.t 2015-07-11 23:25:28 UTC (rev 4808) +++ branches/vexi3/org.vexi-vapp.calc/src_main/org/vexi/calc/main.t 2015-08-05 10:26:10 UTC (rev 4809) @@ -1,6 +1,7 @@ - + @@ -106,10 +107,10 @@ // Keyboard Handling -surface._KeyPressed ++= function(v) { +surface.event._KeyPressed ++= function(v) { if (surface.keymap[v]) surface.keymap[v].action = true; cascade = v; } - \ No newline at end of file + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4808] branches/vexi3/org.vexi-vapp.codetutor
Revision: 4808 http://sourceforge.net/p/vexi/code/4808 Author: clrg Date: 2015-07-11 23:25:28 + (Sat, 11 Jul 2015) Log Message: --- Move tutorials to standard directory i.e. don't over-complicate project structure. Modified Paths: -- branches/vexi3/org.vexi-vapp.codetutor/.vexipath branches/vexi3/org.vexi-vapp.codetutor/src_main/tutorials/counter/sample1.t Added Paths: --- branches/vexi3/org.vexi-vapp.codetutor/src_main/tutorials/ branches/vexi3/org.vexi-vapp.codetutor/src_main/tutorials/counter/ Removed Paths: - branches/vexi3/org.vexi-vapp.codetutor/src_tutor/ Modified: branches/vexi3/org.vexi-vapp.codetutor/.vexipath === --- branches/vexi3/org.vexi-vapp.codetutor/.vexipath2015-07-11 22:19:23 UTC (rev 4807) +++ branches/vexi3/org.vexi-vapp.codetutor/.vexipath2015-07-11 23:25:28 UTC (rev 4808) @@ -1,11 +1,12 @@ - + + Modified: branches/vexi3/org.vexi-vapp.codetutor/src_main/tutorials/counter/sample1.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/sample1.t 2015-07-11 00:16:52 UTC (rev 4806) +++ branches/vexi3/org.vexi-vapp.codetutor/src_main/tutorials/counter/sample1.t 2015-07-11 23:25:28 UTC (rev 4808) @@ -19,10 +19,12 @@ vexi.ui.frame = thisbox; -thisbox.value ++= function(v) { $output.text = v; cascade - v; } +thisbox.value ++= function(v) { $output.text = v; cascade = v; } $dec.action ++= function(v) { value--; } $inc.action ++= function(v) { value++; } $clear.action ++= function(v) { value = 0; } + value = 0; // initialise counter + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4807] branches/vexi3/org.vexi-vapp.codetutor/meta/module. xml
Revision: 4807 http://sourceforge.net/p/vexi/code/4807 Author: clrg Date: 2015-07-11 22:19:23 + (Sat, 11 Jul 2015) Log Message: --- Add font dependency (tutorial uses monospace font). Modified Paths: -- branches/vexi3/org.vexi-vapp.codetutor/meta/module.xml Modified: branches/vexi3/org.vexi-vapp.codetutor/meta/module.xml === --- branches/vexi3/org.vexi-vapp.codetutor/meta/module.xml 2015-07-11 00:16:52 UTC (rev 4806) +++ branches/vexi3/org.vexi-vapp.codetutor/meta/module.xml 2015-07-11 22:19:23 UTC (rev 4807) @@ -1,6 +1,7 @@ + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4806] branches/vexi3/org.vexi-vapp.codetutor/src_tutor/ tutorials
Revision: 4806 http://sourceforge.net/p/vexi/code/4806 Author: clrg Date: 2015-07-11 00:16:52 + (Sat, 11 Jul 2015) Log Message: --- Add simple counter tutorial Added Paths: --- branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/ branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/sample1.t Added: branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/sample1.t === --- branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/sample1.t (rev 0) +++ branches/vexi3/org.vexi-vapp.codetutor/src_tutor/tutorials/counter/sample1.t 2015-07-11 00:16:52 UTC (rev 4806) @@ -0,0 +1,28 @@ + + + + + + + // pad the 'Count' + + + + + + + + + + +vexi.ui.frame = thisbox; + +thisbox.value ++= function(v) { $output.text = v; cascade - v; } +$dec.action ++= function(v) { value--; } +$inc.action ++= function(v) { value++; } +$clear.action ++= function(v) { value = 0; } +value = 0; // initialise counter + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4798] branches/vexi3_integrated_layout/org.vexi-vexi. widgets
Revision: 4798 http://sourceforge.net/p/vexi/code/4798 Author: clrg Date: 2015-05-23 14:00:47 + (Sat, 23 May 2015) Log Message: --- Port splitpane Added Paths: --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Divider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Splitpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Divider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Splitpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Splitpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Splitpane.t Removed Paths: - branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/divider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/splitpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/divider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/splitpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/splitpane.t Copied: branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Divider.t (from rev 4785, branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/divider.t) === --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Divider.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Divider.t 2015-05-23 14:00:47 UTC (rev 4798) @@ -0,0 +1,13 @@ + + + + + +Charles Goodwin + + + +thisbox.active = false; + + Copied: branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Splitpane.t (from rev 4785, branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/splitpane.t) === --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Splitpane.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Splitpane.t 2015-05-23 14:00:47 UTC (rev 4798) @@ -0,0 +1,210 @@ + + + + + +Charles Goodwin + + + + +thisbox.liveresize = true; // whether to update pane sizes instantly +thisbox.markeroffset = 0; // offset for centering marker +thisbox.master;// gets the slack +thisbox.th_marker; // marker used when liveresize is false +thisbox.v_content; // conceptually contains children +thisbox.v_holding; // where children are actually contained + +// horizontal splitpane: +// .---. .---. +// | a |d| b | +// '---' '---' +var cur_d; // current divder +var cur_a; // current child a +var cur_b; // current child b +var dim_a; // current width or height of a +var dim_b; // current width or height of b +var tmp_a; // temporary variable for a values +var tmp_b; // temporary variable for b values + +var max = function(a, b) { return a>b ? a : b; } +var min = function(a, b) { return b>a ? a : b; } + +/** integration with draggable */ +var dragUpdate = function(d) { +var shift = d[pos]; +// constrain the shift to respect content and max sizes +// of non-master children and the size of the splitpane +/*if (cur_a!=master)*/ +shift = +max(cur_a[0][contentdim] - dim_a, +min(cur_a[0][maxdim] - dim_a, shift)); +/*if (cur_b!=master)*/ +shift = +min(dim_b - cur_d[dim] - cur_b[0][contentdim], +max(dim_b - cur_d[dim] - cur_b[0][maxdim], shift)); + +if (liveresize) { +// resize non-master children +if (cur_a!=master) +cur_a[dim] = dim_a + shift; +if (cur_b!=master) +cur_b[dim] = dim_b - shift; +} else { +// store sizes for later application +tmp_a = dim_a + shift; +tmp_b = dim_b - shift; +th_marker[pos] = cur_a[pos] + tmp_a + markeroffset; +} +cascade = d; +} + +/** drops moveEvent on Release */ +v
[Vexi-svn] SF.net SVN: vexi:[4797] branches/vexi3_integrated_layout/org.vexi-vexi. widgets
Revision: 4797 http://sourceforge.net/p/vexi/code/4797 Author: clrg Date: 2015-05-23 12:33:23 + (Sat, 23 May 2015) Log Message: --- Port slider, separator Added Paths: --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Slider.t Removed Paths: - branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/separator.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/slider.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/widgets/slider.t Copied: branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Separator.t (from rev 4785, branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/separator.t) === --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Separator.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Separator.t 2015-05-23 12:33:23 UTC (rev 4797) @@ -0,0 +1,9 @@ + + + + +Charles Goodwin + + + + Copied: branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Slider.t (from rev 4785, branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/slider.t) === --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Slider.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Slider.t 2015-05-23 12:33:23 UTC (rev 4797) @@ -0,0 +1,108 @@ + + + + + +Charles Goodwin + + + + + + + +// public variables +thisbox.interval = 1; // user defined interval between steps +thisbox.minvalue = 0; // the lower limit of the value range +thisbox.maxvalue = 10; // the upper limit of the value range +thisbox.step = 0; // the current step (integer) +thisbox.value= 0; // the current value + +// theme box traps +thisbox.th_handle = null; // the slider handle +thisbox.th_track = null;// the track in which the slider runs + +// private variables +thisbox.numsteps = 10; // the number of steps +thisbox.traplock = false; // lock for firing traps + +var surfaceToTrack; +var syncStep = function() { +if (surfaceToTrack==null) surfaceToTrack = surface.frame.distanceto(th_track); +step = vexi.math.round(numsteps * +(surface.frame.mouse[pos] - +vexi.math.abs(surfaceToTrack[pos]) - +th_handle[dim]/2) / (th_track[dim] - th_handle[dim])); +} + +/** used to sync the handle position */ +thisbox.syncHandle = function(v) { cascade = v; step = step; } + +// draggable integration +thisbox.moveEvent = function(v) { cascade = v; syncStep(); } +thisbox.Press1 ++= thisbox.moveEvent; + +// assign static trap functions +KeyPressed ++= static.keypressEvent; +interval ++= static.syncLimits; +minvalue ++= static.syncLimits; +maxvalue ++= static.syncLimits; +step ++= static.stepWrite; +value ++= static.valueRead; +value ++= static.valueWrite; +th_track ++= static.trackWrite; + + + +/** adjust step on keypress */ +static.keypressEvent = function(v) { +if (v == "left" or v == "down") trapee.step -= 1; +else if (v == "right" or v == "up") trapee.step += 1; +cascade = v; +} + +/** move handle based on new step value */ +static.stepWrite = function(v) { +// make sure step has a valid v
[Vexi-svn] SF.net SVN: vexi:[4796] branches/vexi3_integrated_layout/org.vexi-vexi. widgets
Revision: 4796 http://sourceforge.net/p/vexi/code/4796 Author: clrg Date: 2015-05-23 11:30:20 + (Sat, 23 May 2015) Log Message: --- Port scroll widgets Added Paths: --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Scroll.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/image/pacman_origin.jpg Removed Paths: - branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/scrollbar.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/scrollpane.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/widgets/pacman_origin.jpg branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/widgets/scroll.t Copied: branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Scrollbar.t (from rev 4785, branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t) === --- branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Scrollbar.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Scrollbar.t 2015-05-23 11:30:20 UTC (rev 4796) @@ -0,0 +1,378 @@ + + + + + +Charles Goodwin + +* th_thumb should be a role.Draggable +* viewport should have the structure: + + + + + + + +// public variables +thisbox.lineheight = vexi.ui.font.height(font, fontsize, "dp"); +thisbox.mwheelshift = 4; +thisbox.pageshift; +thisbox.autohide; +thisbox.enabled = true; +thisbox.hide; +thisbox.minthumbsize; +thisbox.shift; +thisbox.uiport; +thisbox.viewport; + +// theme box variables +thisbox.th_back; +thisbox.th_next; +thisbox.th_thumb; +thisbox.th_track; + +// private variables +var listeners = {}; +var percent; +var percentset; +var trackpos; + +// for efficient lookups +var max = vexi.math.max; +var min = vexi.math.min; +var thumb, track; +var vport, varea; + + +// sync functions + +/** sync viewport with thumb position */ +const syncViewport = function() { +if (vport and varea) +varea[pos] = percent * (vport[dim] - varea[dim]); +} + +/** sync specific listener with viewport position */ +const syncListener = function(v) { +if (v and v[0]) v[0][pos] = percent * (v[dim] - v[0][dim]); +} + +/** syncs all listeners with viewport position */ +const syncAllListeners = function(v) { + // BROKEN - disabling this, it prevents button from working (until thumb has been moved) + // Once motion is set it doesn't seem to get unset in normal use, so it seems like + // a useless check. +//if (motion) { +for (var key in listeners) { +if (v == key) continue; +syncListener(key); +} +//} +} + +/** sync thumb with viewport size and position */ +const syncThumb = function() { +// don't do much if we're hidden +if (hide) display = false; +// conditions where thumb placement is not [yet] desirable +else if (!surface || vport == null || v
[Vexi-svn] SF.net SVN: vexi:[4795] branches/vexi3_integrated_layout/org.vexi-core.main /src/main/jpp/org/vexi/core/Box.jpp
Revision: 4795 http://sourceforge.net/p/vexi/code/4795 Author: clrg Date: 2015-05-12 21:58:49 + (Tue, 12 May 2015) Log Message: --- Fix spacing issues Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-10 08:12:50 UTC (rev 4794) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-12 21:58:49 UTC (rev 4795) @@ -722,7 +722,9 @@ new_contentwidth += c.nominalWidth() + spacing; prior_margin = c.margin.right; } -new_contentwidth += max(prior_margin, padding.right); +int final_spacing = max(prior_margin, padding.right); +new_contentwidth += final_spacing; +box_spacing += final_spacing; } else { // maximum child contentwidth for (Box c = getChild(i=0); c != null; c = getChild(++i)) { @@ -946,7 +948,7 @@ // if there is 'slack' (child boxes do not consume parent width) then // align determines whether we pack boxes to left, centre, or right -int offset_x = alignLeft() ? 0 : (int)(((float)width-totalsize)/(float)(alignRight()?1:2)); +int offset_x = alignLeft() ? 0 : (int)(((float)packingspace-totalsize)/(float)(alignRight()?1:2)); // we use total (a float) to keep tabs on final layout totals // so we do not get stray pixel sized gaps caused by rounding @@ -1093,7 +1095,7 @@ // if there is 'slack' (child boxes do not consume parent width) then // align determines whether we pack boxes to left, centre, or right -int offset_y = alignTop() ? 0 : (int)(((float)height-totalsize)/(float)(alignBottom()?1:2)); +int offset_y = alignTop() ? 0 : (int)(((float)packingspace-totalsize)/(float)(alignBottom()?1:2)); // we use total (a float) to keep tabs on final layout totals // so we do not get stray pixel sized gaps caused by rounding This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4793] branches/vexi3_integrated_layout
Revision: 4793 http://sourceforge.net/p/vexi/code/4793 Author: clrg Date: 2015-05-09 09:40:24 + (Sat, 09 May 2015) Log Message: --- Widgets for integrated layout - Button, CheckBox, RadioButton - move to vexi.gui namespace Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-vexi.demo/src_poke/testfeature.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/text/default.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/widgets/basic.t Added Paths: --- branches/vexi3_integrated_layout/org.vexi-vexi.demo/src_main/org/vexi/demo/feature/BasicWidgets.t branches/vexi3_integrated_layout/org.vexi-vexi.icons/src_main/vexi/conf/Icon.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/CheckBox.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/Defaults.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/gui/RadioButton.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/Icon.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Clickable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Container.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/ContextMenuAgent.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Draggable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/FocusManager.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Focusable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Polarized.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/PopupManager.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Popupable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Repeater.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/SelectContainer.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/SelectGrouper.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/SelectList.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Selectable.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Subsurface.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/Surface.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/TooltipAgent.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/TooltipManager.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/theme/ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Bevel.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/CheckBox.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/RadioButton.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Settings.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Surface.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Tooltip.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/FocusBorder.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/conf/Settings.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/conf/Theme.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/ branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Bevel.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Button.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/ButtonGroup.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/CheckBox.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/RadioButton.t branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Surface.t branches/vexi3_integrated_layout
[Vexi-svn] SF.net SVN: vexi:[4792] branches/vexi3_integrated_layout/org.vexi-core.main /src/main/jpp/org/vexi/core/Box.jpp
Revision: 4792 http://sourceforge.net/p/vexi/code/4792 Author: clrg Date: 2015-05-09 09:29:30 + (Sat, 09 May 2015) Log Message: --- Fixes for integrated layout Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-05 00:37:12 UTC (rev 4791) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-09 09:29:30 UTC (rev 4792) @@ -187,8 +187,8 @@ private final Box getRoot() { return parent == null ? this : parent.getRoot(); } -private final int getXInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.test(ALIGN_LEFT)) ? x : x+((parent.width-width)/(parent.test(ALIGN_RIGHT)?1:2))); } -private final int getYInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.test(ALIGN_TOP)) ? y : y+((parent.height-height)/(parent.test(ALIGN_BOTTOM)?1:2))); } +private final int getXInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.alignLeft()) ? x : x+((parent.width-width)/(parent.alignRight()?1:2))); } +private final int getYInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.alignTop()) ? y : y+((parent.height-height)/(parent.alignBottom()?1:2))); } private final int globalToLocalX(int x) { return parent==null ? x : parent.globalToLocalX(x - getXInParent()); } private final int globalToLocalY(int y) { return parent==null ? y : parent.globalToLocalY(y - getYInParent()); } private final int localToGlobalX(int x) { return parent==null ? x : parent.localToGlobalX(x + getXInParent()); } @@ -203,6 +203,10 @@ private final boolean inside(int x, int y) { return test(DISPLAY) && x >= 0 && y >= 0 && x < width && y < height; } private final boolean hasText() { return text != EMPTY_STRING; } +private final boolean alignTop() { return test(ALIGN_TOP); } +private final boolean alignLeft() { return test(ALIGN_LEFT); } +private final boolean alignRight() { return test(ALIGN_RIGHT); } +private final boolean alignBottom() { return test(ALIGN_BOTTOM); } // TRAPFLAGS helper functions private final void trap_setclear(int mask, boolean set) { if (set) set(mask); else clear(mask); } @@ -268,7 +272,7 @@ private static final int REFLOW = CONSTRAIN | CONSTRAIN_DESCENDENT | PLACE | PLACE_DESCENDENT; private static final int PACK= 0x1000; -private static final int CLIP= 0x2000; +private static final int GAIN = 0x2000; //private static final int HAS_WIDTH_SLACK = 0x4000; //private static final int HAS_HEIGHT_SLACK= 0x8000; @@ -383,7 +387,7 @@ private Box parent = null; private Box redirect = this; -private int flags = DISPLAY | REFLOW | ORIENT | TILE_IMAGE | PACK | PLACE_CLEAN; +private int flags = DISPLAY | REFLOW | ORIENT | TILE_IMAGE | PACK | GAIN | PLACE_CLEAN; private int trapflags = 0; private BasicTree bt = null; @@ -730,7 +734,8 @@ } //#end -} else if (!test(CLIP)) { +} else if (test(GAIN)) { + // layered layout for (Box c = getChild(i=0); c != null; c = getChild(++i)) { if (!c.test(DISPLAY)) { continue; @@ -738,31 +743,15 @@ new_contentwidth = constrainToWidth(new_contentwidth, c); new_contentheight = constrainToHeight(new_contentheight, c); } +} else { + // place layout always has a content size of 0 } -//#repeat width/height WIDTH/HEIGHT -if (test(CLIP)) -new_contentwidth = max(new_contentwidth, textwidth) + padding.left + padding.right; -/* -if (test(CLIP)) { -if (new_contentwidth < maxwidth && new_contentwidth < minwidth) { -set(HAS_WIDTH_SLACK); -} else { -clear(HAS_WIDTH_SLACK); -} -} else { -if (new_contentwidth < maxwidth && (new_contentwidth < minwidth || new_contentwidth < textwidth || -(texture!=null && new_contentwidth < texture.getWidth( { -set(HAS_WIDTH_SLACK); -} else { -clear(HAS_WIDTH_SLACK); -} -new_contentwidth = max(new_contentwidth, textwidth); +//#repeat HSHRINK/VSHRINK width/height WIDTH/HEIGHT Width/Height left/top right/bottom +if (test(GAIN)) { +
[Vexi-svn] SF.net SVN: vexi:[4791] branches/vexi3_integrated_layout/org.vexi-core.main /src/test/java/test/core/box/layout/layout2.t
Revision: 4791 http://sourceforge.net/p/vexi/code/4791 Author: clrg Date: 2015-05-05 00:37:12 + (Tue, 05 May 2015) Log Message: --- Remove debugging code Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t 2015-05-05 00:28:27 UTC (rev 4790) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t 2015-05-05 00:37:12 UTC (rev 4791) @@ -13,12 +13,8 @@ { // reported core layout failure var a = vexi.box; a.width = max-5; -a.name = "foo"; a[0] = vexi.box; a.discover(); -trace(max); -trace(a.width); -trace(a[0].width); assert(a[0].width==max-5); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4790] branches/vexi3_integrated_layout/org.vexi-core.main /src
Revision: 4790 http://sourceforge.net/p/vexi/code/4790 Author: clrg Date: 2015-05-05 00:28:27 + (Tue, 05 May 2015) Log Message: --- Add testcase for margin/padding layout + fix for contentsize test Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/contentsize.t branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t Added Paths: --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout3.t branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/lib/ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/lib/layout3_structure.t Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-04 16:16:14 UTC (rev 4789) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-05 00:28:27 UTC (rev 4790) @@ -650,8 +650,8 @@ return; } constrain(); -int w = test(HSHRINK) ? nominalWidth() : min(maxwidth, max(contentwidth, width)); -int h = test(VSHRINK) ? nominalHeight() : min(maxheight, max(contentheight, height)); +int w = test(HSHRINK) ? nominalWidth() : maxwidth; +int h = test(VSHRINK) ? nominalHeight() : maxheight; tryResize(w, h, true); place(test(PLACE_CLEAN)); } Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/contentsize.t === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/contentsize.t 2015-05-04 16:16:14 UTC (rev 4789) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/contentsize.t 2015-05-05 00:28:27 UTC (rev 4790) @@ -2,7 +2,9 @@ var testContentx = function(dim){ var c1 = vexi.box; - c1["min"+dim]=10; + var c2 = vexi.box; +c2["min"+dim]=10; + c1[0] = c2; c1.discover(); .util..assertEquals(10,c1["content"+dim]); @@ -11,7 +13,7 @@ x = v; cascade = v; }; - c1["min"+dim]=20; + c2["min"+dim]=20; c1.discover(); .util..assertEquals(20,x); }; Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t 2015-05-04 16:16:14 UTC (rev 4789) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout2.t 2015-05-05 00:28:27 UTC (rev 4790) @@ -13,8 +13,12 @@ { // reported core layout failure var a = vexi.box; a.width = max-5; +a.name = "foo"; a[0] = vexi.box; a.discover(); +trace(max); +trace(a.width); +trace(a[0].width); assert(a[0].width==max-5); } Added: branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout3.t === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout3.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/layout3.t 2015-05-05 00:28:27 UTC (rev 4790) @@ -0,0 +1,12 @@ + + +var p = new .lib.layout3_structure(); +p.shrink = true; +p.discover(); +trace(p.contentwidth); +trace(p.contentheight); +lib..assertSize(420,280,p); + +// see layout3_structure + + Added: branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/lib/layout3_structure.t === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/lib/layout3_structure.t (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/layout/lib/layout3_struct
[Vexi-svn] SF.net SVN: vexi:[4789] branches/vexi3_integrated_layout
Revision: 4789 http://sourceforge.net/p/vexi/code/4789 Author: clrg Date: 2015-05-04 16:16:14 + (Mon, 04 May 2015) Log Message: --- Core margin+padding implementation Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Added Paths: --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Insets.java branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/layout/core.t Added: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Insets.java === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Insets.java (rev 0) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Insets.java 2015-05-04 16:16:14 UTC (rev 4789) @@ -0,0 +1,110 @@ +// Copyright (c) 2015 the Contributors, as shown in the revision logs. +// Licensed under the GNU General Public License version 2 ("the License"). +// You may not use this file except in compliance with the License. + +package org.vexi.core; + +import org.ibex.js.JS; +import org.ibex.js.JSExn; +import org.ibex.js.JSU; +import org.ibex.js.Constants; + +/** + * Encapsulates margin/padding state and JS interaction + * + * TODO: support different metrics i.e. %/pt/em + */ +class Insets { + // default empty/0 insets + final protected static Insets ZERO = new Insets(); + + final int top, right, bottom, left; + + Insets() { + top = 0; right = 0; bottom = 0; left = 0; + } + Insets(int i) { + top = i; right = i; bottom = i; left = i; + } + Insets(int t, int r, int b, int l) { + top = t; right = r; bottom = b; left = l; + } + + final JS toJS() { + if (this==ZERO) return Constants.NC_0; + if ((top==right)&&(top==bottom)&&(top==left)) + return JSU.N(top); + if (top==bottom && left==right) + return JSU.S(top+" "+left); + return JSU.S(top+" "+right+" "+bottom+" "+left); + } + final JS topToJS() { return JSU.N(top); } + final JS leftToJS() { return JSU.N(left); } + final JS rightToJS() { return JSU.N(right); } + final JS bottomToJS() { return JSU.N(bottom); } + + /** creates an Insets instance by parsing the given JS */ + final static Insets fromJS(JS inset) throws JSExn { + try { + if (inset == null) + return ZERO; + + if (JSU.isString(inset)) { + String[] put = inset.toString().split(" "); + if (put.length==1) { + int i = Integer.parseInt(put[0]); + return new Insets(i); + } else if (put.length==2) { + int v = Integer.parseInt(put[0]); + int h = Integer.parseInt(put[1]); + return new Insets(v, h, v, h); + } else if (put.length==4) { + int t = Integer.parseInt(put[0]); + int r = Integer.parseInt(put[1]); + int b = Integer.parseInt(put[2]); + int l = Integer.parseInt(put[3]); + return new Insets(t, r, b, l); + } else { + throw new Exception(); + } + } + + // Integer + int i = JSU.toInt(inset); + if (i == 0) return ZERO; + return new Insets(i); + + } catch(Exception e) { + throw new JSExn("Invalid insets value '"+inset+"'"); + } + } + + final private int insetFromJS(JS inset) throws JSExn { + try { + return (inset == null) ? 0 + : (JSU.isInt(inset) ? JSU.toInt(inset) : Integer.parseInt(JSU.toString(inset))); + } catch(Exception e) { + throw new JSExn("Invalid inset value '"+inset+"'"); + } + } + + /** creates an Insets instance by parsing the given JS for
[Vexi-svn] SF.net SVN: vexi:[4788] branches/vexi3_integrated_layout/org.vexi-core.main /src/main
Revision: 4788 http://sourceforge.net/p/vexi/code/4788 Author: clrg Date: 2015-05-02 16:30:06 + (Sat, 02 May 2015) Log Message: --- Minor refactor - more readable non-static functions - order of functions in Box - improve encapsulation (reduce direct Box property access) Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Canvas.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/plat/AWT.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/plat/AWTBase.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/plat/Swing.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Canvas.java === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Canvas.java 2015-05-02 12:35:32 UTC (rev 4787) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Canvas.java 2015-05-02 16:30:06 UTC (rev 4788) @@ -42,8 +42,8 @@ set(TILE_IMAGE); } public Object getImage() { return getBuffer(); } - public int getWidth() { return scale(width); } - public int getHeight() { return scale(height); } + public int getWidth() { return scale(width()); } + public int getHeight() { return scale(height()); } private int scale(int coord){ return (int)(dotsPerPixel*coord); @@ -123,13 +123,13 @@ } private BufferedImage getBuffer(){ - if(width==0 || height==0){ + if(width()==0 || height()==0){ buffer = null; }else if(buffer==null){ - buffer = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + buffer = new BufferedImage(width(), height(), BufferedImage.TYPE_INT_ARGB); }else{ - final int heightPixels = (int)(height*dotsPerPixel); - final int widthPixels = (int)(width*dotsPerPixel); + final int heightPixels = (int)(height()*dotsPerPixel); + final int widthPixels = (int)(width()*dotsPerPixel); if(buffer.getHeight()!=(heightPixels) || buffer.getWidth()!=(widthPixels)){ BufferedImage buffer1 = new BufferedImage(widthPixels, heightPixels, BufferedImage.TYPE_INT_ARGB); Graphics2D g0 = (Graphics2D)buffer.getGraphics(); Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java 2015-05-02 12:35:32 UTC (rev 4787) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java 2015-05-02 16:30:06 UTC (rev 4788) @@ -181,7 +181,7 @@ static protected boolean isLockingKeyOn(int k) throws JSExn { for (int i=0; i root.width || newheight > root.height) { +int newwidth = Math.max(r.x - leftInset + r.width, root.width()); +int newheight = Math.max(r.y - topInset + r.height, root.height()); +if (newwidth > root.width() || newheight > root.height()) { int w = window.getWidth() - leftInset - rightInset; int h = window.getHeight() - topInset - bottomInset; AWTSurface.this.componentResized(w, h); @@ -275,7 +275,7 @@ if (r==null) { if (blithack) { blithack = false; -blit(backbuffer, 0, 0, 0, 0, root.width, root.height); +blit(backbuffer, 0, 0, 0, 0, root.width(), root.height()); } return null; } @@ -384,7 +384,7 @@ public void windowClosed(WindowEvent e) { } public void windowClosing(WindowEvent e) { Close(); } public void windowIconified(WindowEvent e) { Minimized(true); } -public void windowDeiconified(WindowEvent e) { window.repaint(0, 0, root.width, root.height); Minimized(false); } +public void windowDeiconified(WindowEvent e) { window.repaint(0, 0, root.width(), root.height()); Minimized(false); } public void windowActivated(WindowEvent e) { Focused(true); } public void windowDeactivated(WindowEvent e) { Focused(false); } public void componentMoved(ComponentEvent e) { PosChange(window.getLoc
[Vexi-svn] SF.net SVN: vexi:[4787] branches/vexi3_integrated_layout/org.vexi-core.main /src
Revision: 4787 http://sourceforge.net/p/vexi/code/4787 Author: clrg Date: 2015-05-02 12:35:32 + (Sat, 02 May 2015) Log Message: --- Redirect common properties to redirect - could be internally more efficient (avoid put/get switch) - can still override with traps - also some minor comment improvements Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Constants.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/TestBox.java branches/vexi3_integrated_layout/org.vexi-core.main/src/test/java/test/core/box/redirect.t Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Constants.java === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Constants.java 2015-04-30 22:43:10 UTC (rev 4786) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Constants.java 2015-05-02 12:35:32 UTC (rev 4787) @@ -6,6 +6,7 @@ public interface Constants extends org.ibex.js.Constants { static final JS SC_0 = JSU.S("0",true); static final JS SC_add = JSU.S("add",true); + static final JS SC_align = JSU.S("align",true); static final JS SC_align_topleft = JSU.S("topleft",true); static final JS SC_align_top = JSU.S("top",true); static final JS SC_align_topright = JSU.S("topright",true); @@ -39,12 +40,14 @@ static final JS SC_html = JSU.S("html",true); static final JS SC_indexof = JSU.S("indexof",true); static final JS SC_layer = JSU.S("layer",true); +static final JS SC_layout = JSU.S("layout",true); static final JS SC_maxheight = JSU.S("maxheight",true); static final JS SC_maxwidth = JSU.S("maxwidth",true); static final JS SC_minheight = JSU.S("minheight",true); static final JS SC_minwidth = JSU.S("minwidth",true); static final JS SC_mouse = JSU.S("mouse",true); static final JS SC_numchildren = JSU.S("numchildren",true); +static final JS SC_orient = JSU.S("orient",true); static final JS SC_pack = JSU.S("pack",true); static final JS SC_place = JSU.S("place",true); static final JS SC_redirect = JSU.S("redirect",true); @@ -52,6 +55,8 @@ static final JS SC_stringify = JSU.S("stringify",true); static final JS SC_subComponents = JSU.S("subComponents",true); static final JS SC_surface = JSU.S("surface",true); +static final JS SC_text = JSU.S("text",true); +static final JS SC_textcolor = JSU.S("textcolor",true); static final JS SC_thisobj = JSU.S("thisobj",true); static final JS SC_vertical = JSU.S("vertical",true); static final JS SC_visible = JSU.S("visible",true); Modified: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-04-30 22:43:10 UTC (rev 4786) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2015-05-02 12:35:32 UTC (rev 4787) @@ -46,7 +46,7 @@ * property on the box. * * Packed Layout - * In packed layout boxes are positioned next to eachother in the direction of the parents + * In packed layout boxes are positioned next to each other in the direction of the parent's * orient property. The parent is constrained to the combined size of the packed children in the * orient direction and to the maximum size of its children in the non-orient direction. * @@ -1722,6 +1722,7 @@ /** the mouse object of a box */ private class Mouse extends JS.Immutable implements JS.Cloneable { +@SuppressWarnings("unused") public JS get(JS key) throws JSExn { //#switch (JSU.toString(key)) /*@PAGE(varname=mouse,humanname=Mouse Object) @@ -1767,6 +1768,7 @@ private Box from; private Box to; DistanceTo(Box from, Box to) { this.from = from; this.to = to; } +@SuppressWarnings("unused") public JS get(JS key) throws JSExn { //#switch (JSU.toString(key)) /*@PAGE(varname=distanceto,humanname=DistanceTo Object) @@ -1799,6 +1801,7 @@ //#end return super.get(key); } +@SuppressWarnings("unused") public void put(JS key, JS value)
[Vexi-svn] SF.net SVN: vexi:[4786] branches/vexi3_integrated_layout/org.vexi-core.main /src/main
Revision: 4786 http://sourceforge.net/p/vexi/code/4786 Author: clrg Date: 2015-04-30 22:43:10 + (Thu, 30 Apr 2015) Log Message: --- Remove BoxVisual, re-integrate properties back into Box Modified Paths: -- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/Canvas.java branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp branches/vexi3_integrated_layout/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp Removed Paths: - branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/BoxVisual.java Deleted: branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/BoxVisual.java === --- branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/BoxVisual.java 2015-04-28 17:06:14 UTC (rev 4785) +++ branches/vexi3_integrated_layout/org.vexi-core.main/src/main/java/org/vexi/core/BoxVisual.java 2015-04-30 22:43:10 UTC (rev 4786) @@ -1,441 +0,0 @@ -// Copyright 2000-2008 the Contributors, as shown in the revision logs. -// Licensed under the GNU General Public License version 2 ("the License"). -// You may not use this file except in compliance with the License. - -package org.vexi.core; - -import org.ibex.js.Fountain; -import org.ibex.js.JS; -import org.ibex.js.JSExn; -import org.ibex.js.JSString; -import org.ibex.js.JSU; -import org.vexi.graphics.Color; -import org.vexi.graphics.Font; -import org.vexi.graphics.Picture; -import org.vexi.graphics.Texture; - -/** - * Amalgamates Box's visual properties for memory/runtime efficiency: - * - text properties font, fontsize, text, textcolor - * - fill properties texture, fillcolor - **/ -final class BoxVisual implements Constants { - - INSTANCE PROPERTIES / - -private short flags = 0; -int fontsize = 0; -int fillcolor = DEFAULT_FILLCOLOR; -int textcolor = DEFAULT_COLOR; -short textwidth = 0; -short textheight = 0; -Font font = DEFAULT_FONT; -JSString text = EMPTY_STRING; -Texture texture = null; - - - CONSTRUCTORS / - -/** construct default text */ -BoxVisual() { } - -/** construct new text object based on font from 'stream' of size 'pointsize' */ -BoxVisual(JS stream) { -set(FONTSTREAM_SET); -setFont(stream, MEDIUM_SIZE); -} - -/** construct new text object based on font from 'stream' of size 'pointsize' */ -BoxVisual(int pointsize) { -set(FONTSIZE_SET); -setFont(DEFAULT_STREAM, pointsize); -} - - - STATIC CONTENT /// - -private static final short FILLCOLOR_SET = 0x0001; -private static final short FONTCOLOR_SET = 0x0002; -private static final short FONTSIZE_SET = 0x0004; -private static final short FONTSTREAM_SET = 0x0008; - -private static final short FONT_TRAP = 0x0010; -private static final short FONTSIZE_TRAP = 0x0020; - -static int XXSMALL_OFFSET = -8; -static int XSMALL_OFFSET = -4; -static int SMALL_OFFSET = -2; -static int MEDIUM_SIZE = 10; -static int LARGE_OFFSET = 4; -static int XLARGE_OFFSET = 8; -static int XXLARGE_OFFSET = 14; - -static int DEFAULT_COLOR = 0xFF00; -static int DEFAULT_FILLCOLOR = 0x; -static Fountain DEFAULT_STREAM = Main.vera; -static Font DEFAULT_FONT = Font.getFont(DEFAULT_STREAM, MEDIUM_SIZE); -static BoxVisual DEFAULT = new BoxVisual(); -static JSString EMPTY_STRING = (JSString) JSU.S("", true); - -static int getDefaultFontSize() { return MEDIUM_SIZE; } -static Fountain getDefaultStream() { return DEFAULT_STREAM; } -static Font getDefaultFont() { return DEFAULT_FONT; } - -/** access for controlling default pointsize */ -static boolean setDefaultPointsize(int pointsize) { -if (pointsize == MEDIUM_SIZE) { -return false; -} -MEDIUM_SIZE = pointsize; -DEFAULT_FONT = Font.getFont(DEFAULT_STREAM, MEDIUM_SIZE); -return true; -} - -/** access for controlling default stream */ -static boolean setDefaultStream(Fountain stream) { -if (stream == DEFAULT_STREAM) { -return false; -} -DEFAULT_STREAM = stream; -DEFAULT_FONT = Font.getFont(DEFAULT_STREAM, MEDIUM_SIZE); -return true; -} - -/** return appropriate JS constant for size */ -static JS sizeToJS(int pointsize) { -switch (pointsize) { -case -3: return SC_xxsmall; -case -2: return SC_xsmall; -case -1: return SC_small; -case 0: return SC_medium; -case 1: return SC_large; -case 2: retur
[Vexi-svn] SF.net SVN: vexi:[4784] branches
Revision: 4784 http://sourceforge.net/p/vexi/code/4784 Author: clrg Date: 2015-04-27 23:55:00 + (Mon, 27 Apr 2015) Log Message: --- Added Paths: --- branches/vexi3_integrated_layout/ Removed Paths: - vexi3_integrated_layout/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4783] vexi3_integrated_layout/
Revision: 4783 http://sourceforge.net/p/vexi/code/4783 Author: clrg Date: 2015-04-27 23:53:10 + (Mon, 27 Apr 2015) Log Message: --- Branch for bringing padding, margin, border into Box Added Paths: --- vexi3_integrated_layout/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4776] branches/vexi3/org.vexi-vexi.widgets/src_main
Revision: 4776 http://sourceforge.net/p/vexi/code/4776 Author: clrg Date: 2015-03-04 14:33:50 + (Wed, 04 Mar 2015) Log Message: --- Change flow logic to use Resize trap Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/flow.t branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/flow.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/flow.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/flow.t 2015-03-03 01:36:32 UTC (rev 4775) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/flow.t 2015-03-04 14:33:50 UTC (rev 4776) @@ -1,223 +1,114 @@ - + - - -Charles Goodwin -A box that flows children against its orient - -* support right to left -* optionally defer reflow -* more thorough documentation - - + - - + + -thisbox.flow = true; -thisbox.hardwrap = 0; - -thisbox.v_ALIGN_NEAR = true; -thisbox.v_ALIGN_FAR = false; - -// assign static trap functions -thisbox.Children ++= static.ChildrenWrite; -thisbox.align ++= static.alignWrite; -thisbox.flow ++= static.flowWrite; -thisbox.orient++= static.invokeReflow; -thisbox.hardwrap ++= static.hardwrapWrite; -thisbox.reflow++= static.invokeReflow; - - +var _x; +var _y; +var _width; +var _height; -/** generic trap to invoke reflow */ -static.invokeReflow = function(v) { -cascade = v; -var t = trapee; -static.reflowBlock(t, t.dim, t.pos, t.flip(t.pos)); -} - -/** synchronizes the block and it's contents with it's current size */ -static.reflowBlock = function(b) { -// do not do anything with 0 sized flow parent -if (b.flow and b[b.dim] == 0 and b.hardwrap == 0) { -return; -} +var dirty; +var entered = false; -var dim = b.dim; -var pos = b.pos; -var f_dim = b.flip(dim); -var f_pos = b.flip(pos); -var contentdim = b.contentdim; +const reflowTrap = function(v) { +if (v != trapee[trapname]) { +cascade = v; +reflow(); +} +}; -var cur_dim = 0; // dimension bounds imposed by placing children -var cur_pos = 0; // current position to assign to children -var cur_f_pos = 0; // current flip(position) to assign to children -var cur_f_dim = 0; // current flip(dim) of line -var eol = false; // end of line indicator -var sol = 0; // index of child at start of line -var offset;// used to store alignment offset -var i = 0; // index reference -var c, prevtype; - -// for efficiency, only fetch these once -var numchildren = b.numchildren; -var align_near = b.v_ALIGN_NEAR; -var offset_div = b.v_ALIGN_FAR ? 1 : 2; -var fontheight = b.fontheight; -var wrap_dim = b.hardwrap ? b.hardwrap : b[dim]; - -// single line behaviour -if (!b.flow) { -for (var j=0; numchildren>j; j++) { -c = b[j]; -c[pos] = cur_pos; -c[f_pos] = 0; -cur_pos += c[contentdim]; -c[dim] = c[contentdim]; -if (c[f_contentdim] > cur_f_dim) { -cur_f_dim = c[f_contentdim]; -} +const max = vexi.math.max; +const doReflow = function() { +if (entered) { +dirty = true; +return; } -if (!align_near) { -offset = (wrap_dim-cur_pos) / offset_div; -for (var j=0; numchildren>j; j++) { -b[j][pos] += offset; +entered = true; +try { +if (!visible) { +return; +} else { +dirty = false; } + +var rankSize = 0; +var offsetRank = 0; +var offset = 0; +for (var i, b in thisbox) { +var offset0 = offset; +var offsetRank1 = offsetRank; +var offset1 = offset+b[_width]; +if (offset1>thisbox[_width] and i!=0) { +offsetRank1 += rankSize; +offset0 = 0; +offset1 = b[_width]; +rankSize = 0; +} + +rankSize = m
[Vexi-svn] SF.net SVN: vexi:[4738] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datepicker.t
Revision: 4738 http://sourceforge.net/p/vexi/code/4738 Author: clrg Date: 2014-10-03 00:33:51 + (Fri, 03 Oct 2014) Log Message: --- Visual fix. Today's date circle effect was being cut off if on the top/bottom rows. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-10-03 00:31:15 UTC (rev 4737) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-10-03 00:33:51 UTC (rev 4738) @@ -9,77 +9,77 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + /** * required because mouse press on the popbox would @@ -108,7 +108,7 @@ var today; // vexi.js.Date var circleToday = function() { var today_box = $dategrid[showweekday + today.day - 1]; -var d = $base.distanceto(today_box); +var d = distanceto(today_box); $circle.x = d.x - 2; $circle.y = d.y - 8; $circle.display = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4737] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datepicker.t
Revision: 4737 http://sourceforge.net/p/vexi/code/4737 Author: clrg Date: 2014-10-03 00:31:15 + (Fri, 03 Oct 2014) Log Message: --- Fix datepicker showing 1 extra day Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-09-18 13:32:42 UTC (rev 4736) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-10-03 00:31:15 UTC (rev 4737) @@ -126,7 +126,7 @@ var i=0; for (var i=0; 42>i; i++) { var b = $dategrid[i]; -if ((showweekday>i) or (i>showmonthdays+showweekday)) { +if ((showweekday>i) or (i>=showmonthdays+showweekday)) { // reset leading/trailing days b[0].text = " "; b.cursor = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4734] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/layout/grid.t
Revision: 4734 http://sourceforge.net/p/vexi/code/4734 Author: clrg Date: 2014-09-12 23:32:43 + (Fri, 12 Sep 2014) Log Message: --- Add debugging try/catch to grid to catch reported error Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-09-12 00:22:57 UTC (rev 4733) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-09-12 23:32:43 UTC (rev 4734) @@ -286,10 +286,16 @@ regionPos = frontierDim[origin-1]; const roundPos = round(regionPos); const roundDim = round(frontierDim[region.frontier]) - roundPos; -for (var j,box in region.boxes) { -box[pos] = roundPos; -box[dim] = roundDim; -} +try { + for (var j,box in region.boxes) { + box[pos] = roundPos; + box[dim] = roundDim; + } + } catch (e) { + trace("Error assigning "+pos+", "+dim+" to "+origin+": "+roundPos+", "+roundDim); + trace(frontierDim); + trace(e); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4733] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/layout/icon.t
Revision: 4733 http://sourceforge.net/p/vexi/code/4733 Author: clrg Date: 2014-09-12 00:22:57 + (Fri, 12 Sep 2014) Log Message: --- Clean up copyright/xmlns Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t 2014-09-12 00:21:20 UTC (rev 4732) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/icon.t 2014-09-12 00:22:57 UTC (rev 4733) @@ -1,12 +1,7 @@ - + - - -Charles Goodwin -Icon -An icon with an optional emblem - + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4732] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/bevel.t
Revision: 4732 http://sourceforge.net/p/vexi/code/4732 Author: clrg Date: 2014-09-12 00:21:20 + (Fri, 12 Sep 2014) Log Message: --- Remove trace Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-11 23:50:27 UTC (rev 4731) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-12 00:21:20 UTC (rev 4732) @@ -59,7 +59,6 @@ const refill = function(newfillbox) { // re-fill -if (form == "tabtop") trace("refill: "+fillbox.fill); if (newfillbox != fillbox) { newfillbox.fill = fillbox.fill; fillbox.fill = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4731] branches/vexi3/org.vexi-vexi.widgets
Revision: 4731 http://sourceforge.net/p/vexi/code/4731 Author: clrg Date: 2014-09-11 23:50:27 + (Thu, 11 Sep 2014) Log Message: --- Fix vexi.layout.ratio / add poke Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/ratio.t Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/layout/ratio.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/ratio.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/ratio.t 2014-09-10 22:57:29 UTC (rev 4730) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/ratio.t 2014-09-11 23:50:27 UTC (rev 4731) @@ -1,11 +1,34 @@ - + - + + - + var totalRatio = 0; + +const resizeChildren = function() { +var factor = thisbox[dim] / totalRatio; +var remainder = 0; +var totalSize = 0; +for (var i,child in thisbox) { +if (child.display) { +var rawSize = (child.ratio * factor) + remainder; +var actSize = vexi.math.round(rawSize); +remainder = rawSize - actSize; +child[dim] = actSize; +totalSize += actSize; +} +} +if (totalSize != thisbox[dim]) { +thisbox[numchildren-1][dim] += (thisbox[dim] - totalSize); +} +} + const updateTotal = function(v) { +if (typeof v != "number") +throw "ratio must be a number"; var oldRatio = trapee.ratio; cascade = v==null?1:v; totalRatio = totalRatio - oldRatio + trapee.ratio; @@ -23,25 +46,24 @@ totalRatio -= v.ratio; } cascade = v; +// resize if necessary +if (trapee[dim]>0) resizeChildren(); } -thisbox.Resize ++= function(v) { -var factor = thisbox[dim] / totalRatio; -var remainder = 0; -var totalSize = 0; -for (var i,child in thisbox) { -if (child.display) { -var rawSize = (child.ratio * factor) + remainder; -var actSize = vexi.math.round(rawSize); -remainder = rawSize - actSize; -child[dim] = actSize; -totalSize += actSize; -} -} -if (totalSize != thisbox[dim]) { -thisbox[numchildren-1][dim] += (thisbox[dim] - totalSize); -} +const invokeResize = function(v) { +cascade = v; +resizeChildren(); } - +thisbox[dim] ++= invokeResize; + +thisbox.orient ++= function(v) { +trapee[dim] --= invokeResize; +casacde = v; +trapee[dim] ++= invokeResize; +// resize if necessary +if (trapee[dim]>0) resizeChildren(); +} + + Added: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/layout/ratio.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/layout/ratio.t (rev 0) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/layout/ratio.t 2014-09-11 23:50:27 UTC (rev 4731) @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + +vexi.ui.frame = thisbox; + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4729] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic
Revision: 4729 http://sourceforge.net/p/vexi/code/4729 Author: clrg Date: 2014-09-10 13:25:29 + (Wed, 10 Sep 2014) Log Message: --- Smarter tab fill Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-10 11:56:02 UTC (rev 4728) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-10 13:25:29 UTC (rev 4729) @@ -1,4 +1,4 @@ - + - + @@ -26,18 +26,22 @@ + -$pad.fill ++= function(v) { +$bevel.fill ++= function(v) { var f = v?:.settings..tabfill; cascade = f; $overfill.fill = f; } +$bevel.fill = null; + thisbox.th_close = $close; thisbox.th_closewrap = $closewrap; thisbox.th_focus = $focus; -thisbox.v_fillbox = $pad; +thisbox.v_fillbox = $bevel; +thisbox.v_shade = $overshade; const toBevel = function(v) { $bevel[trapname] = v; } @@ -73,6 +77,7 @@ trapee.marginbottom = v ? 0 : 2; trapee.paddingtop = v ? 2 : 2; trapee.paddingbottom = v ? 6 : 2; +trapee.v_shade.display = !v; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4728] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/bevel.t
Revision: 4728 http://sourceforge.net/p/vexi/code/4728 Author: clrg Date: 2014-09-10 11:56:02 + (Wed, 10 Sep 2014) Log Message: --- Smarter tab fill Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-10 11:34:35 UTC (rev 4727) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-09-10 11:56:02 UTC (rev 4728) @@ -138,7 +138,8 @@ $inner_ee.fill = "#5a"+shadecolor;//"#808080"; $inner_se.fill = "#5a"+shadecolor;//"#808080"; $inner_ss.fill = null; - refill($inner); +newfillbox = $outer; + refill($outer); return; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4727] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/util/date.t
Revision: 4727 http://sourceforge.net/p/vexi/code/4727 Author: clrg Date: 2014-09-10 11:34:35 + (Wed, 10 Sep 2014) Log Message: --- Fix datepicker not working on 8th, 9th days Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/date.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/date.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/date.t 2014-09-09 12:16:06 UTC (rev 4726) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/date.t 2014-09-10 11:34:35 UTC (rev 4727) @@ -90,7 +90,9 @@ } else { if (typeof(v)=="string") { -v = vexi.string.parseInt(v); +// we specify base 10 in case 1-9 specified +// as 01-09, which would be parsed as octal +v = vexi.string.parseInt(v, 10); } // NOTE: the order of the monthday +=/-= and month ++/-- // is important and dependent on days surplus / shortage This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4725] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datepicker.t
Revision: 4725 http://sourceforge.net/p/vexi/code/4725 Author: clrg Date: 2014-09-06 23:53:57 + (Sat, 06 Sep 2014) Log Message: --- Datepicker - highlight weekends - cursor = "hand" on valid selections Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-09-05 21:14:48 UTC (rev 4724) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-09-06 23:53:57 UTC (rev 4725) @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + /** * required because mouse press on the popbox would @@ -90,14 +124,17 @@ //nextmonthdays = showmonth==12 ? getDaysInMonth(showyear+1, 1) : getDaysInMonth(showyear, showmonth+1); // establish month length var i=0; -var j=0; -// reset leading days -while (showweekday>i) { $dategrid[i][0].text = " "; i++; } -// set active day dates -while (9+showweekday>i) { $dategrid[i][0].text = ' '+(i+1-showweekday); i++; } -while (showmonthdays+showweekday>i) { $dategrid[i][0].text = i+1-showweekday; i++; } -// reset trailing days -while (42>i) { $dategrid[i][0].text = " "; i++; } +for (var i=0; 42>i; i++) { +var b = $dategrid[i]; +if ((showweekday>i) or (i>showmonthdays+showweekday)) { +// reset leading/trailing days +b[0].text = " "; +b.cursor = null; +} else { +b[0].text = i+1-showweekday; +b.cursor = "hand"; +} +} $month.text = getMonthName(showmonth); $year.text = showyear; @@ -184,7 +221,9 @@ b.active ++= static.activeTrap; b.hover ++= static.hoverTrap; b.normal ++= static.normalTrap; - b.isCurrent = isCurrent; + b.isCurrent = isCurrent; // function +// highlight sat/sun + b.isWeekend = (i%7 == 0) or (i%7 == 6); $dategrid.add(b); } } @@ -210,16 +249,18 @@ } } - + +const getFill = function(box) { return box.isWeekend ? "#dedede" : "white"; } + static.activeTrap = function(v) { -trapee.fill = trapee[0].text == " " ? "white" : "lightblue"; +trapee.fill = trapee[0].text != " " ? "lightblue" : getFill(trapee); trapee[0].textcolor = "black"; cascade = v; } static.hoverTrap = function(v) { -trapee.fill = trapee[0].text == " " ? "white" : "lightgreen"; +trapee.fill = trapee[0].text != " " ? "lightgreen" : getFill(trapee); trapee[0].textcolor = "black"; cascade = v; } @@ -229,7 +270,7 @@ trapee.fill = "darkblue"; trapee[0].textcolor = "white"; } else { -trapee.fill = "white"; +trapee.fill = getFill(trapee); trapee[0].textcolor = "black";
[Vexi-svn] SF.net SVN: vexi:[4722] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/combo.t
Revision: 4722 http://sourceforge.net/p/vexi/code/4722 Author: clrg Date: 2014-09-04 02:41:58 + (Thu, 04 Sep 2014) Log Message: --- Fix. Combo sets v_textbox, which shadowtext depends upon. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t 2014-08-29 15:20:10 UTC (rev 4721) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/combo.t 2014-09-04 02:41:58 UTC (rev 4722) @@ -68,7 +68,6 @@ thisbox.surfaceHeight ++= opt.surfaceHeightRead; thisbox.v_container ++= function(v) { -cascade = v; v_fillbox = $focus; v_textbox = $edit.v_edit; thisbox.textalign ++= function(v) { @@ -80,6 +79,8 @@ if (holder[0] == null) holder[0] = $button; } +// cascade after as shadowtext depends on v_textbox +cascade = v; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4721] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/role/popupmanager.t
Revision: 4721 http://sourceforge.net/p/vexi/code/4721 Author: clrg Date: 2014-08-29 15:20:10 + (Fri, 29 Aug 2014) Log Message: --- Use elvis operator to fix JSExn Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t 2014-08-28 14:55:13 UTC (rev 4720) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t 2014-08-29 15:20:10 UTC (rev 4721) @@ -65,8 +65,8 @@ $container.Press3 ++= pressWrite; /** used to track surface_x/y changes */ -var syncXPos = function(v) { cascade = v; popforegs[trapee.popgroup ? trapee.popgroup : "default"].x = v; } -var syncYPos = function(v) { cascade = v; popforegs[trapee.popgroup ? trapee.popgroup : "default"].y = v; } +var syncXPos = function(v) { cascade = v; popforegs[trapee.popgroup?:"default"].x = v; } +var syncYPos = function(v) { cascade = v; popforegs[trapee.popgroup?:"default"].y = v; } var updateXPos = function(v) { cascade = v; var m = trapee.v_popmaster; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4720] branches/vexi3/org.vexi-vexi.widgets
Revision: 4720 http://sourceforge.net/p/vexi/code/4720 Author: clrg Date: 2014-08-28 14:55:13 + (Thu, 28 Aug 2014) Log Message: --- Update shadepane - change to use v_textbox for text-related property redirects - change to set title with 'text' write Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/shadepane.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/shadepane.t branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/widget/shadepane.t Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/shadepane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/shadepane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/shadepane.t 2014-08-28 14:45:34 UTC (rev 4719) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/shadepane.t 2014-08-28 14:55:13 UTC (rev 4720) @@ -1,16 +1,14 @@ - + - - -Charles Goodwin - + - + + + thisbox.canclose ++= static.cancloseWrite; thisbox.shade ++= static.shadeWrite; -thisbox.title ++= static.titleRead; -thisbox.title ++= static.titleWrite; thisbox.th_close ++= function(v) { cascade = v; @@ -23,13 +21,9 @@ v.Press1 ++= function(v) { shade = !shade; return; } } - - - + static.cancloseWrite = function(v) { trapee.th_close.display = v; cascade = v; } static.shadeWrite = function(v) { trapee.th_content.display = !v; cascade = v; } -static.titleRead = function() { return trapee.th_title.text; } -static.titleWrite = function(v) { trapee.th_title.text = v; return; } Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/shadepane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/shadepane.t 2014-08-28 14:45:34 UTC (rev 4719) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/shadepane.t 2014-08-28 14:55:13 UTC (rev 4720) @@ -1,10 +1,10 @@ - + - - -Charles Goodwin - + @@ -27,6 +27,8 @@ thisbox.th_title = $title; thisbox.th_titlebar = $titlebar; +thisbox.v_textbox = $title; + var downarrow = .image.arrowdown_white; var rightarrow = .image.arrowright_white; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/widget/shadepane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/widget/shadepane.t 2014-08-28 14:45:34 UTC (rev 4719) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/widget/shadepane.t 2014-08-28 14:55:13 UTC (rev 4720) @@ -1,17 +1,18 @@ - + - + + -Charles Goodwin Shade Pane A titled area that can be collapsed to just show the title -To set the title, put to the 'title' property of a -collapsing pane widget. +To set the title, put to the 'text' property of a shade pane. -Put to the 'collapse' property programmatically collapse -(true) and expand (false) the pane. +Put to the 'collapse' property to programmatically collapse +(true) and expand (false) the pane - defaults to expanded. Added: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/shadepane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/shadepane.t (rev 0) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/widgets/shadepane.t 2014-08-28 14:55:13 UTC (rev 4720) @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + +vexi.ui.frame = thisbox; + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4719] branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/ util/color.t
Revision: 4719 http://sourceforge.net/p/vexi/code/4719 Author: clrg Date: 2014-08-28 14:45:34 + (Thu, 28 Aug 2014) Log Message: --- Return null if sending null colour to getReadableColor function Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/color.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/color.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/color.t 2014-08-28 14:43:41 UTC (rev 4718) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/color.t 2014-08-28 14:45:34 UTC (rev 4719) @@ -1,15 +1,16 @@ - + - + + -Charles Goodwin Color Utility functions for working with colors - + fill ++= static.fillWrite; - + /** assigns a textcolor that is readable against fill */ static.fillWrite = function(v) { @@ -22,8 +23,12 @@ /** takes a string 'v' and parses it as a date for 'o' */ static.getReadableColor = function(c) { +// will set default on box +if (c == null) return null; +// look up from cache var r = readable[c]; if (r) return r; + if (c.charAt(0)!='#') throw "Color must be in hex format"; r = vexi.string.parseInt(c.substring(1,3), 16) + vexi.string.parseInt(c.substring(3,5), 16) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4718] branches/vexi3/org.vexi-vexi.widgets/src_main
Revision: 4718 http://sourceforge.net/p/vexi/code/4718 Author: clrg Date: 2014-08-28 14:43:41 + (Thu, 28 Aug 2014) Log Message: --- Fix issues with setting v_textbox - pad should not intercept v_textbox if already specified - margin to only set v_textbox in direct implementation Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/margin.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/pad.t branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/margin.t branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/pad.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/margin.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/margin.t 2014-08-28 13:40:29 UTC (rev 4717) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/margin.t 2014-08-28 14:43:41 UTC (rev 4718) @@ -1,13 +1,15 @@ - + - + + -Charles Goodwin - + +* lib.margin does not set v_textbox * see org.vexi.lib.layout.pad - + @@ -21,7 +23,7 @@ thisbox.v_content = $content; thisbox.v_fillbox = $content; -thisbox.v_textbox = $content; + thisbox.v_tmar = $top; thisbox.v_rmar = $right; thisbox.v_bmar = $bottom; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/pad.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/pad.t 2014-08-28 13:40:29 UTC (rev 4717) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/pad.t 2014-08-28 14:43:41 UTC (rev 4718) @@ -1,11 +1,12 @@ - + - + + -Charles Goodwin -* differentiate between pt and px +* currently only works in px * changing individual pads (top/left etc) does not update 'padding' property @@ -25,8 +26,14 @@ thisbox.v_fillbox = v_content ? v_content : thisbox; } +// widgets may set their own textbox +if (thisbox.v_textbox==null) { +thisbox.v_textbox = $content; +} + +// always want to override v_content thisbox.v_content = $content; -thisbox.v_textbox = $content; + thisbox.v_tpad = $top; thisbox.v_rpad = $right; thisbox.v_bpad = $bottom; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/margin.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/margin.t 2014-08-28 13:40:29 UTC (rev 4717) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/margin.t 2014-08-28 14:43:41 UTC (rev 4718) @@ -1,8 +1,10 @@ - + - + + -Charles Goodwin Margin Use for adding a flexible margin to templates @@ -18,17 +20,14 @@ Putting a numeric value to these properties sets the respective margin. -* v_margin - By default margin will apply to 'thisbox' but to use - margin in more complicated situations, set the v_margin - property to the box you wish to be the margin. - Notes: * Do not preapply this template - preapply lib.layout.margin - + +thisbox.v_textbox = v_content; + Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/pad.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/pad.t 2014-08-28 13:40:29 UTC (rev 4717) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/layout/pad.t 2014-08-28 14:43:41 UTC (rev 4718) @@ -1,9 +1,10 @@ - + - + + -Charles Goodwin Padding Use for adding a flexible padding to templates This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4717] branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/ util/redirect.t
Revision: 4717 http://sourceforge.net/p/vexi/code/4717 Author: clrg Date: 2014-08-28 13:40:29 + (Thu, 28 Aug 2014) Log Message: --- Poke redirect Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/util/redirect.t Added: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/util/redirect.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/util/redirect.t (rev 0) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/util/redirect.t 2014-08-28 13:40:29 UTC (rev 4717) @@ -0,0 +1,13 @@ + + + + + + + +u.redirect..addRedirect($a, $b, "text"); +$a.text = "Should be on the bottom"; + +vexi.ui.frame = thisbox; + + \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4715] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datefield.t
Revision: 4715 http://sourceforge.net/p/vexi/code/4715 Author: clrg Date: 2014-08-05 18:09:58 + (Tue, 05 Aug 2014) Log Message: --- Fix. Value comes from datefield, not datepicker. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-05 16:50:04 UTC (rev 4714) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-05 18:09:58 UTC (rev 4715) @@ -113,7 +113,7 @@ /** assign date and popup */ $select.action ++= function(v) { popup = true; -var date = $datepicker.value; +var date = value; $datepicker.day = date?.day; $datepicker.month = date?.month; $datepicker.year = date?.year; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4714] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datefield.t
Revision: 4714 http://sourceforge.net/p/vexi/code/4714 Author: clrg Date: 2014-08-05 16:50:04 + (Tue, 05 Aug 2014) Log Message: --- Fix. Value could be null. Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-05 12:48:22 UTC (rev 4713) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-05 16:50:04 UTC (rev 4714) @@ -114,9 +114,9 @@ $select.action ++= function(v) { popup = true; var date = $datepicker.value; -$datepicker.day = date.day; -$datepicker.month = date.month; -$datepicker.year = date.year; +$datepicker.day = date?.day; +$datepicker.month = date?.month; +$datepicker.year = date?.year; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4713] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/datefield.t
Revision: 4713 http://sourceforge.net/p/vexi/code/4713 Author: clrg Date: 2014-08-05 12:48:22 + (Tue, 05 Aug 2014) Log Message: --- Fix date not getting properly set on datepicker Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-04 23:57:25 UTC (rev 4712) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t 2014-08-05 12:48:22 UTC (rev 4713) @@ -113,9 +113,10 @@ /** assign date and popup */ $select.action ++= function(v) { popup = true; -$datepicker.day = day; -$datepicker.month = month; -$datepicker.year = year; +var date = $datepicker.value; +$datepicker.day = date.day; +$datepicker.month = date.month; +$datepicker.year = date.year; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4712] branches/vexi3/org.vexi-core.main/src/main/jpp/org/ vexi/core/Box.jpp
Revision: 4712 http://sourceforge.net/p/vexi/code/4712 Author: clrg Date: 2014-08-04 23:57:25 + (Mon, 04 Aug 2014) Log Message: --- Fix r4707 visible logic update - ?: was the wrong way around Revision Links: -- http://sourceforge.net/p/vexi/code/4707 Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2014-07-31 21:50:12 UTC (rev 4711) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2014-08-04 23:57:25 UTC (rev 4712) @@ -200,7 +200,7 @@ private static final int localToGlobalY(Box b, int y) { return b.parent==null ? y : localToGlobalY(b.parent, y + getYInParent(b)); } // useful debugging reflow problems -//private static final int depth(Box b) { return b.parent==null ? 0 : depth(b.parent)+1; } +private static final int depth(Box b) { return b.parent==null ? 0 : depth(b.parent)+1; } private static final int min(int a, int b) { return (ab) ? a : b; } @@ -2559,8 +2559,8 @@ // REMARK visible is only relevant if the parent is visible (impossible // to change visible state if parent.visible == false as box.visible is // always be false) or if this box is attached to a surface -WriteTrapChain trapchain = (parent!=null && parent.get(SC_visible) == JSU.T) || (parent==null && getSurface()!=null) - ? null : fireVisibleTraps(set_display); +WriteTrapChain trapchain = (parent!=null && (parent.get(SC_visible) == JSU.T)) || (parent==null && getSurface()!=null) + ? fireVisibleTraps(set_display) : null; if (set_display) { set(DISPLAY); requestReflow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4709] branches/vexi3/org.vexi-vexi.widgets/img_dev/ datecircle.xcf
Revision: 4709 http://sourceforge.net/p/vexi/code/4709 Author: clrg Date: 2014-07-31 06:25:33 + (Thu, 31 Jul 2014) Log Message: --- Add image source file Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf Added: branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf === (Binary files differ) Index: branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf === --- branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf 2014-07-30 14:24:05 UTC (rev 4708) +++ branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf 2014-07-31 06:25:33 UTC (rev 4709) Property changes on: branches/vexi3/org.vexi-vexi.widgets/img_dev/datecircle.xcf ___ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4708] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi
Revision: 4708 http://sourceforge.net/p/vexi/code/4708 Author: clrg Date: 2014-07-30 14:24:05 + (Wed, 30 Jul 2014) Log Message: --- Circle today's date + fix padding on pop up Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t Added Paths: --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/image/datecircle.png Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t 2014-07-30 14:05:13 UTC (rev 4707) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t 2014-07-30 14:24:05 UTC (rev 4708) @@ -230,8 +230,8 @@ model.addPopBox = function(v) { var p = v.v_popbox; -// silence popbox -p.display = false; +// detach popbox +p.thisbox = null; // use default group if none is specified var g = p.popgroup ? p.popgroup : "default"; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-07-30 14:05:13 UTC (rev 4707) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datepicker.t 2014-07-30 14:24:05 UTC (rev 4708) @@ -12,18 +12,18 @@ - + - + - + - + @@ -40,9 +40,12 @@ - - - + + + + + + /** * required because mouse press on the popbox would @@ -68,6 +71,15 @@ return day!=null and year==showyear and month==showmonth and day==v; } +var today; // vexi.js.Date +var circleToday = function() { +var today_box = $dategrid[showweekday + today.day - 1]; +var d = $base.distanceto(today_box); +$circle.x = d.x - 2; +$circle.y = d.y - 8; +$circle.display = true; +} + /** set the dates shown according to the month/year properties */ var layoutDates = function() { // establish starting day @@ -90,6 +102,19 @@ $month.text = getMonthName(showmonth); $year.text = showyear; +// mark today +if (showyear == today.year and showmonth == today.month) { +if ($dategrid.width == 0) { +// not yet been displayed; use a thread as it +// will get called after layout is performed +vexi.thread = function() { +circleToday(); +} +} else circleToday(); +} else { +$circle.display = false; +} + if (olddate) { olddate.fill = "white"; olddate[0].textcolor = "black"; @@ -117,18 +142,6 @@ return; } -// create boxes to contain the dates -for (var i=0; 42>i; i++) { -var b = role.clickable(vexi.box); -b[0] = util.digit(vexi.box); -b.action ++= actionTrap; -b.active ++= static.activeTrap; -b.hover ++= static.hoverTrap; -b.normal ++= static.normalTrap; -b.isCurrent = isCurrent; -$dategrid[$dategrid.numchildren] = b; -} - /** close us */ $close.action ++= function(v) { popdown = true; cascade = v; } @@ -162,15 +175,33 @@ cascade = v; } +var initialize = function() { + // create boxes to contain the dates + for (var i=0; 42>i; i++) { + var b = new role.clickable(); + b[0] = new util.digit(); + b.action ++= actionTrap; + b.active ++= static.activeTrap; + b.hover ++= static.hoverTrap; + b.normal ++= static.normalTrap; + b.isCurrent = isCurrent; + $dategrid.add(b); + } +} +
[Vexi-svn] SF.net SVN: vexi:[4707] branches/vexi3/org.vexi-core.main/src/main/jpp/org/ vexi/core/Box.jpp
Revision: 4707 http://sourceforge.net/p/vexi/code/4707 Author: clrg Date: 2014-07-30 14:05:13 + (Wed, 30 Jul 2014) Log Message: --- Fix visible traps being unnecessarily fired Modified Paths: -- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp Modified: branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp === --- branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2014-07-25 02:06:57 UTC (rev 4706) +++ branches/vexi3/org.vexi-core.main/src/main/jpp/org/vexi/core/Box.jpp 2014-07-30 14:05:13 UTC (rev 4707) @@ -2556,7 +2556,11 @@ setParentConstrain(); setParentPlace(); // fire pre-cascade visible traps -WriteTrapChain trapchain = get(SC_visible) == value ? null : fireVisibleTraps(set_display); +// REMARK visible is only relevant if the parent is visible (impossible +// to change visible state if parent.visible == false as box.visible is +// always be false) or if this box is attached to a surface +WriteTrapChain trapchain = (parent!=null && parent.get(SC_visible) == JSU.T) || (parent==null && getSurface()!=null) + ? null : fireVisibleTraps(set_display); if (set_display) { set(DISPLAY); requestReflow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4706] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/tabpane.t
Revision: 4706 http://sourceforge.net/p/vexi/code/4706 Author: clrg Date: 2014-07-25 02:06:57 + (Fri, 25 Jul 2014) Log Message: --- Add fillbox to tabpane Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2014-07-15 14:46:16 UTC (rev 4705) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2014-07-25 02:06:57 UTC (rev 4706) @@ -36,6 +36,7 @@ thisbox.th_next = $next; thisbox.th_prev = $prev; thisbox.th_tablist = $tablist; +thisbox.v_fillbox = $content; const toBevel = function(v) { $content[trapname] = v; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4705] branches/vexi3/org.vexi-vexi.icons/src_main/org/ vexi/crystal
Revision: 4705 http://sourceforge.net/p/vexi/code/4705 Author: clrg Date: 2014-07-15 14:46:16 + (Tue, 15 Jul 2014) Log Message: --- Add flask icon from openclipart Added Paths: --- branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png Added: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png === (Binary files differ) Index: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png === --- branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png 2014-06-25 15:51:16 UTC (rev 4704) +++ branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png 2014-07-15 14:46:16 UTC (rev 4705) Property changes on: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon16/flask.png ___ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png === (Binary files differ) Index: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png === --- branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png 2014-06-25 15:51:16 UTC (rev 4704) +++ branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png 2014-07-15 14:46:16 UTC (rev 4705) Property changes on: branches/vexi3/org.vexi-vexi.icons/src_main/org/vexi/crystal/icon32/flask.png ___ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4703] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/layout/grid.t
Revision: 4703 http://sourceforge.net/p/vexi/code/4703 Author: clrg Date: 2014-06-18 19:24:28 + (Wed, 18 Jun 2014) Log Message: --- Fix spans>cols/rows affecting layout Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-06-04 19:03:34 UTC (rev 4702) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-06-18 19:24:28 UTC (rev 4703) @@ -334,11 +334,11 @@ /** assign child c to the pack slot specific by col,row */ const assignSlot = function(c, col, row) { -var c0 = c[0]; +const c0 = c[0]; c0.v_col = col; c0.v_row = row; -var colfrontier = col+c0.colspan; -var rowfrontier = row+c0.rowspan; +const colfrontier = userows ? col+c0.colspan : min(cols, col+c0.colspan); +const rowfrontier = userows ? min(rows, row+c0.rowspan) : row+c0.rowspan; // update the number of in-use rows/cols numcols = max(numcols, colfrontier); numrows = max(numrows, rowfrontier); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4702] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/widget/scrollbar.t
Revision: 4702 http://sourceforge.net/p/vexi/code/4702 Author: clrg Date: 2014-06-04 19:03:34 + (Wed, 04 Jun 2014) Log Message: --- More intuitive behaviour for nested scrollbars/scrollpanes: don't consume HScroll/VScroll event if scrollbar is not active Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t 2014-06-01 20:29:14 UTC (rev 4701) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/scrollbar.t 2014-06-04 19:03:34 UTC (rev 4702) @@ -141,8 +141,11 @@ /** vertical mousewheel movement */ const mwheelWrite = function(v) { -shift = lineheight * v * mwheelshift; -return; +if (display and (track[dim] > thumb[dim])) { + shift = lineheight * v * mwheelshift; + return; +} +cascade = v; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4682] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi
Revision: 4682 http://sourceforge.net/p/vexi/code/4682 Author: clrg Date: 2014-03-25 16:52:05 + (Tue, 25 Mar 2014) Log Message: --- Tidy up only Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/abstractlexer.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/abstractlexer.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/abstractlexer.t 2014-03-25 16:44:49 UTC (rev 4681) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/util/abstractlexer.t 2014-03-25 16:52:05 UTC (rev 4682) @@ -1,12 +1,7 @@ - + - - -Mike Goodwin - - - - + +// @author Mike Goodwin // constants const C0 = "0".charCodeAt(0); @@ -156,7 +151,5 @@ return tok; }; - - Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t 2014-03-25 16:44:49 UTC (rev 4681) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/link.t 2014-03-25 16:52:05 UTC (rev 4682) @@ -1,4 +1,4 @@ - + http://p.sf.net/sfu/13534_NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4681] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/lib
Revision: 4681 http://sourceforge.net/p/vexi/code/4681 Author: clrg Date: 2014-03-25 16:44:49 + (Tue, 25 Mar 2014) Log Message: --- Tidy up only Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/init.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/tablist.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t 2014-03-21 13:22:39 UTC (rev 4680) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/button.t 2014-03-25 16:44:49 UTC (rev 4681) @@ -1,4 +1,4 @@ - + var button_static = .button[""]; -active ++= button_static.activeWrite; -hover ++= button_static.normalWrite; -hover ++= button_static.normalWrite; -normal ++= button_static.normalWrite; -v_init= button_static.init; +active ++= button_static.activeWrite; +hover ++= button_static.normalWrite; +hover ++= button_static.normalWrite; +normal ++= button_static.normalWrite; +v_init = button_static.init; Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t 2014-03-21 13:22:39 UTC (rev 4680) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t 2014-03-25 16:44:49 UTC (rev 4681) @@ -1,10 +1,8 @@ - - -Charles Goodwin - + Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/init.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/init.t 2014-03-21 13:22:39 UTC (rev 4680) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/init.t 2014-03-25 16:44:49 UTC (rev 4681) @@ -1,10 +1,6 @@ - + - - -Mike Goodwin - - + // move checks into widgets lib var keys = keysof(vexi..vexi.theme); Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/tablist.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/tablist.t 2014-03-21 13:22:39 UTC (rev 4680) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/tablist.t 2014-03-25 16:44:49 UTC (rev 4681) @@ -1,4 +1,4 @@ - + http://p.sf.net/sfu/13534_NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4677] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/tab.t
Revision: 4677 http://sourceforge.net/p/vexi/code/4677 Author: clrg Date: 2014-03-17 17:53:58 + (Mon, 17 Mar 2014) Log Message: --- Make tab fill to settings..tabfill on fill=null put (use "#" for transparency) Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2014-03-17 16:36:28 UTC (rev 4676) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2014-03-17 17:53:58 UTC (rev 4677) @@ -1,10 +1,9 @@ - + - - -Charles Goodwin - + @@ -29,7 +28,11 @@ -$pad.fill ++= function(v) { cascade = v; $overfill.fill = v; } +$pad.fill ++= function(v) { +var f = v?:.settings..tabfill; +cascade = f; +$overfill.fill = f; +} thisbox.th_close = $close; thisbox.th_closewrap = $closewrap; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4676] branches/vexi3/org.vexi-vexi.widgets/src_main
Revision: 4676 http://sourceforge.net/p/vexi/code/4676 Author: clrg Date: 2014-03-17 16:36:28 + (Mon, 17 Mar 2014) Log Message: --- Support more extensions with image preloader Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/settings.t branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/preload.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/settings.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/settings.t 2014-03-17 16:35:57 UTC (rev 4675) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/settings.t 2014-03-17 16:36:28 UTC (rev 4676) @@ -1,10 +1,13 @@ - + - - -Charles Goodwin - + +/* Default settings for the theme; widgets will pick + * up their settings i.e. colours from here + */ + static.buttonfill = "#d4d0c8"; @@ -25,6 +28,6 @@ static.widgetfill = "#d4d0c8"; // preload images so they don't get dropped -static.imagecache = .preload(vexi.box); +static.imagecache = new ut.preload(.image); Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/preload.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/preload.t 2014-03-17 16:35:57 UTC (rev 4675) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/vexi/util/preload.t 2014-03-17 16:36:28 UTC (rev 4676) @@ -1,13 +1,12 @@ - + - - -Charles Goodwin - -Used to preload all the theme's images - - + +/* Used to preload all images for all the given arguments; + * it will load image files as fills and also drops into + * any subdirectories to also preload those files + */ + var loadImages = function(res) { @@ -15,17 +14,23 @@ if (k.charAt(0)=='.') { continue; } -var i = k.lastIndexOf('.png'); -if (i>0 and i==k.length-4) { -thisbox[0] = vexi.box; -thisbox[0].fill = res[k]; -} else { -callee(res[k]); +const parts = k.split('.'); +if (parts.length>1) { +var ext = parts[1]; +if (ext == "png" or ext == "gif" or ext == "jpg") { +const b = vexi.box; +b.fill = res[k]; +thisbox.add(b); +} +continue; } +// probably a subdirectory +callee(res[k]); } } -loadImages(.image); +for (var i,arg in arguments) +loadImages(arg); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4675] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/lib/finalize.t
Revision: 4675 http://sourceforge.net/p/vexi/code/4675 Author: clrg Date: 2014-03-17 16:35:57 + (Mon, 17 Mar 2014) Log Message: --- Make widgets fill to init.fill on fill=null put (use "#" for transparency) Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/finalize.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/finalize.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/finalize.t 2014-03-13 21:23:13 UTC (rev 4674) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/finalize.t 2014-03-17 16:35:57 UTC (rev 4675) @@ -1,12 +1,13 @@ - + - - -This template adds some common finishing touches to several -of the classic theme widgets. - + +/* This template adds some common finishing touches to several + * of the Classic theme widgets. + */ + // v_ready because any visual properties have // been initialized by this point in container @@ -52,7 +53,7 @@ static.fillWrite = function(v) { if (trapee.enabled or trapee.v_filloverride) cascade = v; -else trapee.v_fillenabled = v; +else trapee.v_fillenabled = v!=null ? v : (trapee.v_init?.fill); } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4642] branches/vexi4c/org.vexi-core.main/src/main/jpp/org /vexi/ui/Box.jpp
Revision: 4642 http://sourceforge.net/p/vexi/code/4642 Author: clrg Date: 2014-01-18 00:19:12 + (Sat, 18 Jan 2014) Log Message: --- Fix / refactoring Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp Modified: branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp === --- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2014-01-14 12:50:06 UTC (rev 4641) +++ branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2014-01-18 00:19:12 UTC (rev 4642) @@ -583,6 +583,13 @@ public final int getHeight() { return height; } public final int nominalWidth() { return min(maxwidth, max(contentwidth, minwidth)); } public final int nominalHeight() { return min(maxheight, max(contentheight, minheight)); } + +private final int constrainToWidth(int testwidth, Box c) { + return max(testwidth, c.nominalWidth() + max(padding.left, c.margin.left) + max(padding.right, c.margin.right)); +} +private final int constrainToHeight(int testheight, Box c) { + return max(testheight, c.nominalHeight() + max(padding.top, c.margin.top) + max(padding.bottom, c.margin.bottom)); +} // Reflow/rendering Pipeline // @@ -650,7 +657,7 @@ //#repeat width/height HORIZONTAL/VERTICAL Width/Height left/top right/bottom if (test(ORIENT) == HORIZONTAL) { // accumulate child contentwidth -int prior_margin = 0; +int prior_margin = padding.left; box_spacing = 0; for (Box c = getChild(i=0); c != null; c = getChild(++i)) { if (!c.test(DISPLAY)) { @@ -661,14 +668,14 @@ new_contentwidth += c.nominalWidth() + spacing; prior_margin = c.margin.right; } -new_contentwidth += prior_margin; +new_contentwidth += max(prior_margin, padding.right); } else { // maximum child contentwidth for (Box c = getChild(i=0); c != null; c = getChild(++i)) { if (!c.test(DISPLAY)) { continue; } -new_contentwidth = max(new_contentwidth, c.nominalWidth() + c.margin.left + c.margin.right); +new_contentwidth = constrainToWidth(new_contentwidth, c); } } //#end @@ -678,8 +685,8 @@ if (!c.test(DISPLAY)) { continue; } -new_contentwidth = max(new_contentwidth, c.nominalWidth() + c.margin.left + c.margin.right); -new_contentheight = max(new_contentheight, c.nominalHeight() + c.margin.top + c.margin.bottom); +new_contentwidth = constrainToWidth(new_contentwidth, c); +new_contentheight = constrainToHeight(new_contentheight, c); } } @@ -783,7 +790,7 @@ continue; } // height, y -child_height = getTargetHeight(height); +child_height = child.getTargetHeight(height); child_y = getTargetY(height, child_height, top, bottom); // width, x child_width = child.nominalWidth(); @@ -921,7 +928,7 @@ } else { // vertical stacking - mirrors horizontal stacking code [see for comments] -if (0 >= height - contentheight) { +if (contentheight >= height) { // simple case - no slack int i = 0; int prior_margin = padding.top; @@ -936,7 +943,7 @@ child_height = child.nominalHeight(); child_y += max(prior_margin, child.margin.top); child.tryMoveAndResize(child_x, child_y, child_width, child_height, clean); -child_y += child.contentheight; +child_y += child_height; prior_margin = child.margin.bottom; } @@ -1024,7 +1031,7 @@ if (!child.test(DISPLAY)) { continue; } -Log.system.error(this, "Child "+i+": "+child.contentheight+", "+child.maxheight+", "+child.test(VSHRINK)); +Log.system.error(this, "Child "+i+": "+
[Vexi-svn] SF.net SVN: vexi:[4641] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/lib/focusborder.t
Revision: 4641 http://sourceforge.net/p/vexi/code/4641 Author: clrg Date: 2014-01-14 12:50:06 + (Tue, 14 Jan 2014) Log Message: --- Use direct theme path Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t 2014-01-08 20:00:28 UTC (rev 4640) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/lib/focusborder.t 2014-01-14 12:50:06 UTC (rev 4641) @@ -1,6 +1,6 @@ - + - Charles Goodwin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4640] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic/bevel.t
Revision: 4640 http://sourceforge.net/p/vexi/code/4640 Author: clrg Date: 2014-01-08 20:00:28 + (Wed, 08 Jan 2014) Log Message: --- Remove trace Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-01-08 19:16:50 UTC (rev 4639) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-01-08 20:00:28 UTC (rev 4640) @@ -122,7 +122,6 @@ newfillbox = $inner; break; case "tabtop": -trace(shinecolor+", "+shadecolor); $outer_nn.fill = "#"+shinecolor;//"#c0c0c0"; $outer_nw.fill = null; $outer_ww.fill = "#"+shinecolor;//"#c0c0c0"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4639] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/theme/classic
Revision: 4639 http://sourceforge.net/p/vexi/code/4639 Author: clrg Date: 2014-01-08 19:16:50 + (Wed, 08 Jan 2014) Log Message: --- Bevel / tab improvement - tabtop bevel-based rather than image-based - shadecolor / shinecolor properties for bevel as white/black don't work on white/black! Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t Removed Paths: - branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/image/tabtop/ Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-01-08 03:08:24 UTC (rev 4638) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/bevel.t 2014-01-08 19:16:50 UTC (rev 4639) @@ -50,78 +50,101 @@ thisbox.v_content = $content; var fillbox = $outer; -var fillval; thisbox.fill ++= function() { return fillbox.fill; } thisbox.fill ++= function(v) { fillbox.fill = v; } -thisbox.form ++= function(v) { -if (form == v) return; -cascade = v; - +thisbox.shinecolor = "ff"; +thisbox.shadecolor = "00"; + +const refill = function(newfillbox) { +// re-fill +if (newfillbox != fillbox) { +newfillbox.fill = fillbox.fill; +fillbox.fill = null; +fillbox = newfillbox; +} +} + +const makeBevel = function() { // bevel colours var outer1, outer2, outer3, inner1, inner2, inner3; // might want to adjust fill box -var nextfillbox = $outer; +var newfillbox = $outer; -if (v!=null) { -switch(v) { +if (form!=null) { +switch(form) { case "thinup": -outer1 = "#ff"; -outer2 = "#3fff";//"#c0c0c0"; -outer3 = "#6900";//"#7b7d7b"; -nextfillbox = $inner; +outer1 = "#"+shinecolor; +outer2 = "#3f"+shinecolor;//"#c0c0c0"; +outer3 = "#69"+shadecolor;//"#7b7d7b"; +newfillbox = $inner; break; case "thindown": -outer1 = "#6900";//"#7b7d7b"; -outer2 = "#3fff";//"#c0c0c0"; -outer3 = "#ff"; -nextfillbox = $inner; +outer1 = "#69"+shadecolor;//"#7b7d7b"; +outer2 = "#3f"+shinecolor;//"#c0c0c0"; +outer3 = "#"+shinecolor; +newfillbox = $inner; break; case "up": -outer1 = "#ff"; -outer2 = "#a600";//"#404040"; -outer3 = "#a600";//"#404040"; -inner1 = "#3fff";//"#c0c0c0"; -inner2 = "#5a00";//"#808080"; -inner3 = "#5a00";//"#808080"; -nextfillbox = $outer; +outer1 = "#"+shinecolor; +outer2 = "#a6"+shadecolor;//"#404040"; +outer3 = "#a6"+shadecolor;//"#404040"; +inner1 = "#3f"+shinecolor;//"#c0c0c0"; +inner2 = "#5a"+shadecolor;//"#808080"; +inner3 = "#5a"+shadecolor;//"#808080"; +newfillbox = $outer; break; case "down": -outer1 = "#a600";//"#404040"; -outer2 = "#ff"; -outer3 = "#ff"; -inner1 = "#5a00";//"#808080"; -inner2 = "#3fff";//"#c0c0c0"; -inner3 = "#3fff";//"#c0c0c0"; -nextfillbox = $content; +outer1 = "#a
[Vexi-svn] SF.net SVN: vexi:[4636] branches/vexi3/org.vexi-vexi.widgets/src_main/org/ vexi/lib/layout/grid.t
Revision: 4636 http://sourceforge.net/p/vexi/code/4636 Author: clrg Date: 2014-01-03 14:54:31 + (Fri, 03 Jan 2014) Log Message: --- Comment out "should not be possible" exception, as it actually does in practise Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-01-02 16:01:33 UTC (rev 4635) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-01-03 14:54:31 UTC (rev 4636) @@ -242,7 +242,9 @@ } if (reachDown == 0) { // no rows to be further decreased in size -throw "Should not be possible"; +//throw "Should not be possible"; +// FIXME: except it actually does in practise +break; } var ts = targetSize; // else adjust targetRowSize according to target-total deficit @@ -257,7 +259,9 @@ } if (reachUp == 0) { // no rows to be further increased in size -throw "Should not be possible"; +//throw "Should not be possible"; +// FIXME: except it actually does in practise +break; } var ts = targetSize; // adjust targetRowSize according to target-total deficit @@ -610,8 +614,7 @@ // removing a child var b = $content[trapname]; if (b) { -// FIXME: except it actually does in practise -//if (b[0] == null) throw "Should not happen"; +if (b[0] == null) throw "Should not happen"; // finish removal $content[trapname] = null; } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4635] branches/vexi3/org.vexi-vexi.widgets
Revision: 4635 http://sourceforge.net/p/vexi/code/4635 Author: clrg Date: 2014-01-02 16:01:33 + (Thu, 02 Jan 2014) Log Message: --- Comment out "should not happen" exception, as it actually does in practise Modified Paths: -- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex1.t branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex2.t branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex3.t Modified: branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t === --- branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2013-12-25 01:44:42 UTC (rev 4634) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/lib/layout/grid.t 2014-01-02 16:01:33 UTC (rev 4635) @@ -608,16 +608,15 @@ } else { // removing a child -var c = null; var b = $content[trapname]; if (b) { -c = b[0]; +// FIXME: except it actually does in practise +//if (b[0] == null) throw "Should not happen"; +// finish removal +$content[trapname] = null; } else { -throw "Attempt to get null child from a box"; +throw "Attempt to get null child from a grid"; } -if (!c) throw "Should not happen"; -// finish removal -$content[trapname] = null; } schedulePack(); return; Modified: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex1.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex1.t 2013-12-25 01:44:42 UTC (rev 4634) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex1.t 2014-01-02 16:01:33 UTC (rev 4635) @@ -1,7 +1,7 @@ +xmlns:lay="vexi.layout" xmlns="poke.vexi.layout.grid"> Modified: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex2.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex2.t 2013-12-25 01:44:42 UTC (rev 4634) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex2.t 2014-01-02 16:01:33 UTC (rev 4635) @@ -1,7 +1,7 @@ +xmlns:lay="vexi.layout" xmlns="poke.vexi.layout.grid"> Modified: branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex3.t === --- branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex3.t 2013-12-25 01:44:42 UTC (rev 4634) +++ branches/vexi3/org.vexi-vexi.widgets/src_poke/poke/vexi/layout/grid/ex3.t 2014-01-02 16:01:33 UTC (rev 4635) @@ -1,7 +1,7 @@ +xmlns:lay="vexi.layout" xmlns="poke.vexi.layout.grid"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4634] branches/vexi4c/org.vexi-core.main/src/main
Revision: 4634 http://sourceforge.net/p/vexi/code/4634 Author: clrg Date: 2013-12-25 01:44:42 + (Wed, 25 Dec 2013) Log Message: --- Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp Modified: branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java === --- branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java 2013-12-24 03:19:36 UTC (rev 4633) +++ branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java 2013-12-25 01:44:42 UTC (rev 4634) @@ -18,13 +18,6 @@ static private Desktop singleton; static public Desktop get() throws JSExn { if (singleton==null) { - try { - Class.forName("java.awt.Desktop"); - } catch (ClassNotFoundException e) { - } - if (!java.awt.Desktop.isDesktopSupported()) { - throw new JSExn("Desktop not supported"); - } singleton = new Desktop(); } return singleton; Modified: branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp === --- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-24 03:19:36 UTC (rev 4633) +++ branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-25 01:44:42 UTC (rev 4634) @@ -962,8 +962,8 @@ if (!child.test(DISPLAY)) { continue; } +num_active++; final int child_nomheight = child.nominalHeight(); -num_active++; if (child.test(VSHRINK) || child.maxheight==child_nomheight) { num_passive++; totalsize += child_nomheight; @@ -1046,10 +1046,11 @@ child_width = child.getTargetWidth(width); child_x = child.getTargetX(width, child_width, left, right); // height, y -totalsize += (float)max(prior_margin, child.margin.left); +totalsize += (float)max(prior_margin, child.margin.top); child_y = offset_y + (int)(totalsize+0.5); -if (child.test(VSHRINK) || child.contentheight > targetsize) { -child_height = child.contentheight; +final int child_nomheight = child.nominalHeight(); +if (child.test(VSHRINK) || child_nomheight > targetsize) { +child_height = child_nomheight; totalsize += (float)child_height; } else if (targetsize > child.maxheight) { child_height = child.maxheight; @@ -1060,7 +1061,7 @@ totalsize += targetsize; } child.tryMoveAndResize(child_x, child_y, child_width, child_height, clean); -prior_margin = child.margin.right; +prior_margin = child.margin.bottom; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4633] branches/vexi4c/org.vexi-core.main/src/main
Revision: 4633 http://sourceforge.net/p/vexi/code/4633 Author: clrg Date: 2013-12-24 03:19:36 + (Tue, 24 Dec 2013) Log Message: --- Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Resources.java branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/VMLBuilder.java branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/plat/JDesktop.java branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/plat/JPlatform.java branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/plat/Platform.java branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/core/Vexi.jpp branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp Added Paths: --- branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java Added: branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java === --- branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java (rev 0) +++ branches/vexi4c/org.vexi-core.main/src/main/java/org/vexi/core/Desktop.java 2013-12-24 03:19:36 UTC (rev 4633) @@ -0,0 +1,90 @@ +// Copyright (c) 2013 the Contributors, as shown in the revision logs. +// Licensed under the GNU General Public License version 2 ("the License"). +// You may not use this file except in compliance with the License. + +package org.vexi.core; + +import java.io.File; +import java.io.IOException; +import java.net.URI; + +import org.ibex.js.Fountain; +import org.ibex.js.JS; +import org.ibex.js.JSExn; +import org.ibex.js.JSU; +import org.vexi.plat.Platform; + +public class Desktop extends JS.Immutable { + static private Desktop singleton; + static public Desktop get() throws JSExn { + if (singleton==null) { + try { + Class.forName("java.awt.Desktop"); + } catch (ClassNotFoundException e) { + } + if (!java.awt.Desktop.isDesktopSupported()) { + throw new JSExn("Desktop not supported"); + } + singleton = new Desktop(); + } + return singleton; + } + final Platform.Desktop desktop; + public Desktop() throws JSExn { desktop = Platform.getDesktop(); } + + public JS get(JS jskey) throws JSExn { + String key = JSU.toString(jskey); + if ("browse".equals(key)) return METHOD; + if ("edit".equals(key)) return METHOD; + if ("email".equals(key)) return METHOD; + if ("open".equals(key)) return METHOD; + if ("print".equals(key)) return METHOD; + return super.get(jskey); + } + + public JS callMethod(JS this_, JS jsmethod, JS[] args) throws JSExn { + String method = JSU.toString(jsmethod); + if (args.length==1) { + JS arg = args[0]; + try { + if ("browse".equals(method)) { + desktop.browse(expectURI(arg)); + return null; + } + if ("email".equals(method)) { + desktop.mail(expectURI(arg)); + return null; + } + if ("edit".equals(method)) { + desktop.edit(expectFile(arg)); + return null; + } + if ("open".equals(method)) { + desktop.open(expectFile(arg)); + return null; + } + if ("print".equals(method)) { + desktop.print(expectFile(arg)); + return null; + } + } catch(IOException e) { + throw new JSExn("Could not run method: "+method, e); + } + } + return super.get(jsmethod); + } + + static private URI expectURI(JS arg) throws JSExn { + return URI.create(JSU.toString(arg)); + } + + static private File expectFile(JS arg) throws JSExn { + Fountain f = JSU.getFountain(arg)
[Vexi-svn] SF.net SVN: vexi:[4632] branches/vexi4c/org.vexi-core.main/src/main/jpp/org /vexi/ui/Box.jpp
Revision: 4632 http://sourceforge.net/p/vexi/code/4632 Author: clrg Date: 2013-12-24 02:20:56 + (Tue, 24 Dec 2013) Log Message: --- Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp Modified: branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp === --- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-23 03:16:07 UTC (rev 4631) +++ branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-24 02:20:56 UTC (rev 4632) @@ -216,7 +216,7 @@ // useful debugging //private final int depth() { return parent==null ? 0 : parent.depth()+1; } -private final String name() { try { return get(JSU.S("name")).toString(); } catch (JSExn e) { throw new Error(); } } +private final String name() { try { JS str = get(JSU.S("name")); return str==null?"null":str.toString(); } catch (JSExn e) { throw new Error(); } } private static final int min(int a, int b) { return (ab) ? a : b; } @@ -798,7 +798,8 @@ // our layout lies somewhere between the min and max size, // loop over the children attempting to set their width to // targetsize and adjust until it meets the parent width -float targetsize = (float)(width - box_spacing) / (float)treeSize(); +int packingspace = width - box_spacing; +float targetsize = (float)(packingspace) / (float)treeSize(); float totalsize = 0; for (int j=0; j<100; j++) { totalsize = 0; @@ -841,27 +842,27 @@ // test to see if targetsize produces a solution that rounds // to match the width, adjusting appropriately if it does not int totalsize_int = (int)(totalsize+0.5); -if (totalsize_int - box_spacing > width) { +if (totalsize_int > packingspace) { if (num_nolimit>0) { -targetsize -= (totalsize-(float)width)/(float)num_nolimit; +targetsize -= (totalsize-(float)packingspace)/(float)num_nolimit; } else { if (num_minsize+num_passive==num_active) { // no solution required - available min-sizes over-consume width targetsize = width; break; } -targetsize = (float)max_maxsize - (totalsize-(float)width)/(float)num_maxsize; +targetsize = (float)max_maxsize - (totalsize-(float)packingspace)/(float)num_maxsize; } -} else if (totalsize_int - box_spacing < width) { +} else if (totalsize_int < packingspace) { if (num_nolimit>0) { -targetsize += ((float)width-totalsize)/(float)num_nolimit; +targetsize += ((float)packingspace-totalsize)/(float)num_nolimit; } else { if (num_maxsize+num_passive==num_active) { // no solution required - available max-sizes do not consume width targetsize = width; break; } -targetsize = (float)min_minsize + ((float)width-totalsize)/(float)num_minsize; +targetsize = (float)min_minsize + ((float)packingspace-totalsize)/(float)num_minsize; } } else { break; @@ -944,7 +945,8 @@ // our layout lies somewhere between the min and max size, // loop over the children attempting to set their width to // targetsize and adjust until it meets the parent width -float targetsize = (float)(height - box_spacing) / (float)treeSize(); + int packingspace = height - box_spacing; +float targetsize = (float)packingspace / (float)treeSize(); float totalsize = 0; for (int j=0; j<100; j++) { totalsize = 0; @@ -987,27 +989,27 @@
[Vexi-svn] SF.net SVN: vexi:[4631] branches/vexi4c/org.vexi-core.main/src/main/jpp/org /vexi/ui/Box.jpp
Revision: 4631 http://sourceforge.net/p/vexi/code/4631 Author: clrg Date: 2013-12-23 03:16:07 + (Mon, 23 Dec 2013) Log Message: --- Layout fixes Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp Modified: branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp === --- branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-22 19:32:32 UTC (rev 4630) +++ branches/vexi4c/org.vexi-core.main/src/main/jpp/org/vexi/ui/Box.jpp 2013-12-23 03:16:07 UTC (rev 4631) @@ -44,7 +44,7 @@ * property on the box. * * Packed Layout - * In packed layout boxes are positioned next to eachother in the direction of the parents + * In packed layout boxes are positioned next to each other in the direction of the parents * orient property. The parent is constrained to the combined size of the packed children in the * orient direction and to the maximum size of its children in the non-orient direction. * @@ -205,17 +205,18 @@ } } -private static final Box getRoot(Box b) { return b.parent == null ? b : getRoot(b.parent); } +private final Box getRoot() { return parent == null ? this : parent.getRoot(); } -private static final int getXInParent(Box b) { Box p = b.parent; return p==null ? 0 : ((p.test(PACK) || p.test(ALIGN_LEFT)) ? b.x : b.x+((p.width-b.width)/(p.test(ALIGN_RIGHT)?1:2))); } -private static final int getYInParent(Box b) { Box p = b.parent; return p==null ? 0 : ((p.test(PACK) || p.test(ALIGN_TOP)) ? b.y : b.y+((p.height-b.height)/(p.test(ALIGN_BOTTOM)?1:2))); } -private static final int globalToLocalX(Box b, int x) { return b.parent==null ? x : globalToLocalX(b.parent, x - getXInParent(b)); } -private static final int globalToLocalY(Box b, int y) { return b.parent==null ? y : globalToLocalY(b.parent, y - getYInParent(b)); } -private static final int localToGlobalX(Box b, int x) { return b.parent==null ? x : localToGlobalX(b.parent, x + getXInParent(b)); } -private static final int localToGlobalY(Box b, int y) { return b.parent==null ? y : localToGlobalY(b.parent, y + getYInParent(b)); } +private final int getXInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.test(ALIGN_LEFT)) ? x : x+((parent.width-width)/(parent.test(ALIGN_RIGHT)?1:2))); } +private final int getYInParent() { return parent==null ? 0 : ((parent.test(PACK) || parent.test(ALIGN_TOP)) ? y : y+((parent.height-height)/(parent.test(ALIGN_BOTTOM)?1:2))); } +private final int globalToLocalX(int x) { return parent==null ? x : parent.globalToLocalX(x - getXInParent()); } +private final int globalToLocalY(int y) { return parent==null ? y : parent.globalToLocalY(y - getYInParent()); } +private final int localToGlobalX(int x) { return parent==null ? x : parent.localToGlobalX(x + getXInParent()); } +private final int localToGlobalY(int y) { return parent==null ? y : parent.localToGlobalY(y + getYInParent()); } -// useful debugging reflow problems -//private static final int depth(Box b) { return b.parent==null ? 0 : depth(b.parent)+1; } +// useful debugging +//private final int depth() { return parent==null ? 0 : parent.depth()+1; } +private final String name() { try { return get(JSU.S("name")).toString(); } catch (JSExn e) { throw new Error(); } } private static final int min(int a, int b) { return (ab) ? a : b; } @@ -223,7 +224,6 @@ private final boolean inside(int x, int y) { return test(DISPLAY) && x >= 0 && y >= 0 && x < width && y < height; } // TRAPFLAGS helper functions -private final void setclear(short mask, boolean set) { if (set) set(mask); else clear(mask); } private final void set(short mask) { trapflags |= mask; } private final void clear(short mask) { trapflags &= ~mask; } private final boolean test(short mask) { return ((trapflags & mask) == mask); } @@ -235,7 +235,7 @@ private final boolean test(int mask) { return ((flags & mask) == mask); } public final int getIntFillcolor() { return visual.fillcolor; } -public final Surface getSurface() { return Surface.fromBox(getRoot(this)); } +public final Surface getSurface() { return Surface.fromBox(getRoot()); } /** for Surface to set the x/y properties of the root box */ public final void setRootPosition(int x, int y) throws JSExn { @@ -374,6 +374,10 @@ protected int contentheight = 0; private Insets margin = Insets.ZERO; private Insets padding = Insets.ZERO; + +// this is a calculated total of the gaps between packed children +// TODO: put into a place() loop or another alternative mechanism +private int box_spacing = 0; // Instance Methods ///
[Vexi-svn] SF.net SVN: vexi:[4630] trunk/org.vexi-build.jpp/src/poke/java/dev/ PreprocessVexiWorkspace.java
Revision: 4630 http://sourceforge.net/p/vexi/code/4630 Author: clrg Date: 2013-12-22 19:32:32 + (Sun, 22 Dec 2013) Log Message: --- Modified Paths: -- trunk/org.vexi-build.jpp/src/poke/java/dev/PreprocessVexiWorkspace.java Modified: trunk/org.vexi-build.jpp/src/poke/java/dev/PreprocessVexiWorkspace.java === --- trunk/org.vexi-build.jpp/src/poke/java/dev/PreprocessVexiWorkspace.java 2013-12-22 00:30:55 UTC (rev 4629) +++ trunk/org.vexi-build.jpp/src/poke/java/dev/PreprocessVexiWorkspace.java 2013-12-22 19:32:32 UTC (rev 4630) @@ -13,14 +13,20 @@ static ILogger logger = Logger.newRootLogger(); static public void main(String[] args) { - preprocessProject("org.vexi-library.net"); - preprocessProject("org.vexi-library.js"); - preprocessProject("org.vexi-core.main"); + if (args.length == 0) { + preprocessProject("org.vexi-library.net"); + preprocessProject("org.vexi-library.js"); + preprocessProject("org.vexi-core.main"); + } else { + for (String s : args) { + preprocessProject(s); + } + } } static private void preprocessProject(String projectName){ File projectDir = new File("../"+projectName); - if(!projectDir.isDirectory()) return; + if (!projectDir.isDirectory()) return; preprocessScope(projectDir, "main"); preprocessScope(projectDir, "poke"); @@ -31,7 +37,7 @@ File sourceDir = new File(projectDir, "src/"+scope+"/jpp"); File genDir =new File(projectDir, "gen/"+scope+"/java"); try { - PreprocessorBuilder.preprocess(logger, genDir, new HashMap(), Arrays.asList(sourceDir)); + PreprocessorBuilder.preprocess(logger, genDir, new HashMap(), Arrays.asList(sourceDir)); } catch (Exception e) { e.printStackTrace(System.err); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4628] branches/vexi4c/org.vexi-core.main/src/test/java/ test/core/linenumbering/TestLineNumbering.java
Revision: 4628 http://sourceforge.net/p/vexi/code/4628 Author: clrg Date: 2013-12-22 00:30:47 + (Sun, 22 Dec 2013) Log Message: --- Fix tests for paths with spaces on Windows Modified Paths: -- branches/vexi4c/org.vexi-core.main/src/test/java/test/core/linenumbering/TestLineNumbering.java Modified: branches/vexi4c/org.vexi-core.main/src/test/java/test/core/linenumbering/TestLineNumbering.java === --- branches/vexi4c/org.vexi-core.main/src/test/java/test/core/linenumbering/TestLineNumbering.java 2013-12-21 21:55:28 UTC (rev 4627) +++ branches/vexi4c/org.vexi-core.main/src/test/java/test/core/linenumbering/TestLineNumbering.java 2013-12-22 00:30:47 UTC (rev 4628) @@ -7,6 +7,7 @@ import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; +import java.net.URISyntaxException; import junit.framework.Test; import junit.framework.TestCase; @@ -34,20 +35,25 @@ public TestLineNumbering() { super(TestLineNumbering.class); - File resourceDir = new File(TestLineNumbering.class.getResource(".").getPath()); + File resourceDir = null; + try { + resourceDir = new File(TestLineNumbering.class.getResource(".").toURI().getSchemeSpecificPart()); + } catch (URISyntaxException e) { + e.printStackTrace(); + } tempDir = Util.createTmpDir(TestLineNumbering.class); File[] toPreprocess = resourceDir.listFiles(); - for(int i=0; ihttp://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn
[Vexi-svn] SF.net SVN: vexi:[4629] branches/vexi3/org.vexi-library.js/src/poke/java/ org/ibex/js/JSTestUtil.java
Revision: 4629 http://sourceforge.net/p/vexi/code/4629 Author: clrg Date: 2013-12-22 00:30:55 + (Sun, 22 Dec 2013) Log Message: --- Fix tests for paths with spaces on Windows Modified Paths: -- branches/vexi3/org.vexi-library.js/src/poke/java/org/ibex/js/JSTestUtil.java Modified: branches/vexi3/org.vexi-library.js/src/poke/java/org/ibex/js/JSTestUtil.java === --- branches/vexi3/org.vexi-library.js/src/poke/java/org/ibex/js/JSTestUtil.java 2013-12-22 00:30:47 UTC (rev 4628) +++ branches/vexi3/org.vexi-library.js/src/poke/java/org/ibex/js/JSTestUtil.java 2013-12-22 00:30:55 UTC (rev 4629) @@ -4,6 +4,7 @@ import java.io.FilenameFilter; import java.lang.reflect.Method; import java.net.URISyntaxException; +import java.net.URL; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; @@ -85,10 +86,16 @@ static public TestSuite buildScriptSuite(Object obj){ - String packige = obj.getClass().getPackage().getName(); + String packageName = obj.getClass().getPackage().getName(); TestSuite suite = (obj instanceof TestSuite)? (TestSuite)obj: JUnitUtil.newTestSuite((obj.getClass())); - //String packige, TestSuite suite, File dir){ - buildTestSuite(packige, suite, new File(obj.getClass().getResource(".").getPath())); + //String packageName, TestSuite suite, File dir) { + try { + String path = obj.getClass().getResource(".").toURI().getSchemeSpecificPart(); + buildTestSuite(packageName, suite, + new File(path)); + } catch (URISyntaxException e) { + e.printStackTrace(); + } return suite; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk ___ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn