What I would like is to have all the changes after one integration with
+ and - showing the changes. I grouped a bit my analysis in https://pharo.fogbugz.com/f/cases/16491/Revisiting-TextDiffBuilder But now I should finish the other tasks I have pending. I should finish also some issues I started around announcers. Stef Le 6/9/15 15:50, Peter Uhnák a écrit : > But this is all implementation details, I'm still not sure what > exactly we (Stef) want to send. > > * change diff after each successful CI build for an issue? > * diff after the change has been integrated? > > Peter |
In reply to this post by stepharo
Ok, so here it goes. There was a main method: #package:class:category:method: (https://github.com/pharo-project/pharo-core/blob/8a1f79b44b14f8eafaf6d91a8bab3c28e673114c/Nautilus.package/Nautilus.class/instance/history/package_class_category_method_.st). This method was setting a state of the model by sending #selectedPackage:, #selectedClass:, ……… to self. Each of this 4 methods were announcing if the parameter was not nil. As you may guess #package:class:category:method: was used through the whole system with occasional nil params. I hate working with nils. So what I did was to break the method into 4: #package: #package:class: #package:class:protocol: #package:class:protocol:method: So now there is no nil passing anymore. E.g. if you select only a class, you send #package:class:. Then I’ve moved announcements from #selectedPackage:, #selectedClass:, ……… to the newly created 4 methods. Also now announcements know the parent scope i.e. NautilusProtocolSelected besides protocol knows also about the class and package that played a role on the selection. This are essentially all the changes. The issue that occurred later (when selecting a package class was not deselected) is because #selectedClass: was doing `self selectedProtocol: nil`, same with protocol. But #selectedPackage: was not “deselecting” a class, probably because it was handled by calling `model package: SomePackage class: nil category: nil method: nil` in a first place.
|
Free forum by Nabble | Edit this page |