Skip to content

Commit ea18645

Browse files
authored
Merge pull request #1327 from pharo-spec/dev-2.0
new settings browser re-work
2 parents d0fe7f1 + 3b561c5 commit ea18645

File tree

46 files changed

+774
-503
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+774
-503
lines changed

src/NewTools-Debugger/StDebugger.class.st

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@ The StDebugger is a presenter that provides Pharo debugging functionality by usi
33
44
The debugging logic is in DebugSession and the corresponding debugging actions.
55
6-
SpecDebugger only provides a graphical interface to access that functionality.
7-
To interact with the DebugSession, the debugger uses a StDebuggerActionModel, which has responsibility to perform actions to the execution context.
6+
StDebugger only provides a graphical interface to access that functionality.
7+
To interact with the `DebugSession`, the debugger uses a `StDebuggerClientModel`, which has responsibility to perform actions to the execution context.
88
9-
10-
!!Structure of the Pharo debugger
11-
12-
!!!Sub-presenters and layouts
9+
## Structure of the Pharo debugger
10+
### Sub-presenters and layouts
1311
The debugger is composed of default views and extension views.
1412
Default views are the stack, the commands, the status line, the code pane and the inspector.
1513
An extension view automatically appears if any debugging extension is present and if extensions are activated in the settings.
@@ -19,9 +17,9 @@ Default and extension views are available in a vertical and an horizontal layout
1917
It is configureable in the settings under ==Tools >> Debugging >> Debugger layout==.
2018
It is possible to fully customize the debugger layout, and therefore to add or remove any view.
2119
The customized layout must then me selected in the aforementioned setting to be set as default.
22-
To appear in that setting's list of possible values, the layout must be implemented in a method under the ==specs== protocol of the ==StDebugger== class side.
20+
To appear in that setting's list of possible values, the layout must be implemented in a method under the ==specs== protocol of the `StDebugger` class side.
2321
24-
""""The stack.""""
22+
### The stack
2523
It shows the call stack of the current interrupted context.
2624
Each element in the stack is a context representing a message send.
2725
@@ -30,33 +28,33 @@ The context menu (through right click) provides different interactions with the
3028
By default, only a small part of the stack is shown.
3129
More of the stack is observable by either clicking on the bottom context (the last in the stack) or through the context menu.
3230
33-
""""Commands.""""
31+
### Commands
3432
Commands are actions applicable to the current context
3533
After each debugging action (''e.g.'', a step), the list of commands is being updated.
3634
New commands may appear or disappear.
3735
It depends if they are applicable or not to the current context and debugging session.
3836
For instance, when a ==doesNotUnderstand== exception is raised (''i.e.'', a method does not exist), the command ''createMethod'' will appear.
3937
In that case, it gives users the possibility to create the missing method and continue the execution.
4038
41-
""""The status line.""""
39+
### The status line
4240
This view provides information about the current context.
4341
Non-critical information, such as the current instruction being stepped, are displayed in gray.
4442
Critical information ,such as halts or breakpoints or DNU exceptions, are displayed in red.
4543
46-
""""The code.""""
44+
### The code
4745
The code pane shows the source code of the interrupted context's method.
4846
The source code is annotated with informations about the position of the interrupted execution.
4947
This position corresponds to the next execution that will be executed if a step action is performed.
5048
It is coloured in blue if that instruction is selected in the source code, or in orange and underlined if the selection is empty.
5149
5250
A context menu (through right click) provides inspection, exploration, and stepping actions applicable to the context.
53-
Such actions include, ''e.g.'', browse implementors of a selected message or skip execution of selected parts of the code.
51+
Such actions include, *e.g.*, browse implementors of a selected message or skip execution of selected parts of the code.
5452
55-
""""The inspector.""""
53+
### The inspector
5654
It provides views on the current context.
5755
It contains tabs with different inspections or views on the current context or on the system.
5856
59-
The raw inspection shows three items: ''Receiver'', ''Temps'' and ''Context''.
57+
The raw inspection shows three items: *Receiver*, *Temps* and *Context*.
6058
The receiver item shows information about the receiver of the message, or the object executing the method from the context.
6159
The temps item shows the temporary variables of the current context.
6260
Finally, the context item shows lower-level details, such as the interrupted context, the debug session or the debugger itself.

