The Inbox: Tools-cbc.766.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Tools-cbc.766.mcz

commits-2
A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-cbc.766.mcz

==================== Summary ====================

Name: Tools-cbc.766
Author: cbc
Time: 15 September 2017, 1:32:51.722459 pm
UUID: 7fd4bc5e-35b0-954e-91f3-a1cd65adee00
Ancestors: Tools-eem.765

For Explorers, add a menu item 'Copy value' (similar to Copy name) that copies the value of the selected item, suitable for use elsewhere.

=============== Diff against Tools-eem.765 ===============

Item was added:
+ ----- Method: ObjectExplorer>>copyValue (in category 'menus - actions') -----
+ copyValue
+ "Copy the name of the current variable, so the user can paste it into the window below and work with is."
+
+ Clipboard clipboardText: self currentSelection value. !

Item was changed:
  ----- Method: ObjectExplorer>>mainTreeListMenu: (in category 'menus') -----
  mainTreeListMenu: aMenu
  <treeListMenu>
 
  aMenu addStayUpItemSpecial.
 
  aMenu addList: #(
  ('inspect (i)' inspectSelection)
  ('explore (I)' exploreSelection)
  -
  ('method refs to this inst var' referencesToSelection)
  ('methods storing into this inst var' defsOfSelection)
  ('objects pointing to this value' objectReferencesToSelection)
  ('chase pointers' chasePointersForSelection)
  ('explore pointers' explorePointersForSelection)
  -
  ('browse full (b)' browseFull)
  ('browse class' browseClass)
  ('browse hierarchy (h)' classHierarchy)
  ('browse protocol (p)' browseFullProtocol)
  -
  ('references... (r)' browseVariableReferences)
  ('assignments... (a)' browseVariableAssignments)
  ('class refs (N)' browseClassRefs)
  -
  ('copy name (c)' copyName)
+ ('copy value' copyValue)
  ('basic inspect' inspectBasic)).
 
  Smalltalk isMorphic ifTrue: [
  aMenu addList: #(
  -
  ('viewer for this value (v)' viewerForValue))].
 
  aMenu addList: #(
  -
  ('monitor changes' monitorSelection)).
 
  monitorList isEmptyOrNil ifFalse: [
  aMenu addList: #(
  ('stop monitoring all' stopMonitoring))].
 
  ^ aMenu!


cbc
Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Tools-cbc.766.mcz

cbc
Hi.

I've been finding myself wanting to copy value out of objects for use elsewhere and being annoyed at having to select the item, open an inspector on it, selecting the value, selecting the displayed value in the other window, then finally copying the value just so I can paste it elsewhere.

This change add a menu item to the ObjectExplorer called 'copy value' that just copies the value of the selected item.

I tried putting this into the Inspector as well (since it also had a related 'copy name(c)' item), but that code is broken.  At least for OrderedCollections and Arrays, you don't actually get what you want.  For OrderedCollections, it raises an error.  If you try copy name on an array of strings, say, it will give you an expression that will return the first character of the string you were on (if you manage to change the selector correctly before using the expression).  I suspect this bit of functionality in the Inspector needs some love and care.  Assuming anyone uses it, that is.

-cbc

On Fri, Sep 15, 2017 at 1:33 PM, <[hidden email]> wrote:
A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-cbc.766.mcz

==================== Summary ====================

Name: Tools-cbc.766
Author: cbc
Time: 15 September 2017, 1:32:51.722459 pm
UUID: 7fd4bc5e-35b0-954e-91f3-a1cd65adee00
Ancestors: Tools-eem.765

For Explorers, add a menu item 'Copy value' (similar to Copy name) that copies the value of the selected item, suitable for use elsewhere.

=============== Diff against Tools-eem.765 ===============

Item was added:
+ ----- Method: ObjectExplorer>>copyValue (in category 'menus - actions') -----
+ copyValue
+       "Copy the name of the current variable, so the user can paste it into the window below and work with is."
+
+       Clipboard clipboardText: self currentSelection value.   !

Item was changed:
  ----- Method: ObjectExplorer>>mainTreeListMenu: (in category 'menus') -----
  mainTreeListMenu: aMenu
        <treeListMenu>

        aMenu addStayUpItemSpecial.

        aMenu addList: #(
                ('inspect (i)'                                          inspectSelection)
                ('explore (I)'                                          exploreSelection)
                -
                ('method refs to this inst var'         referencesToSelection)
                ('methods storing into this inst var'   defsOfSelection)
                ('objects pointing to this value'               objectReferencesToSelection)
                ('chase pointers'                                       chasePointersForSelection)
                ('explore pointers'                             explorePointersForSelection)
                -
                ('browse full (b)'                                      browseFull)
                ('browse class'                                         browseClass)
                ('browse hierarchy (h)'                                 classHierarchy)
                ('browse protocol (p)'                          browseFullProtocol)
                -
                ('references... (r)'                                    browseVariableReferences)
                ('assignments... (a)'                                   browseVariableAssignments)
                ('class refs (N)'                                               browseClassRefs)
                -
                ('copy name (c)'                                        copyName)
