We're working on a newer version of the plugin, and it looks like it'll be
ready earlier than I expected. It's probably best to make the one-line
change for now. I'll do my best to make sure the newer version is bug-free
for the current fink version of everything before I release it, but that may
mean bugging you guys with a couple more questions since I really don't know
that much about Tk or blt.

Thanks,

-Michael

On Wed, Dec 9, 2009 at 4:13 PM, Jack Howarth <howa...@bromo.med.uc.edu>wrote:

> 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)
>



-- 
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