public void ObjSelectionChangedListener(object sender, ObjSelectionChangedEvent e) { try { if (e.addObjs != null) { foreach (string objdef in e.addObjs.Keys) { string layerID = Globals.project.objsDefIndex[objdef].definition.GISLayerName; //临时,接口没有返回GISLayerName if (layerID == null) { layerID = e.addObjs[objdef].FirstOrDefault().parent.definition.Type; } highlightObjects(e.addObjs[objdef], layerID, true); } } if (e.removeObjs != null) { foreach (string objdef in e.removeObjs.Keys) { string layerID = Globals.project.objsDefIndex[objdef].definition.GISLayerName; if (layerID == null) { layerID = e.addObjs[objdef].FirstOrDefault().parent.definition.Type; } highlightObjects(e.removeObjs[objdef], layerID, false); } } } catch (Exception ex) { } }
// Summary: // Object selection event listener (function). // It will highlight selected objects and unhighlight // deselected objects. public void objSelectionChangedListener(object sender, ObjSelectionChangedEvent e) { if (sender == this) { return; } if (e.addObjs != null) { foreach (string objdef in e.addObjs.Keys) { string layerID = Globals.project.objsDefIndex[objdef].definition.GISLayerName; highlightObjects(e.addObjs[layerID], layerID, true); } } if (e.removeObjs != null) { foreach (string objdef in e.removeObjs.Keys) { string layerID = Globals.project.objsDefIndex[objdef].definition.GISLayerName; highlightObjects(e.removeObjs[layerID], layerID, false); } } }
// Summary: // Object selection event listener (function). // It will broadcast the event to views and datagrid. public void objSelectionChangedListener(object sender, ObjSelectionChangedEvent e) { if (objSelectionChangedTrigger != null) { objSelectionChangedTrigger(sender, e); } }
public async Task <bool> selectByPoint(System.Windows.Point screenPoint) { bool success = false; DGObject obj = null; IS3GraphicsLayer gLayer = null; //foreach (Layer layer in _map.Layers) //{ // gLayer = layer as IS3GraphicsLayer; // if (!isLayerSelectable(gLayer)) // continue; // obj = await gLayer.selectObjectByPoint(screenPoint, mapView); // if (obj != null) // { // break; // } //} for (int i = _map.Layers.Count - 1; i >= 0; i--) { Layer layer = _map.Layers[i]; gLayer = layer as IS3GraphicsLayer; if (!isLayerSelectable(gLayer)) { continue; } obj = await gLayer.selectObjectByPoint(screenPoint, mapView); if (obj != null) { break; } } if (obj != null && ObjSelectionChangedHandler != null) { ObjSelectionChangedEvent args = new ObjSelectionChangedEvent(); args.addObjs = new Dictionary <string, List <DGObject> >(); List <DGObject> objs = new List <DGObject>(); objs.Add(obj); args.addObjs.Add(obj.parent.definition.Name, objs); ObjSelectionChangedHandler(this, args); success = true; } return(success); }
public async void selectByRect() { if (Globals.isThreadUnsafe()) { Globals.application.Dispatcher.Invoke(new Action(() => { selectByRect(); })); return; } Geometry geom = await _mapView.Editor.RequestShapeAsync(DrawShape.Rectangle); if (_srEMap != null) { geom = GeometryEngine.Project(geom, _srEMap); } IGeometry rect = IS3GeometryEngine.fromGeometry(geom); ObjSelectionChangedEvent args = new ObjSelectionChangedEvent(); args.addObjs = new Dictionary <string, List <DGObject> >(); foreach (Layer layer in _map.Layers) { IGraphicsLayer gLayer = layer as IGraphicsLayer; if (!isLayerSelectable(gLayer)) { continue; } List <DGObject> objs = gLayer.selectObjectsByRect(rect); if (objs.Count > 0) { args.addObjs.Add(gLayer.ID, objs); } } if (ObjSelectionChangedHandler != null) { ObjSelectionChangedHandler(this, args); } }
private void DGObjectDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (DGObjectDataGrid.IsKeyboardFocusWithin == false) { return; } List <DGObject> addedObjs = new List <DGObject>(); List <DGObject> removedObjs = new List <DGObject>(); DGObject selectOne = DGObjectDataGrid.SelectedItem as DGObject; addedObjs.Add(selectOne); if (_lastObj != null) { removedObjs.Add(_lastObj); } if (objSelectionChangedTrigger != null) { Dictionary <string, List <DGObject> > addedObjsDict = null; Dictionary <string, List <DGObject> > removedObjsDict = null; if (addedObjs.Count > 0) { addedObjsDict = new Dictionary <string, List <DGObject> >(); addedObjsDict[selectOne.parent.definition.Name] = addedObjs; } if (removedObjs.Count > 0) { removedObjsDict = new Dictionary <string, List <DGObject> >(); removedObjsDict[_lastObj.parent.definition.Name] = removedObjs; } ObjSelectionChangedEvent args = new ObjSelectionChangedEvent(); args.addObjs = addedObjsDict; args.removeObjs = removedObjsDict; objSelectionChangedTrigger(this, args); } _lastObj = selectOne; }
public void ObjSelectionChangedListener(object sender, ObjSelectionChangedEvent e) { throw new NotImplementedException(); }
public void ObjSelectionChangedListener(object sender, ObjSelectionChangedEvent e) { }