AbstractHierarchicalItemWithModel.st
changeset 5841 f940a6a90896
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AbstractHierarchicalItemWithModel.st	Sun Jul 29 10:15:56 2018 +0200
@@ -0,0 +1,62 @@
+"{ Package: 'stx:libwidg2' }"
+
+"{ NameSpace: Smalltalk }"
+
+AbstractHierarchicalItem subclass:#AbstractHierarchicalItemWithModel
+	instanceVariableNames:'model'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Views-Support'
+!
+
+!AbstractHierarchicalItemWithModel class methodsFor:'documentation'!
+
+documentation
+"
+    documentation to be added.
+
+    [author:]
+        Claus Gittinger
+
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
+
+"
+! !
+
+!AbstractHierarchicalItemWithModel class methodsFor:'queries'!
+
+isAbstract
+    "Return if this class is an abstract class.
+     True is returned here for myself only; false for subclasses.
+     Abstract subclasses must redefine this again."
+
+    ^ self == AbstractHierarchicalItemWithModel.
+! !
+
+!AbstractHierarchicalItemWithModel methodsFor:'accessing-mvc'!
+
+model
+    "returns the hierachicalList model or nil.
+     This fixes the stupid implementation of the old HierarchicalItem, 
+     by caching the fetched model (behaving the same, if there is no model)"
+
+    model isNil ifTrue:[
+        model := self fetchModel.
+    ].
+    ^ model
+! !
+
+!AbstractHierarchicalItemWithModel class methodsFor:'documentation'!
+
+version
+    ^ '$Header$'
+!
+
+version_CVS
+    ^ '$Header$'
+! !
+