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