[Paraview] Custom display panel for a source or filter

Paul Edwards paul.m.edwards at gmail.com
Mon Jan 7 06:30:57 EST 2008


Sorry to keep asking questions but pqRepresentation doesn't have a
"getInput()" method...

Regards,
Paul

On 04/01/2008, Clinton Stimpson <clinton at elemtech.com> wrote:
>
>
> In your pqDisplayPanelInterface implementation you check for the source
> or filter like so:
>
> bool  MyDisplayInterface::canCreatePanel(pqRepresentation* display)
> {
>   pqPipelineSource* s = display->getInput();
>   vtkSMProxy = s->getProxy();
>   if(QString("MySourceOrFilter") == s->GetXMLName())
>   {
>     return true;
>   }
>   return false;
> }
>
>
> Clint
>
>
> Paul Edwards wrote:
> > I can now change the display panel for all sources/filters relating to
> > a view.  Is there a way to set the display panel depending on the
> > source or filter?
> >
> > Thanks for all the help so far,
> > Paul
> >
> > On 03/01/2008, *Clinton Stimpson* <clinton at elemtech.com
> > <mailto:clinton at elemtech.com>> wrote:
> >
> >     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>
> >     > <mailto: 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>>
> >     >     > <mailto: 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>>
> >     >     <mailto: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>
> >     <mailto: 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 <mailto:ParaView at paraview.org>
> >     > http://www.paraview.org/mailman/listinfo/paraview
> >     >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/paraview/attachments/20080107/b7c4085d/attachment.htm


More information about the ParaView mailing list