Revision: 452
          http://rpy.svn.sourceforge.net/rpy/?rev=452&view=rev
Author:   lgautier
Date:     2008-03-21 07:08:43 -0700 (Fri, 21 Mar 2008)

Log Message:
-----------
- Renamed the installed package as 'rpy2' (so it can co-exist with the current
rpy).
- Updated the 'radming.py' example: it might even turn up to be useful.

Modified Paths:
--------------
    branches/rpy_nextgen/demos/radmin.py
    branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py
    branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
    branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
    branches/rpy_nextgen/rpy/robjects/__init__.py
    branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py
    branches/rpy_nextgen/setup.py
    branches/rpy_nextgen/test.py

Modified: branches/rpy_nextgen/demos/radmin.py
===================================================================
--- branches/rpy_nextgen/demos/radmin.py        2008-03-21 11:25:12 UTC (rev 
451)
+++ branches/rpy_nextgen/demos/radmin.py        2008-03-21 14:08:43 UTC (rev 
452)
@@ -1,20 +1,22 @@
 import pygtk
 pygtk.require('2.0')
 import gtk
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
 
 
 
-class LibraryPanel(object):
+class LibraryPanel(gtk.VBox):
 
     cell = gtk.CellRendererText()
     cell.set_property('cell-background', 'black')
     cell.set_property('foreground', 'white')
     
-    def __init__(self, parent):
+    def __init__(self):
+        super(LibraryPanel, self).__init__()
         self._table = gtk.ListStore(str, str, str)
         self.updateInstalledLibraries()
         self._treeView = gtk.TreeView(model = self._table)
+        self._treeView.show()
         self._valueColumns = [gtk.TreeViewColumn('Package'),
                               gtk.TreeViewColumn('Installed'),
                               gtk.TreeViewColumn('Available')]
@@ -25,7 +27,23 @@
             col.pack_start(cr, True)
             self._valueCells.append(cr)
             col.set_attributes(cr, text=col_i)
-        parent.add(self._treeView)
+ 
+        sbox = gtk.HBox(homogeneous=False, spacing=0)
+        sbox.show()
+        self.sentry = gtk.Entry()
+        self.sentry.show()
+        sbox.add(self.sentry)
+        sbutton = gtk.Button("Search")
+        sbutton.connect("clicked", self.searchAction, "search")
+        sbutton.show()
+        sbox.add(sbutton)
+        self.pack_start(sbox, expand=False, fill=False, padding=0)
+        s_window = gtk.ScrolledWindow()
+        s_window.set_policy(gtk.POLICY_AUTOMATIC, 
+                            gtk.POLICY_AUTOMATIC)
+        s_window.show()
+        s_window.add(self._treeView)
+        self.add(s_window)
 
     def updateInstalledLibraries(self):
         self._table.clear()
@@ -42,15 +60,31 @@
             row.append(pack)
             self._table.append(row)
 
-    def show(self):
-        self._treeView.show()
+    def searchAction(self, widget, data=None):
+        string = (self.sentry.get_text())
+        self.updateInstalledLibraries()
+        if string is None:
+            return
+        matches = robjects.r["help.search"](string).subset("matches")[0]
+        spacks = [x for x in matches.subset(True, "Package")._sexp]
+        spacks = set(spacks)
+        toremove = []
+        for ii, row in enumerate(self._table):
+            if not (row[0] in spacks):
+                toremove.append(ii)
+        toremove.reverse()
+        for r in toremove:
+            self._table.remove(self._table.get_iter(r))
 
-class VignetteExplorer(object):
 
-    def __init__(self, parent):
+class VignetteExplorer(gtk.VBox):
+
+    def __init__(self):
+        super(VignetteExplorer, self).__init__()
         self._table = gtk.ListStore(str, str, str)
         self.updateKnownVignettes()
         self._treeView = gtk.TreeView(model = self._table)
+        self._treeView.show()
         self._valueColumns = [gtk.TreeViewColumn('Package'),
                               gtk.TreeViewColumn('Item'),
                               gtk.TreeViewColumn('Title')]
@@ -61,8 +95,21 @@
             col.pack_start(cr, True)
             self._valueCells.append(cr)
             col.set_attributes(cr, text=col_i)
