Title: [commits] (anthony) [6158] Added a few more built-ins to CPIA script:
Hi Anthony:

That try you added has the unfortunate consequence of ignoring any attribute error that happens to get thrown inside ExecutableScript. Since attribute errors are common programming mistakes, we'll never seem any of them inside all of ExecutableScript. A better approach might be to either put the try around the smallest piece of code, i.e. accessing the name or using python getattr, which returns a specified default value when the atttribute doesn't exist.

John

[email protected] wrote:
Revision
6158
Author
anthony
Date
2005-07-25 11:29:06 -0700 (Mon, 25 Jul 2005)

Log Message

Added a few more built-ins to CPIA script:
* function SideBarAdd(itemCollection) for adding collections to the sidebar
* function GetWindow(label) for accessing a top level window (like the "About Chandler" dialog window)
* variable __view__ that points to the current view
I also added a try block around the hot key code since sometimes a note could have no name.

Modified Paths

Diff

Modified: trunk/chandler/parcels/osaf/framework/scripting/CPIAScript.py (6157 => 6158)

--- trunk/chandler/parcels/osaf/framework/scripting/CPIAScript.py	2005-07-25 18:19:25 UTC (rev 6157)
+++ trunk/chandler/parcels/osaf/framework/scripting/CPIAScript.py	2005-07-25 18:29:06 UTC (rev 6158)
@@ -77,11 +77,14 @@
         # try to find the corresponding Note
         targetScriptName = "Script F%s" % str(keycode-wx.WXK_F1+1)
         for aNote in Notes.Note.iterItems(view):
-            if targetScriptName == aNote.about:
-                scriptString = aNote.bodyString
-                fKeyScript = ExecutableScript(scriptString, view=view)
-                fKeyScript.execute()
-                return True
+            try:
+                if targetScriptName == aNote.about:
+                    scriptString = aNote.bodyString
+                    fKeyScript = ExecutableScript(scriptString, view=view)
+                    fKeyScript.execute()
+                    return True
+            except AttributeError:
+                pass
 
         # maybe we have an existing script?
         for aScript in Script.iterItems(view):
@@ -196,6 +199,9 @@
 
         # add Globals
         builtIns['Globals'] = Globals
+        
+        # add the current view      
+        builtIns['__view__'] = self.itsView
 
         # now run that script in our predefined scope
         try:

Modified: trunk/chandler/parcels/osaf/framework/scripting/ScriptingGlobalFunctions.py (6157 => 6158)

--- trunk/chandler/parcels/osaf/framework/scripting/ScriptingGlobalFunctions.py	2005-07-25 18:19:25 UTC (rev 6157)
+++ trunk/chandler/parcels/osaf/framework/scripting/ScriptingGlobalFunctions.py	2005-07-25 18:29:06 UTC (rev 6158)
@@ -62,12 +62,20 @@
         params = {'itemName':itemOrName}
     Globals.mainViewRoot.postEventByName ('RequestSelectSidebarItem', params)
     Focus(Sidebar())
+
+def SidebarAdd(itemCollection):
+    """ Adds the given itemCollection to the sidebar """
+    Globals.mainViewRoot.postEventByName ( 'AddToSidebarWithoutCopying', {'items' : [itemCollection]} )
 
 def SummaryViewSelect(item):
     # Tell the ActiveView to select our item
     Globals.mainViewRoot.postEventByName ('SelectItemBroadcastInsideActiveView', {'item':item})
-    Focus(SummaryView())
-
+    Focus(SummaryView())
+
+def GetWindow(label):
+    """ Returns the window with the given label """
+    return wx.FindWindowByLabel(label)
+    
 """
 TO BE DONE
 * Type(<string>) function to take the string and tell wx

  

_______________________________________________ Commits mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/commits


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to