Summary and custom panels?

I am working on a customized version of paraview that simplifies the user experience. One of the things I found in the paraview wiki that looked interesting was the Summary Panel page, which was marked as obsolete.

Were Summary Panels abandoned or replaced with a better way of accomplishing the same thing?

Can entirely custom panels be written to interface with object properties? If so, are there any examples of that?

Thank you,
Kevin

It depends on what you are trying to do. In a customized version of ParaView you have a complete liberty on how to present information to your users, you can develop your own custom dock widgets.

Can you give a little bit more details ?

I believe Summary Panels have been replaced by splitting properties into default and “advanced” visibility. The default properties are a reduced number of properties that show only the most-often-used properties.

As Mathieu mentioned, it depends what you want to do. If you want to keep the convenience of ParaView setting up the widget/proxy links, then you can use the pqProxyWidget. It has a constructor that lets you pass in a list of names of properties you want to show. If you want more flexibility in presenting the property controls, you can explicitly instantiate a pqPropertyWidget subclass as needed and add it to the layout of a Qt widget. You can even create custom Qt widgets if you’d like for custom UI for manipulating proxies.

Thank you for the quick guidance.

I want to cull the buttons/inputs from the screen that are barely or never touched by our users. For example, on the property panel I want to hide inputs/buttons our users do not touch very often like the Copy, Paste, Restore, Save buttons on each of the main groups (Properties, Display, View). There are other things I would like to hide such as OSPRay Use Scale Array and maybe even hide the View section altogether. I believe I can do some of this just using the xml files by pushing properties into the “advanced” section. I like the style/layout of the obsoleted summary panels and it sounds like I could do that by instantiating the property widgets myself.

Kevin

Yep, creating custom proxies via XML would let you pick and choose which properties to show, but you’ll have to maintain a parallel set of readers/filters/representations/views, which isn’t impossible, but perhaps not as easy as feeding a list of properties you want to show to the pqProxyWidget.

You might be able to reuse the properties panel and them implement a behavior that removes the copy/paste/etc buttons you don’t want to show.

I did this by deleting these buttons from UI file, and then reprogrammed the ApplyBehavior, which isn’t an elegant way but it truly got clearer. It’s like:
image

Oh, thanks for the tip! There are a few other places I’d like to eliminate buttons such as on the view layout. I wonder if this same general approach could be applied there as well.

The three panels(properties, display, view) are actually identical except for the names(just take a look at paraview’s UI file), they’re less complicated when you set them separately. So all the buttons will be eliminated after you cull the buttons from propertiesPanel.
As for other proerpties such as Scale Array, Ray tracing, since they depends on the proxy, I think we have to control that by pqProxyWidget or pqPropertyWidget as @cory.quammen mentioned.

Hi, I’d like to let you know that there is an general approach to simplify the UI components.

Summary

ovSimplifyUiBehavior::ovSimplifyUiBehavior(QMainWindow w) : QObject(w)
{
pqPropertiesPanel
ppanel = w->findChild<pqPropertiesPanel*>(“propertiesPanel”);
ppanel->findChild<QPushButton*>(“Help”)->hide();
ppanel->findChild<QPushButton*>(“PropertiesCopy”)->hide();
ppanel->findChild<QPushButton*>(“PropertiesPaste”)->hide();
ppanel->findChild<QPushButton*>(“PropertiesRestoreDefaults”)->hide();
ppanel->findChild<QPushButton*>(“PropertiesSaveAsDefaults”)->hide();
}

I implement my own *Behavior* and managed that by calling hide() functions, which, IMO, could easily be applied to any other paraview UI