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"));
}