Hi EdwardOh my god, you made a lot of changes! I am now trying to understand this way of programming. But respect, there is a lot of smart stuff in it!
I try to get along. So you basically made the calculations (execution) independent from the log window. So it can be opened and closed anytime. I also like the dAuvergne protocol. This honours you as it should be. But I think we should make a copy for the gui, so the progress bar can get updated. Just add some wx.CallAfter(blabla for progres bar). I think we should limit the amout of iterations to 30. Then we can update the progress bar accordingly. This is especially relevant for the full automatic analysis. For 'manual' auto-local tm calculation, the progress bar could jump in 1/9 steps, so the user can see which model is calculated (has to be adapted to the selected models). For the remaining models (m1-m5), we could set the progress bar to 100% after 30 iterations. If it converges earlier, it could jump. What do you think about this? This would improve the feedback of the gui enormous.
A minor remark. I would suggest to use smaller images for the rx ad, remove and refresh buttons. Maybe 16x16 would still be ok. I would like to keep the gui clean. Even just simple '+' and '-' would be nicer.
All the data handling is very impressive. I still have to fully understand this (line by line).
I will play around with the version I have at the moment and try to add some new features. But I think we are on the good way of having a version 1.00 ready.
Cheers Michael Edward d'Auvergne schrieb:
Hi Michael, I won't implement this yet (you could possibly have a go), but I now have ideas how we can improve the communication between the core of relax and the relax controller dialog. The idea would be that the executing code in 'auto_analyses' places status information into a special object called a singleton (http://en.wikipedia.org/wiki/Singleton_pattern). This singleton will be available throughout relax, just as the relax data store is (see data/__init__.py for how to implement a singleton in Python, specifically the class variables and __new__()). The 'auto_analyses' classes could then set a variable in the status object specifying which user function is running, and the relax controller can then read this. Anything could be dynamically placed in here - i.e. the Monte Carlo simulation number, the spin systems optimised, etc. We just have to be careful that this won't be a problem with Gary's multiprocessor code. Is there anything else you would like to see the relax controller doing? Regards, Edward _______________________________________________ relax (http://nmr-relax.com) This is the relax-devel mailing list relax-devel@xxxxxxx To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel