@JonB , what I was attempting to do which works btw, it's just ugly.
For Panel class, if I remove the lines
if not ui_file:
ui_file = 'title_panel' # horrible, a constant here
I have a Panel class, that is basically defined by the UIFile. In this case 'title_panel.pyui'. We know that works perfectly.
Then I create another UIFile called combo.pyui. I load that into a class called Combo.
The combo UIFile only contains 4 custom views. v1, v2 etc... each of the custom views has its Custom View Class set to Panel (referring to the Panel Class in the code). So now instead of me loading the Panel class, it's coming from the loading of the UIFile Combo. As far as I can see, I don't have a way to pass the Panel function a param from the UIFile.
But, look maybe it's not the smartest of ideas. I was Justin's thing how to get the most out of this. Meaning being able to use title_panel.pyui and it's code class either as a single ui element, or as a sub element in another view. Aka modular use of UiFiles.
Anyway, the combo.pyui took me a minute or so to put together. Created a custom view, set the sizes, flex, the custom view class, copy and pasted it 4 times and position the views. Presto was working. As all the flex settings for the Panel all done correctly, it all behaves as expected.
Also, even if what I have done is crappy, I think it still illustrates some of the improvements that can be made to the ui. I understand, there are many aspects to Pythonista, ui just being one of them. Hopefully trying things like this will help keep it high on the priority list 😬
I really hope @omz some how incorporates your binding code into the ui module when he gets a chance. I think it would be a great boost for ui usage in general.