MutableTableModel
A mutable NSTableView using Cocoa Bindings.
FIXME: uses nidump
Sources
TableModelAppDelegate.py
from Foundation import *
import pwd
FIELDS = "name password uid gid class change expire gecos home_dir shell".split()
def getPasswords():
a = NSMutableArray.array()
for pw in pwd.getpwall():
a.append({
'name': pw.pw_name,
'password': pw.pw_passwd,
'uid': pw.pw_uid,
'gid': pw.pw_gid,
'gecos': pw.pw_gecos,
'home_dir': pw.pw_dir,
'shell': pw.pw_shell,
})
return a
class TableModelAppDelegate (NSObject):
def passwords(self):
if not hasattr(self, '_cachedpasswords'):
self._cachedpasswords = getPasswords()
return self._cachedpasswords
@objc.IBAction
def insertRecord_(self, sender):
passwords = self.passwords()
self.willChangeValueForKey_('passwords')
passwords.append(dict(zip(FIELDS, FIELDS)))
self.didChangeValueForKey_('passwords')
main.py
#
# __main__.py
# TableModel
#
# Created by Bob Ippolito on Sun Apr 04 2004.
# Copyright (c) 2004 Bob Ippolito. All rights reserved.
#
from PyObjCTools import AppHelper
# import classes required to start application
import TableModelAppDelegate
# start the event loop
AppHelper.runEventLoop(argv=[])
setup.py
"""
Script for building the example, alternative to the Xcode project.
Usage:
python setup.py py2app
"""
from distutils.core import setup
import py2app
setup(
name="MutableTableModel",
app=["main.py"],
data_files=["English.lproj"],
)