[Checkins] SVN: z3c.reference/branches/flash/src/z3c/reference/ extended demo application of z3c.reference

Johannes Faigle johannes.faigle at lovelysystems.com
Tue Sep 4 05:29:57 EDT 2007


Log message for revision 79457:
  extended demo application of z3c.reference

Changed:
  U   z3c.reference/branches/flash/src/z3c/reference/README.txt
  U   z3c.reference/branches/flash/src/z3c/reference/browser/configure.zcml
  A   z3c.reference/branches/flash/src/z3c/reference/browser/resources/jquery.popupwindow.js
  U   z3c.reference/branches/flash/src/z3c/reference/browser/widget.py
  U   z3c.reference/branches/flash/src/z3c/reference/demo/README.txt
  U   z3c.reference/branches/flash/src/z3c/reference/demo/app.py
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/addref.pt
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/configure.zcml
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/ftesting.zcml
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/js/jquery.js
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/picker.pt
  U   z3c.reference/branches/flash/src/z3c/reference/demo/browser/views.py
  U   z3c.reference/branches/flash/src/z3c/reference/demo/configure.zcml
  U   z3c.reference/branches/flash/src/z3c/reference/demo/interfaces.py
  U   z3c.reference/branches/flash/src/z3c/reference/interfaces.py
  U   z3c.reference/branches/flash/src/z3c/reference/reference.py
  U   z3c.reference/branches/flash/src/z3c/reference/schema.py

-=-
Modified: z3c.reference/branches/flash/src/z3c/reference/README.txt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/README.txt	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/README.txt	2007-09-04 09:29:56 UTC (rev 79457)
@@ -137,3 +137,4 @@
   Traceback (most recent call last):
   ...
   ValueError: ('viewReferences', 'field is readonly')
+

Modified: z3c.reference/branches/flash/src/z3c/reference/browser/configure.zcml
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/configure.zcml	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/configure.zcml	2007-09-04 09:29:56 UTC (rev 79457)
@@ -26,7 +26,6 @@
       permission="zope.Public"
       />
   
-  
   <view
       for="..interfaces.IViewReference"
       name="absolute_url"
@@ -54,7 +53,10 @@
   
   <resourceLibrary name="z3c.reference"
                    require="z3c.javascript.jquery">
-    <directory source="resources" include="z3c_reference.js"/>
+    <!--directory source="resources"
+               include="z3c_reference.js jquery.thickbox.js thickbox.css forms.extended.js extra.js jquery.forms.js"/-->
+        <directory source="resources"
+               include="z3c_reference.js jquery.popupwindow.js"/>
   </resourceLibrary>
   
   <browser:resourceDirectory

