void ViewCollectionWidgetMixed::initBaseLayout()
{
	mBaseLayout = new ViewCollectionWidgetUsingViewContainer(this);
	this->addWidgetToLayout(mLayout, mBaseLayout, LayoutRegion(0,0));
	mBaseRegion = LayoutRegion(-1,-1);
	mTotalRegion = LayoutRegion(-1,-1);

	this->setGridMargin(4);
	this->setGridSpacing(2);
}
void ViewCollectionWidgetMixed::clearViews()
{
	mViewCacheOverlay->clearUsedViews();

	for (unsigned i=0; i<mOverlays.size(); ++i)
	{
		mOverlays[i]->hide();
		mLayout->removeWidget(mOverlays[i]);
	}
	mOverlays.clear();

	mBaseLayout->clearViews();
	mLayout->removeWidget(mBaseLayout);

	// rebuild to default state:
	view_utils::setStretchFactors(mLayout, mTotalRegion, 0);
	this->addWidgetToLayout(mLayout, mBaseLayout, LayoutRegion(0,0));
	mBaseRegion = LayoutRegion(-1,-1);
	mTotalRegion = LayoutRegion(-1,-1);
}
void LayoutWidgetUsingViewWidgets::clearViews()
{
	mViewCache2D->clearUsedViews();
	mViewCache3D->clearUsedViews();
	mViewCacheRT->clearUsedViews();

	for (unsigned i=0; i<mViews.size(); ++i)
	{
		mViews[i]->hide();
		mLayout->removeWidget(mViews[i]);
	}
	mViews.clear();

	view_utils::setStretchFactors(mLayout, LayoutRegion(0, 0, 10, 10), 0);
}
void FraxinusMainWindowApplicationComponent::addAdditionalDefaultLayouts()
{
	std::cout << "addAdditionalDefaultLayouts" << std::endl;
	ViewServicePtr viewService = logicManager()->getViewService();
	{
		LayoutData layout = LayoutData::create("LAYOUT_VB_FLY_THROUGH", "VB FLY-THROUGH", 3, 5);
		layout.setView(2, View::VIEW_3D, LayoutRegion(0, 0, 3, 3));
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 3, 1, 2));
		layout.setView(1, ptAXIAL, LayoutRegion(1, 3, 1, 2));
		layout.setView(1, ptCORONAL, LayoutRegion(2, 3, 1, 2));
		viewService->addDefaultLayout(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_VB_CUT_PLANES", "VB CUT-PLANES", 3, 5);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 3));
		layout.setView(2, View::VIEW_3D, LayoutRegion(0, 3, 1, 2));
		layout.setView(1, ptAXIAL, LayoutRegion(1, 3, 1, 2));
		layout.setView(1, ptCORONAL, LayoutRegion(2, 3, 1, 2));
		viewService->addDefaultLayout(layout);
	}
	{
		// ACS 3D
		LayoutData layout = LayoutData::create("LAYOUT_ACAS", "ACAS", 2, 2);
		layout.setView(1, ptAXIAL, LayoutRegion(0, 0));
		layout.setView(1, ptCORONAL, LayoutRegion(0, 1));
		layout.setView(1, ptSAGITTAL, LayoutRegion(1, 1));
		layout.setView(0, ptAXIAL, LayoutRegion(1, 0));
		viewService->addDefaultLayout(layout);
	}
}
Beispiel #5
0
/** insert the hardcoded layouts into mLayouts.
 *
 */
