<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hello, dear participants.</div><div class=""><br class=""></div>Actually, one can do what Kolja needs. If you are still interested, I can deduce the sample from my plugin.<div class=""><br class=""></div><div class="">In 2 words: </div><div class="">1) inherit main view class MyView from pqView</div><div class="">2) create a stub class vtkPVMyView, inherited from vtkPVView, override pure virtual functions</div><div class="">3) add to plugin's XML:</div><div class=""><br class=""></div><div class=""><div class=""></ServerManagerConfiguration></div><div class="">    <!-- declare a view --></div><div class="">    <ProxyGroup name="views"></div><div class="">        <ViewProxy</div><div class="">                name="MyView"</div><div class="">                class="vtkPVMyView"</div><div class="">                processes="client"</div><div class="">                base_proxygroup="internal_views"</div><div class="">                base_proxyname="ViewBase"</div><div class="">                label="My View"></div><div class="">        </ViewProxy></div><div class="">    </ProxyGroup></div><div class="">    <!-- here is your other stuff --></div><div class=""></ServerManagerConfiguration></div></div><div class=""><br class=""></div><div class="">4) create your own container widget class and return it from MyView::createWidget() method</div><div class="">5) use this in your plugin’s CMakeLists.txt:</div><div class=""><br class=""></div><div class=""><div class="">   add_pqproxy(</div><div class="">      VIEW_IFACE VIEW_IFACE_SRCS</div><div class="">      TYPE MyView</div><div class="">      XML_GROUP views</div><div class="">      XML_NAME MyView</div><div class="">   )</div></div><div class=""><br class=""></div><div class="">That’s it. I used SpreadSheet view implementation for inspiration.</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">27 ÑÐ½Ð². 2018 Ð³., Ð² 15:17, Kolja Petersen <<a href="mailto:petersenkolja@gmail.com" class="">petersenkolja@gmail.com</a>> Ð½Ð°Ð¿Ð¸ÑÐ°Ð»(а):</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Thank you Mathieu, your answer helped me decide whether to continue our developments based on Paraview.<div class="">Kolja</div></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" class=""><br class=""> <table style="border-top:1px solid #d3d4de" class="">
        <tbody class=""><tr class="">
      <td style="width:55px;padding-top:18px" class=""><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" class=""><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" class=""></a></td>
                <td style="width:470px;padding-top:17px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px" class="">Virenfrei. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" style="color:#4453ea" class="">www.avast.com</a>              </td>
        </tr>
