If the BivariateManager plugin is part of a ParaView project and the user loads a state file, he will often have to choose the “Use filenames from state” option, if e.g. he wants to open a state file from somebody else that comes together with other files in a package.
With the version that I am currently using (13.1), this will result in four warning messages about PNG files that could not be found in that location, but were loaded from some plugin location instead. This has no negative consequences, but it is highly confusing for the user because he has of course no idea what “Bremm.png” etc. is actually good for!?
Already in the source code of pqBivariateManager.cxx the solution of that problem is pointed out:
// Nice to have : textures names can be retrieved from the ressources directly.
Right - that’s it! Only that it is slightly more important than just “nice to have”, and I do not want my customers to always have to deal with these useless messages, but still I do not want to drop the option to use bivariate representations for whatever data they may have!
So right now I am trying to realize this job in my own version of the ParaView code. The point where I am struggling is at the end of pqBivariateManager.cxx: Here the programmer did a whole lot of actions that should not be required if the files would really be inside a resource file, like:
- find the path where the files are stored
- read the files
- generate some “proxy” for them
Now in order to drop all this stuff, I would need to find out where these proxies with the PNG files are actually being used - and here I am failing! Just “grepping” through the source code, I do not find one single location where the bitmaps are actually being used!
Could it be that I can simply drop all this bitmap stuff entirely without losing any important functionality!?? This would of course be the easiest solution! Otherwise I can of course load them with the common “Qt style” method like “:/pqBivariateRepresentations/Recourses/Bremm.png” etc. - but I would have to know where such code is indeed required!
Actually my guess is that generating these proxies has also the adverse effect of writing them into all state files, which finally results in the above annoying warning messages…