Michael,
   Changes that William Scott made to fink's blt for coot caused the pymol tk 
interface
to get stuck with a watch cursor icon after the APBS tools window was closed. I 
found
that pymol 1.1r1 didn't suffer from this problem against that blt whereas all 
of the
pymol 1.2 releases did. Looking at Warren's commit...

http://pymol.svn.sourceforge.net/viewvc/pymol/trunk/pymol/modules/pmg_tk/startup/apbs_tools.py?r1=3748&r2=3761

Warren seems to have been tinkering with the line...

       #self.dialog.activate(geometry = 'centerscreenalways', globalMode = 
'nograb')

Unfortunately, he rarely addded comments to the code changes in his commits so 
it
is difficult to tell what he was trying to achieve with that. My own guess is 
that
blt destablizes pymol and he was hacking around that. FYI, I think blt gets 
dragged
in by Pmw. Looking at http://pmw.sourceforge.net/doc/starting.html, I see...

-------------
Requirements

Pmw.1.3 requires the _tkinter and Tkinter modules. It works with python 
versions 1.5.2 and greater (tested up to 2.2.1) and Tk versions 8.0 and greater 
(tested up to 8.3.2).

If the BLT extension to Tk is present, Pmw will use the BLT busy command during 
modal dialogs to display a clock cursor. Also, the Pmw.Blt interface to the BLT 
busy, graph, stripchart, tabset and vector commands will be available. BLT 
versions 2.4i and greater are supported (tested up to 2.4u). You can find BLT 
at http://www.tcltk.com/blt/.
-------------
So unfortunately, I don't think we can 'turn off' the blt usage in Pmw without 
building
Pmw in the absence of blt. I guess this is hopeful though for the long term 
support
of pymol. If only Pmw interacts directly with blt, we shouldn't have to do 
anything in
pymol for blt 3.0 other than upgrade to a Pmw release which understand blt 3.0's
interfaces.
          Jack


