void medRegistrationWorkspace::setupViewContainerStack() { //the stack has been instantiated in constructor if (!this->stackedViewContainers()->count()) { //create the fuse container medSingleViewContainer *fuseContainer = new medSingleViewContainer( this->stackedViewContainers()); if (dtkSmartPointer<dtkAbstractView> view = dtkAbstractViewFactory::instance()->createSmartPointer("v3dView")) { view->setProperty("Closable","false"); fuseContainer->setView (view); fuseContainer->setAcceptDrops(false); d->registrationToolBox->setFuseView (view); } //create the compare container medCompareViewContainer * compareViewContainer = new medCompareViewContainer( this->stackedViewContainers()); connect(compareViewContainer,SIGNAL(droppedFixed(medDataIndex)), d->registrationToolBox,SLOT(onFixedImageDropped(medDataIndex))); connect(compareViewContainer,SIGNAL(droppedMoving(medDataIndex)), d->registrationToolBox,SLOT(onMovingImageDropped(medDataIndex))); connect(compareViewContainer,SIGNAL(viewRemoved(dtkAbstractView*)), d->registrationToolBox,SLOT(onViewRemoved(dtkAbstractView*))); connect(fuseContainer,SIGNAL(viewRemoved(dtkAbstractView*)), d->registrationToolBox,SLOT(onViewRemoved(dtkAbstractView*))); this->stackedViewContainers()->addContainer("Compare",compareViewContainer); this->stackedViewContainers()->addContainer("Fuse",fuseContainer); this->stackedViewContainers()->lockTabs(); setCurrentViewContainer("Compare"); }
medCompareViewContainer::medCompareViewContainer(QWidget * parent): medCustomViewContainer(parent), d3(new medCompareViewContainerPrivate) { split(1, 2); d3->fixedContainer = this->childContainers()[0]; d3->movingContainer = this->childContainers()[1]; connect(d3->fixedContainer,SIGNAL(imageSet(medDataIndex)), this,SIGNAL(droppedFixed(medDataIndex))); connect(d3->movingContainer,SIGNAL(imageSet(medDataIndex)), this,SIGNAL(droppedMoving(medDataIndex))); //Set cues for the user: d3->fixedContainer->setInfo(tr("Fixed")); d3->movingContainer->setInfo(tr("Moving")); }