GoGeneralNode.DraggableLabels

I am using version 2.2.2.1 and I would like to let our users move the top and bottom labels of a GoGeneral node weher they like.

Your help guide says this is posible however there is no Draggablelabels property on the gogeneral node object. Is this a typo or is something strange going on. How can I achieve this. I need the multi-port aproach with a bitmap/icon.

Quote from your user guide:

· When GoGeneralNode.DraggableLabels is true, the user can select and move the top and bottom labels around relative to the rest of the node.

At first I couldn’t find that in the User Guide. Then I realized that that was an incorrect statement that must have been removed from the document for version 2.3. (It was in 2.2.)
You might be able to implement this pretty easily just by overriding the GoGeneralNode.LayoutChildren method. Call the base method and then reposition the label according to a saved offset, unless the label is being dragged or resized, in which case you remember the new offset. Here’s the code from GoIconicNode, which of course is simpler than GoGeneralNode:
public override void LayoutChildren(GoObject childchanged) {
if (this.Initializing) return;
GoObject icon = this.Icon;
if (icon == null) return;
GoText label = this.Label;
if (label != null) {
// if DraggableLabel is true, let the user drag it around without moving
// any other children of this node
if (this.DraggableLabel && childchanged == label) {
// remember where the label now is relative to the icon
myLabelOffset = new SizeF(label.Left - icon.Left, label.Top - icon.Top);
return; // don’t position port or anything else
} else if (myLabelOffset.Width > -99999) { // place it relative to the icon
label.Position = new PointF(icon.Left + myLabelOffset.Width, icon.Top + myLabelOffset.Height);
} else { // put the label below the icon
label.SetSpotLocation(MiddleTop, icon, MiddleBottom);
}
}
if (this.Port != null)
this.Port.SetSpotLocation(Middle, icon, Middle);
}
private SizeF myLabelOffset = new SizeF(-99999, -99999); // used when Width > -99999

You’ll need to do the same things, but for both the TopLabel and the BottomLabel.