[PyObjC-svn] r2118 - trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/Todo

[email protected]
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.