66 lines
1.3 KiB
Smalltalk
66 lines
1.3 KiB
Smalltalk
"
|
|
Leaf node. Any content node is leaf
|
|
"
|
|
Class {
|
|
#name : #GrafoscopioLeafNode,
|
|
#superclass : #GrafoscopioAbstractNode,
|
|
#instVars : [
|
|
'parent'
|
|
],
|
|
#category : #'Grafoscopio-Model'
|
|
}
|
|
|
|
{ #category : #testing }
|
|
GrafoscopioLeafNode class >> isLeaf [
|
|
^ true
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> acceptVisitor: aGrafoscopioVisitor [
|
|
aGrafoscopioVisitor visitLeafNode: self.
|
|
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> addAtBeginningChild: aBlock ofClass: aClass [
|
|
self error: 'Leaf nodes are abstract. '
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> addChild: aBlock ofClass: aClass [
|
|
self error: 'Leaf nodes are abstract. '
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> level [
|
|
"Returns the level of the node. See the setter message for details"
|
|
|
|
^ parent ifNil: [ 0 ] ifNotNil: [ 1 + parent level ]
|
|
]
|
|
|
|
{ #category : #'as yet unclassified' }
|
|
GrafoscopioLeafNode >> moveDown [
|
|
parent moveDown: self.
|
|
]
|
|
|
|
{ #category : #'as yet unclassified' }
|
|
GrafoscopioLeafNode >> moveUp [
|
|
parent moveUp: self.
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> parent [
|
|
"Returns the parent of the current node"
|
|
^ parent
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioLeafNode >> parent: aNode [
|
|
parent := aNode
|
|
]
|
|
|
|
{ #category : #'as yet unclassified' }
|
|
GrafoscopioLeafNode >> remove [
|
|
parent remove: self.
|
|
]
|