<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> I also think that a vanilla vtkPythonAlgorithm can not meet all the needs of this feature. In my case I need for example to override processRequest on the C++ level in order to reload the module on a new request (and ideally only when the source code has changed, and only optionally).<br>
<br>
This is a use-case that I'm skeptical we can support robustly in<br>
ParaView esp. in all modes it operates (client-server etc). I am not<br>
convinced it's that useful besides debugging, however. We can sure add<br>
a "reload" button to manually reimport the module, but that's not<br>
exactly what you want. But I'll stay posted.<br>
<br></blockquote><div><br></div><div>do you have a specific situation in mind regarding the reloading? Since the module uses Python's native functionality for reloading modules, I would assume that if we can load it, we can reload it. I agree however that checking whether the source has changed is a bit more delicate.</div><div><br></div><div>Besides, I think that a Reload button would be perfect, especially if it did an Apply at the same time. I was considering adding a checkbox that ends up calling Modified() on the vtk Algorithm object upon checking/unchecking, do you know of a better solution using only existing ParaView features?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> The main issue going forward I can see right now involves passing parameters to Python. Right now I have a C++ method SetStringProperty(name, value) and use a <StringVectorProperty> with 2 elements. Now suppose I want to have a FileName property so that SetStringProperty("filename", value) is called when the FileName property is set to value. Do you know how to achieve this with the existing mechanisms, for example is it possible to have a StringVectorProperty with 2 elements where the first one is hidden and set to a default value?<br>
<br>
Are you aware of this post:<br>
<a href="https://blog.kitware.com/easy-customization-of-the-paraview-python-programmable-filter-property-panel/" rel="noreferrer" target="_blank">https://blog.kitware.com/easy-customization-of-the-paraview-python-programmable-filter-property-panel/</a></blockquote><div><br></div><div>Thanks, This was exactly what I was looking for. Just out of curiosity, how does the "magic" work here? I.e. how does PV decide whether to call SetProperty(value) or SetProperty(name, value)? </div><div><br></div><div>I also added a HDF5 Reader plugin to the github repository as an example.</div><div><br></div><div>Best,</div><div>Bob</div></div></div>