Skip to content
37 changes: 24 additions & 13 deletions src/ColorPicker/SpColorPickerPresenter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ Class {
#name : 'SpColorPickerPresenter',
#superclass : 'SpPresenter',
#instVars : [
'colorPickerPresenter'
'colorPickerPresenter',
'toolbar',
'colorChangedBlock'
],
#category : 'ColorPicker',
#package : 'ColorPicker'
Expand All @@ -25,15 +27,16 @@ SpColorPickerPresenter class >> open [
^ (self newApplication: StPharoApplication current) open
]

{ #category : 'accessing' }
SpColorPickerPresenter >> color [
{ #category : 'events' }
SpColorPickerPresenter >> colorChanged [

^ colorPickerPresenter color
colorChangedBlock ifNil: [ ^ self ].
^ colorChangedBlock value: colorPickerPresenter color
]

{ #category : 'layout' }
SpColorPickerPresenter >> defaultLayout [

^ SpBoxLayout newTopToBottom
add: colorPickerPresenter;
yourself
Expand All @@ -42,7 +45,9 @@ SpColorPickerPresenter >> defaultLayout [
{ #category : 'initialization' }
SpColorPickerPresenter >> initializePresenters [

colorPickerPresenter := self newColorPicker
colorPickerPresenter := self newColorPicker.
toolbar := self newToolbar.
self toolbarButtons do: [ :button | toolbar addItemRight: button ]
]

{ #category : 'initialization' }
Expand All @@ -51,22 +56,28 @@ SpColorPickerPresenter >> toolbarButtons [

buttons := OrderedCollection new.
buttons
add: (self newToolbarButton
label: 'Select';
icon: (self iconNamed: #smallOk);
help: 'Select and close';
action: [ self colorChanged. self delete ];
yourself);
add: (self newToolbarButton
label: 'Cancel';
icon: (self iconNamed: #smallCancel);
help: 'Cancel the color selection';
action: [ self delete ];
yourself);
add: (self newToolbarButton
label: 'Select';
icon: (self iconNamed: #smallOk);
help: 'Select and close';
action: [ self delete ];
yourself).
yourself).

^ buttons
]

{ #category : 'events' }
SpColorPickerPresenter >> whenColorChangedDo: aBlock [

colorChangedBlock := aBlock
]

{ #category : 'initialization' }
SpColorPickerPresenter >> windowIcon [

Expand Down
12 changes: 6 additions & 6 deletions src/NewTools-Core/StPharoSettings.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -63,24 +63,24 @@ StPharoSettings class >> pharoAboutOn: aBuilder [

{ #category : 'settings' }
StPharoSettings class >> settingsOn: aBuilder [
<systemsettings>

<systemsettings>
(aBuilder setting: #codeShowLineNumbers)
parent: #tools;
parentName: #tools;
order: 0;
default: self codeShowLineNumbers;
defaultValue: self codeShowLineNumbers;
target: self;
description: 'If code panels will display line numbers';
label: 'Show line numbers in code panels'.

(aBuilder pickOne: #toolbarDisplayMode)
parent: #tools;
parentName: #tools;
order: 1;
default: self toolbarDisplayMode;
defaultValue: self toolbarDisplayMode;
target: self;
domainValues: (SpToolbarDisplayMode all collect: [ :each | each label -> each ]);
description: 'Toolbars will be displayed in icon+label, icon, or label mode.';
label: 'Toolbar display mode'
label: 'Toolbar display mode'
]

{ #category : 'settings' }
Expand Down
22 changes: 10 additions & 12 deletions src/NewTools-Debugger/StDebugger.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -186,13 +186,11 @@ StDebugger class >> debuggerLayoutSettingsOn: aBuilder [

<systemsettings>
(aBuilder pickOne: #configureLayout)
parent: #debugging;
parentName: #debugging;
label: 'Debugger Layout';
target: StDebugger;
default: #beVerticalStackThenCode;
domainValues:
#( #beHorizontalCodeThenStack #beHorizontalStackThenCode
#beVerticalCodeThenStack #beVerticalStackThenCode );
defaultValue: #beVerticalStackThenCode;
domainValues: #( #beHorizontalCodeThenStack #beHorizontalStackThenCode #beVerticalCodeThenStack #beVerticalStackThenCode );
description: ''
]

Expand Down Expand Up @@ -277,13 +275,13 @@ StDebugger class >> settings [
StDebugger class >> stackColoringSettingOn: aBuilder [

<systemsettings>
(aBuilder setting: #enableStackColoring)
label: 'Enable stack coloring';
target: self;
parent: #debugging;
default: true;
description:
'If enable, the debugger will highlight the elements of the stacks that are from the same class and same package as the selected context.'.
(aBuilder setting: #enableStackColoring)
label: 'Enable stack coloring';
target: self;
parentName: #debugging;
defaultValue: true;
description:
'If enable, the debugger will highlight the elements of the stacks that are from the same class and same package as the selected context.'
]

{ #category : 'accessing' }
Expand Down
5 changes: 3 additions & 2 deletions src/NewTools-Debugger/StDebuggerClientModel.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,13 @@ StDebuggerClientModel class >> shouldFilterStack: aBoolean [

{ #category : 'settings' }
StDebuggerClientModel class >> shouldFilterStackSettingsOn: aBuilder [

<systemsettings>
(aBuilder setting: #shouldFilterStack)
label: 'Filter the debugger stack';
target: self;
default: true;
parent: #debugging;
defaultValue: true;
parentName: #debugging;
description: 'Defines if methods with pragma #debuggerCompleteToSender are filtered (hidden) in the debugger stack'
]

Expand Down
35 changes: 15 additions & 20 deletions src/NewTools-Debugger/StDebuggerExtensionSettings.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,18 @@ StDebuggerExtensionSettings class >> debuggerExtensionSettingsForClass: toolClas

(aBuilder group: toolName asSymbol)
label: toolName;
with: [
(aBuilder setting: #showInDebugger)
label: 'Show in debugger';
target: toolClass;
default: toolClass showInDebugger;
description: 'Activate the tool tab in the debugger right column.'.
(aBuilder pickOne: #displayOrder)
label: 'Position';
target: toolClass;
default: toolClass defaultDisplayOrder;
domainValues: (1 to: 100) asArray;
description:
'Position of the tool tab in the debugger right column.' ]
with: [
(aBuilder setting: #showInDebugger)
label: 'Show in debugger';
target: toolClass;
defaultValue: toolClass showInDebugger;
description: 'Activate the tool tab in the debugger right column.'.
(aBuilder pickOne: #displayOrder)
label: 'Position';
target: toolClass;
defaultValue: toolClass defaultDisplayOrder;
domainValues: (1 to: 100) asArray;
description: 'Position of the tool tab in the debugger right column.' ]
]

{ #category : 'settings' }
Expand All @@ -40,12 +39,8 @@ StDebuggerExtensionSettings class >> debuggerExtensionSettingsOn: aBuilder [
debuggerClass := StDebugger.
(aBuilder group: #debuggerExtensions)
label: 'Debugger Extensions';
parent: #debugging;
description:
'Tools that extend the StDebugger and appear in the right column of the debugger';
parentName: #debugging;
description: 'Tools that extend the StDebugger and appear in the right column of the debugger';
with: [
debuggerClass extensionToolsClasses do: [ :toolClass |
self
debuggerExtensionSettingsForClass: toolClass
builder: aBuilder ] ]
debuggerClass extensionToolsClasses do: [ :toolClass | self debuggerExtensionSettingsForClass: toolClass builder: aBuilder ] ]
]
9 changes: 5 additions & 4 deletions src/NewTools-Debugger/StDebuggerSettings.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,13 @@ StDebuggerSettings class >> preserveWindowPosition: aBoolean [

{ #category : 'initialization' }
StDebuggerSettings class >> preserveWindowPositionAndExtentOn: aBuilder [

<systemsettings>

(aBuilder setting: #preserveWindowPosition)
label: 'Preserve window position';
target: self;
parent: #debugging;
default: true;
description: 'If enabled, the debugger will preserve the last known window position, and it will open new debugger windows in that configuration'.
parentName: #debugging;
defaultValue: true;
description:
'If enabled, the debugger will preserve the last known window position, and it will open new debugger windows in that configuration'
]
30 changes: 17 additions & 13 deletions src/NewTools-Epicea/EpSettings.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ EpSettings class >> groupSettingsOn: aBuilder [
<systemsettings>
(aBuilder group: #epicea)
label: 'Epicea';
description: 'Epicea is a tool that records code changes enriched with IDE events. Epicea extends and could replace the traditional .changes logging mechanism, where the recorded code changes are incomplete and are not properly reified and thus it can be difficult to recover lost code after an image crash.';
parent: #tools
description:
'Epicea is a tool that records code changes enriched with IDE events. Epicea extends and could replace the traditional .changes logging mechanism, where the recorded code changes are incomplete and are not properly reified and thus it can be difficult to recover lost code after an image crash.';
parentName: #tools
]

{ #category : 'accessing' }
Expand All @@ -37,9 +38,10 @@ EpSettings class >> lostEventsDetectorEnabledSettingOn: aBuilder [
<systemsettings>
(aBuilder setting: #lostEventsDetectorEnabled)
label: 'Detect lost events on start-up';
default: true;
description: 'Check if current Epicea log has events that were not applied in this image (useful for recovering changes when the image crashed)';
parent: #epicea;
defaultValue: true;
description:
'Check if current Epicea log has events that were not applied in this image (useful for recovering changes when the image crashed)';
parentName: #epicea;
target: self
]

Expand All @@ -61,9 +63,10 @@ EpSettings class >> monitorEnabledSettingOn: aBuilder [
<systemsettings>
(aBuilder setting: #monitorEnabled)
label: 'Monitor enabled';
default: true;
description: 'The Epicea Monitor listens events in the system such as class added and method modified, and records them to the current Epicea log.';
parent: #epicea;
defaultValue: true;
description:
'The Epicea Monitor listens events in the system such as class added and method modified, and records them to the current Epicea log.';
parentName: #epicea;
target: self
]

Expand All @@ -86,9 +89,9 @@ EpSettings class >> storeNameStrategySettingsOn: aBuilder [
(aBuilder pickOne: #storeNameStrategyClass)
label: 'File Naming Strategy';
description: 'Choose how will be the Epicea logs named.';
parent: #epicea;
parentName: #epicea;
target: self;
default: OmTimeStampSuffixStrategy;
defaultValue: OmTimeStampSuffixStrategy;
domainValues: OmSessionStoreNamingStrategy availableStrategies
]

Expand All @@ -110,12 +113,13 @@ EpSettings class >> writingDeferDurationSettingOn: aBuilder [
<systemsettings>
(aBuilder setting: #writingDeferDuration)
label: 'Writing defer duration';
default: 250;
description: 'Time to wait before write. When Epicea listens new events, it does not write them immediately. Instead, the new events are buffered until there were not new events during the time specified by this setting. The goal is to optimize I/O operations by batching them.
defaultValue: 250;
description:
'Time to wait before write. When Epicea listens new events, it does not write them immediately. Instead, the new events are buffered until there were not new events during the time specified by this setting. The goal is to optimize I/O operations by batching them.

Consecuences of a high defer duration:
- Pros: For example, when a project is loaded into the image, many events happen in a small window of time.
- Cons: Code changes can be lost if the vm crashes.';
parent: #epicea;
parentName: #epicea;
target: self
]
Loading
Loading