src/NewTools-FileBrowser/StDirectoryTreePresenter.class.st

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ StDirectoryTreePresenter >> expandPath: aFileLocator [
7171

7272
directoryTreePresenter selectPath: aPathForSpec scrollToSelection: true. "The Morphic `configureScrolling` is executed **AFTER** the desired scroll was configured from the `StDirectoryTreePresenter`. Furthermore, the `configureScrolling` uses the `desiredVisibleRow` which is always set to 1. This statement updates the desired visible row to the last visible index of whatever the selection is pointing to."
7373

74-
directoryTreePresenter verticalAlignment lastVisibleRowIndex ifNotNil: [ :index | directoryTreePresenter verticalAlignment desiredVisibleRow: index ]
74+
directoryTreePresenter verticalAlignment lastVisibleRowIndex ifNotNil: [ :index |
75+
directoryTreePresenter verticalAlignment desiredVisibleRow: index ]
7576
]
7677

7778
{ #category : 'initialization' }

src/NewTools-Gtk/StPharoGtkConfiguration.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ StPharoGtkConfiguration >> configureGeneral: anApplication [
3333
self addCSSProviderFromString: self commonStyle.
3434
anApplication
3535
propertyAt: #syntaxHighlightTheme
36-
put: self syntaxHighlightThemeName
36+
put: self syntaxHighlightTheme
3737
]
3838

3939
{ #category : 'configuring' }

src/NewTools-Inspector-Extensions/AbstractFileReference.extension.st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ AbstractFileReference >> inspectionPng: aBuilder [
173173
<inspectorPresentationOrder: 0 title: 'Picture'>
174174

175175
^ aBuilder newImage
176+
autoScale: true;
176177
image: (self binaryReadStreamDo: [ :stream | PNGReadWriter formFromStream: stream ]);
177178
yourself
178179
]

src/NewTools-Inspector-Extensions/MetacelloMemberListSpec.extension.st

Lines changed: 0 additions & 49 deletions
This file was deleted.

src/NewTools-Inspector/StInspectorInspectSelectedCommand.class.st

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ StInspectorInspectSelectedCommand class >> defaultName [
2828
^ 'Inspect'
2929
]
3030

31+
{ #category : 'initialization' }
32+
StInspectorInspectSelectedCommand class >> defaultShortcutKey [
33+
34+
^ $i actionModifier
35+
]
36+
3137
{ #category : 'documentation' }
3238
StInspectorInspectSelectedCommand class >> documentContextRequiredSelectors [
3339

@@ -36,7 +42,6 @@ StInspectorInspectSelectedCommand class >> documentContextRequiredSelectors [
3642

3743
{ #category : 'execution' }
3844
StInspectorInspectSelectedCommand >> execute [
39-
4045
self context systemNavigation inspect: self interestingObject
4146

4247
]

src/NewTools-Inspector/StRawInspectionPresenter.class.st

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Class {
1616

1717
{ #category : 'commands' }
1818
StRawInspectionPresenter class >> buildCommandsGroupWith: presenter forRoot: aCmCommandsGroup [
19+
1920
aCmCommandsGroup
2021
beDisplayedAsGroup;
2122
register: (StInspectorInspectSelectedCommand forSpecContext: presenter);
@@ -100,6 +101,7 @@ StRawInspectionPresenter >> initializePresenters [
100101
transfer target save: (transfer shouldCopy ifTrue: [ value copy ] ifFalse: [ value ]).
101102
self step ];
102103
yourself.
104+
103105
self addVariablesColumn.
104106
self addValuesColumn.
105107
self setAttributeTable

src/NewTools-MethodBrowsers/StMethodBrowser.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ StMethodBrowser >> installIconStylerFor: anItem [
455455

456456
IconStyler withStaticStylers
457457
styleText: textPresenter
458-
withAst: anItem ast.
458+
withAst: anItem ast
459459
]
460460

461461
{ #category : 'private' }

src/NewTools-Playground/StPlaygroundInteractionModel.class.st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ StPlaygroundInteractionModel >> addBindings: aCollection [
3535

3636
{ #category : 'binding' }
3737
StPlaygroundInteractionModel >> addBindingsByDictionary: aDictionary [
38+
3839
aDictionary keysAndValuesDo: [ :key :value | self addBinding: (WorkspaceVariable key: key value: value) ].
3940

4041
]

src/NewTools-Playground/StPlaygroundPage.class.st

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,13 @@ StPlaygroundPage >> readStreamDo: aBlock [
210210
ifAbsent: [ nil ]
211211
]
212212

213+
{ #category : 'removing' }
214+
StPlaygroundPage >> removeAllContents [
215+
216+
(self fileReference withExtension: 'ombu') ensureDelete.
217+
self fileReference ensureDelete
218+
]
219+
213220
{ #category : 'accessing' }
214221
StPlaygroundPage >> renameTo: aFileName [
215222
self fileReference renameTo: aFileName, '.', self class pageExtension.

0 commit comments

Comments
 (0)