Added: z3c.reference/branches/flash/src/z3c/reference/browser/resources/jquery.popupwindow.js
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/resources/jquery.popupwindow.js	                        (rev 0)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/resources/jquery.popupwindow.js	2007-09-04 09:29:56 UTC (rev 79457)
@@ -0,0 +1,118 @@
+/*
+Popupwindow plugin for jQuery.
+by: Tony Petruzzi
+homepage: http://rip747.wordpress.com
+plugin download: http://rip747.wordpress.com/2007/03/02/the-return-of-popupwindow-jquery-plugin/
+  
+Takes a link and will create a popupwindow based on the href of the link. You can
+over ride the default setting by passing your own settings using the REL attribute
+of the link. You can have different setting for each link if you'd like.
+   
+To use just include the plugin in the HEAD section of the page AFTER calling jQuery.
+After that, use jQuery to find the links you want and pass any parameters you want
+
+04/04/2007:
+
+1) added profiles so you don't have to pass the settings for each link anymore.
+2) remove resize as a setting and add the correct setting resizable
+3) removed example text from this file and made an index.htm files to house example.
+4) add example of using profiles to the new examples page.
+5) example pulls the latest jquery library from jquery.com.
+
+05/14/2007
+
+1) removed trailing comma in settings that was causing IE to bottom out with an error.
+
+*/
+
+jQuery.fn.popupwindow = function(p)
+{
+
+	var profiles = p || {};
+
+	return this.each(function(index){
+		var setting, parameters, mysettings, b, a;
+		
+		// for overrideing the default settings
+		mysettings = (jQuery(this).attr("rel") || "").split(",");
+
+		
+		settings = {
+			height:600, // sets the height in pixels of the window.
+			width:600, // sets the width in pixels of the window.
+			toolbar:0, // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
+			scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
+			status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
+			resizable:1, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
+			left:0, // left position when the window appears.
+			top:0, // top position when the window appears.
+			center:0 // should we center the window? {1 (YES) or 0 (NO)}. overrides top and left
+		};
+
+		// if mysettings length is 1 and not a value pair then assume it is a profile declaration
+		// and see if the profile settings exists
+
+
+		if(mysettings.length == 1 && mysettings[0].split(":").length == 1)
+		{
+			a = mysettings[0];
+			// see if a profile has been defined
+			if(typeof profiles[a] != "undefined")
+			{
+				settings = jQuery.extend(settings, profiles[a]);
+			}
+		}
+		else
+		{
+			// overrides the settings with parameter passed in using the rel tag.
+			for(var i=0; i < mysettings.length; i++)
+			{
+				b = mysettings[i].split(":");
+				if(typeof settings[b[0]] != "undefined" && b.length == 2)
+				{
+					settings[b[0]] = b[1];
+				}
+			}
+		}
+
+		// center the window
+		if (settings.center == 1)
+		{
+			settings.top = (screen.height-(settings.height + 110))/2;
+			settings.left = (screen.width-settings.width)/2;
+		}
+		
+		parameters = "height=" + settings.height + ",width=" + settings.width + ",toolbar=" + settings.toolbar + ",scrollbars=" + settings.scrollbars  + ",status=" + settings.status + ",resizable=" + settings.resizable + ",left=" + settings.left  + ",screenX=" + settings.left + ",top=" + settings.top  + ",screenY=" + settings.top;
+		
+		jQuery(this).bind("click", function(){
+			var name = "PopUpWindow" + index;
+			window.open(this.href, name, parameters).focus();
+			return false;
+		});
+	});
+
+};
+
+// settings for popupwindow
+var profiles = {
+		window:
+		{
+			height:550,
+			width:171,
+			status:0,
+            scrollbars:1,
+            resizable:1
+		}
+	};
+
+// popup
+$(document).ready(function(){
+  $(function() {
+    $("a.popupwindow").popupwindow(profiles);
+  });
+});
+
+
+function setIntId(id) {
+  $("input[@name=form.previewImage]").val(id);
+}
\ 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-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/widget.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -15,7 +15,7 @@
 untitled = u'No Link defined'
 undefined = u'Undefined'
 
-emptyViewReference = ViewReference(view=u'#')
+emptyViewReference = None
 emptyImageReference = ImageReference(
     view=u'/@@/z3c.reference.resources/noimage.jpg')
 
@@ -57,11 +57,10 @@
 
 
 class ViewReferenceWidget(TextWidget):
-
     """renders an "a" tag with the title and href attributes
 
     if no target
-
+    
     >>> from zope.publisher.browser import TestRequest
     >>> from z3c.reference.schema import ViewReferenceField
     >>> from zope.app.folder import Folder
@@ -114,13 +113,13 @@
 
     
     """
-
+    
     tag = u'input'
-    type = u'hidden'
-    cssClass = u''
-    extra =  u'z3c:explorerLink="@@explorer.html?link=1"'
+    type = u'text'
+    cssClass = u'popupwindow'
+    extra =  u'rel="window"'
     refTag = u'a'
-    refTagOnClick="z3cReferenceOnClick(this); return false;"
+    refTagOnClick=""
     _emptyReference = emptyViewReference
 
 
@@ -143,18 +142,22 @@
                 ref = None
         if ref is None:
             ref = self._emptyReference
-        url = absoluteURL(ref,self.request)
-        if ref.target is not None:
-            contents = getattr(ref.target,'title',None) or \
-                       ref.target.__name__
-        else:
-            contents = untitled
+        #url = absoluteURL(ref,self.request)
+        #if ref.target is not None:
+        #    contents = getattr(ref.target,'title',None) or \
+        #               ref.target.__name__
+        #else:
+        #    contents = untitled
+        #ref = self._emptyReference
+        siteUrl =  absoluteURL(hooks.getSite(),self.request)
+        contents = undefined
         tag = renderElement(self.refTag,
-                            href=url,
+                            href = siteUrl + '/@@picker.html',
                             name=self.name,
                             id=self.name + '.tag',
                             title=contents,
                             onclick=self.refTagOnClick,
+                            cssClass = self.cssClass,
                             contents=contents,
                             style=self.style,
                             extra=self.extra)

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/README.txt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/README.txt	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/README.txt	2007-09-04 09:29:56 UTC (rev 79457)
@@ -77,4 +77,8 @@
   >>> i2.viewReferences[0].__parent__ is f1
   True
 
