[frontpython commit] r49 -

1 view
Skip to first unread message

codesite...@google.com

unread,
Mar 26, 2009, 4:12:30 AM3/26/09
to frontpyth...@googlegroups.com
Author: jon.christopher
Date: Thu Mar 26 01:11:30 2009
New Revision: 49

Modified:
trunk/SDK/PyFR/DynamicMenuController.py
trunk/SDK/PyFR/FileBrowser.py

Log:

syncing to be more similar to MenuController. We don't really need two
different implementations of this,
so this is the first part of an effort to merge them.


Modified: trunk/SDK/PyFR/DynamicMenuController.py
==============================================================================
--- trunk/SDK/PyFR/DynamicMenuController.py (original)
+++ trunk/SDK/PyFR/DynamicMenuController.py Thu Mar 26 01:11:30 2009
@@ -14,9 +14,9 @@
self.metadata_func=metadata_func
self.folder = folder

- def Activate(self):
+ def Activate(self, controller):
#self.log("In activate for menu item %s" % self.title)
- self.func(self)
+ self.func(controller, self)

def GetMetadata(self, controller):
#self.log("In GetMetadata for menu item %s" % self.title)
@@ -26,10 +26,11 @@
return None

# simple container class for a menu, elements of the items list may
contain menu items or another Menu instance for submenus
-class DynamicMenu:
- def __init__(self,page_title,items=[]):
+class DynamicMenu(ControllerUtilities):
+ def __init__(self,page_title,items=[],metadata_func=None):
self.page_title=page_title
self.items=items
+ self.metadata_func=metadata_func

def AddItem(self,item):
self.items.append(item)
@@ -37,6 +38,13 @@
def GetRightText(self):
return ""

+ def GetMetadata(self, controller):
+ self.log("In GetMetadata for menu %s" %
self.page_title.encode("ascii","replace"))
+ if self.metadata_func is not None:
+ return self.metadata_func(controller, self.page_title)
+ else:
+ return None
+
BRMenuListItemProvider = objc.protocolNamed('BRMenuListItemProvider')
class DynamicMenuDataSource(NSObject,
BRMenuListItemProvider,ControllerUtilities):

@@ -70,12 +78,10 @@
if row >= len(self.menu.items):
return

- self.menu.items[row].Activate()
+ self.menu.items[row].Activate(self.ctrlr)

-# should return a preview controller of some type, perhaps
-# BRMetaDataPreviewController BRMetaDataLayer BRMetaDataControl(seems
-# to work for now, but that is really contained in something I
-# haven't identified yet)
+ # return a preview controller of some type, perhaps
BRMetaDataPreviewController
+ # see PyeTV source for example!
def previewControlForItem_(self, row):
if row >= len(self.menu.items):
return None
@@ -90,7 +96,7 @@
self.refreshControllerForModelUpdate()


- # Dont care aboutr these below.
+ # Dont care about these below.
def heightForRow_(self,row):
return 0.0

@@ -99,12 +105,6 @@


class DynamicMenuController(BRMediaMenuController,ControllerUtilities):
-
- def dealloc():
- self.log("Deallocing DynamicMenuController %s" %
self.title.encode("ascii","replace")))
- #self.ds.release()
- return super(BRMediaMenuController,self).dealloc()
-
def initWithMenu_(self, menu):
BRMediaMenuController.init(self)
self.title= menu.page_title

Modified: trunk/SDK/PyFR/FileBrowser.py
==============================================================================
--- trunk/SDK/PyFR/FileBrowser.py (original)
+++ trunk/SDK/PyFR/FileBrowser.py Thu Mar 26 01:11:30 2009
@@ -32,13 +32,12 @@
DynamicMenuController.initWithMenu_( self, DynamicMenu(
self.directory, items ) )
return self

- def __clicked(self, menuItem):
+ def __clicked(self, dummyController, menuItem):
selectedFile = self.directory + '/' + menuItem.title

if menuItem.folder:
menuController =
FileBrowserController.alloc().initWithDirectory_( selectedFile )
self.stack().pushController_(menuController)
- #menuController.release()
else:
self.fileSelected_( selectedFile )

Reply all
Reply to author
Forward
0 new messages