THANKS! that worked great. One last item - where would I look for an
example of have a custom widget (QListWidget) that is NOT getting
registered with the proxy mananger, so that when something changes,
like the selection, the "Accept" button gets "lighted up". I am trying
to work through the pqContourWidget but not sure if that is the best
place to start.
___________________________________________________________
Mike Jackson www.bluequartz.net
Principal Software Engineer [email protected]
BlueQuartz Software Dayton, Ohio
On Mar 26, 2010, at 4:40 PM, Utkarsh Ayachit wrote:
Try returning a vtkIntArray from your reader instead and use
<IntArrayInformationHelper /> as the information helper. (Look at it's
use in readers.xml).
Utkarsh
On Fri, Mar 26, 2010 at 4:36 PM, Michael Jackson
<[email protected]> wrote:
The problem is down in a generated file on the server side.
if (!strcmp("GetNeighborList",method) &&
msg.GetNumberOfArguments(0) == 3)
{
vtkClientServerStreamDataArg<int > temp0(msg, 0, 2);
if(temp0)
{
op->GetNeighborList(temp0);
return 1;
}
}
The problem is that msg.GetNumberOfArguments(0) returns 2 and NOT
3. I have
no idea of the internals of the msg object to try and figure out
what is
trying to be passed. Is the client sending in a index also? 2
pointers? no
idea.
I'll just assume from this that it is basically impossible to pass
an array
from the server to the Client in an "Information Only" fashion. I
guess I
can encode the values to a string and send that. Seems odd to have
to encode
the data into a string...
If anyone else has a better Idea I would much appreciate it.
___________________________________________________________
Mike Jackson www.bluequartz.net
Principal Software Engineer [email protected]
BlueQuartz Software Dayton, Ohio
On Mar 26, 2010, at 3:23 PM, Michael Jackson wrote:
I have a custom reader. Part of the reader is getting a
"NeighborList"
which is an vtkIntArray object although I have declared the
following
methods in my "reader" class:
int* GetNeighborList();
void GetNeighborList(int* list);
vtkIdType GetNumberOfNeighbors();
And in my ServerManagerXML file I have the following:
<IntVectorProperty name="NeighborList"
command="GetNeighborList"
argument_is_array="1"
number_of_elements="0"
repeat_command="0"
number_of_elements_per_command="1"
use_index="0" >
<SimpleIntInformationHelper />
<Documentation>
This property lists the neighbors of the grain
</Documentation>
</IntVectorProperty>
On the Client side I have the following bit of code to populate a
QListWidget:
void pqH5TiDataReaderPanel::updateNeighborList(QListWidget*
qListWidget,
QString property)
{
vtkSMProperty* smProperty =
this->proxy()->GetProperty(property.toAscii());
if (NULL == smProperty)
{
std::string msg = "SMProperty [int] was NULL for ";
msg.append(property.toAscii() );
DebugTrace(<< msg.c_str() );
return;
}
vtkSMIntVectorProperty* intProperty
=
vtkSMIntVectorProperty::SafeDownCast(smProperty);
if (NULL == intProperty)
{
std::string msg = "Could not SafeDownCase to
vtkSMIntVectorProperty for
property ";
msg.append(property.toAscii() );
DebugTrace(<< msg.c_str() );
return;
}
//intProperty->GetArgumentIsArray();
int* elements = intProperty->GetElements();
int nElements = intProperty->GetNumberOfElements(); //<== ALWAYS 0
qListWidget->clear(); // Remove all the content
for (int i = 0; i < nElements; ++i)
{
qListWidget->addItem(QString::number(elements[i])); //<====
NEVER GETS
HERE
}
}
So, what am I doing wrong? I have tried reading through the relevant
sections of the "ParaView Guide" but nothing is really jumping
out. Also
went looking for examples somewhere in the ParaView source code
but came up
empty. The ContourWidget is close but it "sends" its array, it never
receives one from the server.
Any pointers would be great and much appreciated.
___________________________________________________________
Mike Jackson www.bluequartz.net
Principal Software Engineer [email protected]
BlueQuartz Software Dayton, Ohio
_______________________________________________
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