- //create an item in the tree with good settings
- QTreeWidgetItem *item = new QTreeWidgetItem();
- item->setData(0,Qt::UserRole,nameGenerator->GetFileNames()[i].c_str());
- std::string fileI = itksys::SystemTools::GetFilenameWithoutLastExtension(
- nameGenerator->GetFileNames()[i]).c_str();
- item->setData(COLUMN_IMAGE_NAME,Qt::DisplayRole,fileI.c_str());
- for (int j = 1; j <= 4; j++) {
- for (int i = 0; i < DataTree->topLevelItemCount(); i++) {
- DataTree->topLevelItem(i)->setData(j,Qt::CheckStateRole,0);
- }
- item->setData(j,Qt::CheckStateRole,2);
- }
-
- //Create the buttons for reload and close
- QTreePushButton* cButton = new QTreePushButton;
- cButton->setItem(item);
- cButton->setColumn(COLUMN_CLOSE_IMAGE);
- cButton->setToolTip(tr("close image"));
- cButton->setIcon(QIcon(QString::fromUtf8(":/common/icons/exit.png")));
- connect(cButton,SIGNAL(clickedInto(QTreeWidgetItem*, int)),
- this,SLOT(CloseImage(QTreeWidgetItem*, int)));
-
- QTreePushButton* rButton = new QTreePushButton;
- rButton->setItem(item);
- rButton->setColumn(COLUMN_RELOAD_IMAGE);
- rButton->setToolTip(tr("reload image"));
- rButton->setIcon(QIcon(QString::fromUtf8(":/common/icons/rotateright.png")));
- rButton->setEnabled(false);
- connect(rButton,SIGNAL(clickedInto(QTreeWidgetItem*, int)),
- this,SLOT(ReloadImage(QTreeWidgetItem*, int)));
-
- DataTree->addTopLevelItem(item);
- DataTree->setItemWidget(item, COLUMN_CLOSE_IMAGE, cButton);
- DataTree->setItemWidget(item, COLUMN_RELOAD_IMAGE, rButton);
-
- //set the id of the image
- QString id = nameGenerator->GetFileNames()[i].c_str() + QString::number(mSlicerManagers.size()-1);
- item->setData(COLUMN_IMAGE_NAME,Qt::UserRole,id.toStdString().c_str());
- mSlicerManagers.back()->SetId(id.toStdString());
- linkPanel->addImage(fileI, id.toStdString());
- connect(mSlicerManagers.back(),SIGNAL(currentImageChanged(std::string)),
- this,SLOT(CurrentImageChanged(std::string)));
- connect(mSlicerManagers.back(),SIGNAL(
- UpdatePosition(int, double, double, double, double, double, double, double)),this,
- SLOT(MousePositionChanged(int,double, double, double, double, double, double, double)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateVector(int, double, double, double, double)),
- this, SLOT(VectorChanged(int,double,double,double, double)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateOverlay(int, double, double)),
- this, SLOT(OverlayChanged(int,double,double)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateFusion(int, double)),
- this, SLOT(FusionChanged(int,double)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateWindows(int, int, int)),
- this,SLOT(WindowsChanged(int, int, int)));
- connect(mSlicerManagers.back(),SIGNAL(WindowLevelChanged(double, double,int, int)),
- this,SLOT(WindowLevelChanged(double, double, int, int)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateSlice(int,int)),
- this,SLOT(UpdateSlice(int,int)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateTSlice(int, int)),
- this,SLOT(UpdateTSlice(int, int)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateSliceRange(int,int,int,int,int)),
- this,SLOT(UpdateSliceRange(int,int,int,int,int)));
- connect(mSlicerManagers.back(),SIGNAL(UpdateLinkManager(std::string,int,double,double,double,int)),
- this,SLOT(UpdateLinkManager(std::string,int,double,double,double,int)));
- connect(mSlicerManagers.back(),SIGNAL(LandmarkAdded()),landmarksPanel,SLOT(AddPoint()));
- UpdateTree();
- qApp->processEvents();
- InitSlicers();
- InitDisplay();
- qApp->processEvents();
- }
- QApplication::restoreOverrideCursor();
- } else {
- QApplication::restoreOverrideCursor();
- QString error = "Cannot split file (dimensions must be greater than 2) ";
- QMessageBox::information(this,tr("Splitting problem"),error);
- }
- }
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvMainWindow::MousePositionChanged(int visibility,double x, double y, double z, double X, double Y, double Z , double value)
-{
- infoPanel->setCurrentInfo(visibility,x,y,z,X,Y,Z,value);
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvMainWindow::VectorChanged(int visibility,double x, double y, double z, double value)
-{
- overlayPanel->getCurrentVectorInfo(visibility,x,y,z,value);
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvMainWindow::OverlayChanged(int visibility, double valueOver, double valueRef)
-{
- overlayPanel->getCurrentOverlayInfo(visibility,valueOver, valueRef);
-}
-//------------------------------------------------------------------------------