Hi,
I've always found the need to copy/paste object (not string) between say, an inspector/explorer and a workspace. So I did a small class called ObjectBuffer and some extension that provide this fonctionnality (see the attached picture). I added menu command so that 'buffer it' is accessible from text selection, inspector and explorer. I doubt the implementation is optimal but this is working so I decided to share and see if people would like it too
To get the object stored: self buffer or ObjectBuffer buffer hth, -- Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project bufferIt.PNG (64K) Download Attachment ObjectBuffer-CedrickBeler.1.mcz (2K) Download Attachment ParagraphEditor class-yellowButtonExpertMenu.st (1K) Download Attachment Inspector-fieldListMenu.st (1K) Download Attachment ObjectExplorer-genericMenu.st (1K) Download Attachment |
Hi Cédrick,
Indeed, this is something that one needs from time to time. However, I wonder, from a usability point of view, if this is the right way to do it. The problem is that without explaining someone what the menu item "Buffer it" does and how to use it (e.g., to evaluate "self buffer") it makes this feature hard to understand. I think the idea is good, but how could it be made easy to understand and use? Cheers, Adrian BTW, the same effect can also be achieved by assigning the object to a global, e.g., "Buffer := self at: 4" and then in the popup select "declare global" if Buffer is not a global yet. On Jan 10, 2010, at 14:25 , Cédrick Béler wrote: > Hi, > > I've always found the need to copy/paste object (not string) between > say, an > inspector/explorer and a workspace. > > So I did a small class called ObjectBuffer and some extension that > provide > this fonctionnality (see the attached picture). I added menu command > so that > 'buffer it' is accessible from text selection, inspector and > explorer. I > doubt the implementation is optimal but this is working so I decided > to > share and see if people would like it too > > > To get the object stored: > > self buffer > or > ObjectBuffer buffer > > hth, > > -- > Cédrick > <bufferIt.PNG><ObjectBuffer-CedrickBeler.1.mcz><ParagraphEditor > class-yellowButtonExpertMenu.st><Inspector- > fieldListMenu.st><ObjectExplorer- > genericMenu.st>_______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Cédrick: Maybe it is has nothing to do, but a friend of mine once did a little Portia implementation. I think they have a similar Idea. Maybe I am wrong.
Anyway, here is a paper about that: http://portal.acm.org/citation.cfm?id=118014.117959 Cheers Mariano On Sun, Jan 10, 2010 at 3:31 PM, Adrian Lienhard <[hidden email]> wrote: Hi Cédrick, _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Adrian Lienhard
The problem is that without explaining someone what the menu item yes I agree
don't really know. I first named it 'copy it' and 'paste it' but I don't think that's the issue BTW, the same effect can also be achieved by assigning the object to a uhmm yes it seems better. No need for an extra class and instead of self buffer, evaluating the global is enough. Also, am I correct to remove a global like that:
Smalltalk removeKey: #Buffer Maybe then a menu entry more explicit would be 'store in global named Buffer' 'assign to Buffer' "store in Buffer" ? ... uhm a bit too long...
Maybe having 'buffer it' in the menu (or store it or copy it) and a secondary item named for instance 'paste it' that is accessible when Buffer exists and that paste 'Buffer' wherever needed.
What do you think ? Cheers, -- Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
I like the idea.
I like the idea of a class because you could attach behavior to it: - cleaning for release - exporting - importing ... So instead of using a global I would use instead of Buffer why not ObjectClipBoard ? Stef > The problem is that without explaining someone what the menu item > "Buffer it" does and how to use it (e.g., to evaluate "self buffer") > it makes this feature hard to understand. > > yes I agree > > > I think the idea is good, but how could it be made easy to understand > and use? > > don't really know. I first named it 'copy it' and 'paste it' but I don't think that's the issue > > BTW, the same effect can also be achieved by assigning the object to a > global, e.g., "Buffer := self at: 4" and then in the popup select > "declare global" if Buffer is not a global yet. > > uhmm yes it seems better. No need for an extra class and instead of self buffer, evaluating the global is enough. > Also, am I correct to remove a global like that: > Smalltalk removeKey: #Buffer > > > Maybe then a menu entry more explicit would be 'store in global named Buffer' 'assign to Buffer' "store in Buffer" ? ... uhm a bit too long... > > Maybe having 'buffer it' in the menu (or store it or copy it) and a secondary item named for instance 'paste it' that is accessible when Buffer exists and that paste 'Buffer' wherever needed. > > What do you think ? > > Cheers, > > -- > Cédrick > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Adrian Lienhard
On Sun, Jan 10, 2010 at 15:31, Adrian Lienhard <[hidden email]> wrote:
> I think the idea is good, but how could it be made easy to understand > and use? Have a list (the graphical widget) of variables declared in the workspace, drag-n-drop variables between workspaces (this would be nice anyway, but here it's essentially to distinguish between copy-pasting the raw text or the object reference). If you drop the variable somewhere in the code, then the variable is pasted there, with its name made unique if needed -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by cedreek
Hi Cedrick,
The idea is cool indeed! I often need this feature. I usually use a global variable Smalltalk at: #TMP or something. Talking to object is indeed the right thing Cheers, Alexandre On 10 Jan 2010, at 15:00, Cédrick Béler wrote: > The problem is that without explaining someone what the menu item > "Buffer it" does and how to use it (e.g., to evaluate "self buffer") > it makes this feature hard to understand. > > yes I agree > > > I think the idea is good, but how could it be made easy to understand > and use? > > don't really know. I first named it 'copy it' and 'paste it' but I > don't think that's the issue > > BTW, the same effect can also be achieved by assigning the object to a > global, e.g., "Buffer := self at: 4" and then in the popup select > "declare global" if Buffer is not a global yet. > > uhmm yes it seems better. No need for an extra class and instead of > self buffer, evaluating the global is enough. > Also, am I correct to remove a global like that: > Smalltalk removeKey: #Buffer > > > Maybe then a menu entry more explicit would be 'store in global > named Buffer' 'assign to Buffer' "store in Buffer" ? ... uhm a bit > too long... > > Maybe having 'buffer it' in the menu (or store it or copy it) and a > secondary item named for instance 'paste it' that is accessible > when Buffer exists and that paste 'Buffer' wherever needed. > > What do you think ? > > Cheers, > > -- > Cédrick > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Stéphane Ducasse
I gave another try. I like the idea. There is already cleaning at startup shutdown... ... Arf this was the name I was looking for ! So I changed some names and some details. Name: ObjectClipboard-CedrickBeler.1
Author: CedrickBeler Time: 11 January 2010, 6:11:56 pm UUID: 014f775e-ead0-a245-98f0-8bf61c7207ff Ancestors: Object clipboard: copy/paste objects between tools
-several objects can be "copied" (up to 5 for now) -the store is reset after each image startup/shutdown To access programatically: -to copy an object: ObjectClipboard copy: anObject
-to paste an object: ObjectClipboard paste -to get all copied objects: ObjectClipboard content
When a copied object is pasted, the store string version unless the size is too long (100 characters). If the size exceed the limit, what's printed is : (ObjectClipboard paste) "anObject name"
ie. the command that can be executed with the commented name of the object on the right. Different menu commands have been created -text editor, inspector and explorer (named: Copy object and Paste object)
--need to load external files to load (I don't want to change the categories for those) (cf. joined files) I joined a small screenshot too hope you like it ;)
Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ParagraphEditor class-yellowButtonExpertMenu.st (1K) Download Attachment Inspector-fieldListMenu.st (1K) Download Attachment ObjectExplorer-genericMenu.st (1K) Download Attachment ObjectClipboard-CedrickBeler.1.mcz (4K) Download Attachment |
In reply to this post by Alexandre Bergel
Here is the screenshot...
ps: there is a small bug for explorer in the version I sent. I fixed it but don't send yet -- Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project copyObject.PNG (206K) Download Attachment |
Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v
Alexandre On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > Here is the screenshot... > > ps: there is a small bug for explorer in the version I sent. I fixed > it but don't send yet > -- > Cédrick > <copyObject.PNG>_______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by cedreek
sounds cool.
The name is cool :)))) Power to the objects/classes - no global! Stef On Jan 11, 2010, at 6:45 PM, Cédrick Béler wrote: > Here is the screenshot... > > ps: there is a small bug for explorer in the version I sent. I fixed it but don't send yet > -- > Cédrick > <copyObject.PNG>_______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Alexandre Bergel
Perhaps a unified clipboard would be nicer... objects or text (or,
potentially converible to host OS things...). A similiar approach has worked well for our ReportBuilder (guess what, it is called ObjectClipboard...). Nothing especially special about an object, just another kind of thing that can be pasted where allowed... Regards, Gary ----- Original Message ----- From: "Alexandre Bergel" <[hidden email]> To: <[hidden email]> Sent: Monday, January 11, 2010 5:56 PM Subject: Re: [Pharo-project] Object Buffer (implementation tryout) Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v Alexandre On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > Here is the screenshot... > > ps: there is a small bug for explorer in the version I sent. I fixed > it but don't send yet > -- > Cédrick > <copyObject.PNG>_______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Alexandre Bergel
May I suggest that instead of having new tools assigned shortcuts hard coded we go after some solution to have them configurable?
my 0.019999.... -- Cesar Rabak Em 11/01/2010 15:56, Alexandre Bergel <[hidden email]> escreveu: Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v Alexandre On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > Here is the screenshot... > > ps: there is a small bug for explorer in the version I sent. I fixed > it but don't send yet > -- > Cédrick > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Gary Chambers-4
On this line of reasoning, in Windows there used to exist a small utility called "Clipboard Viewer" that allowed the OS clipboard to be inspected and some of the 'things' (to avoid the clash with Objects from OOA/OOD/OOP) could be 'seen' in more than a single way.
-- Cesar Rabak Em 11/01/2010 16:18, Gary Chambers < [hidden email] > escreveu: Perhaps a unified clipboard would be nicer... objects or text (or, potentially converible to host OS things...). A similiar approach has worked well for our ReportBuilder (guess what, it is called ObjectClipboard...). Nothing especially special about an object, just another kind of thing that can be pasted where allowed... Regards, Gary ----- Original Message ----- From: "Alexandre Bergel" To: Sent: Monday, January 11, 2010 5:56 PM Subject: Re: [Pharo-project] Object Buffer (implementation tryout) Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v Alexandre On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > Here is the screenshot... > > ps: there is a small bug for explorer in the version I sent. I fixed > it but don't send yet > -- > Cédrick > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Gary Chambers-4
We are happy with code :)
On Jan 11, 2010, at 7:18 PM, Gary Chambers wrote: > Perhaps a unified clipboard would be nicer... objects or text (or, > potentially converible to host OS things...). > A similiar approach has worked well for our ReportBuilder (guess what, it is > called ObjectClipboard...). > > Nothing especially special about an object, just another kind of thing that > can be pasted where allowed... > > Regards, Gary > > ----- Original Message ----- > From: "Alexandre Bergel" <[hidden email]> > To: <[hidden email]> > Sent: Monday, January 11, 2010 5:56 PM > Subject: Re: [Pharo-project] Object Buffer (implementation tryout) > > > Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v > > Alexandre > > > On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > >> Here is the screenshot... >> >> ps: there is a small bug for explorer in the version I sent. I fixed >> it but don't send yet >> -- >> Cédrick >> <copyObject.PNG>_______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Gary Chambers-4
The name is cool :)
On Jan 11, 2010, at 7:18 PM, Gary Chambers wrote: > Perhaps a unified clipboard would be nicer... objects or text (or, > potentially converible to host OS things...). > A similiar approach has worked well for our ReportBuilder (guess what, it is > called ObjectClipboard...). > > Nothing especially special about an object, just another kind of thing that > can be pasted where allowed... > > Regards, Gary > > ----- Original Message ----- > From: "Alexandre Bergel" <[hidden email]> > To: <[hidden email]> > Sent: Monday, January 11, 2010 5:56 PM > Subject: Re: [Pharo-project] Object Buffer (implementation tryout) > > > Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v > > Alexandre > > > On 11 Jan 2010, at 14:45, Cédrick Béler wrote: > >> Here is the screenshot... >> >> ps: there is a small bug for explorer in the version I sent. I fixed >> it but don't send yet >> -- >> Cédrick >> <copyObject.PNG>_______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Alexandre Bergel
Maybe you can also add shortcuts: Shift-Cmd-c, Shift-Cmd-v Yes, I'll do it note: dealing with menu is already painful but shortcuts are far worse ! refactoring them is a hard topic I imagine... especially as it's closely related to the windowing system... :(
-- Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Gary Chambers-4
Perhaps a unified clipboard would be nicer... objects or text (or, yes that would be really great (copy name seems useless to me... better to have copy object and paste name eventually) ! But I don't have the expertise to do it I guess. For now we have in the image:
Clipboard ExternalClipboard (from Sophie) MacOSClipboard SqueakClipboard (empty !) A similiar approach has worked well for our ReportBuilder (guess what, it is -- Cédrick _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Damien Pollet
Damien Pollet <damien.pollet@...> writes:
> drag-n-drop variables between workspaces etc +1 drag and drop would be nice indeed. VW had this and I miss it all the times in Pharo. Dragging an object from an inspector to a workspace is just so convenient, priceless! --AA _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
> VW had this and I miss it all the times in Pharo. Dragging an object from an
> inspector to a workspace is just so convenient, priceless! OBTools has that since the beginning. Somebody would need to spend some time on these tools though to make them really useful. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |