Hi all,
I was eventually able to work out this display issue. The show command
has to be set as a separate hint in the source proxy, like so:
<IntVectorProperty
name="NumberOfFeatures"
label="Num Features"
command="GetNumFeatures"
number_of_elements="1"
default_values="0"
information_only="1">
<Documentation>
Number of features in the field.
</Documentation>
</IntVectorProperty>
<Hints>
<Property name="NumberOfFeatures" show="1"/>
</Hints>
I hope this saves someone else the trouble. Thanks again Yumin for
pointing me in the right direction.
-Alex
On 06/08/2012 03:35 PM, Alex Rattner wrote:
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.ratt...@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.ratt...@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
_______________________________________________
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