def _cell_changed(self, *a):
<EOL>self.block_events()<EOL>for n in range(self.get_row_count()):<EOL><INDENT>key   = self.get_value(<NUM_LIT:0>,n)<EOL>value = self.get_value(<NUM_LIT:1>,n)<EOL>if key   == None:<EOL><INDENT>key = '<STR_LIT>'<EOL>self.set_value(<NUM_LIT:0>,n, '<STR_LIT>')<EOL><DEDENT>if value == None:<EOL><INDENT>value = '<STR_LIT>'<EOL>self.set_value(<NUM_LIT:1>,n, '<STR_LIT>')<EOL><DEDENT>if not key == '<STR_LIT>':<EOL><INDENT>key = self._clean_up_key(key)<EOL>try:<EOL><INDENT>eval(value)<EOL>self._widget.item(n,<NUM_LIT:1>).setData(_g.QtCore.Qt.BackgroundRole, _g.Qt.QtGui.QColor('<STR_LIT>'))<EOL><DEDENT>except:<EOL><INDENT>self._widget.item(n,<NUM_LIT:1>).setData(_g.QtCore.Qt.BackgroundRole, _g.Qt.QtGui.QColor('<STR_LIT>'))<EOL><DEDENT><DEDENT><DEDENT>self.unblock_events()<EOL>
Called whenever a cell is changed. Updates the dictionary.