]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
refs #587: sorting the point table by click on header
authorasl <asl@opencascade.com>
Thu, 8 Oct 2015 07:53:32 +0000 (10:53 +0300)
committerasl <asl@opencascade.com>
Thu, 8 Oct 2015 07:53:32 +0000 (10:53 +0300)
src/CurveCreator/CurveCreator_TableView.cxx
src/CurveCreator/CurveCreator_TableView.h

index b8fd0bf6e355a7846a8e412491c3a64b8af8d1d8..fe4c2dd6939296fda108173bb69045e1be40b25d 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <QTableWidget>
 #include <QTableWidgetItem>
+#include <QHeaderView>
 
 #include <QtxDoubleSpinBox.h>
 
@@ -109,6 +110,8 @@ CurveCreator_TableView::CurveCreator_TableView( CurveCreator_ICurve* theCurve,
   //aLabels << tr( "SECTION_LABEL" ) << tr( "IDENTIFIER_LABEL" ) << aCoord1 << aCoord2;
   aLabels << tr( "TABLE_SECTION" ) << tr("TABLE_INDEX") << aCoord1 << aCoord2;
   setHorizontalHeaderLabels( aLabels );
+
+  connect( horizontalHeader(), SIGNAL( sectionClicked( int ) ), this, SLOT( OnHeaderClick( int ) ) );
 }
 
 void CurveCreator_TableView::setCurve( CurveCreator_ICurve* theCurve )
@@ -131,7 +134,7 @@ void CurveCreator_TableView::setLocalPointsToTable(
 
     QTableWidgetItem* anItem;
     anItem = new QTableWidgetItem( myCurve->getSectionName( anISection ).c_str() );
-    anItem->setFlags( anItem->flags() & ~Qt::ItemIsEnabled );
+    anItem->setFlags( anItem->flags() & ~Qt::ItemIsEditable );
     anItem->setData( Qt::UserRole, anISection );
     setItem( aRowId, 0, anItem );
 
@@ -176,3 +179,8 @@ int CurveCreator_TableView::getPointId( const int theRowId ) const
 {
   return item( theRowId, 1 )->data( Qt::UserRole ).toInt();
 }
+
+void CurveCreator_TableView::OnHeaderClick( int theLogicalId )
+{
+  sortByColumn( theLogicalId, Qt::AscendingOrder );
+}
index e6e8d1cd673172df853ba0af1c99583c612d8135..6028e04dd1d8560a4ea6bfc95cec4423c04f98e5 100644 (file)
@@ -63,6 +63,9 @@ public:
    */
   int getPointId( const int theRowId ) const;
 
+private slots:
+  void OnHeaderClick( int );
+
 private:
   CurveCreator_ICurve* myCurve;