first steps towards using/integrating the viewlet and menu stuff
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@629 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
		
							parent
							
								
									1570c8d680
								
							
						
					
					
						commit
						14a324412a
					
				
					 7 changed files with 128 additions and 1 deletions
				
			
		|  | @ -38,6 +38,19 @@ | |||
|       fields="title" | ||||
|       /> | ||||
| 
 | ||||
|   <menu | ||||
|       id="mmain" | ||||
|       title="main Menu" | ||||
|       /> | ||||
| 
 | ||||
|   <menuItem | ||||
|       action="demo" | ||||
|       for="zope.interface.Interface" | ||||
|       menu="mmain" | ||||
|       title="Demo" | ||||
|       permission="zope.Public" | ||||
|       /> | ||||
| 
 | ||||
|   <include package=".skin" /> | ||||
| 
 | ||||
| </configure> | ||||
|  |  | |||
							
								
								
									
										53
									
								
								browser/menu.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								browser/menu.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| # | ||||
| #  Copyright (c) 2005 Helmut Merz helmutm@cy55.de | ||||
| # | ||||
| #  This program is free software; you can redistribute it and/or modify | ||||
| #  it under the terms of the GNU General Public License as published by | ||||
| #  the Free Software Foundation; either version 2 of the License, or | ||||
| #  (at your option) any later version. | ||||
| # | ||||
| #  This program is distributed in the hope that it will be useful, | ||||
| #  but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| #  GNU General Public License for more details. | ||||
| # | ||||
| #  You should have received a copy of the GNU General Public License | ||||
| #  along with this program; if not, write to the Free Software | ||||
| #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||
| # | ||||
| 
 | ||||
| """ | ||||
| cybertools menu. | ||||
| 
 | ||||
| $Id$ | ||||
| """ | ||||
| 
 | ||||
| from zope.app import zapi | ||||
| from zope.app.pagetemplate.simpleviewclass import simple | ||||
| from zope.viewlet.viewlet import ViewletBase, SimpleViewletClass | ||||
| from zope.app.publisher.interfaces.browser import IBrowserMenu | ||||
| 
 | ||||
| 
 | ||||
| class MenuViewlet(ViewletBase): | ||||
|     """ Menu viewlet. | ||||
|     """ | ||||
| 
 | ||||
|     def getMenu(self): | ||||
|         menu = zapi.getUtility(IBrowserMenu, name='mmain') | ||||
|         return menu | ||||
|      | ||||
| 
 | ||||
| def GenericMenuViewlet(template, offering=None, bases=(), name=u'', weight=0): | ||||
|     #return SimpleViewletClass(template, offering, | ||||
|     #                bases + (MenuViewletBase,), name, weight) | ||||
|     if offering is None: | ||||
|         offering = sys._getframe(1).f_globals | ||||
|     bases += (MenuViewletBase, simple) | ||||
|     class_ = type("GenericMenuViewlet from %s" % template, bases, | ||||
|                   {'index' : ViewletPageTemplateFile(template, offering), | ||||
|                    '_weight' : weight, | ||||
|                    '__name__' : name}) | ||||
|     return class_ | ||||
| 
 | ||||
| 
 | ||||
|                      | ||||
|  | @ -32,4 +32,24 @@ | |||
|   <resource name="bg_cyberview.gif" image="bg_cyberview.gif" | ||||
|             layer="cyberview" /> | ||||
| 
 | ||||
|   <zope:interface interface="cybertools.browser.viewlets.ILeft" | ||||
|       type="zope.contentprovider.interfaces.IContentProviderType" /> | ||||
|        | ||||
|   <viewletManager | ||||
|       name="navMenu" | ||||
|       provides="cybertools.browser.viewlets.ILeft" | ||||
|       template="left_slot.pt" | ||||
|       permission="zope.Public" | ||||
|       layer="cyberview" | ||||
|       /> | ||||
| 
 | ||||
|   <viewlet | ||||
|       name="navMenu" | ||||
|       manager="cybertools.browser.viewlets.ILeft" | ||||
|       template="menu_viewlet.pt" | ||||
|       class="cybertools.browser.menu.MenuViewlet" | ||||
|       permission="zope.Public" | ||||
|       layer="cyberview" | ||||
|       /> | ||||
| 
 | ||||
| </configure> | ||||
|  |  | |||
							
								
								
									
										10
									
								
								browser/skin/left_slot.pt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								browser/skin/left_slot.pt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| <div> | ||||
|   Headline | ||||
| </div> | ||||
| <div tal:repeat="viewlet options/viewlets"> | ||||
|   <div tal:content="structure python: viewlet(viewlet=viewlet)"> | ||||
|   <!--<div tal:repeat="item python: menu.getMenuItems(context, request)"> | ||||
|     <span tal:replace="item/title"/> | ||||
|   </div>--> | ||||
|   </div> | ||||
| </div> | ||||
							
								
								
									
										2
									
								
								browser/skin/menu_viewlet.pt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								browser/skin/menu_viewlet.pt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| <div tal:define="menu options/viewlet/getMenu" | ||||
|      tal:content="python: menu.getMenuItems(context, request)" /> | ||||
|  | @ -27,13 +27,13 @@ | |||
|     <table class="columns"> | ||||
|       <tr> | ||||
|         <td class="left"> | ||||
|           <span metal:use-macro="context/@@standard_macros/navigation_box" /> | ||||
|           <!-- | ||||
|             <span metal:use-macro="context/@@standard_macros/commontasks_box" /> | ||||
|             <span metal:use-macro="context/@@standard_macros/metadata_box" /> | ||||
|             <span metal:use-macro="context/@@standard_macros/views_box" /> | ||||
|             <span metal:use-macro="context/@@standard_macros/actions_box" /> | ||||
|           --> | ||||
|           <div tal:replace="structure provider:navMenu" /> | ||||
|         </td> | ||||
|         <td class="main"> | ||||
|           <!-- | ||||
|  |  | |||
							
								
								
									
										29
									
								
								browser/viewlets.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								browser/viewlets.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | |||
| # | ||||
| #  Copyright (c) 2005 Helmut Merz helmutm@cy55.de | ||||
| # | ||||
| #  This program is free software; you can redistribute it and/or modify | ||||
| #  it under the terms of the GNU General Public License as published by | ||||
| #  the Free Software Foundation; either version 2 of the License, or | ||||
| #  (at your option) any later version. | ||||
| # | ||||
| #  This program is distributed in the hope that it will be useful, | ||||
| #  but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| #  GNU General Public License for more details. | ||||
| # | ||||
| #  You should have received a copy of the GNU General Public License | ||||
| #  along with this program; if not, write to the Free Software | ||||
| #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||
| # | ||||
| 
 | ||||
| """ | ||||
| cybertools regions. | ||||
| 
 | ||||
| $Id$ | ||||
| """ | ||||
| 
 | ||||
| from zope.viewlet.interfaces import IViewletManager | ||||
| 
 | ||||
| class ILeft(IViewletManager): | ||||
|     """ Left slot. | ||||
|     """ | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm