[Paraview] Trouble with "information_only" GUI property in paraview filter

Alex Rattner Alex.Rattner at gatech.edu
Fri Jun 8 17:35:32 EDT 2012


Hi Yumin,

Thank you for the suggestion. I debugged into pqNamedWidgets, and found 
that my property was being excluded from the propertiesToShow list, even 
with the show="1" setting. When I manually switched it in the debugger, 
the property showed up and worked correctly.

The issue seems to go a step deeper. The pqNamedWidgets::createWidgets 
function calls pqNamedWidgets::processHints. Now process hints scans 
through the list of hints in the following loop.

   for (unsigned int i = 0; i < numHints; i++)
     {
     vtkPVXMLElement *element = hints->GetNestedElement(i);
     if (QString("Property") == element->GetName())
       {
       QString propertyName = element->GetAttribute("name");
       int showProperty;
       if (element->GetScalarAttribute("show", &showProperty))
         {
         if (showProperty)
           {
           propertiesToShow.push_back(propertyName);
           }
         else
           {
           propertiesToHide.push_back(propertyName);
           }
         }
       }
     }

First it checks if the hint is named "Property" (with the attribute 
"show"), but this one is actually named "ShowInMenu". So it seems that 
the hints data structure is not being set up correctly.

Do you happen to have any other thoughts of ways to get this property to 
display?

Thanks again,
Alex


On 06/08/2012 02:28 PM, Yumin Yuan wrote:
> Hi Alex,
>
> If you can debug into pqNamedWidgets::createWidgets(), and see where
> and why this property is being skipped, it will help to narrow down
> the problem, especially around this piece of logic (starting with line
> 892).
>
>
>      // skip information properties
>      if((!propertiesToShow.contains(propertyName)&&  informationOnly) ||
>          SMProperty->GetIsInternal())
>        {
>        continue;
>        }
>
>      vtkPVXMLElement *hints = SMProperty->GetHints();
>
>      // skip non-summary properties if summaryOnly is true
>      if(summaryOnly&&  (!hints ||
> hints->FindNestedElementByName("ShowInSummaryPanel") == 0))
>        {
>        continue;
>        }
>
>
> HTH,
> Yumin
>
> On Fri, Jun 8, 2012 at 3:57 PM, Alex Rattner<Alex.Rattner at gatech.edu>  wrote:
>> Hi Yumin,
>>
>> Thank you for the response. I tried this and still no luck, the property
>> still won't appear. For reference, my new xml was
>>
>> <IntVectorProperty
>>    name="NumberOfFeatures"
>>    label="Num Features"
>>
>>    command="GetNumFeatures"
>>    number_of_elements="1"
>>    default_values="0"
>>    information_only="1"
>>    show="1">
>>
>> <Documentation>
>>       Number of features in the field.
>> </Documentation>
>> </IntVectorProperty>
>>
>> I'm pretty sure that the property is actually being made and called, because
>> I debugged paraview and found that the GetNumFeatures method was being
>> called. It just seems that the property isn't being displayed. Could this
>> really be a bug in paraview?
>>
>> Thanks,
>> Alex
>>
>>
>> On 06/08/2012 01:22 PM, Yumin Yuan wrote:
>>> Hi Alex,
>>>
>>> You can add the following to your xml to see if it helps.
>>>
>>> show="1"
>>>
>>> If this property does show up after adding that, it should be
>>> displayed as disabled since it is read-only. If it does not help, this
>>> could be a bug.
>>>
>>> Yumin
>>>
>>> On Fri, Jun 8, 2012 at 2:40 PM, Alex Rattner<Alex.Rattner at gatech.edu>
>>>   wrote:
>>>> Hello,
>>>>
>>>> I have been developing a feature tracking filter plug-in for paraview for
>>>> a
>>>> couple weeks. I am currently trying to improve the plug-in GUI, but ran
>>>> into
>>>> an issue.
>>>>
>>>> I want the plug-in to return some basic information to the user in the
>>>> GUI,
>>>> so I added a property to the server xml file like:
>>>>
>>>> <IntVectorProperty
>>>>    name="NumberOfFeatures"
>>>>    label="Number Of Features"
>>>>    command="GetNumFeatures"
>>>>    number_of_elements="1"
>>>>    default_values="0"
>>>>    information_only="1">
>>>> <Documentation>
>>>>       Number of features in the field.
>>>> </Documentation>
>>>> </IntVectorProperty>
>>>>
>>>> with corresponding code in the class definition:
>>>> vtkGetMacro(NumFeatures, int);
>>>>
>>>> However, the property does not appear on the plug-in gui. Similar "input"
>>>> GUI properties work fine,  but I've been messing around for a couple
>>>> hours
>>>> and I cannot get this "output" GUI property to appear. Is this specific
>>>> to
>>>> the "filters" ProxyGroup - because I have found other plug-ins that use
>>>> essentially the same xml code to output information? Do you have any
>>>> suggestions on how to make such output properties display and work?
>>>>
>>>> Thanks,
>>>> Alex
>>>> _______________________________________________
>>>> 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
>>



More information about the ParaView mailing list