]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Move create Actions, Table and ToolBars from constructor to initLayout function for...
authornds <nds@opencascade.com>
Mon, 15 Oct 2007 12:32:52 +0000 (12:32 +0000)
committernds <nds@opencascade.com>
Mon, 15 Oct 2007 12:32:52 +0000 (12:32 +0000)
src/TableViewer/TableViewer_ViewModel.cxx
src/TableViewer/TableViewer_ViewModel.h
src/TableViewer/TableViewer_ViewWindow.cxx
src/TableViewer/TableViewer_ViewWindow.h

index 12b7058be3f1ad801c22501afb241351c49ae512..db0d1a2e04a1b5d94e90c70a1f6a2ba6e41e8479 100755 (executable)
@@ -45,9 +45,18 @@ TableViewer_Viewer::~TableViewer_Viewer()
 SUIT_ViewWindow* TableViewer_Viewer::createView( SUIT_Desktop* theDesktop )
 {
   TableViewer_ViewWindow* vw = new TableViewer_ViewWindow( theDesktop, this );
-  QtxTable* tbl = vw->table();
-  if ( tbl && getViewManager() )
-    tbl->viewport()->installEventFilter( getViewManager() );
+  initView( vw );
   return vw;
 }
 
+/*!
+  Start initialization of view window
+  \param theVW - view window to be initialized
+*/
+void TableViewer_Viewer::initView( TableViewer_ViewWindow* theVW )
+{
+  theVW->initLayout();
+  QtxTable* tbl = theVW->table();
+  //if ( tbl && getViewManager() )
+  //  tbl->viewport()->installEventFilter( getViewManager() );
+}
index cd8f5140bf0e5ec78bd0a31f35bf98845654cafd..d0bdac5674821757cc6977e93ac500565dab4209 100755 (executable)
@@ -22,6 +22,7 @@
 #include "TableViewer.h"
 #include "SUIT_ViewModel.h"
 
+class TableViewer_ViewWindow;
 class SUIT_ViewWindow;
 class SUIT_Desktop;
 class QString;
@@ -37,7 +38,10 @@ public:
   ~TableViewer_Viewer();
 
   virtual SUIT_ViewWindow* createView(SUIT_Desktop* theDesktop);
-  virtual QString getType() const { return Type(); }
+  virtual QString          getType() const { return Type(); }
+protected:
+  void                     initView( TableViewer_ViewWindow* );
+
 };
 
 #endif // !defined(TABLEVIEWER_VIEWMODEL_H)
index 7a02cbeca51bd2d1665e5c9d886bb7ac0fbfcb03..55c7c4c00a2738a2db1eb583fda6919f28bf0283 100755 (executable)
@@ -49,18 +49,8 @@ TableViewer_ViewWindow::TableViewer_ViewWindow( SUIT_Desktop* theDesktop,
 :SUIT_ViewWindow( theDesktop )
 {
   myModel = theModel;
-  myTable = new QtxTable( this );
-  connect( myTable->selectionModel(), SIGNAL( selectionChanged( const QItemSelection&,
-           const QItemSelection& ) ), this, SLOT( selectionChanged() ) );
-
-  //myTable->setReadOnly( true );
-  setCentralWidget( myTable );
-
   myToolBar = new QtxToolBar( true, tr("LBL_TOOLBAR_LABEL"), this );
 
-  createActions();
-  createToolBar();
-
   // fill table
   /*
   myTable->setColumnCount(3);
@@ -102,6 +92,19 @@ QtxTable* TableViewer_ViewWindow::table() const
   return myTable;
 }
 
+
+/*!
+  Internal initialization
+*/
+void TableViewer_ViewWindow::initLayout()
+{
+  myTable = createTable();
+  setCentralWidget( myTable );
+
+  createActions();
+  createToolBar();
+}
+
 QImage TableViewer_ViewWindow::dumpView()
 {
   return QPixmap::grabWindow( table()->winId() ).toImage();
@@ -517,3 +520,12 @@ bool TableViewer_ViewWindow::canPaste( const int theRow, const int theCol, const
   return theRow < myTable->rowCount() && theRow >= 0 &&
          theCol < myTable->columnCount() & theCol >= 0;
 }
+
+QtxTable* TableViewer_ViewWindow::createTable()
+{
+  QtxTable* aTable = new QtxTable( this );
+  connect( aTable->selectionModel(), SIGNAL( selectionChanged(
+                       const QItemSelection&, const QItemSelection& ) ),
+           this, SLOT( selectionChanged() ) );
+  return aTable;
+}
index a346910e385827cc1c0d0603f5a3c3393815b90e..bc698d73cb2ab58637f853780ff28410bf6dfe44 100755 (executable)
@@ -47,6 +47,7 @@ public:
   QtxTable*           table() const;
   QToolBar*           getToolBar() { return myToolBar; }
 
+  virtual void        initLayout();
   virtual QImage      dumpView();
 
 protected:
@@ -62,6 +63,7 @@ protected:
   virtual bool        canCopy( const int, const int );
   virtual bool        canPaste( const int, const int, const QString& );
 
+  virtual QtxTable*   createTable();
   void                registerAction( const int, QtxAction* );
   QtxAction*          createAction( const int, const QString&, const QPixmap&, const QString&,
                                     const QString&, const int = 0, QObject* = 0 );