Revision: 4639 http://sourceforge.net/p/vexi/code/4639 Author: clrg Date: 2014-01-08 19:16:50 +0000 (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 = "ffffff"; + thisbox.shadecolor = "000000"; + + 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 = "#ffffff"; - outer2 = "#3fffffff";//"#c0c0c0"; - outer3 = "#69000000";//"#7b7d7b"; - nextfillbox = $inner; + outer1 = "#"+shinecolor; + outer2 = "#3f"+shinecolor;//"#c0c0c0"; + outer3 = "#69"+shadecolor;//"#7b7d7b"; + newfillbox = $inner; break; case "thindown": - outer1 = "#69000000";//"#7b7d7b"; - outer2 = "#3fffffff";//"#c0c0c0"; - outer3 = "#ffffff"; - nextfillbox = $inner; + outer1 = "#69"+shadecolor;//"#7b7d7b"; + outer2 = "#3f"+shinecolor;//"#c0c0c0"; + outer3 = "#"+shinecolor; + newfillbox = $inner; break; case "up": - outer1 = "#ffffff"; - outer2 = "#a6000000";//"#404040"; - outer3 = "#a6000000";//"#404040"; - inner1 = "#3fffffff";//"#c0c0c0"; - inner2 = "#5a000000";//"#808080"; - inner3 = "#5a000000";//"#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 = "#a6000000";//"#404040"; - outer2 = "#ffffff"; - outer3 = "#ffffff"; - inner1 = "#5a000000";//"#808080"; - inner2 = "#3fffffff";//"#c0c0c0"; - inner3 = "#3fffffff";//"#c0c0c0"; - nextfillbox = $content; + outer1 = "#a6"+shadecolor;//"#404040"; + outer2 = "#"+shinecolor; + outer3 = "#"+shinecolor; + inner1 = "#5a"+shadecolor;//"#808080"; + inner2 = "#3f"+shinecolor;//"#c0c0c0"; + inner3 = "#3f"+shinecolor;//"#c0c0c0"; + newfillbox = $content; break; case "flat": - outer1 = "#5a000000";//"#808080"; - outer3 = "#ffffff"; - inner1 = "#ffffff"; - inner2 = "#5a000000";//"#808080"; - inner3 = "#5a000000";//"#808080"; - nextfillbox = $inner; + outer1 = "#5a"+shadecolor;//"#808080"; + outer3 = "#"+shinecolor; + inner1 = "#"+shinecolor; + inner2 = "#5a"+shadecolor;//"#808080"; + inner3 = "#5a"+shadecolor;//"#808080"; + newfillbox = $inner; break; case "above": - outer1 = "#3fffffff";//"#c0c0c0"; - outer2 = "#a6000000";//"#404040"; - outer3 = "#a6000000";//"#404040"; - inner1 = "#ffffff"; - inner2 = "#5a000000";//"#808080"; - inner3 = "#5a000000";//"#808080"; - nextfillbox = $inner; + outer1 = "#3f"+shinecolor;//"#c0c0c0"; + outer2 = "#a6"+shadecolor;//"#404040"; + outer3 = "#a6"+shadecolor;//"#404040"; + inner1 = "#"+shinecolor; + inner2 = "#5a"+shadecolor;//"#808080"; + inner3 = "#5a"+shadecolor;//"#808080"; + newfillbox = $inner; break; + case "tabtop": + trace(shinecolor+", "+shadecolor); + $outer_nn.fill = "#"+shinecolor;//"#c0c0c0"; + $outer_nw.fill = null; + $outer_ww.fill = "#"+shinecolor;//"#c0c0c0"; + $outer_ne.fill = null; + $outer_sw.fill = null; + $outer_ee.fill = "#a6"+shadecolor;//"#808080"; + $outer_se.fill = null; + $outer_ss.fill = null; + $inner_nn.fill = "#3f"+shinecolor;//"#c0c0c0"; + $inner_nw.fill = "#3f"+shinecolor;//"#c0c0c0"; + $inner_ww.fill = "#3f"+shinecolor;//"#c0c0c0"; + $inner_ne.fill = "#5a"+shadecolor;//"#808080"; + $inner_sw.fill = "#3f"+shinecolor;//"#c0c0c0"; + $inner_ee.fill = "#5a"+shadecolor;//"#808080"; + $inner_se.fill = "#5a"+shadecolor;//"#808080"; + $inner_ss.fill = null; + refill($inner); + return; } } - // re-fill - if (nextfillbox != fillbox) { - nextfillbox.fill = fillbox.fill; - fillbox.fill = null; - fillbox = nextfillbox; - } + refill(newfillbox); $outer_nn.fill = outer1; $outer_nw.fill = outer1; @@ -141,5 +164,16 @@ $inner_ss.fill = inner3; } + const doUpdate = function(v) { + if (trapee[trapname]!=v) { + cascade = v; + makeBevel(); + } + } + + thisbox.form ++= doUpdate; + thisbox.shadecolor ++= doUpdate; + thisbox.shinecolor ++= doUpdate; + </ui:box> </vexi> 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-01-08 03:08:24 UTC (rev 4638) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tab.t 2014-01-08 19:16:50 UTC (rev 4639) @@ -1,6 +1,6 @@ <!-- Copyright 2013 - see COPYING for details [LGPL] --> -<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="vexi.theme" +<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="org.vexi.theme.classic" xmlns:lib="org.vexi.lib" xmlns:lay="org.vexi.lib.layout"> <meta:doc> <author>Charles Goodwin</author> @@ -9,7 +9,7 @@ <lib:widget.tab /> <ui:box redirect=":$content" hshrink="true" margin="2 0" padding="2 6"> <ui:box layout="layer" align="bottom"> - <lay:border border=":.image.tabtop"> + <bevel id="bevel" form="tabtop"> <lay:pad id="pad" padding="3" fill=":.settings..tabfill"> <lib.focusborder id="focus"> <ui:box id="content" minheight="16" /> @@ -21,7 +21,7 @@ </lib:role.clickable> </ui:box> </lay:pad> - </lay:border> + </bevel> <ui:box height="2"> <ui:box width="1" /> <ui:box id="overfill" height="2" fill=":.settings..tabfill" /> @@ -36,6 +36,11 @@ thisbox.th_focus = $focus; thisbox.v_fillbox = $pad; + const toBevel = function(v) { $bevel[trapname] = v; } + + thisbox.shadecolor ++= toBevel; + thisbox.shinecolor ++= toBevel; + // assign static traps thisbox.enabled ++= static.enableWrite; thisbox.selected ++= static.selectWrite; 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-01-08 03:08:24 UTC (rev 4638) +++ branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/tabpane.t 2014-01-08 19:16:50 UTC (rev 4639) @@ -1,4 +1,4 @@ -<!-- Copyright 2013 - see COPYING for details [LGPL] --> +<!-- Copyright 2014 - see COPYING for details [LGPL] --> <vexi xmlns:ui="vexi://ui" xmlns:role="org.vexi.lib.role" @@ -37,7 +37,12 @@ thisbox.th_prev = $prev; thisbox.th_tablist = $tablist; - var hideTabsTrap = function(v) { + const toBevel = function(v) { $content[trapname] = v; } + + thisbox.shadecolor ++= toBevel; + thisbox.shinecolor ++= toBevel; + + const hideTabsTrap = function(v) { cascade = v; var hide = hidetabs and 1 >= v_content.numchildren; $wrap.display = !hide; 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