Thanks Mathieu,
To confirm, I’d like to give the User the option of typing some data into the text box (in my case it will be a JSON string) or using the filechooser, select a JSON file which then populates the text box. The user can then edit that text before pressing Apply.
What I have so far works in that the User can either copy/ paste the contents of a file into the textbox or choose the Json file from the chooser. The contents can then be edited in notepad etc.
This is different to a Reader in that I am loading processing parameters from the JSON to apply to a multiblock on the pipeline, therefore I do not see the need to store parameters in fielddata for subsequent display in the textbox.
As you say Custom widgets is probably the way to go but the platform and version independence that Python plugins gives me massively outweighs the overhead of building ParaView and developing C++ plugins against it.
Thanks for your help and advice,
Duncan