| view rawView el1 el2 edge line | rawView := ROView new. el1 := ROElement new. el1 extent: 50@50. el1 + ROBox red + ROCircle yellow + ROLabel @ RODraggable. rawView add: el1. rawView openneat isn't it?...except that it would be nice if the ROLabel could be centred.Yes, I will work on this.In addition, being able to place the ROLabel in various "offset" locations,Right, top, center, bottom? Is this what you mean?I think that would satisfy a lot of my composition requirements - for example building a transformer compound symbol with two overlapping circles and two labels for "equipment tag" and "power size". To that effect it would be great if ROLabel or similar could have a callback mechanism to get different attributes from the model. Alternatively I guess I could make a new subclass of ROShape that draws such that directly.I do not understand what you mean by these attributes from the model? You can do things like (using the last version): -=-=-=-=-=-=-=-=-=-=-=-= | view rawView el1 el2 edge line | rawView := ROView new. el1 := ROElement on: 1. el1 extent: 50@50. el1 + (ROLabel new color: [ :model | model odd ifTrue: [ Color red ] ifFalse: [ Color blue ]]). el1 on: ROMouseLeftClick do: [ :ann | ann element model: (ann element model + 1). el1 shapesDo: #resetCache. rawView signalUpdate ]. el1 @ RODraggable. rawView add: el1. rawView open -=-=-=-=-=-=-=-=-=-=-=-= Cheers, Alexandre