Create a GoTextNode using GoTool Creating?

I am trying get a tool to create a GoTextNode that has a user defined size.

I am thinking the GoToolCreating is the tool to use because it will "rubberband define a size rectangle". But the samples in Demo1 use addPoint, and I cannot define a TextNodes bounds that way.
The ClickCreateTool creates GoTextNodes, but with a fixed size. Which won't work.
I have tried this code (Tool derived from GoToolCreating, no code in start except cursor), but my FirstInput.DocPoint is always (0,0). I am not getting the rubberband and my node is always at the origin. Note, I am just creating this tool and assigning it to the View (Modeless?).
public override void DoMouseDown() {
_StartPt = this.FirstInput.DocPoint;
}

public override void DoMouseUp() {

StartTransaction();
GoTextNode node = new GoTextNode();
SizeF sz = new SizeF(this.LastInput.DocPoint.X - _StartPt.X, this.LastInput.DocPoint.Y - _StartPt.Y);

node.Bounds = new RectangleF(_StartPt , sz);
node.Text = “New Node”;
this.View.Document.Add(node);
this.TransactionResult = “inserted object”;
StopTransaction();
}

Is there another sample I should look for?
Thanks
Bob
The simplest use of GoToolCreating will do what I think you want:
[code] GoToolCreating ctool = new GoToolCreating(goView1);
GoTextNode ctn = new GoTextNode();
ctn.Text = "something";
ctn.Label.Alignment = GoObject.Middle;
ctn.AutoResizes = false;
ctool.Prototype = ctn;
//ctool.MinimumSize = new SizeF(100, 50);
goView1.ReplaceMouseTool(typeof(GoToolRubberBanding), ctool);
[/code]
You might also want to specify a MinimumSize for the tool, as commented out above.
If you want the tool to be used modally, activated by a command such as a button, you should set the Modal property to true, and maybe the OneShot property, before setting GoView.Tool to an instance of GoToolCreating.
Walter,
This works great outside of the tool. But the next thing I tried to do (to wrap it up into one object) was to create and assign the prototype in the ctor of the tool.
And it created the node at (0,0) again.
So I moved the creation to the CopyPrototype override and ended up returning the object I just created:
public override GoObject CopyPrototype() { MyNode ctn = new MyNode("Hi Bob"); //this.Prototype = ctn; return ctn; //return base.CopyPrototype(); }
Assigning the object to the Prototype in this method also did not work... This seems to work. Is is a mainstream approach to my need?
I also have a problem with snapping but I will start a new thread.
Thanks again Walter! I do not know if you remember me, about 4 months ago I was evaluating your software and I asked you many questions. You were a big help then as you have been here.
Thanks!
Bob
Defining your own constructor taking at least a GoView argument and passing it on to the GoToolCreating(GoView) constructor, and having it set the Prototype property, should work just fine. It really isn't any different than the code I gave you above.
Sure, overriding CopyPrototype is a way to generate the object dynamically, initialized the way you want, without having to specify a Prototype object. So that should work too.