void LayoutRepository::addDefaults()
{
	mDefaultLayouts.clear();

	/*
	 *
	 3D______________

	 3D
	 3D AD
	 3D ACS

	 Oblique ________

	 3D AnyDual x1
	 3D AnyDual x2
	 AnyDual x3

	 Orthogonal______

	 3D ACS x1
	 3D ACS x2
	 ACS x3

	 RT______________

	 RT
	 Us Acq
	 */

	// ------------------------------------------------------
	// --- group of 3D-based layouts ------------------------
	// ------------------------------------------------------
	this->addDefault(LayoutData::createHeader("LAYOUT_GROUP_3D", "3D"));
	{
		// 3D only
		LayoutData layout = LayoutData::create("LAYOUT_3D", "3D", 1, 1);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0));
		this->addDefault(layout);
	}
	{
		// 3D ACS
		LayoutData layout = LayoutData::create("LAYOUT_3D_ACS", "3D ACS", 3, 4);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 3));
		layout.setView(1, ptAXIAL, LayoutRegion(0, 3));
		layout.setView(1, ptCORONAL, LayoutRegion(1, 3));
		layout.setView(1, ptSAGITTAL, LayoutRegion(2, 3));
		this->addDefault(layout);
	}
    {
        // A 3DCS
        LayoutData layout = LayoutData::create("LAYOUT_A_3DCS", "A 3DCS", 3, 4);
        layout.setView(1, ptAXIAL, LayoutRegion(0, 0, 3, 3));
        layout.setView(0, View::VIEW_3D, LayoutRegion(0, 3));
        layout.setView(1, ptCORONAL, LayoutRegion(1, 3));
        layout.setView(1, ptSAGITTAL, LayoutRegion(2, 3));
        this->addDefault(layout);
    }
    {
        // 3D 3DAC
        LayoutData layout = LayoutData::create("LAYOUT_3D_3DAC", "3D 3DAC", 3, 5);
        layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 3));
        layout.setView(1, View::VIEW_3D, LayoutRegion(0, 3, 1, 2));
        layout.setView(2, ptAXIAL, LayoutRegion(1, 3, 1, 2));
        layout.setView(2, ptCORONAL, LayoutRegion(2, 3, 1, 2));
        this->addDefault(layout);
    }
	{
		// 3D Any
		LayoutData layout = LayoutData::create("LAYOUT_3D_AD", "3D AnyDual", 2, 4);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 2, 3));
		layout.setView(1, ptANYPLANE, LayoutRegion(0, 3));
		layout.setView(1, ptSIDEPLANE, LayoutRegion(1, 3));
		this->addDefault(layout);
	}
	{
		// 3D ACS in a single view group
		LayoutData layout = LayoutData::create("LAYOUT_3D_ACS_SINGLE", "3D ACS Connected", 3, 4);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 3));
		layout.setView(0, ptAXIAL, LayoutRegion(0, 3));
		layout.setView(0, ptCORONAL, LayoutRegion(1, 3));
		layout.setView(0, ptSAGITTAL, LayoutRegion(2, 3));
		this->addDefault(layout);
	}
	{
		// 3D Any in a single view group
		LayoutData layout = LayoutData::create("LAYOUT_3D_AD_SINGLE", "3D AnyDual Connected", 2, 4);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 2, 3));
		layout.setView(0, ptANYPLANE, LayoutRegion(0, 3));
		layout.setView(0, ptSIDEPLANE, LayoutRegion(1, 3));
		this->addDefault(layout);
	}

	// ------------------------------------------------------
	// --- group of oblique (Anyplane-based) layouts --------
	// ------------------------------------------------------
	this->addDefault(LayoutData::createHeader("LAYOUT_GROUP_Oblique", "Oblique"));
	{
		LayoutData layout = LayoutData::create("LAYOUT_OBLIQUE_3DAnyDual_x1", "3D Any Dual x1", 1, 3);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0));
		layout.setView(1, ptANYPLANE, LayoutRegion(0, 1));
		layout.setView(1, ptSIDEPLANE, LayoutRegion(0, 2));
		this->addDefault(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_OBLIQUE_3DAnyDual_x2", "3D Any Dual x2", 2, 3);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 2, 1));
		layout.setView(1, ptANYPLANE, LayoutRegion(0, 1));
		layout.setView(1, ptSIDEPLANE, LayoutRegion(1, 1));
		layout.setView(2, ptANYPLANE, LayoutRegion(0, 2));
		layout.setView(2, ptSIDEPLANE, LayoutRegion(1, 2));
		this->addDefault(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_OBLIQUE_AnyDual_x3", "Any Dual x3", 2, 3);
		layout.setView(0, ptANYPLANE, LayoutRegion(0, 0));
		layout.setView(0, ptSIDEPLANE, LayoutRegion(1, 0));
		layout.setView(1, ptANYPLANE, LayoutRegion(0, 1));
		layout.setView(1, ptSIDEPLANE, LayoutRegion(1, 1));
		layout.setView(2, ptANYPLANE, LayoutRegion(0, 2));
		layout.setView(2, ptSIDEPLANE, LayoutRegion(1, 2));
		this->addDefault(layout);
	}

	// ------------------------------------------------------
	// --- group of orthogonal (ACS-based) layouts ----------
	// ------------------------------------------------------
	this->addDefault(LayoutData::createHeader("LAYOUT_GROUP_Orthogonal", "Orthogonal"));
	{
		LayoutData layout = LayoutData::create("LAYOUT_ORTHOGONAL_3DACS_x1", "3D ACS x1", 2, 2);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0));
		layout.setView(1, ptAXIAL, LayoutRegion(0, 1));
		layout.setView(1, ptCORONAL, LayoutRegion(1, 0));
		layout.setView(1, ptSAGITTAL, LayoutRegion(1, 1));
		this->addDefault(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_ORTHOGONAL_3DACS_x2", "3D ACS x2", 3, 3);
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 1));
		layout.setView(1, ptAXIAL, LayoutRegion(0, 1));
		layout.setView(1, ptCORONAL, LayoutRegion(1, 1));
		layout.setView(1, ptSAGITTAL, LayoutRegion(2, 1));
		layout.setView(2, ptAXIAL, LayoutRegion(0, 2));
		layout.setView(2, ptCORONAL, LayoutRegion(1, 2));
		layout.setView(2, ptSAGITTAL, LayoutRegion(2, 2));
		this->addDefault(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_ORTHOGONAL_3DACS_x3", "ACS x3", 3, 3);
		layout.setView(0, ptAXIAL, LayoutRegion(0, 0));
		layout.setView(0, ptCORONAL, LayoutRegion(1, 0));
		layout.setView(0, ptSAGITTAL, LayoutRegion(2, 0));
		layout.setView(1, ptAXIAL, LayoutRegion(0, 1));
		layout.setView(1, ptCORONAL, LayoutRegion(1, 1));
		layout.setView(1, ptSAGITTAL, LayoutRegion(2, 1));
		layout.setView(2, ptAXIAL, LayoutRegion(0, 2));
		layout.setView(2, ptCORONAL, LayoutRegion(1, 2));
		layout.setView(2, ptSAGITTAL, LayoutRegion(2, 2));
		this->addDefault(layout);
	}

	// ------------------------------------------------------
	// --- group of RTsource-based layouts - single viewgroup
	// ------------------------------------------------------
	this->addDefault(LayoutData::createHeader("LAYOUT_GROUP_RT", "Realtime Source"));
	{
		LayoutData layout = LayoutData::create("LAYOUT_RT_1X1", "RT", 1, 1);
		layout.setView(0, View::VIEW_REAL_TIME, LayoutRegion(0, 0));
		this->addDefault(layout);
	}
	{
		LayoutData layout = LayoutData::create("LAYOUT_US_Acquisition", "US Acquisition", 2, 3);
		layout.setView(0, ptANYPLANE, LayoutRegion(1, 2, 1, 1));
		layout.setView(0, View::VIEW_3D, LayoutRegion(0, 2, 1, 1));
		layout.setView(0, View::VIEW_REAL_TIME, LayoutRegion(0, 0, 2, 2));
		this->addDefault(layout);
	}
}