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