[Checkins] SVN: z3c.reference/branches/flash/src/z3c/reference/browser/ addded back parsing information

Manfred Schwendinger manfred.schwendiger at lovelysystems.com
Sun Sep 9 10:11:46 EDT 2007


Log message for revision 79542:
  addded back parsing information

Changed:
  U   z3c.reference/branches/flash/src/z3c/reference/browser/crop-image-widget.pt
  U   z3c.reference/branches/flash/src/z3c/reference/browser/widget.py

-=-
Modified: z3c.reference/branches/flash/src/z3c/reference/browser/crop-image-widget.pt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/crop-image-widget.pt	2007-09-09 14:03:31 UTC (rev 79541)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/crop-image-widget.pt	2007-09-09 14:11:45 UTC (rev 79542)
@@ -4,47 +4,73 @@
 
 <input tal:replace="structure view/inputField" />
 
-<script type="text/javascript" tal:content='string: 
-function encodeForFlash(str) {
-  str=str.split("+").join("[p]");
-	str=str.split("=").join("[e]");
-	return str;
-}
+<script type="text/javascript">
+    function getQueryParam(str, name){
+        var arr = str.split(name+'=');
+        if (arr.length < 2) return null;
+        
+        var val = arr[1];
+        var arr = val.split('&');
+        if (arr.length < 2){
+            return val;
+        }
+        return arr[0];
+    }
+</script>
 
-// stores flash information into input field
-function cropImage(crop_x, crop_y, crop_w, crop_h, size_w, size_h, rotation){
-  var url = "@@processed?";
-  url = url + "remote.adjust.rotate=" + rotation;
-  url = url + "&remote.size.w=" + size_w;
-  url = url + "&remote.size.h=" + size_h;
-  url = url + "&local.crop.h=" + crop_h;
-  url = url + "&local.crop.w=" + crop_w;
-  url = url + "&local.crop.x=" + crop_x;
-  url = url + "&local.crop.y=" + crop_y;
-  document.getElementById("${view/escapedName}").value = url;
-}
+<script type="text/javascript" tal:content="string: 
 
-'>
-</script>
+    function encodeForFlash(str) {
+      str=str.split('+').join('[p]');
+        str=str.split('=').join('[e]');
+        return str;
+    }
+    
+    // stores flash information into input field
+    function cropImage(crop_x, crop_y, crop_w, crop_h, size_w, size_h, rotation){
+      var url = '@@processed?';
+      url = url + 'remote.adjust.rotate=' + rotation;
+      url = url + '&remote.size.w=' + size_w;
+      url = url + '&remote.size.h=' + size_h;
+      url = url + '&local.crop.h=' + crop_h;
+      url = url + '&local.crop.w=' + crop_w;
+      url = url + '&local.crop.x=' + crop_x;
+      url = url + '&local.crop.y=' + crop_y;
+      document.getElementById('${view/escapedName}').value = url;
+    }
 
-<script type="text/javascript"
-        tal:content="string:
-              var url='${context/++resource++imagetool.swf}';
-              var img='${view/url}';
-              url = url + '?url=' + encodeForFlash(img) + '/@@resized';
-              var so = new SWFObject(url, 'image-tool-target', '100%', '490px', '8', '#FFFFFF');
-              so.addParam('allowScriptAccess', 'sameDomain');
-              so.addParam('movie', url);
-              so.addParam('quality', 'high');
-              so.addVariable('crop_x', '100');
-              so.addVariable('crop_y', '100');
-              so.addVariable('crop_w', '100');
-              so.addVariable('crop_h', '100');
-              so.addVariable('original_w', '600');
-              so.addVariable('original_h', '400');
-              so.addVariable('zoomfactor', '0.33');
-              so.addVariable('rotation', '0');
-              so.addVariable('keepAspectRatio', '${view/keepAspect}'); 
-              var ok = so.write('image-tool-target');
+    var startValue = document.getElementById('${view/escapedName}').value;
+    var rotate = getQueryParam(startValue, 'remote.adjust.rotate');
+    var crop_x = getQueryParam(startValue, 'local.crop.x');
+    var crop_y = getQueryParam(startValue, 'local.crop.y');
+    var crop_w = getQueryParam(startValue, 'local.crop.w');
+    var crop_h = getQueryParam(startValue, 'local.crop.y');
+
+    if (!rotate) rotate = 0;
+    if (!crop_x) crop_x = 0;    
+    if (!crop_y) crop_y = 0;
+    if (!crop_w) crop_w = ${view/cropWidth};
+    if (!crop_h) crop_h = ${view/cropHeight};    
+
+    var url='${context/++resource++imagetool.swf}';
+    var img='${view/url}';
+    url = url + '?url=' + encodeForFlash(img) + '/@@resized';
+    var so = new SWFObject(url, 'image-tool-target', '100%', '490px', '8', 0x000000);
+    so.addParam('allowScriptAccess', 'sameDomain');
+    so.addParam('movie', url);
+    so.addParam('quality', 'high');
+    so.addVariable('crop_x', crop_x);
+    so.addVariable('crop_y', crop_y);
+    so.addVariable('crop_w', crop_w);
+    so.addVariable('crop_h', crop_h);
+    //so.addVariable('original_w', '600');
+    //so.addVariable('original_h', '400');
+    //so.addVariable('zoomfactor', '0.33');
+    so.addVariable('rotation', rotate);
+    so.addVariable('keepAspectRatio', '${view/keepAspect}'); 
+    var ok = so.write('image-tool-target');
+
+    if (!ok) alert('error creating crop widget. flash plugin missing?');
+
             ">
 </script>
\ No newline at end of file

Modified: z3c.reference/branches/flash/src/z3c/reference/browser/widget.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/widget.py	2007-09-09 14:03:31 UTC (rev 79541)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/widget.py	2007-09-09 14:11:45 UTC (rev 79542)
@@ -332,7 +332,9 @@
 
     template = ViewPageTemplateFile('crop-image-widget.pt')
     keepAspect = False
-
+    cropWidth = 50
+    cropHeight = 50
+    
     def url(self):
         return absoluteURL(self.context.context, self.request)
     



More information about the Checkins mailing list