You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by jb...@apache.org on 2010/08/10 16:20:20 UTC
svn commit: r984036 - in /commons/sandbox/gsoc/2010/scxml-js/trunk:
demo/drawing-tool/behaviour/canvas.xml
demo/drawing-tool/drawing-tool-precompiled.html
demo/drawing-tool/drawing-tool.html run.sh
Author: jbeard
Date: Tue Aug 10 14:20:20 2010
New Revision: 984036
URL: http://svn.apache.org/viewvc?rev=984036&view=rev
Log:
Various small changes.
Added:
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool-precompiled.html
- copied, changed from r984035, commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html
Modified:
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/behaviour/canvas.xml
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html
commons/sandbox/gsoc/2010/scxml-js/trunk/run.sh
Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/behaviour/canvas.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/behaviour/canvas.xml?rev=984036&r1=984035&r2=984036&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/behaviour/canvas.xml (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/behaviour/canvas.xml Tue Aug 10 14:20:20 2010
@@ -83,11 +83,17 @@ In both:
var sePtY = cachedBBox.height + cachedBBox.y;
var sScale = scaleHandle.transform.baseVal.getItem(0);
- var newM = identity.translate(sePtX,sePtY);
+ var bbox = scaleHandle.getBBox();
+ var dx = sePtX - bbox.x;
+ var dy = sePtY - bbox.y;
+ var newM = scaleHandle.ownerSVGElement.createSVGMatrix().translate(dx,dy).multiply(sScale.matrix);
sScale.setMatrix(newM);
var rScale = rotationHandle.transform.baseVal.getItem(0);
- var newM = identity.translate(sePtX,sePtY);
+ var bbox = rotationHandle.getBBox();
+ var dx = sePtX - bbox.x;
+ var dy = sePtY - bbox.y;
+ var newM = rotationHandle.ownerSVGElement.createSVGMatrix().translate(dx,dy).multiply(rScale.matrix);
rScale.setMatrix(newM);
}
@@ -96,8 +102,8 @@ In both:
//get the aggregate of the bounding boxes of his children, or if he has no hier children, get his own bbox
var newBBox;
if(nodes.length){
- var bboxes = $(nodes).map(function(e){
- return e.visualObject.getBBoxInEntitySpace(boundingBoxGraphEntity.visualObject);
+ var bboxes = nodes.map(function(n){
+ return n.getBBox();
});
var newBBoxX0 = Math.min.apply(this,bboxes.map(function(bbox){ return bbox.x }))
@@ -253,6 +259,14 @@ In both:
<state id="nodes_selected" initial="ready_to_scale">
+ <onentry>
+ <assign location="cachedCenterPoint" expr="getAggregateCenterPoint(selectedNodes)"/>
+ <assign location="cachedBBox" expr="getAggregateBBox(selectedNodes)"/>
+ <script>
+ updateTransformHandles();
+ </script>
+ </onentry>
+
<history type="shallow" id="nodes_selected_history">
<target id="ready_to_scale"/>
</history>
@@ -491,7 +505,7 @@ In both:
</transition>
<transition target="ready" event="mouseup">
<assign location="tDelta" expr="computeTDelta(firstEvent,eventStamp)"/>
- <assign location="cachedCenterPoint" expr="getCenterPoint(selectedNodes)"/>
+ <assign location="cachedCenterPoint" expr="getAggregateCenterPoint(selectedNodes)"/>
<assign location="cachedBBox" expr="getAggregateBBox(selectedNodes)"/>
<!-- TODO -->
<script>
@@ -525,7 +539,7 @@ In both:
<state id="scaling">
<transition target="ready" event="mouseup">
- <assign location="cachedCenterPoint" expr="getCenterPoint(selectedNodes)"/>
+ <assign location="cachedCenterPoint" expr="getAggregateCenterPoint(selectedNodes)"/>
<assign location="cachedBBox" expr="getAggregateBBox(selectedNodes)"/>
<script>
updateTransformHandles();
@@ -578,8 +592,13 @@ In both:
<transition target="ready" event="mouseup">
<script>
+ $(selectedNodes).removeClass("selected");
+ </script>
+ <script>
+ selectedNodes = [nodeBeingDrawn];
+
allNodes.push(nodeBeingDrawn);
- selectedNodes.push(nodeBeingDrawn);
+
$(nodeBeingDrawn).addClass("selected");
</script>
</transition>
Copied: commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool-precompiled.html (from r984035, commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html)
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool-precompiled.html?p2=commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool-precompiled.html&p1=commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html&r1=984035&r2=984036&rev=984036&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool-precompiled.html Tue Aug 10 14:20:20 2010
@@ -42,6 +42,10 @@
stroke : none;
}
+ ellipse.selected, rect.selected {
+ stroke-dasharray : 5,5;
+ }
+
@import "lib/jquery.svg.css";
</style>
@@ -52,6 +56,7 @@
<script src="lib/jquery-1.4.2.js" type="text/javascript"></script>
<script src="lib/jquery.svg.js" type="text/javascript"></script>
<script src="lib/jquery.svgdom.js" type="text/javascript"></script>
+ <script src="build/canvas.js"></script>
<script>
$(document).ready(function(){
@@ -122,7 +127,10 @@
transform:"rotate(-45)",
visibility:"hidden"
})
- var rotationHandle = svg.path("M 12 0 L 17 5 L 15 5 Q 15 15 5 15 L 5 17 L 0 12 L 5 7 L 5 9 Q 9 9 9 5 L 7 5 L 12 0 z",{visibility:"hidden"})
+ var rotationHandle = svg.path("M 12 0 L 17 5 L 15 5 Q 15 15 5 15 L 5 17 L 0 12 L 5 7 L 5 9 Q 9 9 9 5 L 7 5 L 12 0 z",{
+ visibility:"hidden",
+ transform:"translate(0,0)"
+ })
function hookUpDOMEvents(node,compiledStatechartInstance){
//hook up DOM events
@@ -136,68 +144,28 @@
});
}
- require(
- {
- "baseUrl":"/"
- },
- ["src/javascript/scxml/cgf/SCXMLCompiler",
- "demo/drawing-tool/transform",
- "xml!demo/drawing-tool/behaviour/canvas.xml" ],
-
- function(compiler,svgTransformer,canvasBehaviourSCXML){
-
- require( [window.DOMParser ?
- "src/javascript/scxml/cgf/util/xsl/browser" :
- "src/javascript/scxml/cgf/util/xsl/ie"],
- function(xslTransformer){
-
-
- var d = new Date();
-
- compiler.compile({
- inFiles:[canvasBehaviourSCXML],
- //debug:true,
- backend:"state",
- beautify:true,
- verbose:false,
- log:false,
- ie:false
- }, function(scArr){
-
- console.log("Compiling statecharts took:",new Date() - d);
- //eval
- for(var i=0, l=scArr.length; i < l; i++){
- console.log(scArr[i]);
- eval(scArr[i]);
- }
-
- //hook up canvas behaviour
- var canvasSC = new CanvasStatechartExecutionContext();
-
- svg.statechart = canvasSC; //hook up dom node reference
-
- canvasSC.initialize();
-
- //pass in reference to rect
- canvasSC.init({
- svg:svg,
- scaleHandle:scaleHandle,
- rotationHandle:rotationHandle,
- ellipseButton:ellipseButton,
- rectButton:rectButton,
- transformButton:transformButton,
- ellipseIcon:ellipseButtonIcon,
- rectIcon:rectButtonIcon,
- transformIcon:transformButtonIcon
- });
-
- hookUpDOMEvents(svg.root(),canvasSC);
- hookUpDOMEvents(toolbar.root(),canvasSC);
-
- },xslTransformer);
- })
- }
- );
+ //hook up canvas behaviour
+ canvasSC = new CanvasStatechartExecutionContext();
+
+ svg.statechart = canvasSC; //hook up dom node reference
+
+ canvasSC.initialize();
+
+ //pass in reference to rect
+ canvasSC.init({
+ svg:svg,
+ scaleHandle:scaleHandle,
+ rotationHandle:rotationHandle,
+ ellipseButton:ellipseButton,
+ rectButton:rectButton,
+ transformButton:transformButton,
+ ellipseIcon:ellipseButtonIcon,
+ rectIcon:rectButtonIcon,
+ transformIcon:transformButtonIcon
+ });
+
+ hookUpDOMEvents(svg.root(),canvasSC);
+ hookUpDOMEvents(toolbar.root(),canvasSC);
}
})
}
@@ -214,3 +182,4 @@
+
Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html?rev=984036&r1=984035&r2=984036&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drawing-tool/drawing-tool.html Tue Aug 10 14:20:20 2010
@@ -42,6 +42,10 @@
stroke : none;
}
+ circle.selected, rect.selected {
+ stroke-dasharray : 4 4;
+ }
+
@import "lib/jquery.svg.css";
</style>
Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/run.sh
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/run.sh?rev=984036&r1=984035&r2=984036&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/run.sh (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/run.sh Tue Aug 10 14:20:20 2010
@@ -6,4 +6,4 @@
dn=`dirname $0`
abspath=`cd $dn; pwd`
-java -cp ./lib/java/js.jar:./lib/java/commons-cli.jar:./lib/java/serializer.jar:./lib/java/xalan.jar:./lib/java/xercesImpl.jar:./lib/java/xml-apis.jar org.mozilla.javascript.tools.shell.Main -debug runner.js $abspath src/javascript/scxml/cgf/main $*
+java -cp $abspath/lib/java/js.jar:$abspath/lib/java/commons-cli.jar:$abspath/lib/java/serializer.jar:$abspath/lib/java/xalan.jar:$abspath/lib/java/xercesImpl.jar:$abspath/lib/java/xml-apis.jar org.mozilla.javascript.tools.shell.Main -debug $abspath/runner.js $abspath src/javascript/scxml/cgf/main $*