Hi
I don’t understand exactly what you want, but I think you do want to replace the standard GoToolSelecting tool of your view with a customized one. Your customized selecting tool can either override Start or it can override DoSelect. I haven’t tried this, but I would recommend overriding Start.
Here’s the standard definition of GoToolSelecting.Start:
[code] public override void Start() {
// maybe we’ll find something at the input event point
DoSelect(this.LastInput);
// whether or not we found and/or selected anything, call DoClick
DoClick(this.LastInput);
// all done!
StopTool();
}[/code]
Instead of unconditionally calling DoSelect, you’ll want to do your own thing when this.LastInput.Control and .Shift are both false. Otherwise call DoSelect, as normal.
When .Control is false and .Shift is false, the GoTool.DoSelect method would either make the picked selectable object the only selected object, or it would clear the Selection if there is nothing selectable at the mouse point. Presumably you don’t want that deselection to take place for your check-box-like items. I think you’ll want to deselect other nodes, though.