public async Task <IView> addView(EngineeringMap eMap, bool canClose) { try { RadPane layout = new RadDocumentPane() { CanUserClose = true }; layout.Name = eMap.MapID; layout.Header = eMap.MapID; ViewHolder.Items.Add(layout); //ViewHolder.SelectedIndex = count; IView view = null; if (eMap.MapType == EngineeringMapType.FootPrintMap) { PlanView planView = new PlanView(_prj, eMap); view = planView.view; // Load predefined layers await view.initialzeView(); layout.Content = planView; } else if (eMap.MapType == EngineeringMapType.GeneralProfileMap) { ProfileView profileView = new ProfileView(_prj, eMap); view = profileView.view; // Load predefined layers await view.initialzeView(); _profileview = profileView; layout.Content = profileView; } else if (eMap.MapType == EngineeringMapType.Map3D) { if (eMap.LocalTileFileNameStr.EndsWith(".unity3d")) { Unity.Webplayer.U3DView u3dView = new Unity.Webplayer.U3DView(_prj, eMap); view = u3dView.view; viewModel3d = view as U3DViewModel; // Load predefined layers await view.initialzeView(); layout.Content = u3dView; } else { Unity.EXE.U3DView u3dView = new Unity.EXE.U3DView(_prj, eMap); my3dView = u3dView; temp2 = layout; //layout.Content = u3dView; temp.Child = u3dView; //temp.Child = u3dView; view = u3dView.panel.view; viewModel3d = view as U3DViewModel; // Load predefined layers await view.initialzeView(); } } //// view is both a trigger and listener of object selection changed event view.ObjSelectionChangedHandler += this.objSelectionChangedListener; this.objSelectionChangedTrigger += view.ObjSelectionChangedListener; // Sync view graphics with data view.syncObjects(); _views.Add(view); return(view); } catch (Exception ex) { return(null); } }
public async Task <IView> addView(EngineeringMap eMap, bool canClose) { LayoutDocumentPane docPane = FindViewHolder(); if (docPane == null) { docPane = Center; } LayoutDocument LayoutDoc = new LayoutDocument(); LayoutDoc.ContentId = eMap.MapID; LayoutDoc.Title = eMap.MapID; LayoutDoc.CanClose = canClose; LayoutDoc.Closed += LayoutDoc_Closed; docPane.Children.Add(LayoutDoc); string datafilePath, filePath; if (_prj != null) { datafilePath = _prj.projDef.LocalFilePath; filePath = datafilePath + "\\" + eMap.MapID + ".xml"; } IView view = null; if (eMap.MapType == EngineeringMapType.FootPrintMap) { PlanView planView = new PlanView(this, _prj, eMap); LayoutDoc.Content = planView; view = planView.view; } else if (eMap.MapType == EngineeringMapType.GeneralProfileMap) { ProfileView profileView = new ProfileView(this, _prj, eMap); LayoutDoc.Content = profileView; view = profileView.view; } else if (eMap.MapType == EngineeringMapType.Map3D) { if (eMap.LocalMapFileName.EndsWith(".unity3d")) { iS3.Unity.Webplayer.U3DView u3dView = new iS3.Unity.Webplayer.U3DView(_prj, eMap); LayoutDoc.Content = u3dView; view = u3dView.view; } else { iS3.Unity.EXE.U3DView u3dView = new Unity.EXE.U3DView(_prj, eMap); LayoutDoc.Content = u3dView; view = u3dView.panel.view; } } // view is both a trigger and listener of object selection changed event view.objSelectionChangedTrigger += this.objSelectionChangedListener; this.objSelectionChangedTrigger += view.objSelectionChangedListener; view.initializeView(); // Load predefined layers await view.loadPredefinedLayers(); // Sync view graphics with data view.syncObjects(); _views.Add(view); return(view); }