[Pkg] The Trunk: Tools-mt.1050.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Apr 30 07:19:17 UTC 2021
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1050.mcz
==================== Summary ====================
Name: Tools-mt.1050
Author: mt
Time: 30 April 2021, 9:19:14.010936 am
UUID: c1a1da37-9117-f548-b3a3-f910d6ae2c4c
Ancestors: Tools-mt.1049
Refactors buildWith: in ChangeSorter to match the implementation in other tools (such as MessageSet and Browser).
Complements Kernel-mt.1396
=============== Diff against Tools-mt.1049 ===============
Item was added:
+ ----- Method: ChangeSorter>>buildChangeSetListWith: (in category 'toolbuilder') -----
+ buildChangeSetListWith: builder
+
+ | listSpec |
+ listSpec := builder pluggableListSpec new.
+ listSpec
+ model: self;
+ list: #changeSetList;
+ getSelected: #currentCngSet;
+ setSelected: #showChangeSetNamed:;
+ menu: #changeSetMenu:shifted:;
+ keyPress: #changeSetListKey:from:;
+ dragItem: #dragChangeSet:;
+ autoDeselect: false.
+ ^ listSpec!
Item was added:
+ ----- Method: ChangeSorter>>buildClassListWith: (in category 'toolbuilder') -----
+ buildClassListWith: builder
+
+ | listSpec |
+ listSpec := builder pluggableListSpec new.
+ listSpec
+ model: self;
+ list: #classList;
+ getSelected: #currentClassName;
+ setSelected: #currentClassName:;
+ menu: #classListMenu:shifted:;
+ keyPress: #classListKey:from:;
+ dragItem: #dragClass:.
+ ^ listSpec!
Item was added:
+ ----- Method: ChangeSorter>>buildCodePaneWith: (in category 'toolbuilder') -----
+ buildCodePaneWith: builder
+
+ | textSpec |
+ textSpec := builder pluggableCodePaneSpec new.
+ textSpec
+ model: self;
+ getText: #contents;
+ setText: #contents:notifying:;
+ selection: #contentsSelection;
+ menu: #codePaneMenu:shifted:.
+ ^ textSpec!
Item was added:
+ ----- Method: ChangeSorter>>buildMessageListWith: (in category 'toolbuilder') -----
+ buildMessageListWith: builder
+
+ | listSpec |
+ listSpec := builder pluggableListSpec new.
+ listSpec
+ model: self;
+ list: #messageList;
+ getSelected: #currentSelector;
+ setSelected: #currentSelector:;
+ menu: #messageMenu:shifted:;
+ keyPress: #messageListKey:from:;
+ dragItem: #dragMessage:.
+ ^ listSpec!
Item was changed:
----- Method: ChangeSorter>>buildWith: (in category 'toolbuilder') -----
buildWith: builder
+
+ ^ builder build:
+ (self
+ buildWith: builder
+ in: (self buildWindowWith: builder)
+ rect: (0 at 0 extent: 1 at 1))!
- "
- ToolBuilder open: ChangeSorter.
- "
- | windowSpec |
- windowSpec := builder pluggableWindowSpec new.
- windowSpec label: 'Change Sorter'.
- windowSpec model: self.
- windowSpec children: OrderedCollection new.
- windowSpec label: #labelString.
- self buildWith: builder in: windowSpec rect: (0 at 0 extent: 1 at 1).
- ^builder build: windowSpec!
Item was changed:
----- Method: ChangeSorter>>buildWith:in:rect: (in category 'toolbuilder') -----
buildWith: builder in: window rect: rect
- | csListHeight msgListHeight csMsgListHeight listSpec textSpec |
- contents := ''.
- csListHeight := 0.25.
- msgListHeight := 0.25.
- csMsgListHeight := csListHeight + msgListHeight.
+ | windowSpec offset factor |
+ offset := rect origin.
+ factor := rect extent.
+ windowSpec := self buildWindow: window with: builder specs: (({
+ (0.0 at 0.0 corner: 0.5 at 0.25) -> [self buildChangeSetListWith: builder].
+ (0.5 at 0.0 corner: 1.0 at 0.25) -> [self buildClassListWith: builder].
+ (0.0 at 0.25 corner: 1.0 at 0.5) -> [self buildMessageListWith: builder].
+ (0.0 at 0.5 corner: 1.0 at 1.0) -> [self buildCodePaneWith: builder] })
+ collect: [:spec | ((spec key scaleBy: factor) translateBy: offset) -> spec value]).
+ ^ builder build: windowSpec!
- listSpec := builder pluggableListSpec new.
- listSpec
- model: self;
- list: #changeSetList;
- getSelected: #currentCngSet;
- setSelected: #showChangeSetNamed:;
- menu: #changeSetMenu:shifted:;
- keyPress: #changeSetListKey:from:;
- dragItem: #dragChangeSet:;
- autoDeselect: false;
- frame: (((0 at 0 extent: 0.5 at csListHeight)
- scaleBy: rect extent) translateBy: rect origin).
- window children add: listSpec.
-
- listSpec := builder pluggableListSpec new.
- listSpec
- model: self;
- list: #classList;
- getSelected: #currentClassName;
- setSelected: #currentClassName:;
- menu: #classListMenu:shifted:;
- keyPress: #classListKey:from:;
- dragItem: #dragClass:;
- frame: (((0.5 at 0 extent: 0.5 at csListHeight)
- scaleBy: rect extent) translateBy: rect origin).
- window children add: listSpec.
-
- listSpec := builder pluggableListSpec new.
- listSpec
- model: self;
- list: #messageList;
- getSelected: #currentSelector;
- setSelected: #currentSelector:;
- menu: #messageMenu:shifted:;
- keyPress: #messageListKey:from:;
- dragItem: #dragMessage:;
- frame: (((0 at csListHeight extent: 1 at msgListHeight)
- scaleBy: rect extent) translateBy: rect origin).
- window children add: listSpec.
-
- textSpec := builder pluggableCodePaneSpec new.
- textSpec
- model: self;
- getText: #contents;
- setText: #contents:notifying:;
- selection: #contentsSelection;
- menu: #codePaneMenu:shifted:;
- frame: (((0 at csMsgListHeight corner: 1 at 1) scaleBy: rect extent) translateBy: rect origin).
- window children add: textSpec.
- ^window!
Item was changed:
----- Method: DualChangeSorter>>buildWith: (in category 'toolbuilder') -----
buildWith: builder
| windowSpec window |
leftCngSorter := ChangeSorter new myChangeSet: ChangeSet current.
leftCngSorter parent: self.
rightCngSorter := ChangeSorter new myChangeSet:
ChangeSet secondaryChangeSet.
rightCngSorter parent: self.
+ windowSpec := self buildWindowWith: builder.
- windowSpec := builder pluggableWindowSpec new.
- windowSpec model: self.
- windowSpec label: 'Change Sorter'.
- windowSpec children: OrderedCollection new.
- windowSpec label: #labelString.
leftCngSorter buildWith: builder in: windowSpec rect: (0 at 0 extent: 0.5 at 1).
rightCngSorter buildWith: builder in: windowSpec rect: (0.5 at 0 extent: 0.5 at 1).
window := builder build: windowSpec.
leftCngSorter addDependent: window. "so it will get changed: #relabel"
rightCngSorter addDependent: window. "so it will get changed: #relabel"
^window!
More information about the Packages
mailing list