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