[squeak-dev] The Trunk: Tools-mt.582.mcz
karl ramberg
karlramberg at gmail.com
Sun Apr 12 16:35:18 UTC 2015
Hmm.
I seems when you click explore/ inspect the current selection you "jump up"
a level and then you lose the inspector/ explorer for the object you had in
the previous tool.
Eg:
Inspect a object.
Select it's instance variable
Click Explore
A explorer for the instance variable opens
You can't go back to original object
Karl
On Sun, Apr 12, 2015 at 6:27 PM, karl ramberg <karlramberg at gmail.com> wrote:
> Hi,
> You are making really nice enhancements :-)
>
> BTW : Could we preserve the selection in the list as well ?
> Or are the list models too different for it to make sense ?
> First level selection should probably work...
>
> Karl
>
>
>
> On Sun, Apr 12, 2015 at 4:56 PM, <commits at source.squeak.org> wrote:
>
>> Marcel Taeumel uploaded a new version of Tools to project The Trunk:
>> http://source.squeak.org/trunk/Tools-mt.582.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Tools-mt.582
>> Author: mt
>> Time: 12 April 2015, 4:56:27.909 pm
>> UUID: 3ad55be5-74b1-f84f-98d1-b1cf671476d2
>> Ancestors: Tools-mt.581
>>
>> Preserve expressions that were entered in the code pane in
>> inspector/explorer when switching between those tools.
>>
>> =============== Diff against Tools-mt.581 ===============
>>
>> Item was changed:
>> StringHolder subclass: #Inspector
>> + instanceVariableNames: 'object selectionIndex
>> timeOfLastListUpdate selectionUpdateTime context expression'
>> - instanceVariableNames: 'object selectionIndex
>> timeOfLastListUpdate selectionUpdateTime context'
>> classVariableNames: ''
>> poolDictionaries: ''
>> category: 'Tools-Inspector'!
>>
>> !Inspector commentStamp: '<historical>' prior: 0!
>> I represent a query path into the internal representation of an object.
>> As a StringHolder, the string I represent is the value of the currently
>> selected variable of the observed object.!
>>
>> Item was changed:
>> ----- Method: Inspector>>buildCodePaneWith: (in category 'toolbuilder')
>> -----
>> buildCodePaneWith: builder
>> | textSpec |
>> textSpec := builder pluggableTextSpec new.
>> textSpec
>> model: self;
>> + getText: #expression;
>> + editText: #expression:;
>> - getText: #trash;
>> - setText: #trash:;
>> help: #helpText;
>> selection: #contentsSelection;
>> menu: #codePaneMenu:shifted:;
>> askBeforeDiscardingEdits: false.
>> ^textSpec!
>>
>> Item was changed:
>> ----- Method: Inspector>>exploreObject (in category 'toolbuilder') -----
>> exploreObject
>> "Switch to an explorer tool."
>>
>> + | window model |
>> + window := self object explore.
>> + model := window model.
>> +
>> + model setExpression: self expression.
>> + window bounds: self containingWindow bounds.
>> - self object explore
>> - bounds: self containingWindow bounds.
>> self changed: #close.!
>>
>> Item was added:
>> + ----- Method: Inspector>>expression (in category 'accessing') -----
>> + expression
>> +
>> + ^ expression ifNil: ['']!
>>
>> Item was added:
>> + ----- Method: Inspector>>expression: (in category 'accessing') -----
>> + expression: aString
>> +
>> + expression := aString.!
>>
>> Item was added:
>> + ----- Method: Inspector>>setExpression: (in category 'code') -----
>> + setExpression: aString
>> +
>> + self expression: aString.
>> + self changed: #expression.!
>>
>> Item was changed:
>> AbstractHierarchicalList subclass: #ObjectExplorer
>> + instanceVariableNames: 'root currentParent inspector monitorList
>> expression'
>> - instanceVariableNames: 'root currentParent inspector monitorList'
>> classVariableNames: ''
>> poolDictionaries: ''
>> category: 'Tools-Explorer'!
>>
>> !ObjectExplorer commentStamp: '<historical>' prior: 0!
>> ObjectExplorer provides a hierarchical alternative to #inspect. Simply
>> evaluate an expression like:
>>
>> World explore
>>
>> and enjoy.!
>>
>> Item was changed:
>> ----- Method: ObjectExplorer>>buildWith: (in category 'toolbuilder')
>> -----
>> buildWith: builder
>>
>> | windowSpec treeSpec textSpec buttonSpec buttonOffset |
>> windowSpec := builder pluggableWindowSpec new.
>> windowSpec
>> model: self;
>> children: OrderedCollection new;
>> label: #label;
>> extent: self initialExtent.
>>
>> treeSpec := builder pluggableTreeSpec new.
>> treeSpec
>> model: self;
>> nodeClass: self class nodeClass;
>> roots: #getList;
>> keyPress: #explorerKey:from:event:;
>> getSelected: #currentSelection;
>> setSelected: #currentSelection:;
>> setSelectedParent: #currentParent:;
>> menu: #genericMenu:;
>> autoDeselect: false;
>> columns: (ObjectExplorerWrapper showContentsInColumns
>> ifTrue: [{
>> [:listMorph | (listMorph filteredItems
>> collect: [:item |
>> item preferredWidthOfColumn: 1])
>> max].
>> nil "take all the space"}]);
>> frame: (0 at 0 corner: 1 at 0.75).
>> windowSpec children add: treeSpec.
>>
>> buttonOffset := (Preferences standardButtonFont widthOfString:
>> 'inspect') * 3/2.
>>
>> textSpec := builder pluggableTextSpec new.
>> textSpec
>> model: self;
>> + getText: #expression;
>> + editText: #expression:;
>> menu: #codePaneMenu:shifted:;
>> help: 'Evaluate expressions for the current tree
>> selection...' translated;
>> frame: (LayoutFrame fractions: (0 at 0.75 corner: 1 at 1)
>> offsets: (0 at 0 corner: buttonOffset negated at 0)).
>> windowSpec children add: textSpec.
>>
>> buttonSpec := builder pluggableButtonSpec new
>> model: self;
>> label: 'inspect';
>> action: #inspectObject;
>> help: 'Switch to an inspector tool';
>> frame: (LayoutFrame fractions: (1 at 0.75 corner: 1 at 1)
>> offsets: (buttonOffset negated at 0 corner: 0 @ 0)).
>> windowSpec children add: buttonSpec.
>>
>> [^ builder build: windowSpec]
>> ensure: [self changed: #expandRootsRequested]!
>>
>> Item was added:
>> + ----- Method: ObjectExplorer>>expression (in category 'accessing') -----
>> + expression
>> +
>> + ^ expression!
>>
>> Item was added:
>> + ----- Method: ObjectExplorer>>expression: (in category 'accessing')
>> -----
>> + expression: aString
>> +
>> + expression := aString.!
>>
>> Item was changed:
>> ----- Method: ObjectExplorer>>inspectObject (in category 'toolbuilder')
>> -----
>> inspectObject
>> "Switch to an inspector tool."
>>
>> + | window model |
>> + window := self object inspect.
>> + model := window model.
>> +
>> + model setExpression: self expression.
>> + window bounds: self containingWindow bounds.
>> - self object inspect
>> - bounds: self containingWindow bounds.
>> self changed: #close.!
>>
>> Item was added:
>> + ----- Method: ObjectExplorer>>setExpression: (in category 'accessing -
>> other') -----
>> + setExpression: aString
>> +
>> + self expression: aString.
>> + self changed: #expression.!
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20150412/a41e3fba/attachment.htm
More information about the Squeak-dev
mailing list
|