From cc35c79ad56f18bb92df02579ccc78cd7872b349 Mon Sep 17 00:00:00 2001 From: Guido Ranzuglia granzuglia Date: Thu, 3 Sep 2009 10:15:53 +0000 Subject: [PATCH] fixed state bug in class ColorWidget --- src/meshlab/stdpardialog.cpp | 15 +++++++++------ src/meshlab/stdpardialog.h | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/meshlab/stdpardialog.cpp b/src/meshlab/stdpardialog.cpp index 4d995cd87..108cf3e2b 100644 --- a/src/meshlab/stdpardialog.cpp +++ b/src/meshlab/stdpardialog.cpp @@ -74,7 +74,7 @@ void MeshlabStdDialog::showAutoDialog(MeshFilterInterface *mfi, MeshModel *mm, M bool MeshlabStdDialog::isDynamic() { //return (curParSet.getDynamicFloatMask()!= 0); - return ((curmask != MeshModel::MM_UNKNOWN) && (curmask != MeshModel::MM_NONE)); + return ((curmask != MeshModel::MM_UNKNOWN) && (curmask != MeshModel::MM_NONE) && !(curmask & MeshModel::MM_VERTNUMBER) && !(curmask & MeshModel::MM_FACENUMBER)); } @@ -287,9 +287,9 @@ void MeshlabStdDialog::applyDynamic() // Restore the meshState.apply(curModel); curmwi->executeFilter(q, curParSet, true); - - validcache = true; meshCacheState.create(curmask,curModel); + validcache = true; + if(this->curgla) this->curgla->update(); } @@ -1171,8 +1171,8 @@ ColorWidget::ColorWidget(QWidget *p, RichColor* newColor) colorButton = new QPushButton(p); colorButton->setAutoFillBackground(true); colorButton->setFlat(true); - const QColor cl = rp->pd->defVal->getColor(); - updateColorInfo(cl); + //const QColor cl = rp->pd->defVal->getColor(); + resetWidgetValue(); int row = gridLay->rowCount() - 1; gridLay->addWidget(descLabel,row,0,Qt::AlignTop); @@ -1196,9 +1196,12 @@ void ColorWidget::updateColorInfo(const ColorValue& newColor) void ColorWidget::pickColor() { - pickcol =QColorDialog::getColor(rp->pd->defVal->getColor()); + pickcol =QColorDialog::getColor(pickcol); if(pickcol.isValid()) + { + collectWidgetValue(); updateColorInfo(ColorValue(pickcol)); + } emit dialogParamChanged(); } diff --git a/src/meshlab/stdpardialog.h b/src/meshlab/stdpardialog.h index f1fd2967a..fe2cf3bb1 100644 --- a/src/meshlab/stdpardialog.h +++ b/src/meshlab/stdpardialog.h @@ -625,5 +625,6 @@ private: + #endif