34 #include <QGridLayout>
38 #include "vtkRenderWindow.h"
49 mLayout =
new QGridLayout(
this);
50 this->setLayout(mLayout);
54 this->initBaseLayout();
63 void ViewCollectionWidgetMixed::initBaseLayout()
73 mTotalRegion =
merge(region, mTotalRegion);
78 this->mViewCache->clearCache();
80 overlay->
getView()->setType(type);
82 mOverlays.push_back(overlay);
84 this->addWidgetToLayout(mLayout, overlay, region);
88 mBaseRegion =
merge(region, mBaseRegion);
92 this->addWidgetToLayout(mLayout,
mBaseLayout, mBaseRegion);
110 void ViewCollectionWidgetMixed::addWidgetToLayout(QGridLayout* layout, QWidget* widget,
LayoutRegion region)
112 layout->addWidget(widget,
119 mViewCache->clearViews();
121 for (
unsigned i=0; i<mOverlays.size(); ++i)
123 mOverlays[i]->hide();
124 mLayout->removeWidget(mOverlays[i]);
133 this->initBaseLayout();
139 for (
unsigned i=0; i<mOverlays.size(); ++i)
147 for (
unsigned i=0; i<mOverlays.size(); ++i)
149 mOverlays[i]->render();
157 mLayout->setSpacing(val);
164 mLayout->setMargin(val);
169 return mLayout->spacing();
174 return mLayout->margin();
181 for (
unsigned i=0; i<mOverlays.size(); ++i)
182 retval.push_back(mOverlays[i]->getView());
188 for (
unsigned i=0; i<mOverlays.size(); ++i)
190 if (mOverlays[i]->getView()==view)
192 QPoint p = mOverlays[i]->mapToGlobal(QPoint(0,0));
193 p = this->mapFromGlobal(p);
200 p = this->mapFromGlobal(p);
207 Qt::ContextMenuPolicy policy = enable ? Qt::CustomContextMenu : Qt::PreventContextMenu;
208 for (
unsigned i=0; i<mOverlays.size(); ++i)
210 mOverlays[i]->setContextMenuPolicy(policy);
static MultiViewCachePtr create()
LayoutPosition span
size of region
boost::shared_ptr< class View > ViewPtr
void setStretchFactors(QGridLayout *layout, LayoutRegion region, int stretchFactor)
LayoutPosition pos
start position of region
LayoutRegion merge(LayoutRegion a, LayoutRegion b)