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@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@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@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@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@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@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@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@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.