AbstractHierarchicalItemWithModel.st
author Claus Gittinger <cg@exept.de>
Fri, 28 Jun 2019 09:21:50 +0200
changeset 6078 08c9e2a47dc5
parent 5841 f940a6a90896
permissions -rw-r--r--
#OTHER by cg self class name -> self className
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5841
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libwidg2' }"
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
AbstractHierarchicalItem subclass:#AbstractHierarchicalItemWithModel
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'model'
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'Views-Support'
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!AbstractHierarchicalItemWithModel class methodsFor:'documentation'!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
documentation
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    documentation to be added.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    [author:]
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        Claus Gittinger
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    [instance variables:]
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    [class variables:]
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    [see also:]
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!AbstractHierarchicalItemWithModel class methodsFor:'queries'!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
isAbstract
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
    "Return if this class is an abstract class.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
     True is returned here for myself only; false for subclasses.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
     Abstract subclasses must redefine this again."
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    ^ self == AbstractHierarchicalItemWithModel.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
! !
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!AbstractHierarchicalItemWithModel methodsFor:'accessing-mvc'!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
model
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    "returns the hierachicalList model or nil.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
     This fixes the stupid implementation of the old HierarchicalItem, 
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
     by caching the fetched model (behaving the same, if there is no model)"
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    model isNil ifTrue:[
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
        model := self fetchModel.
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    ].
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    ^ model
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
! !
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!AbstractHierarchicalItemWithModel class methodsFor:'documentation'!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
version
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    ^ '$Header$'
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
version_CVS
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    ^ '$Header$'
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
! !
f940a6a90896 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62