View and controller commonly become mixed up in the real world. In a GUI for example, a tree view widget is both a view and a controller.
Strict MVC would have the view do nothing but display data in response to data changes and controller would provide input from the user but it is a stretch to make this strict approach apply in real world. Qt for example has models and views but no controllers - the views take care of those roles themselves.
What is your tree view widget doing that it is bleeding over to being a controller? Any modification of data should just be the view calling the controller. (ie someone goes and hits the delete key on a treeview node, the widget shouldn't be performing any direct operations on the data itself, but something like controller.Delete(treeviewNode.Data)
Basically, one should be able to do all the data operations without the view being involved in anyway, it makes unit testing and debugging easier, and you can re-use the controller logic in multiple views. You can have a tree view, a gantt chart, etc, all using the same controller, doing all the same logic without any duplication.
and if i move the controller.Delete(treeviewNode.Data) in the model and becomes model::instance.Delete(treviewNode.Data) is not the same?