OSDN Git Service

appModules.iTunes.ITunesItem next and previous properties: if there doesn't seem...
authorMichael Curran <mick@kulgan.net>
Wed, 22 Sep 2010 01:46:03 +0000 (11:46 +1000)
committerMichael Curran <mick@kulgan.net>
Wed, 22 Sep 2010 01:46:03 +0000 (11:46 +1000)
source/appModules/itunes.py

index 03f9fd2..6ec4855 100644 (file)
@@ -1,5 +1,6 @@
 import _default\r
 import re\r
+from comtypes import COMError\r
 import controlTypes\r
 import oleacc\r
 import NVDAObjects.IAccessible\r
@@ -39,3 +40,19 @@ class ITunesItem(NVDAObjects.IAccessible.IAccessible):
                        m = self.RE_POSITION_INFO.match(desc)\r
                        if m:\r
                                return m.groupdict()\r
+\r
+       def _get_next(self):\r
+               next=super(ITunesItem,self).next\r
+               try:\r
+                       parentChildCount=self.IAccessibleObject.accParent.accChildCount\r
+               except COMError:\r
+                       parentChildCount=0\r
+               if not next and self.IAccessibleChildID>0 and self.IAccessibleChildID<parentChildCount:\r
+                       next=NVDAObjects.IAccessible.IAccessible(windowHandle=self.windowHandle,IAccessibleObject=self.IAccessibleObject,IAccessibleChildID=self.IAccessibleChildID+1)\r
+               return next\r
+\r
+       def _get_previous(self):\r
+               previous=super(ITunesItem,self).previous\r
+               if not previous and self.IAccessibleChildID>1:\r
+                       previous=NVDAObjects.IAccessible.IAccessible(windowHandle=self.windowHandle,IAccessibleObject=self.IAccessibleObject,IAccessibleChildID=self.IAccessibleChildID-1)\r
+               return previous\r