-        parent.add(self._treeView)
-        self.parent = parent
+        sbox = gtk.HBox(homogeneous=False, spacing=0)
+        #sbox.show()
+        sentry = gtk.Entry()
+        sentry.show()
+        sbox.add(sentry)
+        sbutton = gtk.Button("Search")
+        sbutton.show()
+        sbox.add(sbutton)
+        self.pack_start(sbox, expand=False, fill=False, padding=0)
+        s_window = gtk.ScrolledWindow()
+        s_window.set_policy(gtk.POLICY_AUTOMATIC, 
+                            gtk.POLICY_AUTOMATIC)
+        s_window.show()
+        s_window.add(self._treeView)
+        self.add(s_window)
 
     def updateKnownVignettes(self):
         self._table.clear()
@@ -78,15 +125,15 @@
             pack = vignettes.subset(i, 4)._sexp[0]
             row.append(pack)
             self._table.append(row)
-    def show(self):
-        self._treeView.show()
 
-class DocumentationExplorer(object):
+class HelpExplorer(gtk.VBox):
 
-    def __init__(self, parent):
+    def __init__(self):
+        super(HelpExplorer, self).__init__()
         self._table = gtk.ListStore(str, str, str)
-        self.updateRelevantDoc("foo")
+        self.updateRelevantHelp(None)
         self._treeView = gtk.TreeView(model = self._table)
+        self._treeView.show()
         self._valueColumns = [gtk.TreeViewColumn('Topic'),
                               gtk.TreeViewColumn('Title'),
                               gtk.TreeViewColumn('Package'),]
@@ -97,11 +144,28 @@
             col.pack_start(cr, True)
             self._valueCells.append(cr)
             col.set_attributes(cr, text=col_i)
-        parent.add(self._treeView)
-        self.parent = parent
+        sbox = gtk.HBox(homogeneous=False, spacing=0)
+        sbox.show()
+        self.sentry = gtk.Entry()
+        self.sentry.show()
+        sbox.add(self.sentry)
+        sbutton = gtk.Button("Search")
+        sbutton.connect("clicked", self.searchAction, "search")
 
-    def updateRelevantDoc(self, string):
+        sbutton.show()
+        sbox.add(sbutton)
+        self.pack_start(sbox, expand=False, fill=False, padding=0)
+        s_window = gtk.ScrolledWindow()
+        s_window.set_policy(gtk.POLICY_AUTOMATIC, 
+                            gtk.POLICY_AUTOMATIC)
+        s_window.show()
+        s_window.add(self._treeView)
+        self.add(s_window)
+
+    def updateRelevantHelp(self, string):
         self._table.clear()
+        if string is None:
+            return
         matches = robjects.r["help.search"](string).subset("matches")[0]
         #import pdb; pdb.set_trace()
         nrows = robjects.r.nrow(matches)[0]
@@ -115,9 +179,10 @@
             pack = matches.subset(i, 3)._sexp[0]
             row.append(pack)
             self._table.append(row)
-    def show(self):
-        self._treeView.show()
 
+    def searchAction(self, widget, data=None):
+         self.updateRelevantHelp(self.sentry.get_text())
+
 class Main(object):
 
     def __init__(self):
@@ -136,60 +201,20 @@
         #vbox.show()
 
         # libraries/packages
-        vbox_lib = gtk.VBox(homogeneous=False, spacing=0)
-        vbox_lib.show()
-        sbox_lib = gtk.HBox(homogeneous=False, spacing=0)
-        sbox_lib.show()
-        sentry_lib = gtk.Entry()
-        sentry_lib.show()
-        sbox_lib.add(sentry_lib)
-        sbutton_lib = gtk.Button("Search")
-        sbutton_lib.show()
-        sbox_lib.add(sbutton_lib)
-        vbox_lib.pack_start(sbox_lib, expand=False, fill=False, padding=0)
-
-        s_window_lib = gtk.ScrolledWindow()
-        s_window_lib.set_policy(gtk.POLICY_AUTOMATIC, 
-                                gtk.POLICY_AUTOMATIC)
-        s_window_lib.show()
-        libPanel = LibraryPanel(s_window_lib)
+        libPanel = LibraryPanel()
         libPanel.show()
