You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(10) |
Jul
(24) |
Aug
(93) |
Sep
(261) |
Oct
(257) |
Nov
(218) |
Dec
(95) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(184) |
Feb
(87) |
Mar
(155) |
Apr
(398) |
May
(201) |
Jun
(35) |
Jul
(68) |
Aug
(92) |
Sep
(52) |
Oct
(111) |
Nov
(135) |
Dec
(116) |
| 2009 |
Jan
(225) |
Feb
(204) |
Mar
(113) |
Apr
(137) |
May
(220) |
Jun
(199) |
Jul
(196) |
Aug
(98) |
Sep
(100) |
Oct
(179) |
Nov
(164) |
Dec
(72) |
| 2010 |
Jan
(59) |
Feb
(61) |
Mar
(64) |
Apr
(159) |
May
(107) |
Jun
(252) |
Jul
(180) |
Aug
(96) |
Sep
(82) |
Oct
(58) |
Nov
(43) |
Dec
(53) |
| 2011 |
Jan
(39) |
Feb
(18) |
Mar
(33) |
Apr
(66) |
May
(48) |
Jun
(124) |
Jul
(112) |
Aug
(62) |
Sep
(45) |
Oct
(102) |
Nov
(47) |
Dec
(37) |
| 2012 |
Jan
(22) |
Feb
(18) |
Mar
(1) |
Apr
(5) |
May
(18) |
Jun
(13) |
Jul
(9) |
Aug
(38) |
Sep
(3) |
Oct
(7) |
Nov
(24) |
Dec
(6) |
| 2013 |
Jan
(1) |
Feb
(14) |
Mar
(1) |
Apr
(2) |
May
(3) |
Jun
(4) |
Jul
(9) |
Aug
(4) |
Sep
(7) |
Oct
|
Nov
(1) |
Dec
(4) |
| 2014 |
Jan
(9) |
Feb
(2) |
Mar
|
Apr
|
May
(4) |
Jun
(2) |
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(1) |
2
|
|
3
(4) |
4
(1) |
5
|
6
|
7
|
8
(12) |
9
|
|
10
(1) |
11
(4) |
12
(6) |
13
(10) |
14
(9) |
15
|
16
|
|
17
|
18
|
19
(1) |
20
(2) |
21
(2) |
22
(2) |
23
|
|
24
|
25
|
26
(3) |
27
(1) |
28
(3) |
29
(4) |
30
|
|
From: <mar...@us...> - 2011-04-12 17:33:58
|
Revision: 21048
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21048&view=rev
Author: marcputs
Date: 2011-04-12 17:33:52 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Added first behavior class: Draggable (experimental)
Added Paths:
-----------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/Draggable.js
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/__init__.js
Added: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/Draggable.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/Draggable.js (rev 0)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/Draggable.js 2011-04-12 17:33:52 UTC (rev 21048)
@@ -0,0 +1,177 @@
+/* ************************************************************************
+
+ Copyright:
+ 2010-2011 Marc Puts
+
+ License:
+ LGPL: http://www.gnu.org/licenses/lgpl.html
+ EPL: http://www.eclipse.org/org/documents/epl-v10.php
+ See the LICENSE file in the project's top-level directory for details.
+
+ Authors:
+ * Marc Puts (marcputs)
+
+************************************************************************ */
+
+/**
+ * Makes an svg element draggable.
+ *
+ * The required mouse listeners are attached to the element's parent.
+ *
+ * *HIGHLY EXPERIMENTAL*
+ */
+qx.Class.define("svg.behavior.Draggable",
+{
+ extend : qx.core.Object,
+
+ /**
+ * @param svgElement {svg.core.Element}
+ * Element that should become draggable.
+ */
+ construct : function(svgElement)
+ {
+ this.base(arguments);
+
+ this.__element = svgElement;
+
+ this.__offsets = null;
+ this.__addListener();
+
+ this.__convert = svg.coords.Convert.clientToUserspace; //shortcut to much used function
+ },
+
+ members :
+ {
+ __convert : null,
+ __element : null,
+ __mouseUpListenerId : null,
+ __mouseDownListenerId: null,
+ __mouseMoveListenerId: null,
+ __offsets : null,
+
+ /**
+ * The SVG element made draggable.
+ *
+ * @return {svg.core.Element}
+ */
+ getElement : function() {
+ return this.__element;
+ },
+
+ /**
+ * Adds listener(s) to start dragging.
+ */
+ __addListener : function()
+ {
+ //add mousedown listener
+ this.__mouseDownListenerId = this.__element.addListener("mousedown", this.__onMouseDown, this);
+ },
+
+ /**
+ * Handler for mousedown event.
+ *
+ * @param e {qx.event.type.Mouse}
+ * Event object
+ */
+ __onMouseDown : function(e)
+ {
+ if (!e.isLeftPressed()) {
+ return;
+ }
+
+ var mousepos = this.__convert(this.__element, e.getDocumentLeft(), e.getDocumentTop());
+ var elempos = this.__convert(this.__element,
+ qx.bom.element.Location.getLeft(this.__element.getDomElement()),
+ qx.bom.element.Location.getTop(this.__element.getDomElement()));
+
+
+ this.__offsets = {
+ left : mousepos.x - elempos.x,
+ top : mousepos.y - elempos.y
+ };
+
+ var parent = this.__element.getParent();
+
+ // add "mousemove" event listener
+ this.__mouseMoveListenerId = parent.addListener("mousemove", this.__onMouseMove, this);
+
+ // add "mouseup" event listener
+ this.__mouseUpListenerId = parent.addListener("mouseup", this.__onMouseUp, this);
+
+ parent.capture();
+ },
+
+ /**
+ * Handler for mouseup event.
+ *
+ * @param e {qx.event.type.Mouse}
+ * Event object
+ */
+ __onMouseUp : function(e)
+ {
+ try {
+ e.stopPropagation();
+ }
+ catch (ex) {}
+
+ var parent = this.__element.getParent();
+
+ //remove mousemove listener
+ parent.removeListenerById(this.__mouseMoveListenerId);
+ this.__mouseMoveListenerId = null;
+
+ //remove mousedown listener
+ parent.removeListenerById(this.__mouseUpListenerId);
+ this.__mouseUpListenerId = null;
+
+ parent.releaseCapture();
+
+ },
+
+ /**
+ * Handler for mousemove event.
+ *
+ * @param e {qx.event.type.Mouse}
+ * Event object
+ */
+ __onMouseMove : function(e)
+ {
+ e.stopPropagation();
+
+ var mousepos = this.__convert(this.__element, e.getDocumentLeft(), e.getDocumentTop());
+
+ var left = mousepos.x - this.__offsets.left;
+ var top = mousepos.y - this.__offsets.top;
+
+ this.__element.setX(left);
+ this.__element.setY(top);
+ }
+
+ },
+
+
+ /* ******************************************************
+ * DESTRUCT
+ * ******************************************************/
+ destruct : function() {
+
+ var remove = this.__element.removeListenerById;
+
+ if (null !== this.__mouseUpListenerId) {
+ remove(this.__mouseUpListenerId);
+ this.__mouseUpListenerId = null;
+ }
+ if (null !== this.__mouseDownListenerId) {
+ remove(this.__mouseDownListenerId);
+ this.__mouseDownListenerId = null;
+ }
+ if (null !== this.__mouseMoveListenerId) {
+ remove(this.__mouseMoveListenerId);
+ this.__mouseMoveListenerId = null;
+ }
+
+ this.__element = null;
+ this.__offsets = null;
+ this.__convert = null;
+ }
+});
Property changes on: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/Draggable.js
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/__init__.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/__init__.js (rev 0)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/__init__.js 2011-04-12 17:33:52 UTC (rev 21048)
@@ -0,0 +1,3 @@
+/**
+ * Collection of classes that can add default behavior to svg elements.
+ */
Property changes on: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/behavior/__init__.js
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2011-04-12 17:33:23
|
Revision: 21047
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21047&view=rev
Author: marcputs
Date: 2011-04-12 17:33:17 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Added utility class for coordinate system conversions.
Added Paths:
-----------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/coords/Convert.js
Added: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/coords/Convert.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/coords/Convert.js (rev 0)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/coords/Convert.js 2011-04-12 17:33:17 UTC (rev 21047)
@@ -0,0 +1,52 @@
+/* ************************************************************************
+
+ Copyright:
+ 2010-2011 Marc Puts
+
+ License:
+ LGPL: http://www.gnu.org/licenses/lgpl.html
+ EPL: http://www.eclipse.org/org/documents/epl-v10.php
+ See the LICENSE file in the project's top-level directory for details.
+
+ Authors:
+ * Marc Puts (marcputs)
+
+************************************************************************ */
+
+/**
+ * Utility class to convert coordinate systems.
+ */
+qx.Class.define("svg.coords.Convert",
+{
+ statics :
+ {
+ /**
+ * Converts client (document) coordinates to svg userspace coordinates,
+ * using the coordinate system of the specified element.
+ *
+ * @param el {svg.core.Element}
+ * Element whose coordinate system to use.
+ *
+ * @param clientx {Integer}
+ * x coordinate in client
+ *
+ * @param clienty {Integer}
+ * y coordinate in client
+ *
+ * @return {SVGPoint}
+ * An object containing the keys <code>x</code> and <code>y</code>.
+ *
+ */
+ clientToUserspace : function(el, clientx, clienty) {
+ var vp = el.getNearestViewport() || el;
+ var m = vp.getScreenCTM();
+ var p = vp.createPoint();
+ p.x = clientx;
+ p.y = clienty;
+ p = p.matrixTransform(m.inverse());
+ return p;
+ }
+
+ }
+
+});
\ No newline at end of file
Property changes on: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/coords/Convert.js
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2011-04-12 17:32:49
|
Revision: 21046
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21046&view=rev
Author: marcputs
Date: 2011-04-12 17:32:42 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Added api doc for angle typecheck
Modified Paths:
--------------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js
Modified: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js 2011-04-12 15:33:35 UTC (rev 21045)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js 2011-04-12 17:32:42 UTC (rev 21046)
@@ -29,6 +29,23 @@
statics :
{
+ /**
+ * Checks if value is a valid angle.
+ *
+ * More info:
+ * <ul>
+ * <li>http://www.w3.org/TR/SVG/types.html#DataTypeAngle</li>
+ * </ul>
+ *
+ * @param value {var}
+ * value to check
+ *
+ * @param allowNegative {Boolean ? true}
+ * whether or not negative values are allowed
+ *
+ * @return {Boolean}
+ * true if value is a valid angle
+ */
isAngle : function(value, allowNegative) {
//if allowNegative is undefined, use default value
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2011-04-12 15:33:41
|
Revision: 21045
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21045&view=rev
Author: marcputs
Date: 2011-04-12 15:33:35 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Minor change to api doc.
Modified Paths:
--------------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/MLocatable.js
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/__init__.js
Modified: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/MLocatable.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/MLocatable.js 2011-04-12 15:01:36 UTC (rev 21044)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/MLocatable.js 2011-04-12 15:33:35 UTC (rev 21045)
@@ -34,7 +34,7 @@
*
* More info:
* <ul>
- * <li>http://www.w3.org/TR/SVG11/types.html#__svg__SVGLocatable__nearestViewportElement</li>
+ * <li>http://www.w3.org/TR/SVG/types.html#__svg__SVGLocatable__nearestViewportElement</li>
* </ul>
*
* @return {svg.core.Element}
@@ -91,10 +91,11 @@
*
* More info:
* <ul>
- * <li>{@link #getNearestViewport}</li>
* <li>http://www.w3.org/TR/SVG/types.html#__svg__SVGLocatable__getCTM</li>
* </ul>
*
+ * @see #getNearestViewport
+ *
* @return {SVGMatrix}
*/
getCTM : function()
Modified: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/__init__.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/__init__.js 2011-04-12 15:01:36 UTC (rev 21044)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/dom/__init__.js 2011-04-12 15:33:35 UTC (rev 21045)
@@ -1,5 +1,5 @@
/**
- * Implementations/wrappers for some basic SVG interfaces.
+ * Implementations/wrappers for SVG's basic DOM interfaces.
*
* More info:
* <ul>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2011-04-12 15:01:42
|
Revision: 21044
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21044&view=rev
Author: marcputs
Date: 2011-04-12 15:01:36 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Added missing docblock.
Modified Paths:
--------------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Assert.js
Modified: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Assert.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Assert.js 2011-04-12 15:00:58 UTC (rev 21043)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Assert.js 2011-04-12 15:01:36 UTC (rev 21044)
@@ -1,14 +1,42 @@
-qx.Class.define("svg.core.Assert", {
+/* ************************************************************************
+ Copyright:
+ 2010-2011 Marc Puts
+
+ License:
+ LGPL: http://www.gnu.org/licenses/lgpl.html
+ EPL: http://www.eclipse.org/org/documents/epl-v10.php
+ See the LICENSE file in the project's top-level directory for details.
+
+ Authors:
+ * Marc Puts (marcputs)
+
+************************************************************************ */
+
+/**
+ * A collection of assertions.
+ *
+ * If an assertion fails an {@link qx.core.AssertionError} is thrown.
+ *
+ * The assertions are used internally in the svg library as well.
+ */
+qx.Class.define("svg.core.Assert",
+{
statics :
{
/**
- * Assert that the SVG element is part of the document tree at the time that function _funcname_
+ * Assert that the SVG element is part of the document tree at the time this check
* is called.
+ *
+ * @param element {svg.core.Element}
+ * Element to look for.
+ *
+ * @param msg {String?}
+ * Message to be shown if the assertion fails.
*/
assertElementInDocTree : function(element, msg){
if (!element.inDocumentTree()) {
- msg = msg || "Function cannot be called when SVG element is not in the document tree.";
+ msg = msg || "SVG element is not in the document tree.";
qx.core.Assert.fail(msg, true);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mar...@us...> - 2011-04-12 15:01:05
|
Revision: 21043
http://qooxdoo-contrib.svn.sourceforge.net/qooxdoo-contrib/?rev=21043&view=rev
Author: marcputs
Date: 2011-04-12 15:00:58 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
New check for Angle types.
Modified Paths:
--------------
trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js
Modified: trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js
===================================================================
--- trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js 2011-04-11 21:37:10 UTC (rev 21042)
+++ trunk/qooxdoo-contrib/SVG/trunk/source/class/svg/core/Types.js 2011-04-12 15:00:58 UTC (rev 21043)
@@ -28,7 +28,42 @@
statics :
{
+
+ isAngle : function(value, allowNegative) {
+
+ //if allowNegative is undefined, use default value
+ allowNegative = allowNegative || true;
+ //if value is a number, just check for sign (if needed)
+ if (!isNaN(value)) {
+ return allowNegative || value >= 0;
+ }
+
+ //exclude types other than strings
+ if (typeof(value) !== "string") {
+ return false;
+ }
+
+ //is a 3 character suffix (deg/rad)?
+ var exp = /^\d+(deg|rad)?$/;
+ if (exp.test(value)) {
+ value = value.slice(0, -3);
+ return !isNaN(value) && (allowNegative || value >= 0);
+ }
+
+ //is it a 4 character suffix (grad)?
+ var exp = /^\d+(grad)?$/;
+ if (exp.test(value)) {
+ value = value.slice(0, -4);
+ return !isNaN(value) && (allowNegative || value >= 0);
+ }
+
+ //all checks failed.
+ return false;
+
+ },
+
+
/**
* Checks if value is a valid coordinate.
*
@@ -83,12 +118,12 @@
}
//exclude types other than strings
- if (typeof(value) != "string") {
+ if (typeof(value) !== "string") {
return false;
}
//is it a percentage?
- if (value.slice(-1) == "%") {
+ if (value.slice(-1) === "%") {
value = value.slice(0, -1);
return !isNaN(value) && (allowNegative || value >= 0);
}
@@ -142,7 +177,7 @@
* true if value is a valid percentage
*/
isPercentage : function(value) {
- if (value.slice(-1) == "%") {
+ if (value.slice(-1) === "%") {
return !isNaN(value.slice(0,-1));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|