All pastes #92742 Raw Edit

Miscellany

public python v1 · immutable
#92742 ·published 2006-07-19 21:26 UTC
rendered paste body
from AppKit import *from Foundation import *import objcRUIMenuListLayer = objc.lookUpClass('RUIMenuListLayer')RUITextMenuItem = objc.lookUpClass('RUITextMenuItem')RUIModuleController = objc.lookUpClass('RUIModuleController')class FREListMenu(RUIMenuListLayer):	_rows = objc.ivar(u'_rows')	_screens = objc.ivar(u'_screens')		def __getattr__(self, name):		if name[0] == '_':			return objc.getInstanceVariable(self, name)		else:			return self.__dict__[name]	def __setattr__(self, name, value):		if name[0] == '_':			return objc.setInstanceVariable(self, name, value, 1)		else:			self.__dict__[name] = value			return value		def init(self, parent):		self.parent_ = parent		return self		def enter(self):		print 'omg'		try:			scene = self.parent_._scene		except AttributeError:			scene = self.parent_.scene()					self.initWithScene_(scene)		self._list.setDatasource_(self)		self._rows = None		self._screens = None				return self		def rowCount(self):		print 'wtf'		rows, screens = self.getRenderables()		return len(rows)		def itemForRow_sized_(self, row, size):		print 'hax'		rows, screens = self.getRenderables()		row = rows[row]		row.setBounds_(size)				return row		def rowSelected_(self, row):		print 'bbq'		rows, screens = self.getRenderables()		stack = RUIModuleController.sharedController().menuStack()		# stack.startProgressIndicator()		stack.pushMenu_(screens[row].enter())		def getRenderables(self):		print 'pork', self._rows != None, self._screens != None		if self._rows != None:			return self._rows, self._screens				items = self.listItems()		rows = []		screens = []				print 'Generating renderables'				for item in items:			row = RUITextMenuItem.alloc().initWithLayer_(self)			row.setTitle_(item[0])			row.setArrowDisabled_(0)			rows.append(row)						screens.append(item[1])				print 'Renderables dun generated in the hollar.'				self._rows = rows		self._screens = screens				return self._rows, self._screens