Thank you for the examples, Alexandre! I have Pharo 4.0 with Roassal 2.0 installed (AlexandreBergel.718)
I paste the following into a 'Playground' window and 'do it'. b := RTTimeLine new. b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end: 5). b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end: 8). b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end: 10). b axisX numberOfLabels: 5. b I get the error message that RTTimeLine is not known. What am I missing? --Hannes On 5/8/15, Alexandre Bergel <[email protected]> wrote: > Hi Hannes! > > Here is a first shoot paired-programmed with Juraj using Roassal: > > -=-=-=-=-=-=-=-=-=-=-=-= > b := RTTimeLine new. > > b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end: 5). > b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end: 8). > b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end: 10). > > b axisX numberOfLabels: 5. > b > -=-=-=-=-=-=-=-=-=-=-=-= > > > > Here some slightly more elaborated example: > > -=-=-=-=-=-=-=-=-=-=-=-= > “One color per entry" > | b d | > b := RTTimeLine new. > b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end: 5). > b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end: 8). > > b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end: 5). > b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end: 8). > > d := RTVerticalTickLineDecorator new. > d shape line color: Color white. > b addDecorator: d. > b axisX > numberOfLabels: 5; > labelRotation: -45; > labelConversion: [ :v | Date year: 2015 day: v ]. > > b shape color: (RTMultiLinearColorForIdentity new objects: b entries). > b > -=-=-=-=-=-=-=-=-=-=-=-= > > > > One color per timeline > > > -=-=-=-=-=-=-=-=-=-=-=-= > | b | > b := RTTimeLine new. > b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end: 5). > b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end: 8). > > b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end: 5). > b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end: 10). > > b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end: 8). > > d := RTVerticalTickLineDecorator new. > d shape line color: Color white. > b addDecorator: d. > b axisX > numberOfLabels: 5; > labelRotation: -45; > labelConversion: [ :v | Date year: 2015 day: v ]. > > b shape color: (RTMultiLinearColorForIdentity new command: #identifier; > objects: #(c1 c2 c3 c4 c5)). > b > -=-=-=-=-=-=-=-=-=-=-=-= > > > Age of some classes: > -=-=-=-=-=-=-=-=-=-=-=-= > | b | > b := RTTimeLine new. > b extent: 500 @ 500. > ((RTShape withAllSubclasses sortedAs: #ageInDaysRounded) select: > #hasMethods) > do: [ :cls | > e := RTTimeLineEntry new. > e identifier: cls. > e start: cls computeYoungestMethod ageInDays. > e end: cls computeOldestMethod ageInDays. > b addEntry: e ]. > b > -=-=-=-=-=-=-=-=-=-=-=-= > > > > All these examples are in the Roassal time line example menu. > > This is still an early version. Let us know how it goes! > https://www.facebook.com/ObjectProfile/posts/840542572699008 > > Cheers, > Alexandre > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >> On May 7, 2015, at 4:25 PM, H. Hirzel <[email protected]> wrote: >> >> Hello >> >> Has somebody done a GANTT chart? >> >> GanttChartMorph openOn: aCollectionOfActivities >> >> ? >> >> Activities have >> - id >> - description >> - start date >> - end date >> ? >> >> Regards >> >> Hannes >> > >