+Settings
+========
 
+
+

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/app.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/app.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/app.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -14,7 +14,7 @@
 
 class DemoFolder(Folder):
     interface.implements(IDemoFolder, IReferenced)
-    previewImage = ViewReferenceProperty("previewImage")
+    previewImage = ViewReferenceProperty("PreviewImage")
     assets = ViewReferenceProperty("assets")
     
     viewReferences = RelationPropertyIn(viewReferenceRelated)

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/addref.pt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/addref.pt	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/addref.pt	2007-09-04 09:29:56 UTC (rev 79457)
@@ -11,26 +11,23 @@
         margin: 5px;
         border: 1px solid #000;
       }
+
+      div.actions {
+        clear: both;
+        border-width: 0px;
+      }
     </style>
     <script src="jquery"
             type="text/javascript"
             tal:attributes="src context/++resource++jquery.js">
     </script>
-    <script type="text/javascript">
-      function setIntId(uid) {
-        $("input[@name=intid]").attr("value",uid);
-        $("div.properties").show();
-        $("div.actions").show();
-        $("div.image-tool").show();
-      }
-    </script>
     <script type="text/javascript"
             tal:content="string:
              function loadFlash() {
                var url='${context/++resource++imagetool.swf}';
                var img='${context/++resource++img.jpg}';
                url = url + '?url=' + img;
-               var so = new SWFObject(url, 'image-tool', '100%', '500px', '8', 0x000000);
+               var so = new SWFObject(url, 'image-tool', '100%', '300px', '8', 0x000000);
                so.addParam('allowScriptAccess', 'sameDomain');
                so.addParam('movie', url);
                so.addParam('quality', 'high');
@@ -48,11 +45,44 @@
     </script>
     <script type="text/javascript">
       $(document).ready(loadFlash);
+
+      // user selects an item
+      function setIntId(uid) {
+        // reset values
+        $("textarea").val("");
+        $("input[@type=text]").val("");
+        // set iniid of selected item
+        $("input[@name=intid]").val(uid);
+        // highlight selected item
+        $("a").attr("style", "");
+        $("a[@href*=" + uid + "]").attr("style","background-color: red");
+        // show divs
+        $("div.properties").show();
+        $("div.actions").show();
+        $("div.image-tool").show();
+      }
+
+      
+      $(document).ready(function(){
+        // pressed submit button
+        // return selected item to parent and close popup
+        $("input[@type=submit]").click(function() {
+          var intid = $("input[@name=intid]").val();
+          window.opener.setIntId(intid);
+          window.close();
+        });
+
+        // expand window size
+        $("a").click(function() {
+
+        });
+      });
     </script>
   </head>
   <body>
     <form>
       <div class="picker">
+        <b>Target:</b><br />
         <tal:block repeat="item view/items">
           <a href="#"
              tal:attributes="href string:JavaScript:setIntId(${item/uid})">
@@ -63,15 +93,16 @@
         <input name="intid" type="text" value="None" />
       </div>
       <div class="properties" style="display:none;">
+        <b>Properties:</b><br />
         <label for="title">Title</label>
         <input id="title" name="title" type="text"  /><br />
         <label for="description">Decsprition</label>
         <textarea id="description" name="description"
                   cols="20" rows="10"
-                  ></textarea>
+                  >abcd</textarea>
       </div>
       <div class="image-tool" style="display:none;">
-        <div style="display:none;">
+        <!--div style="display:none;">
           <ul>
             <li><a href="javascript:zoom(1)">zoom in</a></li>
             <li><a href="javascript:zoom(-1)">zoom out</a></li>
@@ -79,7 +110,7 @@
             <li><a href="javascript:rotate(-1)">rotate left</li>
             <li><a href="javascript:save()">save</a></li>
           </ul>    
-        </div>
+        </div-->
         <div id="flash-target">
         </div>
       </div>

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/configure.zcml
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/configure.zcml	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/configure.zcml	2007-09-04 09:29:56 UTC (rev 79457)
@@ -37,6 +37,15 @@
       permission="zope.ManageContent"
       />
 
+  <page
+      for="zope.app.component.interfaces.ISite"
+      name="picker.html"
+      class=".views.Picker"
+      permission="zope.ManageContent"
+      template="picker.pt"
+      />
+
+  <!-- test -->
   <pages
       for="zope.annotation.interfaces.IAnnotatable"
       permission="zope.app.dublincore.change"
@@ -59,22 +68,7 @@
       permission="zope.ManageContent"
       template="test.pt"
       />
-  
-  <page
-      for="zope.app.component.interfaces.ISite"
-      name="objectpicker.html"
-      class=".views.DemoPicker"
-      permission="zope.ManageContent"
-      template="picker.pt"
-      />
 
-  <page
-      for="zope.app.component.interfaces.ISite"
-      name="addref.html"
-      class=".views.AddRef"
-      permission="zope.ManageContent"
-      template="addref.pt"
-      />
 <!--
   <editform schema="z3c.reference.demo.interfaces.IDemoFolder"
   label="Edit" name="editdemofolder.html" menu="zmi_views"

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/ftesting.zcml
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/ftesting.zcml	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/ftesting.zcml	2007-09-04 09:29:56 UTC (rev 79457)
@@ -61,11 +61,11 @@
   <include package="zope.app.intid" />
   <include package="zope.app.keyreference" />
   <include package="zope.formlib"/>
-  <include package="lovely.portal"/>
   <include package="zc.resourcelibrary" />
   <include package="z3c.javascript.jquery"/>  
 
   <include package="lovely.relation" />
+  <include package="lovely.relation" file="o2o.zcml" />
   <include package="z3c.reference" />
   <include package="z3c.reference.demo" />
     

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/js/jquery.js
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/js/jquery.js	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/js/jquery.js	2007-09-04 09:29:56 UTC (rev 79457)
@@ -2683,5 +2683,5 @@
 
 
 function cropImage(crop_x, crop_y, crop_w, crop_h, size_w, size_h, rotation){
-    alert(crop_x + "-" + crop_y + "-" + crop_w + "-" + crop_h);
+    alert(crop_x + "-" + crop_y + "-" + crop_w + "-" + crop_h + "-" + size_w + "-" + size_h + "-" + rotation);
 } 

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/picker.pt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/picker.pt	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/picker.pt	2007-09-04 09:29:56 UTC (rev 79457)
@@ -6,22 +6,184 @@
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>demo picker</title>
     <style type="text/css">
+      body {
+        margin: 0px;
+        padding: 0px;
+        height: 100%;
+        font-family: 'Trebuchet MS';
+        font-size: 10pt;
+      }
+
+      a {
+        color: #000;
+      }
+
+      a.ex1, a.ex2 {
+        color: #888;
+        text-decoration: none;
+      }
+
+      div {
+        margin: 0px;
+      }
+      
+      div.float {
+        position: absolute;
+        padding: 0px 10px;
+        border: 0px solid #888;
+        border-right-width: 1px;
+        float:left;
+        height: 100%
+      }
+
+      div.picker {
+        width: 150px;
+      }
+
+      div.properties {
+        position: absolute;
+        left: 170px;
+        width: 200px;
+      }
+
+      div.image-tool {
+        position: absolute;
+        left: 390px;
+        width: 500px;
+      }
+
+      div.actions {
+        position: absolute;
+        left: 910px;
+        padding: 0px 10px;
+      }
+
+      h1 {
+        font-size: 12pt;
+        margin: 10px 0px;
+      }
+
+      label {
+        width: 80px;
+      }
+
+      input, textarea {
+        width: 196px;
+      }
+
     </style>
+    <script src="jquery"
+            type="text/javascript"
+            tal:attributes="src context/++resource++jquery.js">
+    </script>
+    <script type="text/javascript"
+            tal:content="string:
+             function loadFlash() {
+               var url='${context/++resource++imagetool.swf}';
+               var img='${context/++resource++img.jpg}';
+               url = url + '?url=' + img;
+               var so = new SWFObject(url, 'image-tool', '100%', '490px', '8', 0x000000);
+               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', '90');
+               var ok = so.write('flash-target');
+             }
+             ">
+    </script>
+    <script type="text/javascript">
+      $(document).ready(loadFlash);
+
+      // user selects an item
+      function setIntId(uid) {
+        // reset values
+        $("textarea").val("");
+        $("input[@type=text]").val("");
+        // set iniid of selected item
+        $("input[@name=intid]").val(uid);
+        // highlight selected item
+        $("a").attr("style", "");
+        $("a[@href*=" + uid + "]").attr("style","background-color: #888");
+        // show divs
+        $("div.properties").show();
+       // $("div.actions").show();
+       // $("div.image-tool").show();
+      }
+
+      
+      $(document).ready(function(){
+        // pressed submit button
+        // return selected item to parent and close popup
+        $("input[@type=submit]").click(function() {
+          var intid = $("input[@name=intid]").val();
+          window.opener.setIntId(intid);
+          window.close();
+        });
+
+        $("a.target").click(function() {
+          $("div.actions").hide();
+          $("div.image-tool").hide();
+          $("a.ex1").show();
+          $("a.ex2").show();
+          window.resizeTo(171, 550);
+          window.resizeBy(220, 0);
+        });
+        
+        $("a.ex1").click(function() {
+          $("a.ex1").hide();
+          $("div.image-tool").show();
+          window.resizeBy(520, 0);
+        });
+        
+        $("a.ex2").click(function() {
+          $("a.ex2").hide();
+          $("div.actions").show();
+          window.resizeBy(220, 0);
+        });
+      });
+    </script>
   </head>
   <body>
-    <div class="picker">
-      <h1>elements</h1>
-      <tal:block repeat="element view/elements">
-        <div>
-          <a href="#"
-             tal:attributes="href string:${view/url}/${element/__name__}/@@change.html">
-          <span tal:replace="element/__name__" />
-          </a>
-        </div>
+    <div class="picker float">
+      <input name="intid" type="hidden" value="None" />
+      <h1>Targets</h1>
+      <tal:block repeat="item view/items">
+        <a href="#" class="target"
+           tal:attributes="href string:JavaScript:setIntId(${item/uid})">
+          <span tal:replace="item/name" />
+        </a>
+        <br />
       </tal:block>
     </div>
-    <div class="properties">
-      
+    <div class="properties float" style="display:none;">
+      <h1>
+        Properties
+        <a href="#" class="ex1">>></a>
+      </h1>
+      <label for="title">Title</label><br />
+      <input id="title" name="title" type="text"  /><br />
+      <label for="description">Description</label><br />
+      <textarea id="description" name="description"
+                cols="20" rows="5"
+                >abcd</textarea>
     </div>
+    <div class="image-tool float" style="display:none;">
+      <h1>
+        Image-Tool
+        <a href="#" class="ex2">>></a>
+      </h1>
+      <div id="flash-target"></div>
+    </div>
+    <div class="actions" style="display:none;">
+      <h1>Save</h1>
+      <input type="submit" value="add reference" />
+    </div>
   </body>
 </html>
\ No newline at end of file

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/browser/views.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/browser/views.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/browser/views.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -13,17 +13,19 @@
 
 class DemoFolderEdit(form.EditForm):
     form_fields = form.Fields(IDemoFolder)
+    label = u"Edit demofolder"
+    
 
-
 class DemoImageEdit(form.EditForm):
     form_fields = form.Fields(IDemoImage)
 
 
-class AddRef(object):
-    
+
+class Picker(object):
     def items(self):
         intIds = component.getUtility(IIntIds)
         for o in self.context.values():
+            # skip intid
             if str(o.__class__) == u"<class 'zope.app.intid.IntIds'>":
                 continue
             yield dict(
@@ -35,13 +37,14 @@
         return absoluteURL(self.context, self.request)
 
 
+# temp
 class Test(object):
     def test(self):
         intIds = component.getUtility(IIntIds)
-        print self.context
         return intIds.getId(self.context)
 
-            
+
+# temp
 class DemoPicker(object):
     
     def elements(self):
@@ -52,6 +55,7 @@
         return absoluteURL(self.context, self.request)
 
 
+# test for dublin core metadata
 class Meta(object):
     """Update dc title."""
 

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/configure.zcml
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/configure.zcml	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/configure.zcml	2007-09-04 09:29:56 UTC (rev 79457)
@@ -1,9 +1,8 @@
 <configure
     xmlns="http://namespaces.zope.org/zope"
     xmlns:i18n="http://namespaces.zope.org/i18n"
-    i18n_domain="z3c.reference"
-    >
-
+    i18n_domain="z3c.reference" >
+  
   <class class="z3c.reference.demo.app.DemoFolder">
     <implements
         interface="zope.annotation.interfaces.IAttributeAnnotatable" />

Modified: z3c.reference/branches/flash/src/z3c/reference/demo/interfaces.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/demo/interfaces.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/demo/interfaces.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -4,11 +4,13 @@
 
 class IDemoFolder(interface.Interface):
     """ demo folder"""
-    previewImage = ViewReferenceField('previewImage')
-    assets = schema.List(title=u"Related",
-                         value_type=ViewReferenceField(u'demosettings'),
-                         required=False,
-                         default=[])
+    previewImage = ViewReferenceField('previewImage',
+                                      title=u"previewImage",
+                                      required=False)
+    #assets = schema.List(title=u"Related",
+    #                     value_type=ViewReferenceField(u'demosettings'),
+    #                     required=False,
+    #                     default=[])
     
 
 class IDemoImage(interface.Interface):

Modified: z3c.reference/branches/flash/src/z3c/reference/interfaces.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/interfaces.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/interfaces.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -4,7 +4,6 @@
 from zope.interface.interfaces import IInterface
 
 class IViewReference(interface.Interface):
-
     """a reference to a view of an object, by storing the name of the
     view. If the target is None, the view name is supposed to be an
     absolute url to an external target"""
@@ -13,27 +12,36 @@
                            title=u'Target Object')
     view = schema.TextLine(required=False,title=u'View')
 
+
+class IImageReference(IViewReference):
+    """a reference to an image with optional size constraints"""
+
+    target = schema.Object(IImage,required=False,
+                           title=u'Target Image')
+
+
 class IReferenced(interface.Interface):
     """backrefs"""
+
     viewReferences = schema.List(title=u"View references",
                            value_type=schema.Object(IViewReference),
                            required=False,
                            readonly=True,
                            default=[])
 
+class IViewReferenceSettings(interface.Interface):
+    settings = schema.List(title=u'Settings',
+                           required=False,
+                           default=[])
+
+
 class IViewReferenceField(schema.interfaces.IObject):
     """a view reference field"""
 
     settings = schema.TextLine(title=u"Settings",
                                required=False)
-    
 
-class IImageReference(IViewReference):
 
-    """a reference to an image with optional size constraints"""
-    target = schema.Object(IImage,required=False,
-                           title=u'Target Image')
-
 class IImageReferenceField(schema.interfaces.IObject):
     
     """an image reference field"""
@@ -43,8 +51,9 @@
                         required=True,
                         min_length=2,max_length=2)
 
