Revision: 4798
http://sourceforge.net/p/vexi/code/4798
Author: clrg
Date: 2015-05-23 14:00:47 +0000 (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 @@
+<!-- Copyright 2015 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:meta="vexi://meta"
+ xmlns="org.vexi.lib.role">
+
+ <meta:doc>
+ <author>Charles Goodwin</author>
+ </meta:doc>
+
+ <Draggable>
+ thisbox.active = false;
+ </Draggable>
+</vexi>
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 @@
+<!-- Copyright 2015 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:meta="vexi://meta"
+ xmlns:theme="vexi.theme"
+ xmlns="org.vexi.lib.role">
+
+ <meta:doc>
+ <author>Charles Goodwin</author>
+ </meta:doc>
+
+ <Polarized>
+
+ 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 */
+ var dragFinish = function(v) {
+ cascade = v;
+ cur_d.active = false;
+ th_marker.display = false;
+ if (!liveresize) {
+ if (cur_a!=master)
+ cur_a[dim] = tmp_a;
+ if (cur_b!=master)
+ cur_b[dim] = tmp_b;
+ }
+ }
+
+ /** initiate x dragging on Press */
+ var dragStart = function(v) {
+ cascade = v;
+ // make sure we always have a master
+ if (!master) {
+ var n = v_holding.numchildren;
+ for (var i=0; n>i; i+=2) {
+ if (!v_holding[i][shr]) {
+ master = v_holding[i];
+ break;
+ }
+ }
+ }
+ // no volunteers? conscript!
+ if (!master) master = v_holding[0];
+ // the current divider being moved
+ var cur = v_holding.indexof(trapee);
+ cur_d = trapee;
+ cur_d.active = true;
+ // either side of the divider
+ cur_a = v_holding[cur-1];
+ cur_b = v_holding[cur+1];
+ // our starting dimensions
+ dim_a = cur_a[dim];
+ dim_b = cur_b[dim];
+ // used for !liveresize
+ tmp_a = dim_a;
+ tmp_b = dim_b;
+ // marker provides visual feedback if !liveresize
+ th_marker.display = !liveresize;
+ if (liveresize)
+ th_marker[pos] = cur_a[pos] + cur_a[dim] + markeroffset;
+ }
+
+ /** ensure master is not constrained */
+ master ++= function(v) {
+ cascade = v;
+ if (master) {
+ master[mindim] = 0;
+ master[maxdim] = vexi.ui.maxdim;
+ master[shr] = false;
+ }
+ }
+
+ /** returns the relative index of v */
+ var getIndexOf = function(v) {
+ var i = v_holding.indexof(v);
+ return 0>i ? i/2 : i;
+ }
+
+ /** update dividers when orient changes */
+ orient ++= function(v) {
+ cascade = v;
+ v_holding.orient = v;
+ th_marker.hshrink = (v == "h" or v == "horizontal");
+ th_marker.vshrink = !th_marker.hshrink;
+ var fls = flip(shr);
+ for (var i=0; v_holding.numchildren>i; i++) {
+ if (i%2) {
+ v_holding[i][shr] = true;
+ v_holding[i][fls] = false;
+ } else {
+ var shell = v_holding[i];
+ shell[fls] = false;
+ shell[shr] = shell[0][shr];
+ }
+ }
+ }
+
+ /** set up Children trap */
+ v_container ++= function(v) {
+ cascade = v;
+ v_content.display = false;
+ v_content.indexof ++= function() { return getIndexOf; }
+ v_content.numchildren ++= function() {
+ var n = v_holding.numchildren;
+ return n == 0 ? 0 : (n+1)/2;
+ }
+
+ /** children are really stored in v_holding and separated by
dividers */
+ v_content.Children ++= function() { return
v_holding[arguments.trapname*2][0]; }
+
+ /** set up introduced dividers */
+ v_content.Children ++= function(c) {
+ // useful through this trap
+ var i = arguments.trapname;
+ if (c != null) {
+ // children are placed inside a shell box which can
+ // have dimensions altered without causing issues
+
+ var div = null;
+ if (v_holding.numchildren>0) {
+ // set up divider
+ div = new theme.Divider();
+ div[shr] = true;
+ div[flip(shr)] = false;
+ div.dragStart ++= dragStart;
+ div.dragFinish ++= dragFinish;
+ div.dragUpdate ++= dragUpdate;
+ }
+ // assign new child and divider to holding
+ if (div and i!=0)
+ v_holding[i*2-1] = div;
+ var shell = vexi.box;
+ shell[0] = c;
+ var react = function(v) {
+ cascade = v;
+ if (trapname == shr)
+ shell[shr] = v;
+ }
+ c.hshrink ++= react;
+ c.vshrink ++= react;
+ shell[shr] = c[shr];
+ v_holding[i*2] = shell;
+ if (div and i==0)
+ v_holding[1] = div;
+ // REMARK - not kept in v_content so no cascade
+ } else {
+ // remove both child and accompanying dividor
+ if (i==0 and v_holding.numchildren>1)
+ v_holding[1] = null;
+ v_holding[i*2] = null;
+ if (i!=0)
+ v_holding[i*2-1] = null;
+ }
+ return;
+ }
+
+ // prevent orient redirect by layout.container
+ v_content = null;
+ }
+
+ </Polarized>
+</vexi>
Deleted:
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/divider.t
2015-05-23 12:33:23 UTC (rev 4797)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/divider.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -1,11 +0,0 @@
-<!-- Copyright 2009 - see COPYING for details [LGPL] -->
-
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="org.vexi.lib.role">
- <meta:doc>
- <author>Charles Goodwin</author>
- </meta:doc>
-
- <draggable>
- thisbox.active = false;
- </draggable>
-</vexi>
Deleted:
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/widget/splitpane.t
2015-05-23 12:33:23 UTC (rev 4797)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/lib/widget/splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -1,206 +0,0 @@
-<!-- Copyright 2012 - see COPYING for details [LGPL] -->
-
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="org.vexi.lib.role">
- <meta:doc>
- <author>Charles Goodwin</author>
- </meta:doc>
-
- <polarizable />
- <ui:box>
-
- 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 */
- var dragFinish = function(v) {
- cascade = v;
- cur_d.active = false;
- th_marker.display = false;
- if (!liveresize) {
- if (cur_a!=master)
- cur_a[dim] = tmp_a;
- if (cur_b!=master)
- cur_b[dim] = tmp_b;
- }
- }
-
- /** initiate x dragging on Press */
- var dragStart = function(v) {
- cascade = v;
- // make sure we always have a master
- if (!master) {
- var n = v_holding.numchildren;
- for (var i=0; n>i; i+=2) {
- if (!v_holding[i][shr]) {
- master = v_holding[i];
- break;
- }
- }
- }
- // no volunteers? conscript!
- if (!master) master = v_holding[0];
- // the current divider being moved
- var cur = v_holding.indexof(trapee);
- cur_d = trapee;
- cur_d.active = true;
- // either side of the divider
- cur_a = v_holding[cur-1];
- cur_b = v_holding[cur+1];
- // our starting dimensions
- dim_a = cur_a[dim];
- dim_b = cur_b[dim];
- // used for !liveresize
- tmp_a = dim_a;
- tmp_b = dim_b;
- // marker provides visual feedback if !liveresize
- th_marker.display = !liveresize;
- if (liveresize)
- th_marker[pos] = cur_a[pos] + cur_a[dim] + markeroffset;
- }
-
- /** ensure master is not constrained */
- master ++= function(v) {
- cascade = v;
- if (master) {
- master[mindim] = 0;
- master[maxdim] = vexi.ui.maxdim;
- master[shr] = false;
- }
- }
-
- /** returns the relative index of v */
- var getIndexOf = function(v) {
- var i = v_holding.indexof(v);
- return 0>i ? i/2 : i;
- }
-
- /** update dividers when orient changes */
- orient ++= function(v) {
- cascade = v;
- v_holding.orient = v;
- th_marker.hshrink = (v == "h" or v == "horizontal");
- th_marker.vshrink = !th_marker.hshrink;
- var fls = flip(shr);
- for (var i=0; v_holding.numchildren>i; i++) {
- if (i%2) {
- v_holding[i][shr] = true;
- v_holding[i][fls] = false;
- } else {
- var shell = v_holding[i];
- shell[fls] = false;
- shell[shr] = shell[0][shr];
- }
- }
- }
-
- /** set up Children trap */
- v_container ++= function(v) {
- cascade = v;
- v_content.display = false;
- v_content.indexof ++= function() { return getIndexOf; }
- v_content.numchildren ++= function() {
- var n = v_holding.numchildren;
- return n == 0 ? 0 : (n+1)/2;
- }
-
- /** children are really stored in v_holding and separated by
dividers */
- v_content.Children ++= function() { return
v_holding[arguments.trapname*2][0]; }
-
- /** set up introduced dividers */
- v_content.Children ++= function(c) {
- // useful through this trap
- var i = arguments.trapname;
- if (c != null) {
- // children are placed inside a shell box which can
- // have dimensions altered without causing issues
-
- var div = null;
- if (v_holding.numchildren>0) {
- // set up divider
- div = new vexi..vexi.theme.divider();
- div[shr] = true;
- div[flip(shr)] = false;
- div.dragStart ++= dragStart;
- div.dragFinish ++= dragFinish;
- div.dragUpdate ++= dragUpdate;
- }
- // assign new child and divider to holding
- if (div and i!=0)
- v_holding[i*2-1] = div;
- var shell = vexi.box;
- shell[0] = c;
- var react = function(v) {
- cascade = v;
- if (trapname == shr)
- shell[shr] = v;
- }
- c.hshrink ++= react;
- c.vshrink ++= react;
- shell[shr] = c[shr];
- v_holding[i*2] = shell;
- if (div and i==0)
- v_holding[1] = div;
- // REMARK - not kept in v_content so no cascade
- } else {
- // remove both child and accompanying dividor
- if (i==0 and v_holding.numchildren>1)
- v_holding[1] = null;
- v_holding[i*2] = null;
- if (i!=0)
- v_holding[i*2-1] = null;
- }
- return;
- }
-
- // prevent orient redirect by layout.container
- v_content = null;
- }
-
- </ui:box>
-</vexi>
Copied:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Divider.t
(from rev 4785,
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/Divider.t
(rev 0)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Divider.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -0,0 +1,22 @@
+<!-- Copyright 2015 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:ui="vexi://ui"
+ xmlns:img="vexi.theme"
+ xmlns="org.vexi.lib.gui">
+
+ <Divider redirect="null" cursor="hand" vshrink="true">
+ <ui:Box maxwidth="18" minwidth="6" maxheight="18" minheight="6">
+ <ui:Box fill=":img.rivets" />
+ </ui:Box>
+
+ active ++= static.activeWrite;
+ Enter ++= static.enterWrite;
+ Leave ++= static.leaveWrite;
+
+ </Divider>
+
+ static.activeWrite = function(v) { cascade = v; trapee.fill = v ? "#6fff"
: null; }
+ static.enterWrite = function(v) { cascade = v; trapee.fill = "#6fff"; }
+ static.leaveWrite = function(v) { cascade = v; if (!trapee.active)
trapee.fill = null; }
+
+</vexi>
Copied:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Splitpane.t
(from rev 4785,
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/org/vexi/theme/classic/Splitpane.t
(rev 0)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/Splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -0,0 +1,19 @@
+<!-- Copyright 2015 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:ui="vexi://ui"
+ xmlns="org.vexi.lib.gui">
+
+ <Splitpane redirect=":$content" align="topleft" layout="place">
+ <ui:Box id="content" display="false" />
+ <ui:Box id="holding" />
+ <ui:Box id="marker" display="false" fill="black" hshrink="true"
minwidth="2" minheight="2" />
+
+ thisbox.v_content = $content;
+ thisbox.v_holding = $holding;
+ thisbox.th_marker = $marker;
+ thisbox.markeroffset = 2;
+
+ v_container = true;
+
+ </Splitpane>
+</vexi>
Deleted:
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/divider.t
2015-05-23 12:33:23 UTC (rev 4797)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/divider.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -1,24 +0,0 @@
-<!-- Copyright 2011 - see COPYING for details [LGPL] -->
-
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
- xmlns:lib="org.vexi.lib.widget" xmlns="vexi.theme">
- <meta:doc>
- <author>Charles Goodwin</author>
- </meta:doc>
-
- <lib:divider redirect="null" cursor="hand" vshrink="true">
- <ui:box maxwidth="18" minwidth="6" maxheight="18" minheight="6">
- <ui:box fill=":.image.rivets" />
- </ui:box>
-
- active ++= static.activeWrite;
- Enter ++= static.enterWrite;
- Leave ++= static.leaveWrite;
-
- </lib:divider>
-
- static.activeWrite = function(v) { cascade = v; trapee.fill = v ? "#6fff"
: null; }
- static.enterWrite = function(v) { cascade = v; trapee.fill = "#6fff"; }
- static.leaveWrite = function(v) { cascade = v; if (!trapee.active)
trapee.fill = null; }
-
-</vexi>
Deleted:
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/org/vexi/theme/classic/splitpane.t
2015-05-23 12:33:23 UTC (rev 4797)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -1,18 +0,0 @@
-<!-- Copyright 2011 - see COPYING for details [LGPL] -->
-
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta"
xmlns="org.vexi.lib.widget">
- <meta:doc>
- <author>Charles Goodwin</author>
- </meta:doc>
-
- <splitpane redirect=":$content" align="topleft" layout="place">
- <ui:box id="content" display="false" />
- <ui:box id="holding" />
- <ui:box id="marker" display="false" fill="black" hshrink="true"
minwidth="2" minheight="2" />
-
- thisbox.v_holding = $holding;
- thisbox.th_marker = $marker;
- thisbox.markeroffset = 2;
-
- </splitpane>
-</vexi>
Copied:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Splitpane.t
(from rev 4785,
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/splitpane.t)
===================================================================
---
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Splitpane.t
(rev 0)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/gui/Splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -0,0 +1,16 @@
+<!-- Copyright 2015 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:meta="vexi://meta"
+ xmlns="vexi.theme">
+
+ <meta:doc>
+ <name>Splitpane</name>
+ <desc>A splitpane widget</desc>
+ <usage>
+ Wrap around templates, setting orient, and use dividors
+ in between each template.
+ </usage>
+ </meta:doc>
+
+ <Splitpane />
+</vexi>
Deleted:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/splitpane.t
===================================================================
---
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/splitpane.t
2015-05-23 12:33:23 UTC (rev 4797)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_main/vexi/widget/splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -1,18 +0,0 @@
-<!-- Copyright 2009 - see COPYING for details [LGPL] -->
-
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns:theme="vexi.theme"
- xmlns="org.vexi.lib.layout">
- <meta:doc>
- <name>Splitpane</name>
- <desc>A splitpane widget</desc>
- <usage>
- Wrap around templates, setting orient, and use dividors
- in between each template.
- </usage>
- </meta:doc>
-
- <margin />
- <theme:splitpane />
- <pad />
- <container />
-</vexi>
Copied:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Slider.t
(from rev 4785,
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/widgets/slider.t)
===================================================================
---
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Slider.t
(rev 0)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Slider.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -0,0 +1,21 @@
+<!-- public domain -->
+
+<vexi xmlns:ui="vexi://ui" xmlns="vexi.gui">
+ <Surface />
+ <ui:Box orient="vertical">
+ <ui:Box>
+ <ui:Box align="right" text="Slider value: " />
+ <ui:Box id="output" align="left" />
+ </ui:Box>
+ <ui:Box>
+ <ui:Box />
+ <Slider id="slider" minvalue="0" maxvalue="10" step="1" />
+ <ui:Box />
+ </ui:Box>
+
+ $slider.value ++= function(v) { cascade = v; $output.text = v; }
+
+ vexi.ui.frame = thisbox;
+
+ </ui:Box>
+</vexi>
\ No newline at end of file
Added:
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Splitpane.t
===================================================================
---
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Splitpane.t
(rev 0)
+++
branches/vexi3_integrated_layout/org.vexi-vexi.widgets/src_poke/poke/gui/Splitpane.t
2015-05-23 14:00:47 UTC (rev 4798)
@@ -0,0 +1,16 @@
+<!-- public domain -->
+
+<vexi xmlns:ui="vexi://ui" xmlns:img="poke.image" xmlns="vexi.gui">
+ <Surface />
+ <ui:Box frameheight="200">
+ <Splitpane>
+ <Bevel form="down" fill="white" />
+ <Bevel form="down" fill="red" />
+ </Splitpane>
+ <Splitpane orient="vertical">
+ <Bevel form="down" fill="green" />
+ <Bevel form="down" fill="blue" />
+ </Splitpane>
+ vexi.ui.frame = thisbox;
+ </ui:Box>
+</vexi>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn