Salome HOME
ILMAB: field of geometry
authoreap <eap@opencascade.com>
Thu, 17 Oct 2013 16:55:54 +0000 (16:55 +0000)
committereap <eap@opencascade.com>
Thu, 17 Oct 2013 16:55:54 +0000 (16:55 +0000)
Fix a bug that modification of values of the boolean field is not stored by [Apply]

src/EntityGUI/EntityGUI_FieldDlg.cxx
src/EntityGUI/EntityGUI_FieldDlg.h

index f819f96e84d6e41df1abfbe4a89270825cab24bf..9b4246b200c03e36184b9747dbe04f8c85da86e7 100644 (file)
@@ -263,56 +263,6 @@ private:
   StepTable* myTable;
 };
 
-/*
-  Class       : EntityGUI_FieldDlg::StepTable
-  Description : Table widget
-*/
-
-class EntityGUI_FieldDlg::StepTable : public QTableWidget
-{
-  //Q_OBJECT
-
-  int                      myDataType;
-  int                      myStepID;
-  int                      myStamp;
-  GEOM::GEOM_FieldStep_var myStep;
-  bool                     myIsChanged;
-
-  QTableWidgetItem * newDefaultItem();
-public:
-  StepTable( int stepID, int dataType, int nbRows, int nbColumns,
-             QString shapeName, QStringList headers,
-             GEOM::GEOM_FieldStep_ptr stepVar, QWidget* = 0 );
-  virtual ~StepTable();
-
-  QSize                    minimumSizeHint() const;
-
-  void                     setEditable( bool, int, int );
-  bool                     isEditable( int, int ) const;
-
-  void                     setReadOnly( bool );
-  bool                     isReadOnly() const;
-
-  void                     insertRows( int, int = 1 );
-  QString                  text( int, int );
-
-  QList<int>               selectedRows();
-  void                     selectRows(const QList<int>& rows);
-
-  void                     setDim( int nbRows, QString shapeName, bool setDefault=true );
-  void                     setNbComps( int nbComps );
-  void                     setDataType( int dataType );
-  void                     setStamp( int stamp ) { myStamp = stamp; }
-  int                      getStamp() { return myStamp; }
-  int                      getStepID() { return myStepID; }
-  QStringList              getHeaders();
-  void                     setHeaders(const QStringList& headers);
-  GEOM::GEOM_FieldStep_var getStep() { return myStep; }
-  void                     setValues(GEOM::GEOM_FieldStep_var& step);
-
-  void                     setIsChanged() { myIsChanged = true; }
-};
-
 EntityGUI_FieldDlg::Delegate::Delegate( QObject* parent )
   : QItemDelegate( parent ), 
     myTable( dynamic_cast<EntityGUI_FieldDlg::StepTable*>( parent ) )
@@ -443,6 +393,7 @@ EntityGUI_FieldDlg::StepTable::StepTable (int stepID, int dataType,
           for ( int iC = 1; iC < nbColumns; ++iC )
             setItem( iR, iC, new CheckItem( vals[ iV++ ]));
     }
+    connect( this, SIGNAL( itemClicked(QTableWidgetItem *)), this, SLOT( setIsChanged() ));
     break;
   }
   case 1:
index c5c7b2120493b527dba0f793dd1fe9b7d6ff6468..c3a0b7ae1d958b442f55ae55a025ab93feb52a5a 100644 (file)
@@ -36,6 +36,7 @@
 #include <QMap>
 #include <QSet>
 #include <QVector>
+#include <QTableWidget>
 
 class QGroupBox;
 class QLineEdit;
@@ -131,6 +132,57 @@ private:
   QWidget*                            mySwitchTableWdg;
   QComboBox*                          myStepsCombo;
   SalomeApp_IntSpinBox*               myStampSpin;
+
+};
+
+/*
+  Class       : EntityGUI_FieldDlg::StepTable
+  Description : Table widget
+*/
+
+class EntityGUI_FieldDlg::StepTable : public QTableWidget
+{
+  Q_OBJECT
+
+  int                      myDataType;
+  int                      myStepID;
+  int                      myStamp;
+  GEOM::GEOM_FieldStep_var myStep;
+  bool                     myIsChanged;
+
+  QTableWidgetItem * newDefaultItem();
+public:
+  StepTable( int stepID, int dataType, int nbRows, int nbColumns,
+             QString shapeName, QStringList headers,
+             GEOM::GEOM_FieldStep_ptr stepVar, QWidget* = 0 );
+  virtual ~StepTable();
+
+  QSize                    minimumSizeHint() const;
+
+  void                     setEditable( bool, int, int );
+  bool                     isEditable( int, int ) const;
+
+  void                     setReadOnly( bool );
+  bool                     isReadOnly() const;
+
+  void                     insertRows( int, int = 1 );
+  QString                  text( int, int );
+
+  QList<int>               selectedRows();
+  void                     selectRows(const QList<int>& rows);
+
+  void                     setDim( int nbRows, QString shapeName, bool setDefault=true );
+  void                     setNbComps( int nbComps );
+  void                     setDataType( int dataType );
+  void                     setStamp( int stamp ) { myStamp = stamp; }
+  int                      getStamp() { return myStamp; }
+  int                      getStepID() { return myStepID; }
+  QStringList              getHeaders();
+  void                     setHeaders(const QStringList& headers);
+  GEOM::GEOM_FieldStep_var getStep() { return myStep; }
+  void                     setValues(GEOM::GEOM_FieldStep_var& step);
+public slots:
+  void                     setIsChanged() { myIsChanged = true; }
 };
 
 #endif