Skip to content

Commit

Permalink
Merge pull request #1015 from Ducasse/improvingObjectTranscript
Browse files Browse the repository at this point in the history
- Adding object transcript in the baseline
  • Loading branch information
Ducasse authored Feb 27, 2025
2 parents 3a379e2 + 782ec1c commit fc3d934
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 11 deletions.
4 changes: 4 additions & 0 deletions src/BaselineOfNewTools/BaselineOfNewTools.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ BaselineOfNewTools >> baseline: spec [

package: 'NewTools-ShortcutsBrowser';

package: 'NewTools-ObjectTranscript';

package: 'ColorPicker';
package: 'ColorPicker-Tests' with: [ spec requires: #( ColorPicker ) ].

Expand Down Expand Up @@ -195,6 +197,8 @@ BaselineOfNewTools >> baseline: spec [
group: 'ShortcutsBrowser' with: #( 'NewTools-ShortcutsBrowser' );

group: 'ColorPickerGroup' with: #('ColorPicker' 'ColorPicker-Tests');



group: 'default' with: #(
'Playground'
Expand Down
103 changes: 92 additions & 11 deletions src/NewTools-ObjectTranscript/StObjectTranscriptPresenter.class.st
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
"
I'm a presenter showing StObjectTranscriptLogger log elements.
```
StObjectTranscriptLogger open
StObjectTranscriptLogger openWithLogger: StObjectTranscripLogger instance
```
To open from another presenter use the following expression
```
(self application toolNamed: #objectTranscript) open
```
You can show/hide the inspector and the inspector can either display the currently selected log entry or the complete list so that we can perform collection operations for complex filters
```
| cb |
StObjectTranscriptLogger start.
cb := self new.
cb logger: StObjectTranscriptLogger instance.
'this is a message only interesting from the logger domain' emit.
cb open.
cb := self open.
'Pharo is super nice!' emit.
```
Expand Down Expand Up @@ -68,6 +80,38 @@ StObjectTranscriptPresenter class >> example [
^ cb
]

{ #category : 'accessing' }
StObjectTranscriptPresenter class >> example2 [
"self example2"

self open.
'Hello Pharo is cool,' emit.

]

{ #category : 'instance creation' }
StObjectTranscriptPresenter class >> open [
"Make sure that the object transcript logger is on and open a presenter on it."

StObjectTranscriptLogger start.
^ self openWithLogger: StObjectTranscriptLogger instance
]

{ #category : 'instance creation' }
StObjectTranscriptPresenter class >> openWithLogger: aLogger [

^ self new logger: aLogger; open


]

{ #category : 'registration' }
StObjectTranscriptPresenter class >> registerToolsOn: registry [

registry register: self as: #objectTranscript

]

{ #category : 'settings' }
StObjectTranscriptPresenter class >> settings: aBuilder [

Expand All @@ -94,27 +138,43 @@ StObjectTranscriptPresenter class >> showInspector: aBoolean [
ShowInspector := aBoolean
]

{ #category : 'registration' }
StObjectTranscriptPresenter class >> worldMenuOn: aBuilder [
<worldMenu>

(aBuilder item: #'Browse')
parent: #Browse;
label: 'Object Transcript';
order: 5;
iconName: #playground;
action: [ StObjectTranscriptPresenter open].

]

{ #category : 'actions' }
StObjectTranscriptPresenter >> addActions [

logList
addActionWith: [ :item | item
name: 'Toggle inspector entities';
iconName: #smallHelp;
action: [
inspectSelectedItem := inspectSelectedItem not.
inspectSelectedItem
ifTrue: [ self inspect: logList selectedItem ]
ifFalse: [ self inspect: logger recordings ] ] ];
action: [ self hideShowInspector ] ];
addActionWith: [ :item | item
name: 'Hide/Show inspector';
iconName: #inspect;
action: [ self showInspector: showInspector not ] ];
addActionWith: [ :item | item
name: 'Flush entities';
iconName: #delete;
action: [ self flush ]]

action: [ self flush ]];
addActionWith: [ :item | item
name: 'Start logger';
iconName: #start;
action: [ self startLogger ]];
addActionWith: [ :item | item
name: 'Stop logger';
iconName: #stop;
action: [ self stopLogger ]]

]

Expand Down Expand Up @@ -153,6 +213,15 @@ StObjectTranscriptPresenter >> flush [
self populateItemsFrom: logger
]

{ #category : 'actions' }
StObjectTranscriptPresenter >> hideShowInspector [

inspectSelectedItem := inspectSelectedItem not.
inspectSelectedItem
ifTrue: [ self inspect: logList selectedItem ]
ifFalse: [ self inspect: logger recordings ]
]

{ #category : 'initialization' }
StObjectTranscriptPresenter >> initialize [

Expand Down Expand Up @@ -252,6 +321,18 @@ StObjectTranscriptPresenter >> showInspector: aBoolean [
self layout: self defaultLayout.
]

{ #category : 'actions' }
StObjectTranscriptPresenter >> startLogger [

logger start
]

{ #category : 'actions' }
StObjectTranscriptPresenter >> stopLogger [

logger stop
]

{ #category : 'accessing' }
StObjectTranscriptPresenter >> windowTitle [

Expand Down

0 comments on commit fc3d934

Please sign in to comment.