[Pharo-dev] [Nautilus] How to copy a method from a class to another class ?

kilon alios kilon.alios at gmail.com
Mon Dec 9 07:38:53 EST 2013


I don't think its confusing , what I am doing is store self selectedMethods
to methodsToBeCopied instance variable. I choose this approach for when you
dont remember the name of the class or why do that extra dialog step when
you can just simple paste it ?

I see an issue with my code though I think it may cause a problem if I open
another instance of nautilus window then that instance variable value wont
exist for that instance so apparently I am doing it wrong and I will need
to move this to class side. Maybe thats the reason for DNU.

Dont worry I am not in a hurry, apparently I need to look into this. Sorry
for that, I am not a very good coder :(


On Mon, Dec 9, 2013 at 2:29 PM, Benjamin <
Benjamin.VanRyseghem.Pharo at gmail.com> wrote:

> The copy/paste mechanism is always a bit confusing
> since you often do not know what is in the clipboard
> (even if people are use to it, I often see people copying a line,
> then retype it because they forgot it was here etc)
>
> Why not a “move” like popup where you choose directly the destination ?
>
> For your bug, I cannot have a look right now, but I will asap
>
> Ben
>
> On 09 Dec 2013, at 10:57, kilon alios <kilon.alios at gmail.com> wrote:
>
> ok I figured some things out and created the relevant methods but I am
> getting a MNU with copyMethod: toTheClass:
>
> Array(Object)>>doesNotUnderstand: #realClass
> PackageTreeNautilusUI(AbstractNautilusUI)>>copyMethod:toTheClass:
> PackageTreeNautilusUI(NautilusUI)>>pasteMethod
> MethodWidget class>>elementsMenu: in Block: [ target pasteMethod ]
> BlockClosure>>cull:
> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: in Block: [ ...
> BlockClosure>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
> ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
> ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> ToggleMenuItemMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> ToggleMenuItemMorph(Morph)>>processEvent:using:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuMorph(Morph)>>processEvent:using:
> MenuMorph(Morph)>>processEvent:
> MenuMorph>>handleFocusEvent:
> HandMorph>>sendFocusEvent:to:clear: in Block: [ ...
> BlockClosure>>on:do:
> WorldMorph(PasteUpMorph)>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> WorldState>>doOneCycleNowFor: in Block: [ :h | ...
>
> you can find my code here
>
> http://www.smalltalkhub.com/#!/~kilon/copyMethod/
>
> Am I doing something wrong ?
>
> Just for your information I added 2 menu entries and 2 corresponding
> methods , one for Copy and one for Paste.
>
>
>
> On Sun, Dec 8, 2013 at 12:27 AM, Benjamin <
> Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
>
>> The menus are on AbstractNautilusUI class, protocol “menus”
>>
>> You can find how to move methods in AbstractTool.
>> I guess the copy will be there too :)
>>
>> Ben
>>
>> On 07 Dec 2013, at 23:16, kilon alios <kilon.alios at gmail.com> wrote:
>>
>> Check Mate in 2 moves. Well played my friend, well played.
>>
>>
>> :P
>>
>>
>> Ok I will bite , how I figure out the right click menu and the copy
>> function ? Which classes and methods should I look at ? Help me understand
>> and Santa Clause will bring the slice down your chimney.
>>
>>
>> On Sun, Dec 8, 2013 at 12:11 AM, Benjamin <
>> Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
>>
>>> Was not plan, but if someone propose a slice, it will get in :P
>>>
>>> Ben
>>>
>>> On 07 Dec 2013, at 22:53, kilon alios <kilon.alios at gmail.com> wrote:
>>>
>>> thanks. Is there any chance this will make it into the right click menu
>>> ? Looks like quite essential to me. Also it would make it unnecessary to
>>> open a new nautilus window for the shake of copying to an another package.
>>>
>>>
>>> On Sat, Dec 7, 2013 at 11:26 PM, Benjamin <
>>> Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
>>>
>>>> drag and drop them holding shift (you should see a little red “+”)
>>>>
>>>> Ben
>>>>
>>>> On 07 Dec 2013, at 22:15, kilon alios <kilon.alios at gmail.com> wrote:
>>>>
>>>> Hey there I was wondering how to copy a couple of methods I have from
>>>> one class to another. I can't find anything that can do this from right
>>>> clicking the method.
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131209/6c5eccdf/attachment-0002.html>


More information about the Pharo-dev mailing list