1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# Copyright 2004-2007 Nanorex, Inc. See LICENSE file for details.
"""
ThermoProp.py - edit properties of Thermometer jig
$Id$
"""
from PyQt4 import QtGui
from PyQt4.Qt import QDialog
from PyQt4.Qt import SIGNAL
from PyQt4.Qt import QColorDialog
from commands.ThermometerProperties.ThermoPropDialog import Ui_ThermoPropDialog
from widgets.widget_helpers import RGBf_to_QColor, QColor_to_RGBf, get_widget_with_color_palette
class ThermoProp(QDialog, Ui_ThermoPropDialog):
def __init__(self, thermo, glpane):
QDialog.__init__(self)
self.setupUi(self)
self.connect(self.cancel_btn, SIGNAL("clicked()"), self.reject)
self.connect(self.ok_btn, SIGNAL("clicked()"), self.accept)
self.connect(self.choose_color_btn, SIGNAL("clicked()"), self.change_jig_color)
self.jig = thermo
self.glpane = glpane
jigtype_name = self.jig.__class__.__name__
self.setWindowIcon(QtGui.QIcon("ui/border/"+ jigtype_name))
def setup(self):
self.jig_attrs = self.jig.copyable_attrs_dict() # Save the jig's attributes in case of Cancel.
# Jig color
self.jig_QColor = RGBf_to_QColor(self.jig.normcolor) # Used as default color by Color Chooser
self.jig_color_pixmap = get_widget_with_color_palette(
self.jig_color_pixmap, self.jig_QColor)
# Jig name
self.nameLineEdit.setText(self.jig.name)
self.molnameLineEdit.setText(self.jig.atoms[0].molecule.name)
def change_jig_color(self):
"""
Slot method to change the jig's color.
"""
color = QColorDialog.getColor(self.jig_QColor, self)
if color.isValid():
self.jig_QColor = color
self.jig_color_pixmap = get_widget_with_color_palette(
self.jig_color_pixmap, self.jig_QColor)
self.jig.color = self.jig.normcolor = QColor_to_RGBf(color)
self.glpane.gl_update()
def accept(self):
"""
Slot for the 'OK' button
"""
self.jig.try_rename(self.nameLineEdit.text())
self.jig.assy.w.win_update() # Update model tree
self.jig.assy.changed()
QDialog.accept(self)
def reject(self):
"""
Slot for the 'Cancel' button
"""
self.jig.attr_update(self.jig_attrs) # Restore attributes of the jig.
self.glpane.gl_update()
QDialog.reject(self)
|