[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL - Main.py:1.1.4.3 SetLimit.py:1.1.4.3 Tree.py:1.1.4.3 action.pt:1.1.4.2 limit.pt:1.1.4.2 main.pt:1.1.4.2 xul.zcml:1.1.4.3

Jim Fulton jim@zope.com
Fri, 7 Jun 2002 10:41:41 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL
In directory cvs.zope.org:/tmp/cvs-serv12187/lib/python/Zope/App/OFS/Content/Folder/Views/XUL

Modified Files:
      Tag: Zope-3x-branch
	Main.py SetLimit.py Tree.py action.pt limit.pt main.pt 
	xul.zcml 
Log Message:
Merging in Zope3InWonderland-branch, which implemented the following
proposals (see
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/OldProposals): 
- RenameAllowToRequire

- GroupClassRelatedDirectivesInClassDirective

- ViewInterfaceAndSimplification

- ConsistentUseOfSpacesAsDelimitersInZCMLAttributes

- TwoArgumentViewConstructors

- ImplementsInZCML

- SimpleViewCreationInZCML

- RemoveGetView

- ReplaceProtectWithAllow

- ViewMethodsAsViews

- MergeProtectionAndComponentDefinitions

There were also various security fixes resulting of better integration
of security with components.


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/Main.py 1.1.4.2 => 1.1.4.3 ===
 
 from Zope.App.PageTemplate import ViewPageTemplateFile
-from Zope.Publisher.Browser.AttributePublisher import AttributePublisher
+from Zope.Publisher.Browser.BrowserView import BrowserView
 from Zope.App.OFS.IContainer import IReadContainer
 
-class Main(AttributePublisher):
+class Main(BrowserView):
     """ """
-
-    __implements__ = AttributePublisher.__implements__
-
-
-    def __init__(self, context):
-        """Initialize form.
-        """
-        self._context = context
-
-
-    def getContext(self):
-        """ """
-        return self._context
-
 
     index = ViewPageTemplateFile('main.pt')
     menu = ViewPageTemplateFile('menu.pt')


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/SetLimit.py 1.1.4.2 => 1.1.4.3 ===
     def action(self, limit):
         ''' '''
-        self.getContext().setLimit(int(limit))
+        self.context.setLimit(int(limit))


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/Tree.py 1.1.4.2 => 1.1.4.3 ===
 
 from Zope.App.PageTemplate import ViewPageTemplateFiley
-from Zope.Publisher.Browser.AttributePublisher import AttributePublisher
+from Zope.Publisher.Browser.BrowserView import BrowserView
 from Zope.App.OFS.IContainer import IReadContainer
 
-class Tree(AttributePublisher):
+class Tree(BrowserView):
     """ """
 
-    __implements__ = AttributePublisher.__implements__
-
-
-    def __init__(self, context):
-        """Initialize form.
-        """
-        self._context = context
-
-
     def _makeSubTree(self, base, prefix=''):
         """ """
         rdf = ''
@@ -45,7 +36,9 @@
             rdf += _node_description %fillIn + '\n\n'
 
             # now we add the link to the base
-            local_links += '''<RDF:li resource="urn:explorer%(rdf_url)s"/>\n''' %fillIn
+            local_links += (
+                '''<RDF:li resource="urn:explorer%(rdf_url)s"/>\n'''
+                % fillIn)
 
             if IReadContainer.isImplementedBy(item[1]):
                 rdf += self._makeSubTree(item[1], fillIn['rdf_url'])
@@ -63,15 +56,10 @@
     def getRDFTree(self, REQUEST=None):
         ''' '''
         rdf  = _rdf_start
-        rdf +=  self._makeSubTree(self.getContext(), '')
+        rdf +=  self._makeSubTree(self.context, '')
         rdf += _rdf_end
         REQUEST.response.setHeader('Content-Type', 'text/xml')
         return rdf
-
-
-    def getContext(self):
-        """ """
-        return self._context
 
 
 


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/action.pt 1.1.4.1 => 1.1.4.2 ===
 function action(limit) {
   var s = new SOAPCall();
-  s.transportURI = "http://physics.cbu.edu:8082/loaded/methods;view/";
+  s.transportURI = "http://physics.cbu.edu:8082/loaded/view::methods/";
   s.verifySourceHeader = true;
   if (!s.verifySourceHeader)
     netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
 
   var p1 = new SOAPParameter(parseInt(limit), "limit");
-  s.encode(0, "setLimit", "http://physics.cbu.edu:8082/loaded/methods;view/", 0, null, 1, new Array(p1));
+  s.encode(0, "setLimit", "http://physics.cbu.edu:8082/loaded/view::methods/", 0, null, 1, new Array(p1));
   s.invoke();
 
-  s.encode(0, "getLimit", "http://physics.cbu.edu:8082/loaded/methods;view/", 0, null, 0, new Array());
+  s.encode(0, "getLimit", "http://physics.cbu.edu:8082/loaded/view::methods/", 0, null, 0, new Array());
   var r = s.invoke();
   oncompletion(r, s, 0);
  


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/limit.pt 1.1.4.1 => 1.1.4.2 ===
                         title view/title">
 
-  <script src="http://physics.cbu.edu:8080/loaded/limit_xul;view/action_js" />
+  <script src="http://physics.cbu.edu:8080/loaded/view::limit_xul/action_js" />
 
   <description tal:content="view/description">
     Form Description


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/main.pt 1.1.4.1 => 1.1.4.2 ===
 
   <hbox height="600">
-    <iframe id="tabs" src="main_xul;view/menu"/>
+    <iframe id="tabs" src="./view::main_xul/menu"/>
     <splitter collapse="before" resizeafter="farthest">
       <spacer flex="1"/>
       <grippy/>
       <spacer flex="1"/>
     </splitter>
-    <iframe flex="1" id="content" src="limit_xul;view"/>
+    <iframe flex="1" id="content" src="./view::limit_xul"/>
   </hbox>
 
 


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/Views/XUL/xul.zcml 1.1.4.2 => 1.1.4.3 ===
   <!-- Loaded Folder View Directives -->
 
-  <browser:view name="main_xul"
-    for="Zope.App.OFS.IContainer.IReadContainer."
-    factory="Zope.App.OFS.Content.Folder.Views.XUL.Main." />
-
-  <security:protectClass 
-    class="Zope.App.OFS.Content.Folder.Views.XUL.Main."
-    permission_id="Zope.ManageContent" names="index, menu" />
-
-  <browser:view name="tree"
-    for="Zope.App.OFS.IContainer.IReadContainer."
-    factory="Zope.App.OFS.Content.Folder.Views.XUL.Tree." />
-
-  <security:protectClass 
-    class="Zope.App.OFS.Content.Folder.Views.XUL.Tree."
-    permission_id="Zope.ManageContent" names="getRDFTree" />
-
-  <browser:view name="limit_xul"
-    for="Zope.App.OFS.IContainerLimit."
-    factory="Zope.App.OFS.Content.Folder.Views.XUL.SetLimit."/>
-
-  <security:protectClass 
-    class="Zope.App.OFS.Content.Folder.Views.XUL.SetLimit."
-    permission_id="Zope.ManageContent" names="index, action, action_js" />
-
-  <browser:view name="XULLimitFieldView"
-    for="Zope.App.OFS.IContainerLimit."
-    factory="Zope.App.OFS.Content.Folder.LoadedFolderFields.LimitField. Zope.App.Formulator.Widgets.XUL.TextWidget." />
+  <browser:view
+      name="main_xul"
+      for="Zope.App.OFS.IContainer.IReadContainer."
+      factory=".Main." />
+
+  <content class=".Main."
+    <security:require
+        permission="Zope.ManageContent"
+        attributes="index menu" />
+  </content>
+  
+  <browser:view
+      name="tree"
+      for="Zope.App.OFS.IContainer.IReadContainer."
+      factory=".Tree." />
+
+  <content class=".Tree."
+    <security:require
+        permission="Zope.ManageContent"
+        attributes="getRDFTree" />
+  </content>
+
+  <browser:view
+      name="limit_xul"
+      for="Zope.App.OFS.IContainerLimit."
+      factory=".SetLimit."/>
+
+  <content class=".SetLimit."
+    <security:require
+        permission="Zope.ManageContent"
+        attributes="index action action_js" />
+  </content>
+
+  <browser:view
+      name="XULLimitFieldView"
+      for="Zope.App.OFS.IContainerLimit."
+      factory="Zope.App.OFS.Content.Folder.LoadedFolderFields.LimitField.
+               Zope.App.Formulator.Widgets.XUL.TextWidget." />
 
 </zopeConfigure>