+#ifdef TINSPECTOR
+ else if (theId == "TINSPECTOR_VIEW") {
+ Handle(CDF_Application) anApplication = CDF_Session::CurrentSession()->CurrentApplication();
+ if (!anApplication.IsNull())
+ {
+ if (!MyTCommunicator)
+ {
+ MyTCommunicator = new TInspector_Communicator();
+
+ NCollection_List<Handle(Standard_Transient)> aParameters;
+ aParameters.Append(anApplication);
+ Handle(AIS_InteractiveContext) aContext = viewer()->AISContext();
+ if (!aContext.IsNull())
+ aParameters.Append(aContext);
+
+ MyVCallBack = new VInspector_CallBack();
+ myDisplayer->setCallBack(MyVCallBack);
+ #ifndef HAVE_SALOME
+ AppElements_Viewer* aViewer = mainWindow()->viewer();
+ if (aViewer)
+ aViewer->setCallBack(MyVCallBack);
+ #endif
+ aParameters.Append(MyVCallBack);
+
+ MyTCommunicator->RegisterPlugin("TKDFBrowser");
+ MyTCommunicator->RegisterPlugin("TKShapeView");
+ MyTCommunicator->RegisterPlugin("TKVInspector");
+ MyTCommunicator->RegisterPlugin("SMBrowser"); // custom plugin to view ModelAPI
+ //MyTCommunicator->RegisterPlugin("TKSMBrowser"); // custom plugin to view ModelAPI
+
+ MyTCommunicator->Init(aParameters);
+ MyTCommunicator->Activate("TKSMBrowser"); // to have button in TInspector
+ MyTCommunicator->Activate("TKVInspector"); // to have filled callback by model
+ MyTCommunicator->Activate("TKDFBrowser");
+ }
+ MyTCommunicator->SetVisible(true);
+ }
+ }
+#endif