</tbody></table>
<a href="x-msg://1/#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1" class=""></a></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Jan 26, 2018 at 9:26 AM, Mathieu Westphal <span dir="ltr" class=""><<a href="mailto:mathieu.westphal@kitware.com" target="_blank" class="">mathieu.westphal@kitware.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class=""><div class="">Hi Kolja<br class=""></div><div class=""><br class=""></div><div class="">Inheriting directly from vtkPVView is not possible as there is specific code dedicated to managing each type of base view. Even if it was possible, it would not allow you to add QtWidget anywhere in the view.</div><div class="">This is not possible due to design.</div><div class="">However, there are possibilities to add Qt widgets in the properties panel, in the view tool items and in any dedicated QDockWidget or QToolbar you may want to add in your plugin.</div><div class=""><br class=""></div>Also please keep in mind this mailing list is a volontary Q&A, We do offer consulting services [1] if you want to work with ParaView development team directly.</div><div class=""><br class=""></div><div class="">Best,<br class=""></div><div class=""><a href="https://www.kitware.com/what-we-offer/#consulting" rel="noreferrer" target="_blank" class=""><span class="m_-7952946054494814390gmail-il"></span></a></div><br class=""><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="m_-7952946054494814390gmail_signature"><div dir="ltr" class="">Mathieu Westphal</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">[1] <a href="https://www.kitware.com/what-we-offer/#consulting" rel="noreferrer" target="_blank" class="">https://www.kitware.com/what-<span class="m_-7952946054494814390gmail-il">w<wbr class="">e</span>-<span class="m_-7952946054494814390gmail-il">offer</span>/#<span class="m_-7952946054494814390gmail-il">consulting</span></a></div></div></div><div class=""><div class="h5">
<br class=""><div class="gmail_quote">On Fri, Jan 26, 2018 at 7:31 AM, Kolja Petersen <span dir="ltr" class=""><<a href="mailto:petersenkolja@gmail.com" target="_blank" class="">petersenkolja@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class=""><div class="">Dear Mathieu,<br class=""></div>I may be missing the point of your suggested code. I asked whether plugins can provide views beyond the existing RenderViews, on 15 January I sent a code snippet to the list to show my successful attempts that implement a new RenderView and ask how to replace it with a generic view containing other Qt widgets, and now you reproduced another version of the functionality from my snippet.</div><div class=""><br class=""></div><div class="">Why?</div><div class=""><br class=""></div></div><div class="m_-7952946054494814390gmail-HOEnZb"><div class="m_-7952946054494814390gmail-h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Jan 23, 2018 at 10:45 AM, Mathieu Westphal <span dir="ltr" class=""><<a href="mailto:mathieu.westphal@kitware.com" target="_blank" class="">mathieu.westphal@kitware.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">Hello<br class=""><br class=""></div>Here is a minimal example for creating a new type of view within a plugin.<br class=""></div>You actually cannot inherit directly from vtkPVView, you must inherit for a base view, which can be :<br class=""></div> - vtkPVRenderView<br class=""></div> - vtkPVContextView</div><div class=""> - vtkPythonView</div><div class=""> - vtkSpreadSheetView</div><div class="">(<a href="https://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/classvtkPVView.html" target="_blank" class="">https://www.paraview.org/Para<wbr class="">View/Doc/Nightly/www/cxx-doc/c<wbr class="">lassvtkPVView.html</a>)</div><div class=""><br class=""></div>This choice is also visible in the associated xml files where you precise which kind of proxy you want to create.<br class=""><br class=""></div>In the attached example, I demonstrated how to add a clone of the Render View, called Render View 2.</div><div class=""><br class=""></div><div class="">Hope it helps,</div><div class=""><br class=""></div><div class="">Best,<br class=""></div><div class=""><br class=""></div></div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713gmail_signature"><div dir="ltr" class="">Mathieu Westphal<br class=""></div></div></div><div class=""><div class="m_-7952946054494814390gmail-m_4251073414689478039h5">
<br class=""><div class="gmail_quote">On Mon, Jan 22, 2018 at 7:08 PM, Kolja Petersen <span dir="ltr" class=""><<a href="mailto:petersenkolja@gmail.com" target="_blank" class="">petersenkolja@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Thank you, Mathieu,<div class="">any update on this?</div><div class="">All my research seems to point to a few hardcoded views that are accessible. I simply can't find a solution to implement a new view and open it from a plugin.</div><div class="">Thanks</div><span class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713HOEnZb"><font color="#888888" class=""><div class="">Kolja</div><div class=""><br class=""></div></font></span></div><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713HOEnZb"><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Jan 17, 2018 at 9:55 AM, Mathieu Westphal <span dir="ltr" class=""><<a href="mailto:mathieu.westphal@kitware.com" target="_blank" class="">mathieu.westphal@kitware.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class=""><div class="">Hi Kolja<br class=""><br class=""></div>I have a simple view plugin project ongoing that I should be able to scale down for your needs. <br class=""></div><div class="">I will try to find the time to do it before the end fo the week.<br class=""><br class=""></div>Best, <br class=""></div><div class="gmail_extra"><br clear="all" class=""><div class=""><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547gmail_signature"><div dir="ltr" class="">Mathieu Westphal<br class=""></div></div></div>
<br class=""><div class="gmail_quote"><div class=""><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296h5">On Tue, Jan 16, 2018 at 8:38 PM, Kolja Petersen <span dir="ltr" class=""><<a href="mailto:petersenkolja@gmail.com" target="_blank" class="">petersenkolja@gmail.com</a>></span> wrote:<br class=""></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296h5"><div dir="ltr" class="">Is it possible to write a plugin that derives from vtkPVView instead of vtkPVRenderView?<div class=""><br class=""></div><div class="">I don't know how I can further shorten my question. The answer is quite important to decide whether we can continue our ParaView developments.</div><div class="">Thank you</div><div class="">Kolja</div></div><div id="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" class=""><br class=""> <table style="border-top:1px solid rgb(211,212,222)" class="">
        <tbody class=""><tr class="">
      <td style="width:55px;padding-top:18px" class=""><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" class=""><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width:46px;height:29px" width="46" height="29" class=""></a></td>
                <td style="width:470px;padding-top:17px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px" class="">Virenfrei. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank" class="">www.avast.com</a>                 </td>
        </tr>
</tbody></table>
<a href="x-msg://1/#m_-7952946054494814390_m_4251073414689478039_m_-8381060019648724713_m_-7533380727799637296_m_63782262572172547_m_2726909845290941008_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1" class=""></a></div><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547HOEnZb"><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Mon, Jan 15, 2018 at 7:32 PM, Kolja Petersen <span dir="ltr" class=""><<a href="mailto:petersenkolja@gmail.com" target="_blank" class="">petersenkolja@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class="">I have stripped down Plugin/MantaView until all compilation problems disappear. What is left, is basically a plugin for a vtkOpenGLRenderer.<br class=""></div>The code, consisting of only two minimal classes, is attached and can be built using:<br class=""></div>unzip snippet-viewplugin.zip && mkdir build && cd build && cmake && make<br class=""></div>(tested with ParaView 5.4.1)<br class=""><br class=""></div>This brings me back to my initial question. I'd like to show a custom view, made of a number of Qt widgets (buttons and text) to show important statistics.<br class="">In SnippetView.xml, the view is declared as:<br class=""><SnippetViewProxy class="vtkPVSnippetView" ... base_proxygroup="views" base_proxyname="RenderView" ...<br class=""><br class=""></div>How can I replace 'base_proxyname="RenderView"' by some generic view, to be filled with widgets? "View" or "ViewBase" are not recognized as base proxies.</div>Thank you<span class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008HOEnZb"><font color="#888888" class=""><br class=""></font></span></div><span class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008HOEnZb"><font color="#888888" class="">Kolja<br class=""><br class=""></font></span></div><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008HOEnZb"><div class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sun, Jan 14, 2018 at 5:05 PM, Kolja Petersen <span dir="ltr" class=""><<a href="mailto:petersenkolja@gmail.com" target="_blank" class="">petersenkolja@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class="">Dear plugin developers,</div><div class="">I need to implement a custom view to present datasets in a detailed editable format.</div><div class=""><br class=""></div><div class="">This link says that the plugin tutorial is obsolete for the view part:</div><a href="https://www.paraview.org/Wiki/ParaView/Plugin_HowTo#Adding_a_custom_view_.2A_obsolete_.2A" target="_blank" class="">https://www.paraview.org/Wiki/<wbr class="">ParaView/Plugin_HowTo#Adding_a<wbr class="">_custom_view_.2A_obsolete_.2A</a><br class=""><div class=""><br class=""></div><div class="">The Examples/Plugins/GUIView suggested in the link doesn't exist. The Plugins/MantaView is rather complex and doesn't compile due to other bugs as reported elsewhere, so that I can't get a clue how the MantaView plugin is supposed to work.</div><div class=""><br class=""></div><div class="">Could some kind developer upload a minimal working view plugin example, which needs to display only a simple QButton or any other widget? This will help to allow users build their custom views for ParaView 5.x.y.</div><div class="">Thank you</div><span class="m_-7952946054494814390gmail-m_4251073414689478039m_-8381060019648724713m_-7533380727799637296m_63782262572172547m_2726909845290941008m_5498936572978895266HOEnZb"><font color="#888888" class=""><div class="">Kolja</div></font></span></div>
</blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
</div></div><br class=""></div></div>______________________________<wbr class="">_________________<br class="">
Powered by <a href="http://www.kitware.com/" rel="noreferrer" target="_blank" class="">www.kitware.com</a><br class="">
<br class="">
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank" class="">http://www.kitware.com/opensou<wbr class="">rce/opensource.html</a><br class="">
<br class="">
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank" class="">http://paraview.org/Wiki/ParaV<wbr class="">iew</a><br class="">
<br class="">
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank" class="">http://markmail.org/search/?q=<wbr class="">ParaView</a><br class="">
<br class="">
Follow this link to subscribe/unsubscribe:<br class="">
<a href="https://paraview.org/mailman/listinfo/paraview" rel="noreferrer" target="_blank" class="">https://paraview.org/mailman/l<wbr class="">istinfo/paraview</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div></div></div>
</blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div></div></div></div>
</blockquote></div><br class=""></div>
_______________________________________________<br class="">Powered by <a href="http://www.kitware.com" class="">www.kitware.com</a><br class=""><br class="">Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" class="">http://www.kitware.com/opensource/opensource.html</a><br class=""><br class="">Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" class="">http://paraview.org/Wiki/ParaView</a><br class=""><br class="">Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" class="">http://markmail.org/search/?q=ParaView</a><br class=""><br class="">Follow this link to subscribe/unsubscribe:<br class=""><a href="https://paraview.org/mailman/listinfo/paraview" class="">https://paraview.org/mailman/listinfo/paraview</a><br class=""></div></blockquote></div><br class=""></div></body></html>