<font color="#000000"><font size="2"><font face="tahoma,sans-serif">Hi<br><br>Here's the file:<br><a href="https://github.com/alexisylchan/ParaView/blob/testTwoViews/Plugins/VRPN/pqVRPNStarter.cxx">https://github.com/alexisylchan/ParaView/blob/testTwoViews/Plugins/VRPN/pqVRPNStarter.cxx</a><br>
<br>I commented out the last view creation. Now ParaView can load the plugin and create a second window but it's not a functional view. (See <a href="http://cs.unc.edu/%7Ealexisc/ParaView/twowindows.png">screenshot</a>)<br>
<br>Thanks!!<br></font></font></font><br><div class="gmail_quote">On Wed, Mar 9, 2011 at 11:18 AM, Utkarsh Ayachit <span dir="ltr"><<a href="mailto:utkarsh.ayachit@kitware.com">utkarsh.ayachit@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">If you can post your code on github or gitorious, it might be easier<br>
to debug. It's not clear why you;d be getting that error.<br>
<font color="#888888"><br>
Utkarsh<br>
</font><div><div></div><div class="h5"><br>
On Tue, Mar 8, 2011 at 12:06 PM, Alexis Chan <<a href="mailto:alexisc@stanfordalumni.org">alexisc@stanfordalumni.org</a>> wrote:<br>
> Hi<br>
><br>
> I tried to use the recommended method below in my ParaView plugin:<br>
><br>
><br>
><br>
><br>
> // Get Application Core<br>
> pqApplicationCore* core = pqApplicationCore::instance();<br>
><br>
> // Get Object Builder to create new Views, Server etc<br>
> pqObjectBuilder* builder = core->getObjectBuilder();<br>
><br>
><br>
> // Get the Server Manager Model so that we can get current server<br>
><br>
> pqServerManagerModel* serverManager = core->getServerManagerModel();<br>
><br>
> if (serverManager->getNumberOfItems<pqServer*>()== 1) // Assuming that<br>
> there is only 1 server<br>
><br>
><br>
> {<br>
> pqServer* server = serverManager->getItemAtIndex<pqServer*>(0);<br>
><br>
> if (serverManager->getNumberOfItems<pqView*> () == 1) // Assuming that<br>
> there is only 1 view created<br>
> {<br>
> pqView* view1 = serverManager->getItemAtIndex<pqView*>(0);<br>
><br>
><br>
><br>
> // Get QWidget from first view<br>
><br>
> QWidget* viewWidget = view1->getWidget();<br>
> //Create GridLayout Widget from first view's widget<br>
> QGridLayout* gl = new QGridLayout(viewWidget);<br>
><br>
><br>
> //create second view<br>
><br>
> pqRenderView* view2 = qobject_cast<pqRenderView*>(<br>
> builder->createView(pqRenderView::renderViewType(),<br>
> server));<br>
> //Add second view's widget to gridlayout<br>
><br>
><br>
><br>
> gl->addWidget(view2->getWidget(),1,1);<br>
><br>
> //Create third view<br>
><br>
> //create third view<br>
> pqRenderView* view3 = qobject_cast<pqRenderView*>(<br>
> builder->createView(pqRenderView::renderViewType(),<br>
> server));<br>
><br>
><br>
><br>
> //Add third view's widget to gridlayout<br>
> gl->addWidget(view3->getWidget(),2,2);<br>
> }<br>
> }<br>
><br>
> The debugger fails at<br>
> pqRenderView* view3 = qobject_cast<pqRenderView*>(<br>
><br>
> builder->createView(pqRenderView::renderViewType(),<br>
> server));<br>
><br>
> pqObjectBuilder.cxx : pxm->RegisterProxy("views", name.toAscii().data(),<br>
> proxy);<br>
><br>
> qwidget.h: inline QSize QWidget::size() const { return data->crect.size(); }<br>
><br>
> because data is null.<br>
><br>
><br>
><br>
> name.toAscii is "RenderView3".<br>
><br>
> Can someone let me know what I mess up in the code? Thanks.<br>
><br>
><br>
><br>
><br>
>> > On Thu, Mar 18, 2010 at 11:22 AM, Utkarsh Ayachit<br>
>> > <utkarsh.ayachit at <a href="http://kitware.com" target="_blank">kitware.com</a>> wrote:<br>
><br>
><br>
><br>
>> >><br>
>> >> Hello,<br>
><br>
><br>
><br>
>> >><br>
>> >> If you are creating a custom application which always has 4 render<br>
><br>
><br>
><br>
>> >> windows, then I'd suggest not even using the pqViewManager.<br>
>> >> Simply create the 4 views yourself and pack them into a QWidget using<br>
><br>
><br>
><br>
>> >> a QGridLayout. For example, the following code can be used after a<br>
>> >> server connection has been made to set up the 4 views.<br>
><br>
><br>
><br>
>> >><br>
>> >> QWidget* centralWidget = new QWidget();<br>
><br>
><br>
><br>
>> >> mainWindow->setCentralWidget(centralWidget);<br>
>> >> QGridLayout* gl = new QGridLayout(centralWidget);<br>
><br>
><br>
><br>
>> >><br>
>> >> for (int xx=0; xx < 2; xx++)<br>
><br>
><br>
><br>
>> >> {<br>
>> >> for (int yy=0; yy < 2; yy++)<br>
><br>
><br>
><br>
>> >> {<br>
>> >> pqRenderView* view = qobject_cast<pqRenderView*>(<br>
><br>
><br>
><br>
>> >> ob->createView(pqRenderView::renderViewType(), server));<br>
>> >> gl->addWidget(view->getWidget(), yy, xx);<br>
><br>
><br>
><br>
>> >> }<br>
>> >> }<br>
><br>
><br>
><br>
>> >><br>
>> >> Utkarsh<br>
><br>
><br>
><br>
>> >><br>
>> >> On Thu, Mar 18, 2010 at 10:22 AM, Adebayo Olowoyeye<br>
><br>
><br>
><br>
>> >> <aolowoye at <a href="http://umail.iu.edu" target="_blank">umail.iu.edu</a>> wrote:<br>
><br>
><br>
><br>
>> >> > Hi,<br>
>> >> ><br>
><br>
><br>
><br>
>> >> > I am attempting to use the Clone2 CustomApplication example to write<br>
>> >> > a<br>
>> >> > custom application in C++. The wiki documentation on Custom<br>
><br>
><br>
><br>
>> >> > Applications<br>
>> >> > suggest using pqViewManager to control the view of the application.<br>
><br>
><br>
><br>
>> >> ><br>
>> >> > I want to split the frame into four different windows, each with its<br>
><br>
><br>
><br>
>> own<br>
>> >> > view. I am assuming the program starts with one frame and one view.<br>
><br>
><br>
><br>
>> Is<br>
>> >> > this assumption correct?<br>
><br>
><br>
><br>
>> >> ><br>
>> >> > I reference the pqViewManager with the following code:<br>
><br>
><br>
><br>
>> >> > this->Internals->MultiViewManager<br>
>> >> ><br>
><br>
><br>
><br>
>> >> > the active view (I'm guessing the only view at this point is):<br>
>> >> > pqView* view =<br>
><br>
><br>
><br>
>> >> > this->Internals->MultiViewManager->getActiveView();<br>
>> >> ><br>
><br>
><br>
><br>
>> >> > This problem is there are no public methods to split the frame in<br>
>> >> > pqViewManager. It is possible to get the pqMultiViewFrame:<br>
><br>
><br>
><br>
>> >> > pqMultiViewFrame * multiViewFrame =<br>
>> >> > this->Internals->MultiViewManager->getFrame(view);<br>
><br>
><br>
><br>
>> >> ><br>
>> >> > I've tested this by:<br>
><br>
><br>
><br>
>> >> > multiViewFrame->setTitle("HELLO WORLD!");<br>
>> >> ><br>
><br>
><br>
><br>
>> >> > and it works, but I've tried multiple tries to get the frame to split<br>
>> >> > without success. Any insight will help.<br>
><br>
><br>
><br>
>> >> > Thanks!<br>
>> >> ><br>
><br>
><br>
><br>
>> >> > _______________________________________________<br>
>> >> > Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
><br>
><br>
>> >> ><br>
>> >> > Visit other Kitware open-source projects at<br>
><br>
><br>
><br>
>> >> > <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
><br>
><br>
>> >> ><br>
>> >> > Please keep messages on-topic and check the ParaView Wiki at:<br>
><br>
><br>
><br>
>> >> > <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
><br>
>> >> ><br>
><br>
>> >> > Follow this link to subscribe/unsubscribe:<br>
>> >> > <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
><br>
><br>
><br>
>> >> ><br>
>> >> ><br>
><br>
><br>
><br>
>> ><br>
>> ><br>
><br>
><br>
><br>
>> > _______________________________________________<br>
>> > Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
><br>
><br>
>> ><br>
>> > Visit other Kitware open-source projects at<br>
><br>
><br>
><br>
>> > <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
><br>
><br>
>> ><br>
>> > Please keep messages on-topic and check the ParaView Wiki at:<br>
><br>
><br>
><br>
>> > <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
>> ><br>
><br>
><br>
><br>
>> > Follow this link to subscribe/unsubscribe:<br>
>> > <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
><br>
><br>
><br>
>> ><br>
>> ><br>
><br>
><br>
><br>
>><br>
><br>
><br>
><br>
> --<br>
> Alexis YL Chan<br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at:<br>
> <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
><br>
><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Alexis YL Chan <a href="http://alexisylchan.wordpress.com/" target="_blank"></a><br>