Cool :P I will have a look anyway :P
Ben On 09 Dec 2013, at 16:41, kilon alios <[email protected]> wrote: > ok I think I am done with it. Tested also on Macos and it looks that it works > fine. So it works fine both on Macos and Windows. Work on the same Nautilus > window but also across multiple Nautilus windows. > > A summary of what I have done, I have created a class variable > methodsToBeCopied, storing the methods to be copied marked by the copyMethod > and then pasted by the pasteMethod in NautilusUI class. I have added them in > the method right click menu and also I have added paste method in the class > right click menu in case you have a class that has no methods and you want to > paste the copied methods. > > The procedure works with one method but also multiple methods can be copied > and also they can be pasted multiple times. So if you want to past the same > methods again and again across different classes thats possible too. > > I decided to abandon the Paste New idea since its trivial to just rename the > pasted method and I don't want to overcrowd the menus. Hope you like my code > :) > > > On Mon, Dec 9, 2013 at 2:51 PM, kilon alios <[email protected]> wrote: > ok dont look at it, apparently it was not that either, I passed an array to a > method that expected a single object so it was my bad. Sorry to bother you I > will take a thorough look and test it further to make sure it works 100% . > For now it looks like it copy pastes work just fine. I tried to copy paste a > single method it has done so without any issues. I was thinking adding Paste > new... to offer the user the option to paste the method but with a different > name. Hows that sounds ? > > > On Mon, Dec 9, 2013 at 2:38 PM, kilon alios <[email protected]> wrote: > 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 > <[email protected]> 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 <[email protected]> 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 >> <[email protected]> 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 <[email protected]> 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 >>> <[email protected]> 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 <[email protected]> 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 >>>> <[email protected]> wrote: >>>> drag and drop them holding shift (you should see a little red “+”) >>>> >>>> Ben >>>> >>>> On 07 Dec 2013, at 22:15, kilon alios <[email protected]> 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. >>>> >>>> >>> >>> >> >> > > > >
