[PyObjC-svn] r2118 - trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo
[email protected] Sun, 22 Mar 2009 13:25:28 -0500
Newsgroups
gmane.comp.python.pyobjc.cvs
Message-ID
<[email protected] >
Author: ronaldoussoren
Date: Sun Mar 22 13:25:28 2009
New Revision: 2118
Log:
Remove NibClassBuilder usage
Modified:
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ (props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/CalendarMatrix.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/InfoWindowController.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/SelectionNotifyMatrix.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoCell.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoDocument.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoItem.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/TodoAppDelegate.py
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/main.py
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/CalendarMatrix.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/CalendarMatrix.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/CalendarMatrix.py Sun Mar 22 13:25:28 2009
@@ -1,14 +1,15 @@
-from Foundation import *
-from AppKit import *
-from objc import IBOutlet, YES, NO
-from PyObjCTools.NibClassBuilder import AutoBaseClass
+from Cocoa import *
gNumDaysInMonth = ( 0, 31, 28, 31, 30, 21, 30, 31, 31, 30, 31, 30, 31 )
def isLeap(year):
return (((year % 4) == 0 and ((year % 100) != 0)) or (year % 400) == 0)
-class CalendarMatrix (AutoBaseClass):
+class CalendarMatrix (NSMatrix):
+ lastMonthButton = objc.IBOutlet()
+ monthName = objc.IBOutlet()
+ nextMonthButton = objc.IBOutlet()
+
__slots__ = ('_selectedDay', '_startOffset')
def initWithFrame_(self, frameRect):
@@ -41,6 +42,7 @@
return self
+ @objc.IBAction
def choseDay_(self, sender):
prevSelDate = self.selectedDay()
selDay = self.selectedCell().tag() - self._startOffset + 1
@@ -61,6 +63,7 @@
self, selDate)
+ @objc.IBAction
def monthChanged_(self, sender):
thisDate = self.selectedDay()
currentYear = thisDate.yearOfCommonEra()
@@ -121,18 +124,18 @@
if i < self._startOffset or i >= (daysInMonth + self._startOffset):
# blank out unused cells in the matrix
- cell.setBordered_(NO)
- cell.setEnabled_(NO)
+ cell.setBordered_(False)
+ cell.setEnabled_(False)
cell.setTitle_("")
- cell.setCellAttribute_to_(NSCellHighlighted, NO)
+ cell.setCellAttribute_to_(NSCellHighlighted, False)
else:
# Fill in valid days in the matrix
- cell.setBordered_(YES)
- cell.setEnabled_(YES)
+ cell.setBordered_(True)
+ cell.setEnabled_(True)
cell.setFont_(NSFont.systemFontOfSize_(12))
cell.setTitle_(str(dayLabel))
dayLabel += 1
- cell.setCellAttribute_to_(NSCellHighlighted, NO)
+ cell.setCellAttribute_to_(NSCellHighlighted, False)
self.selectCellWithTag_(selDate.dayOfMonth() + self._startOffset - 1)
self.highlightTodayIfVisible()
@@ -148,11 +151,11 @@
aCell = self.cellWithTag_(
now.dayOfMonth() + self._startOffset - 1)
aCell.setHighlightsBy_(NSMomentaryChangeButton)
- aCell.setCellAttribute_to_(NSCellHighlighted, YES)
+ aCell.setCellAttribute_to_(NSCellHighlighted, True)
def awakeFromNib(self):
self.setTarget_(self)
self.setAction_('choseDay:')
- self.setAutosizesCells_(YES)
+ self.setAutosizesCells_(True)
self.refreshCalendar()
self.choseDay_(self)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/InfoWindowController.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/InfoWindowController.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/InfoWindowController.py Sun Mar 22 13:25:28 2009
@@ -1,7 +1,5 @@
-from AppKit import *
-from objc import selector, IBOutlet, NO
+from Cocoa import *
from ToDoDocument import *
-from PyObjCTools.NibClassBuilder import AutoBaseClass
NOTIFY_TAG = 0
RESCHEDULE_TAG = 1
@@ -15,10 +13,29 @@
_sharedInfoWindowController = None
-class InfoWindowController (AutoBaseClass):
+class InfoWindowController (NSWindowController):
+ dummyView = objc.IBOutlet()
+ infoDate = objc.IBOutlet()
+ infoItem = objc.IBOutlet()
+ infoNotes = objc.IBOutlet()
+ infoNotifyAMPM = objc.IBOutlet()
+ infoNotifyHour = objc.IBOutlet()
+ infoNotifyMinute = objc.IBOutlet()
+ infoNotifyOtherHours = objc.IBOutlet()
+ infoNotifySwitchMatrix = objc.IBOutlet()
+ infoPopUp = objc.IBOutlet()
+ infoSchedComplete = objc.IBOutlet()
+ infoSchedDate = objc.IBOutlet()
+ infoSchedMatrix = objc.IBOutlet()
+ infoWindowViews = objc.IBOutlet()
+ notesView = objc.IBOutlet()
+ notifyView = objc.IBOutlet()
+ reschedView = objc.IBOutlet()
+
__slots__ = ('_inspectingDocument', )
+ @objc.IBAction
def switchClicked_(self, sender):
dueSecs = 0
idx = 0
@@ -103,6 +120,7 @@
self._inspectingDocument.selectedItemModified()
+ @classmethod
def sharedInfoWindowController(self):
global _sharedInfoWindowController
@@ -111,9 +129,6 @@
return _sharedInfoWindowController
- sharedInfoWindowController = selector(
- sharedInfoWindowController, isClassMethod=1)
-
def init(self):
# XXX: Not sure if the native code works correctly if the return value
@@ -258,6 +273,7 @@
def mainWindowResigned_(self, notification):
self.setMainWindow_(None)
+ @objc.IBAction
def swapInfoWindowView_(self, sender):
selected = self.infoPopUp.selectedItem().tag()
@@ -280,4 +296,4 @@
for i in range(rows):
cell = matrix.cellAtRow_column_(i, 0)
- if cell: cell.setState_(NO)
+ if cell: cell.setState_(False)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/SelectionNotifyMatrix.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/SelectionNotifyMatrix.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/SelectionNotifyMatrix.py Sun Mar 22 13:25:28 2009
@@ -1,10 +1,8 @@
-from AppKit import *
-from Foundation import *
-from PyObjCTools.NibClassBuilder import AutoBaseClass
+from Cocoa import *
RowSelectedNotification = "RowSelectedNotification"
-class SelectionNotifyMatrix (AutoBaseClass):
+class SelectionNotifyMatrix (NSMatrix):
def mouseDown_(self, theEvent):
super(SelectionNotifyMatrix, self).mouseDown_(theEvent)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoCell.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoCell.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoCell.py Sun Mar 22 13:25:28 2009
@@ -1,6 +1,4 @@
-from AppKit import *
-from Foundation import *
-from objc import selector
+from Cocoa import *
NOT_DONE=0
DONE=1
@@ -28,6 +26,7 @@
self._deferredImage = NSImage.imageNamed_("DeferredMark")
return self
+ @objc.typedAccessor('i')
def setTriState_(self, newState):
if newState > DEFERRED:
self._triState = NOT_DONE
@@ -35,11 +34,10 @@
self._triState = newState
self.updateImage()
- setTriState_ = selector(setTriState_, signature="v@:i")
+ @objc.typedAccessor('i')
def triState(self):
return self._triState
- triState = selector(triState, signature="i@:")
def setState_(self, val):
@@ -68,16 +66,11 @@
def startTrackingAt_inView_(self, startPoint, controlView):
#print "startTracking:", startPoint, controlView
return 1
- startTrackingAt_inView_ = selector(
- startTrackingAt_inView_, signature="c@:{NSPoint=ff}@")
def stopTracking_at_inView_mouseIsUp_(self, lastPoint, stopPoint, controlView, flag):
#print "stopTracking:", lastPoint, stopPoint, controlView, flag, self.triState()
if flag:
self.setTriState_(self.triState() + 1)
- stopTracking_at_inView_mouseIsUp_ = selector(
- stopTracking_at_inView_mouseIsUp_,
- signature="v@:{NSPoint=ff}{NSPoint=ff}@c")
def setTimeDue_(self, newTime):
if newTime:
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoDocument.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoDocument.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoDocument.py Sun Mar 22 13:25:28 2009
@@ -1,14 +1,16 @@
-from AppKit import *
from Foundation import *
-from objc import IBOutlet, NO
from ToDoCell import *
from ToDoItem import *
from SelectionNotifyMatrix import *
-from PyObjCTools.NibClassBuilder import AutoBaseClass
ToDoItemChangedNotification = "ToDoItemChangedNotification"
-class ToDoDocument (AutoBaseClass):
+class ToDoDocument (NSDocument):
+ calendar = objc.IBOutlet()
+ dayLabel = objc.IBOutlet()
+ itemList = objc.IBOutlet()
+ statusList = objc.IBOutlet()
+
__slots__ = ('_dataFromFile', '_activeDays', '_currentItems', '_selectedItem', '_selectedItemEdited')
@@ -131,7 +133,7 @@
if newItems:
self._currentItems = newItems.mutableCopy()
else:
- numRows, numCols = self.itemList.getNumberOfRows_columns_()
+ numRows, numCols = self.itemList.getNumberOfRows_columns_(None, None)
self._currentItems = NSMutableArray.alloc().initWithCapacity_(numRows)
for d in range(numRows):
@@ -243,6 +245,7 @@
return 1
+ @objc.IBAction
def itemStatusClicked_(self, sender):
row = sender.selectedRow()
cell = sender.cellAtRow_column_(row, 0)
@@ -268,7 +271,7 @@
self,
'itemTimerFired:',
anItem,
- NO)
+ False)
anItem.setTimer_(aTimer)
else:
anItem.setTimer_(None)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoItem.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoItem.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/ToDoItem.py Sun Mar 22 13:25:28 2009
@@ -1,5 +1,4 @@
from Foundation import *
-import objc
# enum ToDoItemStatus
INCOMPLETE=0
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/TodoAppDelegate.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/TodoAppDelegate.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/TodoAppDelegate.py Sun Mar 22 13:25:28 2009
@@ -1,7 +1,8 @@
-from Foundation import NSObject
+from Foundation import *
from InfoWindowController import InfoWindowController
-from PyObjCTools.NibClassBuilder import AutoBaseClass
-class ToDoAppDelegate (AutoBaseClass):
+class ToDoAppDelegate (NSObject):
+
+ @objc.IBAction
def showInfo_(self, sender):
InfoWindowController.sharedInfoWindowController().showWindow_(sender)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/main.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/main.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo/main.py Sun Mar 22 13:25:28 2009
@@ -1,13 +1,6 @@
-import sys
-import os
-import objc
from AppKit import *
-from PyObjCTools.NibClassBuilder import extractClasses
from PyObjCTools import AppHelper
-
-extractClasses('MainMenu')
-extractClasses('ToDoDocument')
-extractClasses('ToDoInfoWindow')
+objc.setVerbose(1)
# Import all submodules, to make sure all
# classes are known to the runtime
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com