Hi Mateusz,
Can you provide a script?  When I type the two lines of code you provided into IDLE ("label_text" instead of "labeltext" of course) I get no errors, neither the first nor the second time.
That said, the error in the traceback you provided is indicative to me that you are creating an EntryField from a parent widget that has been destroyed.  When you say "closing the viewer" are you talking about the GUI for your extension?  Perhaps closing it destroys the widgets and you are somehow reusing some of them the second time?
Also I would recommend making your dialog inherit from chimera.baseDialog.ModelessDialog.  This will allow it (in 1.6 builds) to be tiled along with other dialogs and to be quickly brought to the front with the 1.6 Rapid Access "Active Dialogs" list.  The "Extension-Specific User Interface" programmer's example (http://plato.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/index.html) goes into detail as to how to use a ModelessDialog.

--Eric

                        Eric Pettersen
                        UCSF Computer Graphics Lab
                        http://www.cgl.ucsf.edu

On Aug 28, 2011, at 3:40 PM, Mateusz Dobrychłop wrote:

Dear Chimera Dev Team,

I am writing a Chimera extension and I use the Pmw toolkit in my GUI. I had no problems testing it and it worked great until I decided to reinstall my OS (Windows 7). After that, I installed Chimera 1.5.3, imported my extension and didn't face any problems at first. But then, after closing the viewer and running it again, an error occured right after importing the extension's gui:

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    b=Pmw.EntryField(a,labelpos="w",label_text="asd")
  File "C:\Program Files (x86)\Chimera 1.5\bin\lib\site-packages\Pmw\Pmw_1_3\lib\PmwEntryField.py", line 73, in __init__
    sequences = root.bind_class(tag)
  File "C:\Program Files (x86)\Chimera 1.5\bin\lib\lib-tk\Tkinter.py", line 1012, in bind_class
    return self._bind(('bind', className), sequence, func, add, 0)
  File "C:\Program Files (x86)\Chimera 1.5\bin\lib\lib-tk\Tkinter.py", line 947, in _bind
    return self.tk.splitlist(self.tk.call(what))
TclError: bad window path name ".94327912.94328912"

I didn't change anything since the last succesful testing of my extension - something happened after closing Chimera for the first time, and I have no idea what it is.

After that, I tried reinstalling Chimera, installing older versions - it's always the same story; everything works great on the first run, but after I close the viewer for the first time, I am not ever able to use Pmw anymore.

The code that causes this error is simple:

a=Tkinter.Tk()
b=Pmw.EntryField(a,labelpos="w",labeltext="c")

I tried to type the same thing in IDLE and I got the exact same error.

Thank you for any help,

best,

Mateusz
_______________________________________________
Chimera-dev mailing list
Chimera-dev@cgl.ucsf.edu
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev