PERFORCE change 123536 for review

Andrew Turner andrew at FreeBSD.org
Sun Jul 15 12:09:42 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=123536

Change 123536 by andrew at andrew_hermies on 2007/07/15 12:08:40

	Create a model for the update view and pass it to the controller
	Parse the response from the list_updates call and display it

Affected files ...

.. //depot/projects/soc2007/andrew-update/frontend/facund.py#8 edit
.. //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#2 edit

Differences ...

==== //depot/projects/soc2007/andrew-update/frontend/facund.py#8 (text+ko) ====

@@ -38,14 +38,16 @@
 #	fc.interact()
 
 if __name__ == "__main__":
-	model = facund.gui.ComputerTreeModel()
+	computerModel = facund.gui.ComputerTreeModel()
 	localComputer = facund.Computer("Local computer", '/tmp/facund')
 	localComputer.addDir('/')
-	model.addComputer(localComputer)
+	computerModel.addComputer(localComputer)
+
+	updateModel = facund.gui.UpdateListModel()
 
 	mainWindow = facund.gui.MainWindow('facund-fe.glade')
 
-	controller = facund.Controller(model, mainWindow);
+	controller = facund.Controller(mainWindow, computerModel, updateModel);
 
 	controller.run()
 

==== //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#2 (text+ko) ====

@@ -25,12 +25,14 @@
 #
 
 class Controller:
-	def __init__(self, computersModel, view):
+	def __init__(self, view, computersModel, updateModel):
 		self.__view = view
 		self.__view.setController(self)
 		self.__computersModel = computersModel
 		self.__view.setComputerTreeModel(self.__computersModel)
 		self.__currentComputer = None
+		self.__updateModel = updateModel
+		self.__view.setUpdateViewModel(self.__updateModel)
 
 	def run(self):
 		self.__view.run()
@@ -49,7 +51,16 @@
 			return
 
 		command = dir.getCommands()[position[2]]
-		dir.runCommand(position[2])
+		response = dir.runCommand(position[2])
+		data = response.getData()
+		item = data.getData()[0]
+		# Each item will be a pair of <dir, update list>
+		pair = item.getData()
+		theDir = pair[0].getData()
+
+		self.__updateModel.empty()
+		for update in pair[1].getData():
+			self.__updateModel.addUpdate(update)
 
 	def getCurrentComputer(self):
 		return self.__currentComputer


More information about the p4-projects mailing list