159 lines
2.7 KiB
Smalltalk
159 lines
2.7 KiB
Smalltalk
Class {
|
|
#name : #GrafoscopioNode,
|
|
#superclass : #Object,
|
|
#instVars : [
|
|
'header',
|
|
'body',
|
|
'tags',
|
|
'children',
|
|
'parent',
|
|
'links',
|
|
'level',
|
|
'created',
|
|
'nodesInPreorder'
|
|
],
|
|
#category : #MiniDocs
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> body [
|
|
^ body
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> body: anObject [
|
|
body := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> children [
|
|
^ children
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> children: anObject [
|
|
children := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> created [
|
|
^ created
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> created: anObject [
|
|
created := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> gtTextFor: aView [
|
|
<gtView>
|
|
^ aView textEditor
|
|
title: 'Body';
|
|
text: [ body ]
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> header [
|
|
^ header
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> header: anObject [
|
|
header := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> level [
|
|
^ level
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> level: anObject [
|
|
level := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> links [
|
|
^ links
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> links: anObject [
|
|
links := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> nodesInPreorder [
|
|
^ nodesInPreorder
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> nodesInPreorder: anObject [
|
|
nodesInPreorder := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> parent [
|
|
^ parent
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> parent: anObject [
|
|
parent := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> printOn: aStream [
|
|
super printOn: aStream.
|
|
aStream
|
|
nextPutAll: '( ', self header, ' )'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> tags [
|
|
^ tags
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> tags: anObject [
|
|
tags := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> viewBody [
|
|
|
|
| aText |
|
|
aText := self header asRopedText.
|
|
|
|
self children do: [ :child |
|
|
aText append: ' ' asRopedText.
|
|
aText append: (child header asRopedText foreground:
|
|
BrGlamorousColors disabledButtonTextColor).
|
|
aText append: ('= "' asRopedText foreground:
|
|
BrGlamorousColors disabledButtonTextColor).
|
|
aText append: (child body asRopedText foreground:
|
|
BrGlamorousColors disabledButtonTextColor).
|
|
aText append:
|
|
('"' asRopedText foreground:
|
|
BrGlamorousColors disabledButtonTextColor) ].
|
|
|
|
|
|
^ aText
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
GrafoscopioNode >> viewChildrenFor: aView [
|
|
<gtView>
|
|
|
|
children ifNil: [ ^ aView empty ].
|
|
|
|
^ aView columnedTree
|
|
title: 'Children';
|
|
priority: 1;
|
|
items: [ { self } ];
|
|
children: #children;
|
|
column: 'Name' text: #viewBody;
|
|
expandUpTo: 2
|
|
]
|