Yes! Sorry I have been absent from this discussion. It has been a tough week with not that much time for FC.armandas wrote: ↑Wed May 20, 2020 11:38 am Hi everyone!
I tried to mess a bit with the Qt layouts and options to make the fields aligned, but I could not get it to work well. I think I will go with the current layout.
I made a couple of small changes in the code and added a separate icon for the Flip Direction button. Other than the issue with the properties, I think this is ready for review. Please let me know if there is anything else I have missed or done wrong.
The full changeset can be seen here: https://github.com/FreeCAD/FreeCAD/comp ... erDistDist
Abdullah, any progress on this front?
I have just finished the implementation with dynamic properties. As far as I know, this is the first feature using persistent dynamic properties. This is the diff.
Because we were working in parallel with different base and in order to avoid having too many meaningless commits (e.g. adapting task code to inclusion of flip property as static, while it was being added as dynamic), I have squashed some of my lines into your commits (I believe not to have misappropriated any line throughout the process). On the other side, I have split the icon (and resources) into an independent commit (this generally helps review).
I have integrated your latest commit above (I have not reviewed the whole though, only checked that it works).
By no means I am seeking to push the idea of dynamic properties through at any cost. As I was saying, it is an experiment. Maybe there is a reason why there are no other features implemented this way.
The advantage part of the equation is that at a given time, the object only has those properties that are actually necessary to define it. There is no "size2" property if we are in size-angle construction method. The coding is a little bit more convoluted though.
I am most interested in peer review and other advantages/disadvantages you may find. My idea is that among all of us, we make an informed decision whether to pursue this kind of features defined by dynamic properties for this use case (multiple methods requiring different sets of properties), or to stay with static features (potentially hiding them).
In order not to over-extend the period with the changed construction method in master, I would say we could set up a time-limit of a couple of days to decide whether to go static or dynamic, then I will review and integrate whatever the option selected.