On Wed, Dec 09, 2009 at 03:14:09PM -0500, Michael Lerner wrote:
> I don't call blt directly from my plugin. In fact, I don't plot anything in
> the plugin, so unless Pmw automatically makes some blt calls for me, the
> plugin is probably blt-free.
> 
> I haven't used pynmr before but it looks like you have to either compile
> something or get a precompiled binary from the web. I'd rather stick with
> pure python for the APBS Tools plugin.
> 
> It looks to me like the plugin is closing PyMOL rather than crashing it when
> I make the suggested changes under Ubuntu.
> 
> -michael
> 
> On Wed, Dec 9, 2009 at 12:05 PM, Jack Howarth <howa...@bromo.med.uc.edu>wrote:
> 
> > Michael,
> >   Do you know if the APBS Tools plugin uses blt? I have working under
> > the assumption that these problems are a manifestation of breakage in
> > the existing blt 2.4z. Have you consider changing ABPS Tools to
> > function more like pynmr (ie open its own window instead of a dialog)?
> > I don't think I've ever seen pynmr crash pymol.
> >             Jack
> >
> > On Wed, Dec 09, 2009 at 11:14:08AM -0500, Michael Lerner wrote:
> > > Hi,
> > >
> > > When I try that on my Ubuntu image, it makes it so that quitting the
> > plugin
> > > causes PyMOL to quit.
> > >
> > > I don't really know much about tk. If there's a standard way to open /
> > > destroy the plugin, I'd be glad to change things around. As far as I
> > know,
> > > the relevant bits are
> > >
> > >     def __init__(self,app):
> > >         self.parent = app.root
> > >
> > >         # Create the dialog.
> > >         self.dialog = Pmw.Dialog(self.parent,
> > >                                  buttons = ('Register APBS Use',
> > 'Register
> > > PDB2PQR Use', 'Set grid', 'Run APBS', 'Exit APBS tools'),
> > >                                  title = 'PyMOL APBS Tools',
> > >                                  command = self.execute)
> > >         self.dialog.protocol('WM_DELETE_WINDOW',self.quit)
> > >         self.dialog.withdraw()
> > >         Pmw.setbusycursorattributes(self.dialog.component('hull'))
> > >         ...
> > >         self.showAppModal()
> > >
> > >     def showAppModal(self):
> > >         #self.dialog.activate(geometry = 'centerscreenfirst', globalMode
> > =
> > > 'nograb')
> > >         #self.dialog.activate(geometry = 'centerscreenalways', globalMode
> > =
> > > 'nograb')
> > >         #self.dialog.activate(geometry = 'centerscreenfirst')
> > >         self.dialog.show()
> > >
> > >     def execute(self, result, refocus=True):
> > >         if result == 'Register APBS Use':
> > >         ...
> > >         else:
> > >             #
> > >             # Doing it this way takes care of clicking on the x in the
> > top
> > > of the
> > >             # window, which as result set to None.
> > >             #
> > >             if __name__ == '__main__':
> > >                 #
> > >                 # dies with traceback, but who cares
> > >                 #
> > >                 self.parent.destroy()
> > >             else:
> > >                 #self.dialog.deactivate(result)
> > >                 global APBS_BINARY_LOCATION, APBS_PSIZE_LOCATION
> > >                 APBS_BINARY_LOCATION = self.binary.getvalue()
> > >                 APBS_PSIZE_LOCATION = self.psize.getvalue()
> > >                 #self.dialog.withdraw()
> > >                 #self.dialog.destroy() # stops CPU hogging, perhaps fixes
> > > Ubuntu bug MGL
> > >                 self.quit()
> > >     def quit(self):
> > >         self.dialog.quit()
> > >         self.parent.quit()
> > >         #self.dialog.withdraw()
> > >         #self.dialog.destroy()
> > >
> > >
> > > by the way, we've started a google wave about the plugin. I can add any
> > of
> > > you that want to be on it.
> > >
> > > -michael
> > >
> > > On Sat, Dec 5, 2009 at 12:02 AM, William G. Scott <
> > > wgsc...@chemistry.ucsc.edu> wrote:
> > >
> > > > Hi Jack:
> > > >
> > > > Again, many thanks.  It has been a busy day so I didn't get a chance to
> > try
> > > > this until just now, but it fixed this highly annoying problem
> > immediately.
> > > >
> > > > I'll pass it along upstream.
> > > >
> > > > All the best,
> > > >
> > > > Bill
> > > >
> > > >
> > > > On Dec 4, 2009, at 8:25 AM, Jack Howarth wrote:
> > > >
> > > > > Bill,
> > > > >   Looking through the changes in the abps_tools.py script from
> > > > > pymol 1.r1 to the current 1.2r2, I believe I've found the offending
> > > > > code. If I revert the change...
> > > > >
> > > > > --- modules/pmg_tk/startup/apbs_tools.py.broken       2009-12-04
> > > > 11:11:03.000000000 -0500
> > > > > +++ modules/pmg_tk/startup/apbs_tools.py      2009-12-04
> > > > 11:18:08.000000000 -0500
> > > > > @@ -1124,7 +1124,7 @@
> > > > >         self.showAppModal()
> > > > >
> > > > >     def showAppModal(self):
> > > > > -        self.dialog.activate(geometry = 'centerscreenfirst',
> > globalMode
> > > > = 'nograb')
> > > > > +        #self.dialog.activate(geometry = 'centerscreenfirst',
> > globalMode
> > > > = 'nograb')
> > > > >         self.dialog.show()
> > > > >         #self.dialog.activate(geometry = 'centerscreenalways')
> > > > >
> > > > > I find that the use of the ABPS tools window no longer nukes the use
> > of
> > > > the main tk
> > > > > interface menus afterwards. You may want to update the current
> > pymol-py
> > > > package with
> > > > > that change. I haven't tested it yet but this might also solve the
> > same
> > > > issue with
> > > > > pymol-py and the current x86_64 blt package.
> > > > >                   Jack
> > > >
> > > >
> > >
> > >
> > > --
> > > Michael Lerner, Ph.D.
> > > IRTA Postdoctoral Fellow
> > > Laboratory of Computational Biology NIH/NHLBI
> > > 5635 Fishers Lane, Room T909, MSC 9314
> > > Rockville, MD 20852 (UPS/FedEx/Reality)
> > > Bethesda MD 20892-9314 (USPS)
> >
> 
> 
> 
> -- 
> Michael Lerner, Ph.D.
> IRTA Postdoctoral Fellow
> Laboratory of Computational Biology NIH/NHLBI
> 5635 Fishers Lane, Room T909, MSC 9314
> Rockville, MD 20852 (UPS/FedEx/Reality)
> Bethesda MD 20892-9314 (USPS)

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to