From 214d43338c290889637bea519718d76ef8063564 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Thu, 5 Aug 2010 14:16:07 +0000 Subject: [PATCH] QueryEditor renamed to QueryEditorWidget Display error in widget git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2630 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- .../gui/pymod/scene/preset_editor_widget.py | 16 ++++----- modules/gui/pymod/scene/query_editor.py | 33 +++++++++++++++---- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/modules/gui/pymod/scene/preset_editor_widget.py b/modules/gui/pymod/scene/preset_editor_widget.py index 65ff8947c..457cda457 100644 --- a/modules/gui/pymod/scene/preset_editor_widget.py +++ b/modules/gui/pymod/scene/preset_editor_widget.py @@ -30,7 +30,7 @@ from gradient_editor_widget import GradientPreview from gradient_editor_widget import GradientEdit from preset_editor_list_model import PresetEditorListModel from immutable_gradient_info_handler import ImmutableGradientInfoHandler -from query_editor import QueryEditor +from query_editor import QueryEditorWidget from ost.mol import Prop from ost.gfx import ByElementColorOp from ost.gfx import ByChainColorOp @@ -183,7 +183,7 @@ class PresetEditor(QtGui.QDialog): class UniformColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -254,7 +254,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -422,7 +422,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): class ByElementColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -478,7 +478,7 @@ class ByElementColorOpWidget(QtGui.QDialog): class ByChainColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -534,7 +534,7 @@ class ByChainColorOpWidget(QtGui.QDialog): class RenderOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) self.keep_ = QtGui.QCheckBox("Keep") self.keep_.setChecked(False) @@ -609,7 +609,7 @@ class RenderOpWidget(QtGui.QDialog): class VisibilityOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - self.query_editor_ = QueryEditor(self) + self.query_editor_ = QueryEditorWidget(self) self.visible_ = QtGui.QCheckBox("Visible") self.visible_.setChecked(True) @@ -647,4 +647,4 @@ class VisibilityOpWidget(QtGui.QDialog): self.accept() def Cancel(self): - self.reject() \ No newline at end of file + self.reject() diff --git a/modules/gui/pymod/scene/query_editor.py b/modules/gui/pymod/scene/query_editor.py index 7bd05a89d..07b433a27 100644 --- a/modules/gui/pymod/scene/query_editor.py +++ b/modules/gui/pymod/scene/query_editor.py @@ -1,13 +1,17 @@ from ost import mol from PyQt4 import QtCore, QtGui -class QueryEditor(QtGui.QWidget): +class QueryEditorWidget(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.selection_edit_ = QtGui.QLineEdit() - selection_label = QtGui.QLabel("Selection") - + selection_label = QtGui.QLabel("Selection",self) + self.status_=QtGui.QLabel("",self); + self.status_.setWordWrap(True) + self.status_.setMargin(0) + self.status_.setHidden(True) + self.checkboxes_ = dict() for k,v in mol.QueryFlag.__dict__["values"].iteritems(): checkbox = QtGui.QCheckBox(str(v),self) @@ -24,11 +28,15 @@ class QueryEditor(QtGui.QWidget): grid.setContentsMargins(0,5,0,0) grid.addWidget(selection_label,0,0,1,1) grid.addWidget(self.selection_edit_,0,1,1,1) - grid.addWidget(flag_label,1,0,1,1) - grid.addLayout(v_checkbox_layout,1,1,1,1) - grid.setRowStretch(1, 1) + grid.setRowMinimumHeight(1,0) + grid.addWidget(self.status_,1,0,1,2) + grid.addWidget(flag_label,2,0,1,1) + grid.addLayout(v_checkbox_layout,2,1,1,1) + grid.setRowStretch(2, 1) #group_box = QtGui.QGroupBox("Selection",self) #group_box.setLayout(h_layout) + + self.connect(self.selection_edit_,QtCore.SIGNAL("textChanged(const QString& )"),self.UpdateMessage) def GetQueryFlags(self): flag = 0 @@ -51,4 +59,15 @@ class QueryEditor(QtGui.QWidget): k.setChecked(False) def SetQuery(self,query): - self.selection_edit_.setText(query) \ No newline at end of file + self.selection_edit_.setText(query) + + def UpdateMessage(self): + q=self.GetQuery() + if q.IsValid(): + self.status_.setText("") + self.status_.setHidden(True) + + else: + d=q.GetErrorDescription() + self.status_.setText("<font color='red'>%s</font>"%d.msg) + self.status_.setVisible(True) \ No newline at end of file -- GitLab