+               ('copy value'                                           copyValue)
                ('basic inspect'                                                inspectBasic)).

        Smalltalk isMorphic ifTrue: [
                aMenu addList: #(
                        -
                        ('viewer for this value (v)'            viewerForValue))].

        aMenu addList: #(
                -
                ('monitor changes'              monitorSelection)).

        monitorList isEmptyOrNil ifFalse: [
                aMenu addList: #(
                        ('stop monitoring all'          stopMonitoring))].

        ^ aMenu!





Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Tools-cbc.766.mcz

David T. Lewis
Good idea, moved to trunk. I noticed that some of the objects that might
be values do not respond to #asText, so I did an additional update to call
#asStringOrText to ensure that the value is always something that can be
treated as a Text in the Clipboard.

Dave


On Fri, Sep 15, 2017 at 01:41:00PM -0700, Chris Cunningham wrote:

> Hi.
>
> I've been finding myself wanting to copy value out of objects for use
> elsewhere and being annoyed at having to select the item, open an inspector
> on it, selecting the value, selecting the displayed value in the other
> window, then finally copying the value just so I can paste it elsewhere.
>
> This change add a menu item to the ObjectExplorer called 'copy value' that
> just copies the value of the selected item.
>
> I tried putting this into the Inspector as well (since it also had a
> related 'copy name(c)' item), but that code is broken.  At least for
> OrderedCollections and Arrays, you don't actually get what you want.  For
> OrderedCollections, it raises an error.  If you try copy name on an array
> of strings, say, it will give you an expression that will return the first
> character of the string you were on (if you manage to change the selector
> correctly before using the expression).  I suspect this bit of
> functionality in the Inspector needs some love and care.  Assuming anyone
> uses it, that is.
>
> -cbc
>
> On Fri, Sep 15, 2017 at 1:33 PM, <[hidden email]> wrote:
>
> > A new version of Tools was added to project The Inbox:
> > http://source.squeak.org/inbox/Tools-cbc.766.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Tools-cbc.766
> > Author: cbc
> > Time: 15 September 2017, 1:32:51.722459 pm
> > UUID: 7fd4bc5e-35b0-954e-91f3-a1cd65adee00
> > Ancestors: Tools-eem.765
> >
> > For Explorers, add a menu item 'Copy value' (similar to Copy name) that
> > copies the value of the selected item, suitable for use elsewhere.
> >
> > =============== Diff against Tools-eem.765 ===============
> >
> > Item was added:
> > + ----- Method: ObjectExplorer>>copyValue (in category 'menus - actions')
> > -----
> > + copyValue
> > +       "Copy the name of the current variable, so the user can paste it
> > into the window below and work with is."
> > +
> > +       Clipboard clipboardText: self currentSelection value.   !
> >
> > Item was changed:
> >   ----- Method: ObjectExplorer>>mainTreeListMenu: (in category 'menus')
> > -----
> >   mainTreeListMenu: aMenu
> >         <treeListMenu>
> >
> >         aMenu addStayUpItemSpecial.
> >
> >         aMenu addList: #(
> >                 ('inspect (i)'
> > inspectSelection)
> >                 ('explore (I)'
> > exploreSelection)
> >                 -
> >                 ('method refs to this inst var'
> >  referencesToSelection)
> >                 ('methods storing into this inst var'   defsOfSelection)
> >                 ('objects pointing to this value'
> >  objectReferencesToSelection)
> >                 ('chase pointers'
> >  chasePointersForSelection)
> >                 ('explore pointers'
> >  explorePointersForSelection)
> >                 -
> >                 ('browse full (b)'
> > browseFull)
> >                 ('browse class'
> >  browseClass)
> >                 ('browse hierarchy (h)'
> >  classHierarchy)
> >                 ('browse protocol (p)'
> > browseFullProtocol)
> >                 -
> >                 ('references... (r)'
> > browseVariableReferences)
> >                 ('assignments... (a)'
> >  browseVariableAssignments)
> >                 ('class refs (N)'
> >      browseClassRefs)
> >                 -
> >                 ('copy name (c)'
> > copyName)
> > +               ('copy value'
> >  copyValue)
> >                 ('basic inspect'
> >       inspectBasic)).
> >
> >         Smalltalk isMorphic ifTrue: [
> >                 aMenu addList: #(
> >                         -
> >                         ('viewer for this value (v)'
> > viewerForValue))].
> >
> >         aMenu addList: #(
> >                 -
> >                 ('monitor changes'              monitorSelection)).
> >
> >         monitorList isEmptyOrNil ifFalse: [
> >                 aMenu addList: #(
> >                         ('stop monitoring all'          stopMonitoring))].
> >
> >         ^ aMenu!
> >
> >
> >

>


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Tools-cbc.766.mcz

