+/*
+ Class : SMESHGUI_FilterTable::IntSpinItem
+ Description : Integer spin table item.
+*/
+
+class SMESHGUI_FilterTable::IntSpinItem : public QTableWidgetItem
+{
+public:
+ static int Type();
+
+ IntSpinItem( const int theValue );
+
+ int value() const;
+ void setValue( const int theValue );
+
+ void clear();
+};
+
+int SMESHGUI_FilterTable::IntSpinItem::Type()
+{
+ return QTableWidgetItem::UserType + 3;
+}
+
+SMESHGUI_FilterTable::IntSpinItem::IntSpinItem( const int theValue )
+ : QTableWidgetItem( Type() )
+{
+ setValue( theValue );
+}
+
+int SMESHGUI_FilterTable::IntSpinItem::value() const
+{
+ bool ok = false;
+ int value = data( Qt::UserRole ).toInt( &ok );
+ return ok ? value : 0;
+}
+
+void SMESHGUI_FilterTable::IntSpinItem::setValue( const int theValue )
+{
+ setData( Qt::UserRole, theValue );
+ setText( QString::number( theValue ) );
+}
+
+void SMESHGUI_FilterTable::IntSpinItem::clear()
+{
+ setText( "" );
+}
+
+/*
+ Class : SMESHGUI_FilterTable::DoubleSpinItem
+ Description : Double spin table item.
+*/
+
+class SMESHGUI_FilterTable::DoubleSpinItem : public QTableWidgetItem
+{
+public:
+ static int Type();
+
+ DoubleSpinItem( const double theValue );
+
+ double value() const;
+ void setValue( const double theValue );
+
+ int precision() const;
+ void setPrecision( const int thePrecision );
+
+ void clear();
+};
+
+int SMESHGUI_FilterTable::DoubleSpinItem::Type()
+{
+ return QTableWidgetItem::UserType + 4;
+}
+
+SMESHGUI_FilterTable::DoubleSpinItem::DoubleSpinItem( const double theValue )
+ : QTableWidgetItem( Type() )
+{
+ setValue( theValue );
+}
+
+double SMESHGUI_FilterTable::DoubleSpinItem::value() const
+{
+ bool ok = false;
+ double value = data( Qt::UserRole ).toDouble( &ok );
+ return ok ? value : 0;
+}
+
+void SMESHGUI_FilterTable::DoubleSpinItem::setValue( const double theValue )
+{
+ setData( Qt::UserRole, theValue );
+ setText( QString::number( theValue ) );
+}
+
+int SMESHGUI_FilterTable::DoubleSpinItem::precision() const
+{
+ bool ok = false;
+ int precision = data( Qt::UserRole + 1 ).toInt( &ok );
+ return ok ? precision : 0;
+}
+
+void SMESHGUI_FilterTable::DoubleSpinItem::setPrecision( const int thePrecision )
+{
+ setData( Qt::UserRole + 1, thePrecision );
+}
+
+void SMESHGUI_FilterTable::DoubleSpinItem::clear()
+{
+ setText( "" );
+}
+