Skip to content

Commit bf44a7d

Browse files
committed
+ TToNodeContainer + TToItemNodeContainer. + ToMenuItemElement>>#hasItems and #hasMenuItems. + TToItemNodeContainer>>hasSubitems
1 parent 42f7c70 commit bf44a7d

11 files changed

+99
-36
lines changed

src/Toplo-Widget-Circular/ToCircularMenuNodeContainer.class.st

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Class {
22
#name : #ToCircularMenuNodeContainer,
33
#superclass : #ToAnnulusSectorElement,
4+
#traits : 'TToNodeContainer + TToItemNodeContainer',
5+
#classTraits : 'TToNodeContainer classTrait + TToItemNodeContainer classTrait',
46
#instVars : [
57
'node'
68
],
@@ -22,7 +24,7 @@ ToCircularMenuNodeContainer >> newRawSkin [
2224
^ ToCircularMenuNodeContainerSkin new
2325
]
2426

25-
{ #category : #accessing }
27+
{ #category : #'t - node container - requirements' }
2628
ToCircularMenuNodeContainer >> node [
2729

2830
^ node

src/Toplo-Widget-Circular/ToCircularMenuNodeContainerSkin.class.st

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,36 @@ ToCircularMenuNodeContainerSkin >> installSkinEventExperimental2: anEvent [
4848
e addChild: innerBezier ] ]
4949
]
5050

51+
{ #category : #'event handling' }
52+
ToCircularMenuNodeContainerSkin >> installSkinEventExperimental3: anEvent [
53+
54+
anEvent elementDo: [ :e |
55+
| bezierPoints |
56+
e border: (BlBorder paint: Color blue width: 2).
57+
e whenLayoutedDoOnce: [
58+
| outerBezier innerBezier |
59+
e hasSubitems ifTrue: [
60+
bezierPoints := e
61+
bezierControlPointsForRadius:
62+
e outerRadius - 4
63+
withStartRadialOffset: 8
64+
withEndRadialOffset: 8.
65+
outerBezier := (BlBezierCurveGeometry controlPoints:
66+
bezierPoints) asElement.
67+
outerBezier border: (BlBorder paint: Color blue width: 6).
68+
e addChild: outerBezier.
69+
70+
bezierPoints := e
71+
bezierControlPointsForRadius:
72+
e innerRadius + 3
73+
withStartRadialOffset: 0
74+
withEndRadialOffset: 0.
75+
innerBezier := (BlBezierCurveGeometry controlPoints:
76+
bezierPoints) asElement.
77+
innerBezier border: (BlBorder paint: Color blue width: 3).
78+
e addChild: innerBezier ] ] ]
79+
]
80+
5181
{ #category : #'event handling' }
5282
ToCircularMenuNodeContainerSkin >> installSkinEventExperimental: anEvent [
5383

src/Toplo-Widget-List/TToItemListUser.trait.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ TToItemListUser >> enabledItem: anItem [
101101
{ #category : #'t - item list user - testing' }
102102
TToItemListUser >> hasItems [
103103

104-
^ self items notEmpty
104+
^ self items isNotEmpty
105105
]
106106

107107
{ #category : #'t - item list user - hidden/visible' }
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Trait {
2+
#name : #TToItemNodeContainer,
3+
#category : #'Toplo-Widget-List-Node'
4+
}
5+
6+
{ #category : #'t - item node container' }
7+
TToItemNodeContainer >> hasSubitems [
8+
9+
^ self item hasItems
10+
]
11+
12+
{ #category : #'t - item node container' }
13+
TToItemNodeContainer >> item [
14+
15+
^ self node item
16+
]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Trait {
2+
#name : #TToNodeContainer,
3+
#category : #'Toplo-Widget-List-Node'
4+
}
5+
6+
{ #category : #'t - node container' }
7+
TToNodeContainer >> listElement [
8+
9+
^ self holder listElement
10+
]
11+
12+
{ #category : #'t - node container - requirements' }
13+
TToNodeContainer >> node [
14+
15+
^ self shouldBeImplemented
16+
]
17+
18+
{ #category : #'t - node container' }
19+
TToNodeContainer >> nodeManager [
20+
21+
^ self listElement nodeManager
22+
]

src/Toplo-Widget-List/ToBasicListNodeManager.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ ToBasicListNodeManager >> buildNode: aNode [
2525
ToBasicListNodeManager >> buildNodeContainer: aNodeContainer [
2626

2727
| listElement cbox |
28-
listElement := aNodeContainer holder listElement.
2928
checkableNode ifFalse: [ ^ self ].
29+
listElement := aNodeContainer holder listElement.
3030
cbox := listElement newCheckboxInNodeContainer: aNodeContainer.
3131
cbox constraintsDo: [ :c | c linear vertical alignCenter ].
3232
aNodeContainer ensureStartContainer.

src/Toplo-Widget-List/ToCheckableListNodeManager.class.st

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,8 @@ Class {
44
#category : #'Toplo-Widget-List-ItemList'
55
}
66

7-
{ #category : #initialization }
8-
ToCheckableListNodeManager >> buildNode: aNode [
9-
10-
super buildNode: aNode
11-
]
12-
137
{ #category : #initialization }
148
ToCheckableListNodeManager >> defaultNodeFactory [
159

1610
^ [ :holder | ToListCheckableNode new ]
1711
]
18-
19-
{ #category : #initialization }
20-
ToCheckableListNodeManager >> unbuildNode: aNode [
21-
22-
super unbuildNode: aNode
23-
]
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Class {
22
#name : #ToItemNodeContainer,
33
#superclass : #ToNodeContainer,
4+
#traits : 'TToItemNodeContainer',
5+
#classTraits : 'TToItemNodeContainer classTrait',
46
#category : #'Toplo-Widget-List-ItemList'
57
}
68

@@ -10,15 +12,9 @@ ToItemNodeContainer >> applyConfiguration [
1012
| list |
1113
super applyConfiguration.
1214
self item ifNil: [ ^ self ].
13-
list := self holder listElement.
15+
list := self listElement.
1416
list isOrientable ifFalse: [ ^ self ].
1517
list toConfiguration isFlowable ifTrue: [ ^ self ].
1618
self isHExact ifFalse: [ self hFitElement: self item ].
1719
self isVExact ifFalse: [ self vFitElement: self item ]
1820
]
19-
20-
{ #category : #accessing }
21-
ToItemNodeContainer >> item [
22-
23-
^ self node item
24-
]

src/Toplo-Widget-List/ToNodeContainer.class.st

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ I refer to the nodeHolder (a kind of `ToNodeHolder`).
77
Class {
88
#name : #ToNodeContainer,
99
#superclass : #ToTripletContainer,
10+
#traits : 'TToNodeContainer',
11+
#classTraits : 'TToNodeContainer classTrait',
1012
#category : #'Toplo-Widget-List-Node'
1113
}
1214

@@ -111,7 +113,7 @@ ToNodeContainer >> holder: aNodeHolder [
111113
ToNodeContainer >> intersectionRectangleWithListElement [
112114

113115
| intersection bnds pbnds list |
114-
list := self holder listElement.
116+
list := self listElement.
115117
bnds := self measuredBounds inSpace bounds asRectangle.
116118
pbnds := self listElementReferenceBoundsInSpace asRectangle.
117119
intersection := bnds intersect: pbnds.
@@ -143,12 +145,6 @@ ToNodeContainer >> isPartlyVisibleInListElement [
143145
ifNil: [ false ]
144146
]
145147

146-
{ #category : #accessing }
147-
ToNodeContainer >> listElement [
148-
149-
^ self holder listElement
150-
]
151-
152148
{ #category : #testing }
153149
ToNodeContainer >> listElementReferenceBoundsInSpace [
154150

@@ -178,14 +174,8 @@ ToNodeContainer >> newStartContainer [
178174
^ self newLinearContainer
179175
]
180176

181-
{ #category : #accessing }
177+
{ #category : #'t - node container - requirements' }
182178
ToNodeContainer >> node [
183179

184180
^ self middleContainer
185181
]
186-
187-
{ #category : #accessing }
188-
ToNodeContainer >> nodeManager [
189-
190-
^ self listElement nodeManager
191-
]

src/Toplo-Widget-Menu/TToMenuItemListUser.trait.st

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ TToMenuItemListUser >> addSeparatorBeforeIndex: anInteger [
2121
self addItem: ToSeparatorMenuItem new beforeIndex: anInteger
2222
]
2323

24+
{ #category : #'t - menu item list user - testing' }
25+
TToMenuItemListUser >> hasMenuItems [
26+
27+
^ self items anySatisfy: [ :e |
28+
e isMenuItem and: [ e isMenuPane not ] ]
29+
]
30+
2431
{ #category : #'t - menu item list user - initializing' }
2532
TToMenuItemListUser >> initializeAsMenuItemListUser [
2633

0 commit comments

Comments
 (0)