On Wed, Jun 22, 2016 at 4:31 AM, stepharo <[email protected]> wrote: > > > Le 22/6/16 à 00:23, Holger Freyther a écrit : > >> Hi, >> >> would fogbugz be the better place for reports like this? It looks like >> the introduction of Epicea has broken my use of headless images? >> >> Should >>#initialize use "Smalltalk ui theme" instead of "UIManager >> default theme"? >> > > Both loosk terrible. but Smalltalk ui theme is really a bad idea. > We should really remove this cancer XXX ff zz > > I used it in a morph-builder visitor, that receives an epicea model object and answers a morph. I only access the textColor, but I can avoid it.
> If a tool need a theme, then it should have an instance variable theme and > this instance var should be well initialized. > This pattern sucks! > So, if a morph builder wants to know the textColor and other colors of the current theme, how to access them? Martin > > Stef > > >> >> NonInteractiveUIManager>>theme >> NonInteractiveUIManager(Object)>>doesNotUnderstand: #theme >> EpDisplayMorphVisitor>>initialize >> EpDisplayMorphVisitor class(Behavior)>>new >> EpEntryItem>>displayWidget >> [ :item | item displayWidget ] in EpLogBrowser>>initializeItemsModel in >> Block: [ :item | item displayWidget ] >> BlockClosure>>cull: >> BlockClosure>>cull:cull: >> TreeModel>>wrapItem: >> [ :node | self wrapItem: node content ] in TreeModel>>initialize in >> Block: [ :node | self wrapItem: node content ] >> [ :node :cont | self rowMorphGetSelector value: node ] in >> SpecTreeColumn(MorphTreeColumn)>>rowMorphGetterBlock in Block: [ :node >> :cont | self rowMorphGetSelector value: no...etc... >> SpecTreeColumn>>rowMorphFor: >> [ :col | >> | v | >> v := col rowMorphFor: complexContents. >> controls add: v. >> col -> v ] in MorphTreeNodeMorph>>buildRowMorph in Block: [ :col | ... >> OrderedCollection>>collect: >> MorphTreeNodeMorph>>buildRowMorph >> MorphTreeNodeMorph>>initRow >> MorphTreeNodeMorph>>initWithContents:prior:forList:indentLevel: >> [ :item :idx | >> priorMorph := self indentingItemClass new >> initWithContents: item >> prior: priorMorph >> forList: self >> indentLevel: newIndent. >> firstAddition ifNil: [ firstAddition := priorMorph ]. >> morphList add: priorMorph. >> "Was this row expanded ? if true -> expand it >> again " >> ((item hasEquivalentIn: expandedItems) or: [ priorMorph isExpanded ]) >> ifTrue: [ priorMorph isExpanded: true. >> priorMorph >> addChildrenForList: self >> addingTo: morphList >> withExpandedItems: expandedItems ] ] in >> MorphTreeMorph>>addMorphsTo:from:withExpandedItems:atLevel: in Block: [ >> :item :idx | ... >> OrderedCollection(SequenceableCollection)>>withIndexDo: >> OrderedCollection(SequenceableCollection)>>doWithIndex: >> MorphTreeMorph>>addMorphsTo:from:withExpandedItems:atLevel: >> MorphTreeMorph>>addSubmorphsFromNodeList:previouslyExpanded: >> MorphTreeMorph>>addSubmorphsFromNodeList >> MorphTreeMorph>>buildContents >> MorphicTreeAdapter>>buildWidget >> MorphicTreeAdapter(AbstractAdapter)>>adapt: >> SpecInterpreter>>actionToPerformWithSelector:arguments: >> SpecInterpreter>>performNextSelectorAndIncrementIndex >> SpecInterpreter>>interpretASpec:selector: >> SpecInterpreter>>interpretASpec:model:selector: >> SpecInterpreter class>>private_interpretASpec:model:selector: >> >> > >
