0af93bc98f4a35402be8f10c16258858f7601deb
1 # class for main window
4 import biacv_mainwindow_ui
as bui
6 class Biacv_mainwindow (PyQt4
.QtGui
.QMainWindow
, bui
.Ui_biacv_mainwindow
):
8 PyQt4
.QtGui
.QMainWindow
.__init
__ (self
)
10 self
.currentfile
= None
12 # update professional history button is clicked
13 def on_update_profession (self
):
14 # get the selected item
15 selitems
= self
.professionlist
.selectedItems ()
17 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot update", "No item selected.")
20 # if designation is not set
21 if self
.designation
.text () == "":
22 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot update", "A required field is missing.")
24 # if currently employed in that position, leaving date is to be disabled
25 # and set to "current"
26 if self
.currentemployment
.isChecked ():
27 leavedatestr
= "current"
29 # if the leaving date is < join date
30 if self
.leavedate
.date () < self
.joindate
.date ():
31 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot add",
32 "Leaving date cannot be earlier than join date.")
34 leavedatestr
= self
.leavedate
.date ().toString ("dd MMM, yyyy")
36 selitem
.setText (0, self
.designation
.text ())
37 selitem
.setText (1, self
.joindate
.date ().toString ("dd MMM, yyyy"))
38 selitem
.setText (2, leavedatestr
)
39 selitem
.setText (3, self
.organization
.text ())
40 selitem
.setText (4, self
.additionalinfo
.text ())
42 # delete professional history button is clicked
43 def on_delete_profession (self
):
44 # get the selected items
45 selitems
= self
.professionlist
.selectedItems ()
47 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot delete", "No item selected.")
50 ans
= PyQt4
.QtGui
.QMessageBox
.question (self
, "Confirm",
51 "Are you sure you wish to delete the selected item?",
52 PyQt4
.QtGui
.QMessageBox
.Yes
, PyQt4
.QtGui
.QMessageBox
.No
)
54 if ans
== PyQt4
.QtGui
.QMessageBox
.Yes
:
56 self
.professionlist
.takeTopLevelItem (self
.professionlist
.indexOfTopLevelItem (item
))
57 self
.reset_profession_fields ()
59 # add professional history button is clicked
60 def on_add_profession (self
):
61 if self
.designation
.text () == "":
62 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot add", "A required field is missing.")
64 # if currently employed in that position, leaving date is to be disabled
65 # and set to "current"
66 if self
.currentemployment
.isChecked ():
67 leavedatestr
= "current"
69 # if the leaving date is < join date
70 if self
.leavedate
.date () < self
.joindate
.date ():
71 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot add",
72 "Leaving date cannot be earlier than join date.")
74 leavedatestr
= self
.leavedate
.date ().toString ("dd MMM, yyyy")
76 professionitem
= PyQt4
.QtGui
.QTreeWidgetItem (
78 self
.designation
.text (),
79 self
.joindate
.date ().toString ("dd MMM, yyyy"),
81 self
.organization
.text (),
82 self
.additionalinfo
.text ()
86 self
.professionlist
.addTopLevelItem (professionitem
)
88 self
.reset_profession_fields ()
90 # when selection of profession list is changed
91 def on_select_profession (self
):
92 self
.set_profession_fields ()
94 # set the profession fields from the selected item in profession list
95 def set_profession_fields (self
):
96 selitems
= self
.professionlist
.selectedItems ()
100 self
.designation
.setText (selitem
.text (0))
101 self
.joindate
.setDate (PyQt4
.QtCore
.QDate
.fromString (selitem
.text(1), "dd MMM, yyyy"))
102 if selitem
.text (2) == "current":
103 self
.leavedate
.setEnabled (False)
104 self
.currentemployment
.setChecked (True)
106 self
.leavedate
.setDate (PyQt4
.QtCore
.QDate
.fromString (selitem
.text (2), "dd MMM, yyyy"))
107 self
.leavedate
.setEnabled (True)
108 self
.currentemployment
.setChecked (False)
110 self
.organization
.setText (selitem
.text (3))
111 self
.additionalinfo
.setText (selitem
.text (4))
113 def reset_profession_fields (self
):
114 self
.designation
.setText ("")
115 self
.joindate
.setDate (PyQt4
.QtCore
.QDate (2000, 1, 1))
116 self
.leavedate
.setDate (PyQt4
.QtCore
.QDate (2003, 1, 1))
117 self
.currentemployment
.setChecked (False)
118 self
.organization
.setText ("")
119 self
.additionalinfo
.setText ("")
121 # current employment check box is changed
122 def on_change_currentemployment (self
, val
):
124 self
.leavedate
.setEnabled (False)
126 self
.leavedate
.setEnabled (True)
128 # delete educational qualification
129 def on_delete_education (self
):
130 # get the selected items in the education list
131 selitems
= self
.educationlist
.selectedItems ()
132 # if no items are selected
134 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot delete", "No items selected.")
135 # delete the items after confirmation
137 ans
= PyQt4
.QtGui
.QMessageBox
.question (self
, "Confirm",
138 "Are you sure you wish to delete selected item?",
139 PyQt4
.QtGui
.QMessageBox
.Yes
, PyQt4
.QtGui
.QMessageBox
.No
)
140 if ans
== PyQt4
.QtGui
.QMessageBox
.Yes
:
141 # remove the item selected
142 for item
in selitems
:
143 self
.educationlist
.takeTopLevelItem (self
.educationlist
.indexOfTopLevelItem (item
))
144 self
.reset_education_fields ()
146 # selection is changed
147 def on_select_education (self
):
148 self
.set_education_fields ()
150 # update educational qualification button
151 def on_update_education (self
):
152 selitems
= self
.educationlist
.selectedItems ()
153 # if no item is selected
155 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot update", "No item selected")
157 # if the qualification title is not set
158 if self
.degree_name
.text () == "":
159 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot update", "A required field is missing.")
161 selitem
= selitems
[0]
163 selitem
.setText (0, self
.degree_name
.text ())
164 selitem
.setText (1, self
.yearofpassing
.date ().toString ("MMM, yyyy"))
165 selitem
.setText (2, self
.institution
.text ())
166 selitem
.setText (3, self
.university
.text ())
167 selitem
.setText (4, self
.grade
.text ())
168 selitem
.setText (5, str (self
.percentage
.value ()))
170 # add educational qualification button
171 def on_add_education (self
):
172 # check if the qualification title is set
173 if self
.degree_name
.text () == "":
174 PyQt4
.QtGui
.QMessageBox
.critical (self
, "Cannot add", "A required fields is missing.")
176 educationitem
= PyQt4
.QtGui
.QTreeWidgetItem ([
177 self
.degree_name
.text (),
178 self
.yearofpassing
.date ().toString ("MMM, yyyy"),
179 self
.institution
.text (),
180 self
.university
.text (),
182 str (self
.percentage
.value ())
184 self
.educationlist
.addTopLevelItem (educationitem
)
186 self
.reset_education_fields ()
188 # set fields in the education tab from current selected item
189 def set_education_fields (self
):
190 selitems
= self
.educationlist
.selectedItems ()
193 selitem
= selitems
[0]
194 # set the fields to the data in the selected item in the list
195 self
.degree_name
.setText (selitem
.text (0))
196 self
.yearofpassing
.setDate (PyQt4
.QtCore
.QDate
.fromString (selitem
.text(1), "MMM, yyyy"))
197 self
.institution
.setText (selitem
.text (2))
198 self
.university
.setText (selitem
.text (3))
199 self
.grade
.setText (selitem
.text(4))
200 self
.percentage
.setValue (self
.percentage
.valueFromText (selitem
.text(5)))
202 # reset fields in the education tab
203 def reset_education_fields (self
):
204 self
.degree_name
.setText ("")
205 self
.yearofpassing
.setDate (PyQt4
.QtCore
.QDate (1988, 1, 1))
206 self
.institution
.setText ("")
207 self
.university
.setText ("")
208 self
.grade
.setText ("")
209 self
.percentage
.setValue (50.0)