On Jul 27, 2012, at 2:56 PM, Tudor Girba wrote: > I think you missed my p.s. :)
No I saw it. Don't worry :) > > Doru > > > On Fri, Jul 27, 2012 at 2:21 PM, Stéphane Ducasse > <[email protected]> wrote: >> >> On Jul 27, 2012, at 1:06 PM, Tudor Girba wrote: >> >>> I checked in Pharo 2.0, and it looks ... well, how should I put it: >>> it's confusing. You took a clear piece of code that could be printed >>> on a nice A4 paper, and transformed it into a myriad of delegations. >>> >>> I think you are just too afraid of if-statements. Clearly, a better >>> solution would have been to just use caseOf:. >> >> I did not check the code but using blocks as objects was a bad idea. >> >>> >>> Doru >>> >>> p.s. :) >>> >>> >>> On Thu, Jul 26, 2012 at 8:55 PM, Stéphane Ducasse >>> <[email protected]> wrote: >>>> And I removed the strip behavior. >>>> In 2.0 it is not there. >>>> >>>> Stef >>>> >>>> On Jul 25, 2012, at 4:47 PM, Tudor Girba wrote: >>>> >>>>> Just for fun read the below piece of code :) >>>>> >>>>> >>>>> SystemProgressMorph>>label: shortDescription min: startMinValue max: >>>>> startMaxValue >>>>> "Answer the block that updates the progress bar." >>>>> >>>>> "some fun stuff added (by kph) >>>>> >>>>> - bar value: #label. - tell me my current label. >>>>> - bar value: 'newLabel'. - enable changing the label from within the >>>>> workBlock >>>>> - bar value: #increment. - enable progress by one without keeping a >>>>> counter >>>>> - bar value: #decrement. - go backwards (if you really have to, >>>>> useful for an abort, or rollback)! >>>>> >>>>> - bar value: newBigNum. - change the max on the fly - when you find >>>>> there is more to do. >>>>> - bar value: (bar value: #setMax) + 20 - change the max on the fly - >>>>> when you find there is more/less to do. >>>>> - bar value: (bar value: #setMin) - 20 - change the min on the fly - >>>>> not sure why you would want to. >>>>> " >>>>> | slot range barSize lastRefresh maxValue minValue bar| >>>>> maxValue := startMaxValue. >>>>> minValue := startMinValue. >>>>> ((range := maxValue - minValue) <= 0 or: [(slot := self nextSlotFor: >>>>> shortDescription) = 0]) >>>>> ifTrue: [^[:barVal| 0 ]]. >>>>> self recenter. >>>>> self openInWorld. >>>>> barSize := -1. "Enforces a inital draw of the morph" >>>>> lastRefresh := Time millisecondClockValue. >>>>> bar := bars at: slot. >>>>> ^[:barValArg | | barVal return newBarSize | >>>>> barVal := barValArg. >>>>> return := nil. >>>>> bar := bars at: slot. >>>>> "new fun stuff here" >>>>> barVal == #current ifTrue: [ return := barSize ]. >>>>> barVal == #label ifTrue:[ return := (labels at: slot) >>>>> contents ]. >>>>> barVal == #setMax ifTrue: [ return := maxValue. maxValue := >>>>> minValue ]. >>>>> barVal == #setMin ifTrue: [ return := minValue. minValue := >>>>> maxValue ]. >>>>> barVal == #increment ifTrue: [return := barVal := barSize + >>>>> 1]. >>>>> barVal == #decrement ifTrue: [ return := barVal := barSize - >>>>> 1]. >>>>> (barVal isString and: [barVal isSymbol not]) ifTrue: [ >>>>> (labels at: slot) contents: barVal. >>>>> barVal := #refresh]. >>>>> barVal == #refresh ifTrue: [self currentWorld displayWorld. >>>>> return := true]. >>>>> (barVal == SmallInteger maxVal or: [ barVal == #finished ]) >>>>> ifTrue: >>>>> [return := slot]. >>>>> return ifNil: [ >>>>> barVal > maxValue ifTrue: [return := maxValue := >>>>> barVal]. >>>>> barVal < minValue ifTrue: [return := minValue := >>>>> barVal]. >>>>> (barVal between: minValue and: maxValue) >>>>> ifTrue: [newBarSize := (barVal - minValue / >>>>> range * BarWidth) truncated. >>>>> newBarSize = barSize >>>>> ifFalse: [barSize := >>>>> newBarSize. >>>>> (Time >>>>> millisecondsSince: lastRefresh) > 25 >>>>> >>>>> ifTrue: [barVal := #refresh ]]]. >>>>> barVal == #refresh ifTrue: [ >>>>> ((bar valueOfProperty: #useStripes) >>>>> ifNil: [false]) >>>>> ifTrue: [bar fillStyle >>>>> origin: bar position - ((Time >>>>> millisecondClockValue // 50 \\ 30) @ 0)]. >>>>> bar barSize: barSize. >>>>> self currentWorld displayWorld. >>>>> lastRefresh := Time >>>>> millisecondClockValue]]. >>>>> return] >>>>> >>>>> Cheers, >>>>> Doru >>>>> >>>>> -- >>>>> www.tudorgirba.com >>>>> >>>>> "Every thing has its own flow" >>>>> >>>> >>>> >>> >>> >>> >>> -- >>> www.tudorgirba.com >>> >>> "Every thing has its own flow" >>> >> >> > > > > -- > www.tudorgirba.com > > "Every thing has its own flow" >