-        vbox_lib.add(s_window_lib)
-        notebook.append_page(vbox_lib, gtk.Label("Libraries"))
+        notebook.append_page(libPanel, gtk.Label("Libraries"))
 
         # vignettes
-        vbox_vig = gtk.VBox(homogeneous=False, spacing=0)
-        vbox_vig.show()
-        sbox_vig = gtk.HBox(homogeneous=False, spacing=0)
-        sbox_vig.show()
-        sentry_vig = gtk.Entry()
-        sentry_vig.show()
-        sbox_vig.add(sentry_vig)
-        sbutton_vig = gtk.Button("Search")
-        sbutton_vig.show()
-        sbox_vig.add(sbutton_vig)
-        vbox_vig.pack_start(sbox_vig, expand=False, fill=False, padding=0)
-
-        scrolled_window = gtk.ScrolledWindow()
-        scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, 
-                                   gtk.POLICY_AUTOMATIC)
-        scrolled_window.show()
-        vigPanel = VignetteExplorer(scrolled_window)
+        vigPanel = VignetteExplorer()
         vigPanel.show()
-        vbox_vig.add(scrolled_window)
-        notebook.append_page(vbox_vig, gtk.Label("Vignettes"))
+        notebook.append_page(vigPanel, gtk.Label("Vignettes"))
 
         # doc
-        s_window = gtk.ScrolledWindow()
-        s_window.set_policy(gtk.POLICY_AUTOMATIC, 
-                                   gtk.POLICY_AUTOMATIC)
-        s_window.show()
-        docPanel = DocumentationExplorer(s_window)
+        docPanel = HelpExplorer()
         docPanel.show()
-        notebook.append_page(s_window, gtk.Label("Documentation"))
+        notebook.append_page(docPanel, gtk.Label("Documentation"))
 
-        # search 
-        #window.add(vbox)
         window.add(notebook)
 
         window.show()

Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py      2008-03-21 
11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py      2008-03-21 
14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
 import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
 
 #FIXME: can starting and stopping an embedded R be done several times ?
 rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")

Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py   
2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py   
2008-03-21 14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
 import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
 
 #FIXME: can starting and stopping an embedded R be done several times ?
 rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")

Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py        
2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py        
2008-03-21 14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
 import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
 
 #FIXME: can starting and stopping an embedded R be done several times ?
 rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")

Modified: branches/rpy_nextgen/rpy/robjects/__init__.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/__init__.py       2008-03-21 11:25:12 UTC 
(rev 451)
+++ branches/rpy_nextgen/rpy/robjects/__init__.py       2008-03-21 14:08:43 UTC 
(rev 452)
@@ -8,7 +8,7 @@
 
 import os
 import array
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
 
 
 #FIXME: close everything when leaving (check RPy for that).

Modified: branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py     2008-03-21 
11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py     2008-03-21 
14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
 import unittest
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
 rinterface = robjects.rinterface
 import array
 

Modified: branches/rpy_nextgen/setup.py
===================================================================
--- branches/rpy_nextgen/setup.py       2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/setup.py       2008-03-21 14:08:43 UTC (rev 452)
@@ -22,7 +22,7 @@
 
 
     rinterface = Extension(
-            "rpy.rinterface",
+            "rpy2.rinterface",
             ["rpy/rinterface/rinterface.c", ],
             include_dirs=[ os.path.join(RHOME, 'include'),],
             libraries=['R', 'Rlapack', 'Rblas'],
@@ -37,7 +37,8 @@
           url="http://rpy.sourceforge.net";,
           license="(L)GPL",
           ext_modules = [rinterface],
-          packages = ['rpy', 'rpy.robjects']
+          package_dir = {'rpy2': 'rpy'},
+          packages = ['rpy2', 'rpy2.robjects']
           )
 
 

Modified: branches/rpy_nextgen/test.py
===================================================================
--- branches/rpy_nextgen/test.py        2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/test.py        2008-03-21 14:08:43 UTC (rev 452)
@@ -5,7 +5,7 @@
 dump and a segfault.
 """
 
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
 import array
 
 r = robjects.r


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to