public override bool Open(string fname, out bool memoryIsNotEnough) { memoryIsNotEnough = false; if (!MemoryIsEnoughChecker.MemoryIsEnouggWithMsgBoxForRaster(fname)) { memoryIsNotEnough = true; return(false); } CreateCanvasViewer(fname); return(true); }
public override bool Open(string fname, out bool memoryIsNotEnough) { memoryIsNotEnough = false; if (!MemoryIsEnoughChecker.MemoryIsEnouggWithMsgBoxForRaster(fname)) { memoryIsNotEnough = true; return(false); } ISmartViewer viewer = _session.SmartWindowManager.ActiveViewer; //if (viewer == null) CreateCanvasViewer(fname); //else if (viewer is ICanvasViewer) // AddLayer2CanvasViewer(viewer as ICanvasViewer, fname); //else if (viewer is ILayoutViewer) // AddDataToLayoutViewer(viewer as ILayoutViewer, fname); return(true); }
public override bool Open(string fname, out bool memoryIsNotEnough) { memoryIsNotEnough = false; if (!MemoryIsEnoughChecker.MemoryIsEnouggWithMsgBoxForVector(fname)) { memoryIsNotEnough = true; return(false); } bool isSpatial = IsCanAddToView(fname); //string mcd = TryGetMcd(fname);//不能在这里用mcd替换 //if (!string.IsNullOrWhiteSpace(mcd)) // fname = mcd; if (_session.SmartWindowManager.ActiveViewer is ICanvasViewer && isSpatial) { AddVectorDataToCanvasViewer(fname, true); } else if (_session.SmartWindowManager.ActiveViewer is ILayoutViewer) { AddVectorDataToLayoutViewer(fname, true); } else { CanvasViewer cv = new CanvasViewer(OpenFileFactory.GetTextByFileName(fname), _session); _session.SmartWindowManager.DisplayWindow(cv); IVectorHostLayer host = cv.Canvas.LayerContainer.VectorHost as IVectorHostLayer; if (host != null) { host.Set(cv.Canvas); AddVectorDataToCanvasViewer(fname, false); CodeCell.AgileMap.Core.IMap map = host.Map as CodeCell.AgileMap.Core.IMap; CodeCell.AgileMap.Core.FeatureLayer fetL = map.LayerContainer.Layers[0] as CodeCell.AgileMap.Core.FeatureLayer; CodeCell.AgileMap.Core.FeatureClass fetc = fetL.Class as CodeCell.AgileMap.Core.FeatureClass; CodeCell.AgileMap.Core.Envelope evp = fetc.FullEnvelope.Clone() as CodeCell.AgileMap.Core.Envelope; CoordEnvelope cvEvp = new CoordEnvelope(evp.MinX, evp.MaxX, evp.MinY, evp.MaxY); cv.Canvas.CurrentEnvelope = cvEvp; cv.Canvas.Refresh(enumRefreshType.All); } } RefreshLayerManager(); return(true); }