class TemplateViewWindow(BaseTextEditWindow): def __init__(self, parent, suite, trait, template, name='TemplateViewWindow'): BaseTextEditWindow.__init__(self, parent, TemplateTextEdit, name=name) self.initPaellaCommon() self.trait = Trait(self.conn, suite=suite) self.mainView.trait = self.trait self.trait.set_trait(trait) self.resize(600, 800) self.set_template(template) def set_template(self, template): self.current_template = template self._set_template() def _status_msg(self, status=None): msg = 'Trait: %s' % self.trait.current_trait msg = '%s (template %s)' % (msg, self.current_template) if status is None: return msg else: return '%s %s' % (status, msg) def _update_status(self, status=None): msg = self._status_msg(status=status) self.statusBar().message(msg) def _set_template(self): template = self.current_template data = self.trait.get_template_contents(template) self.mainView.setText(data) self._update_status() def initActions(self): BaseTextEditWindow.initActions(self) collection = self.actionCollection() self.newAction = KStdAction.openNew( self.mainView.slotCreateNewVariable, collection) def initMenus(self): pass def initToolbar(self): toolbar = self.toolBar() self.newAction.plug(toolbar) BaseTextEditWindow.initToolbar(self) def slotSave(self): text = str(self.mainView.text()) oldtext = self.trait.get_template_contents(self.current_template) if oldtext != text: self.trait.update_template(self.current_template, contents=text) self._update_status('Saved') else: KMessageBox.information(self, 'Nothing has changed') self._update_status()
class TemplateViewWindow(BaseTextEditWindow): def __init__(self, parent, suite, trait, template, name='TemplateViewWindow'): BaseTextEditWindow.__init__(self, parent, TemplateTextEdit, name=name) self.initPaellaCommon() self.trait = Trait(self.conn, suite=suite) self.mainView.trait = self.trait self.trait.set_trait(trait) self.resize(600, 800) self.set_template(template) def set_template(self, template): self.current_template = template self._set_template() def _status_msg(self, status=None): msg = 'Trait: %s' % self.trait.current_trait msg = '%s (template %s)' % (msg, self.current_template) if status is None: return msg else: return '%s %s' % (status, msg) def _update_status(self, status=None): msg = self._status_msg(status=status) self.statusBar().message(msg) def _set_template(self): template = self.current_template data = self.trait.get_template_contents(template) self.mainView.setText(data) self._update_status() def initActions(self): BaseTextEditWindow.initActions(self) collection = self.actionCollection() self.newAction = KStdAction.openNew(self.mainView.slotCreateNewVariable, collection) def initMenus(self): pass def initToolbar(self): toolbar = self.toolBar() self.newAction.plug(toolbar) BaseTextEditWindow.initToolbar(self) def slotSave(self): try: text = str(self.mainView.text()) except UnicodeEncodeError: text = unicode(self.mainView.text()) #text = text.encode() text = text.encode('utf') oldtext = self.trait.get_template_contents(self.current_template) if oldtext != text: self.trait.update_template(self.current_template, contents=text) self._update_status('Saved') else: KMessageBox.information(self, 'Nothing has changed') self._update_status()