Hannes Hirzel
Thank you for adding the 'copy value' menu entry in object explorer to
the trunk.

This is very useful.

--Hannes

On 9/17/17, David T. Lewis <[hidden email]> wrote:

> Good idea, moved to trunk. I noticed that some of the objects that might
> be values do not respond to #asText, so I did an additional update to call
> #asStringOrText to ensure that the value is always something that can be
> treated as a Text in the Clipboard.
>
> Dave
>
>
> On Fri, Sep 15, 2017 at 01:41:00PM -0700, Chris Cunningham wrote:
>> Hi.
>>
>> I've been finding myself wanting to copy value out of objects for use
>> elsewhere and being annoyed at having to select the item, open an
>> inspector
>> on it, selecting the value, selecting the displayed value in the other
>> window, then finally copying the value just so I can paste it elsewhere.
>>
>> This change add a menu item to the ObjectExplorer called 'copy value' that
>> just copies the value of the selected item.
>>
>> I tried putting this into the Inspector as well (since it also had a
>> related 'copy name(c)' item), but that code is broken.  At least for
>> OrderedCollections and Arrays, you don't actually get what you want.  For
>> OrderedCollections, it raises an error.  If you try copy name on an array
>> of strings, say, it will give you an expression that will return the first
>> character of the string you were on (if you manage to change the selector
>> correctly before using the expression).  I suspect this bit of
>> functionality in the Inspector needs some love and care.  Assuming anyone
>> uses it, that is.
>>
>> -cbc
>>
>> On Fri, Sep 15, 2017 at 1:33 PM, <[hidden email]> wrote:
>>
>> > A new version of Tools was added to project The Inbox:
>> > http://source.squeak.org/inbox/Tools-cbc.766.mcz
>> >
>> > ==================== Summary ====================
>> >
>> > Name: Tools-cbc.766
>> > Author: cbc
>> > Time: 15 September 2017, 1:32:51.722459 pm
>> > UUID: 7fd4bc5e-35b0-954e-91f3-a1cd65adee00
>> > Ancestors: Tools-eem.765
>> >
>> > For Explorers, add a menu item 'Copy value' (similar to Copy name) that
>> > copies the value of the selected item, suitable for use elsewhere.
>> >
>> > =============== Diff against Tools-eem.765 ===============
>> >
>> > Item was added:
>> > + ----- Method: ObjectExplorer>>copyValue (in category 'menus -
>> > actions')
>> > -----
>> > + copyValue
>> > +       "Copy the name of the current variable, so the user can paste it
>> > into the window below and work with is."
>> > +
>> > +       Clipboard clipboardText: self currentSelection value.   !
>> >
>> > Item was changed:
>> >   ----- Method: ObjectExplorer>>mainTreeListMenu: (in category 'menus')
>> > -----
>> >   mainTreeListMenu: aMenu
>> >         <treeListMenu>
>> >
>> >         aMenu addStayUpItemSpecial.
>> >
>> >         aMenu addList: #(
>> >                 ('inspect (i)'
>> > inspectSelection)
>> >                 ('explore (I)'
>> > exploreSelection)
>> >                 -
>> >                 ('method refs to this inst var'
>> >  referencesToSelection)
>> >                 ('methods storing into this inst var'   defsOfSelection)
>> >                 ('objects pointing to this value'
>> >  objectReferencesToSelection)
>> >                 ('chase pointers'
>> >  chasePointersForSelection)
>> >                 ('explore pointers'
>> >  explorePointersForSelection)
>> >                 -
>> >                 ('browse full (b)'
>> > browseFull)
>> >                 ('browse class'
>> >  browseClass)
>> >                 ('browse hierarchy (h)'
>> >  classHierarchy)
>> >                 ('browse protocol (p)'
>> > browseFullProtocol)
>> >                 -
>> >                 ('references... (r)'
>> > browseVariableReferences)
>> >                 ('assignments... (a)'
>> >  browseVariableAssignments)
>> >                 ('class refs (N)'
>> >      browseClassRefs)
>> >                 -
>> >                 ('copy name (c)'
>> > copyName)
>> > +               ('copy value'
>> >  copyValue)
>> >                 ('basic inspect'
>> >       inspectBasic)).
>> >
>> >         Smalltalk isMorphic ifTrue: [
>> >                 aMenu addList: #(
>> >                         -
>> >                         ('viewer for this value (v)'
>> > viewerForValue))].
>> >
>> >         aMenu addList: #(
>> >                 -
>> >                 ('monitor changes'              monitorSelection)).
>> >
>> >         monitorList isEmptyOrNil ifFalse: [
>> >                 aMenu addList: #(
>> >                         ('stop monitoring all'
>> > stopMonitoring))].
>> >
>> >         ^ aMenu!
>> >
>> >
>> >
>
>>
>
>
>



copy_value_menu_entry_in_object_explorer_Screenshot_2017-09-18.png (92K) Download Attachment