If I understand what you want correctly, can you try to select the superclass, then refactor class>>create subclass. You give the name and then you select all subclasses that you want to set as subclasses of the new class. Is it right ? Laurent On Fri, Aug 6, 2010 at 11:47 AM, Tim Mackinnon <tamackinnon@gmail.com>wrote:
Hi Lukas - sorry to keep this thread going, but I don't quite understand what you mean? Partly I think the issue is that over the years I've become very familiar with the Eclipse/IntelliJ refactorings (and how they approach things) and I've slowly forgotten how they work in smalltalk (although - in Dolphin they seem to more closely match Eclipse/IntelliJ - adding to my confusion in Pharo).
To give some context, I had a class X, then I copied it to create class Y - made some changes and got something useful working. However X and Y are mostly the same - so deserve a superclass. This sounds to me like standard Refactor Class | Create Superclass refactoring (available in the context menu). Is this what you are referring to? (And this is a seaside30.rc image). Is this the create class refactoring you are referring to? It doesn't sound like it?
The one I am referring to just asks me for a name of a superclass and shows me the method changes it will make (and I can remove those which I don't deem common) - but they only apply to the single class I ran the refactoring for - say X. This then leaves me with Y which still needs work. I was expecting somewhere where it would ask me if there are any other classes to consider for the refactoring (or better still - let me multi-select several classes before I do the "create superclass" in the first place - which apparently is very hard in Pharo for some reason?).
So is there some other browser, or menu option that I am missing?
Tim
On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
Good point. I've been struggling with multiple selection too e.g. when
setting the refactoring scope. There's an entry called "selection..." but since I've never been able to select more than one item from a list, selecting "selection..." has the same effect as âcategory" (when in a category list of course).
So is there some way of applying a refactoring to more than one class? What is that refactoring scope menu item - is there some way to specify 2 or more classes in there? Why is this so hard?
The refactoring scope is something completely different. It selects the part of the system that is considered by a refactoring.
Did you ever try to go through the whole create-class refactoring? I get a dialog that offers me to select multiple classes.
Lukas
-- Lukas Renggli www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project