+
 class IObjectReferenceField(IViewReferenceField):
-    
+   
     """a schema based reference field"""
 
     refSchema = schema.Object(IInterface,

Modified: z3c.reference/branches/flash/src/z3c/reference/reference.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/reference.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/reference.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -42,6 +42,5 @@
         
 
 class ImageReference(ViewReference):
-
     interface.implements(IImageReference)
     

Modified: z3c.reference/branches/flash/src/z3c/reference/schema.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/schema.py	2007-09-04 01:49:02 UTC (rev 79456)
+++ z3c.reference/branches/flash/src/z3c/reference/schema.py	2007-09-04 09:29:56 UTC (rev 79457)
@@ -9,30 +9,13 @@
         settings = settings
         super(ViewReferenceField,self).__init__(IViewReference,
                                                 **kw)
+
         
-class ImageReferenceField(schema.Object):
-    interface.implements(IImageReferenceField)
-    size = schema.fieldproperty.FieldProperty(IImageReferenceField['size'])
-    
-    def __init__(self,**kw):
-        self.size = kw.pop('size',None)
-        super(ImageReferenceField,self).__init__(IImageReference,
-                                                 **kw)
-
-class ObjectReferenceField(ViewReferenceField):
-
-    interface.implements(IObjectReferenceField)
-
-    def __init__(self,refSchema,**kw):
-        self.refSchema = refSchema
-        super(ObjectReferenceField,self).__init__(**kw)
-
-
 class ViewReferenceProperty(property):
     """A property that takes care of setting __parent__ for all reference
     objects when being set on the content object.
     """
-
+    
     def __init__(self, name):
         self.name = "_%s" % name
 
@@ -46,3 +29,22 @@
         else:
             value.__parent__ = obj
         setattr(obj, self.name, value)
+
+    
+class ImageReferenceField(schema.Object):
+    interface.implements(IImageReferenceField)
+    size = schema.fieldproperty.FieldProperty(IImageReferenceField['size'])
+    
+    def __init__(self,**kw):
+        self.size = kw.pop('size',None)
+        super(ImageReferenceField,self).__init__(IImageReference,
+                                                 **kw)
+
+
+class ObjectReferenceField(ViewReferenceField):
+    interface.implements(IObjectReferenceField)
+
+    def __init__(self,refSchema,**kw):
+        self.refSchema = refSchema
+        super(ObjectReferenceField,self).__init__(**kw)
+



More information about the Checkins mailing list