[Paraview] How to push a value to the ServerManager so it gets pushed down to the Server

Nehme Bilal nehmebilal at gmail.com
Tue Dec 15 19:05:20 EST 2009


Ok !
It still not clear but anyway, if you have specific questions, I'll try to
help ...

Nehme


2009/12/15 Michael Jackson <mike.jackson at bluequartz.net>

> I am developing both a reader (Server Side only) and a custom GUI to go
> along with the reader for the client side. I have all sorts of custom Qt Gui
> widgets in my Reader Gui Plugin and I was hoping to reuse a bunch of code
> that was already existing.
>
>  I have created some plugins (Server side reader with Client side custom
> gui) for ParaView in the past, but all of those plugins used simple
> QWidgets. Nothing like what I am trying now.
>
>  My code is in a publicly accessible git repo if you want to take a look at
> the code.
>
> _________________________________________________________
> Mike Jackson                  mike.jackson at bluequartz.net
>
>
> On Dec 15, 2009, at 11:59 AM, Nehme Bilal wrote:
>
>  I see. I already had the same kind of problems but am not able to help
>> much because there is no enough details in your message. Am not sure if it's
>> a reader or a filter that you are developing ? are you reading the file on
>> the client side ? server side ? or both ?
>>
>> 2 potential problems:
>> - if you are reading the file on both the server and client side, your
>> plugin will not work when the server is running on different computer
>> because the file will not be accessible to one of them.
>>
>> - apply your plugin, save the state, delete all objects and reload the
>> state, probably something will go wrong.
>>
>> if you give more details, I'll probably be able to help.
>>
>> Nehme
>>
>> 2009/12/14 Michael Jackson <mike.jackson at bluequartz.net>
>> Unfortunately the values that are stored in the QComboBox are read from
>> the data file. The "workaround" that i was able to implement was to create
>> the correct number of QTextEdit widgets and place them in the Gui in
>> QtDesigner. Then in my constructor for my Panel Class, I simply call
>> "setVisible(false)" on each of those QTextEdit widgets so they do not show
>> up in the GUI. I then add in the appropriate logic using Signals/Slots to
>> keep those invisible widgets up to date.
>>  Seems kinda of klunky but frankly there is not enough documentation in
>> ParaView to stray from what is in the Wiki. There is mention that I need to
>> implement some sort of "adaptor" for things like this (QRGB to RGB) is used
>> as the example, but no actual implementation details so I, as the
>> programmer, am basically left guessing what to try to implement.
>>
>>  Thanks for the suggestion though. Keep them coming. Better, yet, would be
>> places in the ParaView source to look for "examples" besides grepping
>> through the sources for key words.
>>
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>>
>>
>> On Dec 12, 2009, at 7:49 PM, Nehme Bilal wrote:
>>
>> If the elements you want to display in you combobox are always the same,
>> simply use:
>>
>>  <IntVectorProperty
>>    name="ActiveDimension"
>>    command="SetActiveDimension"
>>    number_of_elements="1"
>>    default_values="0">
>>       <EnumerationDomain name="enum">
>>         <Entry value="1" text="X"/>
>>         <Entry value="2" text="Y"/>
>>         <Entry value="3" text="Z"/>
>>       </EnumerationDomain>
>>  </IntVectorProperty>
>>
>> and then rename you combobox to "ActiveDimension" in qt designer.
>>
>> That's should be enough to do what you are looking for.
>>
>> If you want to fill dynamically your combobox depending on some inputs,
>> it's harder than that but can be done.
>>
>> for you first question, you can always use immediate_update=1 instead of
>> information_only to make sure that your value is pushed immediately to the
>> server.
>>
>> Nehme
>>
>>
>>
>>
>> 2009/12/11 Michael Jackson <mike.jackson at bluequartz.net>
>> Well,
>>  That helped. At least something is getting set on the server side now.
>> Copy-Paste error. Doh. Alas, the value getting set is not the correct value.
>>
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>> BlueQuartz Software                    www.bluequartz.net
>> Principal Software Engineer                  Dayton, Ohio
>>
>> On Dec 11, 2009, at 5:15 PM, Utkarsh Ayachit wrote:
>>
>> Why do you have the "information_only" attribute ? That's used only
>> for properties whose value are obtained from the server -side and are
>> never pushed "to"  the server. Simply remove that attribute, and it
>> should work -- I think.
>>
>> Utkarsh
>>
>> On Fri, Dec 11, 2009 at 5:12 PM, Michael Jackson
>> <mike.jackson at bluequartz.net> wrote:
>> Yes, I did not know about that, but adding it still did not help.
>>
>> --
>> Mike Jackson <www.bluequartz.net>
>>
>> On Dec 11, 2009, at 5:02 PM, Utkarsh Ayachit wrote:
>>
>> Are you forgetting a this->proxy()->UpdateVTKObjects() call after you
>> have changed the value?
>>
>> Utkarsh
>>
>> On Fri, Dec 11, 2009 at 4:23 PM, Michael Jackson
>> <mike.jackson at bluequartz.net> wrote:
>>
>> In my ServerManager XML file I have the following:
>>
>>  <IntVectorProperty
>>  name="ActiveDimension"
>>  command="SetActiveDimension"
>>  number_of_elements="1"
>>  default_values="0"
>>  information_only="1">
>>  </IntVectorProperty>
>>
>> And in my Client GUI code (which extends pqLoadedFormObjectPanel) I have
>> the
>> following code:
>>  vtkSMProperty* smProperty =
>> this->proxy()->GetProperty("ActiveDimension");
>>  if (NULL == smProperty)
>>  {
>>  DebugTrace(<< "SMProperty was NULL for 'ActiveDimension'" );
>>  }
>>  vtkSMIntVectorProperty* activeDimProperty =
>> vtkSMIntVectorProperty::SafeDownCast(smProperty);
>>  activeDimProperty->SetElement(0, index);
>>
>> Doing a std::cout on the server side indicates that the Server side
>> property
>> (ActiveDimension) is NOT getting set. What exactly am I doing wrong?
>>
>>  I would also like to have a QComboBox in the Gui that is hooked up to a
>> server side property. What is the best way to go about that?
>>
>> Thanks
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>>
>>
>>
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20091215/51a91f16/attachment-0001.htm>


More information about the ParaView mailing list