[Paraview] Custom display panel for a source or filter

Clinton Stimpson clinton at elemtech.com
Thu Jan 3 11:15:00 EST 2008


Paul Edwards wrote:
> Does this mean that I don't need to edit the main Paraview code?
That's correct.  You can do this in a plugin.
> Do you have any examples of a plugin which does this?  
The closest example is ParaView3/Examples/Plugins/GUIView.  But what you 
want is different enough that it may not help much.
> If not, I would be happy to make one, but I'm still a little confused 
> as to how to implement it.  So far I have a plugin for the server and 
> one for the client, adding a reader and panel to paraview.  Below is 
> my CMake file:
>
> 8<----------------------------------------------------------------
> FIND_PACKAGE(ParaView REQUIRED)
> INCLUDE(${PARAVIEW_USE_FILE})
>
>
> QT4_WRAP_CPP(MOC_SRCS pqMyPanel.h)
> QT4_WRAP_UI(UIC_SRCS pqMyPanel.ui )
>
> ADD_PARAVIEW_OBJECT_PANEL(IFACES IFACE_SRCS CLASS_NAME pqMyPanel
>                           XML_NAME MyReader XML_GROUP sources)
>
>
> ADD_PARAVIEW_PLUGIN(MyReaderSMPlugin "1.0"
>                     SERVER_MANAGER_XML vtkMyReader.xml
>                     SERVER_MANAGER_SOURCES vtkMyReader.cxx)
> ADD_PARAVIEW_PLUGIN(MyReaderGUIPlugin "1.0"
>                     GUI_INTERFACES ${IFACES}
>                     GUI_RESOURCE_FILES pqMyReader.xml
>                     SOURCES pqMyPanel.cxx ${MOC_SRCS} ${UIC_SRCS} 
> ${IFACE_SRCS})
> ---------------------------------------------------------------->8
>
> Is there a macro to add a display panel so the file can be auto 
> generated, or do I need to create my own subclass for pqPlugin and 
> manually add it as one of the interfaces?
As Utkarsh said, you create your own implementation of 
pqDisplayPanelInterface, not pqPlugin.
There's an ADD_PARAVIEW_DISPLAY_PANEL macro that you can follow as an 
example.  Since you need to make your own pqDisplayPanelInterface,  you 
can't call that macro.
Your implementation of pqDisplayPanelInterface needs to be give to 
ADD_PARAVIEW_PLUGIN's GUI_INTERFACES argument so it can put it in the 
pqPlugin implementation it creates.

Clint

> On 03/01/2008, *Utkarsh Ayachit* <utkarsh.ayachit at kitware.com 
> <mailto:utkarsh.ayachit at kitware.com>> wrote:
>
>     Hi Paul,
>
>     In your plugin, you need to implement the pqDisplayPanelInterface
>     (just
>     what the pqStandardDisplayPanels in pqDisplayProxyEditorWidget.cxx
>     does)
>     and the register it with the plugin manager. If you look at
>     pqDisplayProxyEditorWidget::updatePanel, you'll see that it checks for
>     all pqDisplayPanelInterface implementations registered and asks
>     them to
>     create the panel for the source.
>
>     Utkarsh
>
>
>     Robert Maynard wrote:
>     >
>     > Last time I asked the same question, I was told I would have to
>     include
>     > the xmlName of my class to the conditional statement, and recompile
>     > paraview to get custom display panels like TextSource to work.
>     >
>     > On Jan 3, 2008 9:12 AM, Paul Edwards <paul.m.edwards at gmail.com
>     <mailto:paul.m.edwards at gmail.com>
>     > <mailto: paul.m.edwards at gmail.com
>     <mailto:paul.m.edwards at gmail.com>>> wrote:
>     >
>     >     I am trying to provide a custom display panel for a plugin I
>     have
>     >     created.  The plugin is for a new source which is a subclass of
>     >     vtkMultiBlockPLOT3DReader (the plot3d file is generated from
>     inputs
>     >     selected in the object panel) and I would like to customize the
>     >     display options for my users.
>     >
>     >     I can see this is done for "TextSource" and
>     "TimeToTextConverter"
>     >     but when looking through the code (pqObjectBuilder.cxx, line
>     400)
>     >     there is a conditional statement to check specifically for these
>     >     sources.  Does this mean that it is not possible from a
>     plugin? (Or
>     >     am I looking in the wrong place here?)
>     >
>     >     Any help would be appreciated, thanks in advance,
>     >     Paul
>     >
>     >     PS Great software ;)
>     >
>     >     _______________________________________________
>     >     ParaView mailing list
>     >     ParaView at paraview.org <mailto:ParaView at paraview.org>
>     <mailto:ParaView at paraview.org <mailto:ParaView at paraview.org>>
>     >     http://www.paraview.org/mailman/listinfo/paraview
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > ParaView mailing list
>     > ParaView at paraview.org <mailto:ParaView at paraview.org>
>     > http://www.paraview.org/mailman/listinfo/paraview
>     <http://www.paraview.org/mailman/listinfo/paraview>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
>   



More information about the ParaView mailing list