root / ase / gui / constraints.py @ 20
Historique | Voir | Annoter | Télécharger (1,2 ko)
1 | 1 | tkerber | #!/usr/bin/env python
|
---|---|---|---|
2 | 1 | tkerber | from math import sqrt |
3 | 1 | tkerber | |
4 | 1 | tkerber | import gtk |
5 | 1 | tkerber | |
6 | 1 | tkerber | from ase.gui.languages import translate as _ |
7 | 1 | tkerber | from ase.gui.widgets import pack, Help |
8 | 1 | tkerber | |
9 | 1 | tkerber | |
10 | 1 | tkerber | class Constraints(gtk.Window): |
11 | 1 | tkerber | def __init__(self, gui): |
12 | 1 | tkerber | gtk.Window.__init__(self)
|
13 | 1 | tkerber | self.set_title(_('Constraints')) |
14 | 1 | tkerber | vbox = gtk.VBox() |
15 | 1 | tkerber | b = pack(vbox, [gtk.Button(_('Constrain')),
|
16 | 1 | tkerber | gtk.Label(_(' selected atoms'))])[0] |
17 | 1 | tkerber | b.connect('clicked', self.selected) |
18 | 1 | tkerber | b = pack(vbox, [gtk.Button(_('Constrain')),
|
19 | 1 | tkerber | gtk.Label(_(' immobile atoms:'))])[0] |
20 | 1 | tkerber | b.connect('clicked', self.immobile) |
21 | 1 | tkerber | b = pack(vbox, gtk.Button('Clear constraints'))
|
22 | 1 | tkerber | b.connect('clicked', self.clear) |
23 | 1 | tkerber | close = pack(vbox, gtk.Button(_('Close')))
|
24 | 1 | tkerber | close.connect('clicked', lambda widget: self.destroy()) |
25 | 1 | tkerber | self.add(vbox)
|
26 | 1 | tkerber | vbox.show() |
27 | 1 | tkerber | self.show()
|
28 | 1 | tkerber | self.gui = gui
|
29 | 1 | tkerber | |
30 | 1 | tkerber | def selected(self, button): |
31 | 1 | tkerber | self.gui.images.dynamic = ~self.gui.images.selected |
32 | 1 | tkerber | self.gui.draw()
|
33 | 1 | tkerber | |
34 | 1 | tkerber | def immobile(self, button): |
35 | 1 | tkerber | self.gui.images.set_dynamic()
|
36 | 1 | tkerber | self.gui.draw()
|
37 | 1 | tkerber | |
38 | 1 | tkerber | def clear(self, button): |
39 | 1 | tkerber | self.gui.images.dynamic[:] = True |
40 | 1 | tkerber | self.gui.draw()
|