private void GeoContextMenuStrip_Opening(object sender, CancelEventArgs e) { var pointTypes = new MeasureType[] { MeasureType.Point, MeasureType.Circle, MeasureType.PointCircle, MeasureType.CrossPoint }; var menuContext = sender as ContextMenuStrip; var name = "SetCoordinateSystemToolStripMenuItem"; GeoDataGridViewModel model = getContextMenuGeoDataGridViewModel(menuContext); if (model != null) { var menuItem = menuContext.Items[name]; //.OfType<ToolStripMenuItem>().SingleOrDefault(p => p.Name == name); var isPointType = (pointTypes.Contains(model.GeoType)); menuItem.Enabled = isPointType; } }
private void GeoContextMenuStrip_Opening(object sender, CancelEventArgs e) { var pointTypes = new MeasureType[] { MeasureType.Point, MeasureType.Circle, MeasureType.PointCircle, MeasureType.CrossPoint }; var menuContext = sender as ContextMenuStrip; var name = "SetCoordinateSystemToolStripMenuItem"; GeoDataGridViewModel model = getContextMenuGeoDataGridViewModel(menuContext); if (model != null) { var menuItem = menuContext.Items[name];//.OfType<ToolStripMenuItem>().SingleOrDefault(p => p.Name == name); var isPointType = (pointTypes.Contains(model.GeoType)); menuItem.Enabled = isPointType; } }
private void reAssignModelValue(GeoDataGridViewModel oldModel, GeoDataGridViewModel newModel) { var lineTypes = new MeasureType[] { MeasureType.Distance, MeasureType.DistanceX, MeasureType.DistanceY, MeasureType.SymmetryLine }; var isCrossPoint = (oldModel.GeoType == MeasureType.CrossPoint); var isCircleType = (oldModel.GeoType == MeasureType.Circle || oldModel.GeoType == MeasureType.PointCircle); if (newModel == null) { modelSetToDefault(oldModel); } else { oldModel.Row1 = newModel.Row1; oldModel.Col1 = newModel.Col1; if (!isCrossPoint) { if (lineTypes.Contains(oldModel.GeoType)) { oldModel.Row2 = newModel.Row2; oldModel.Col2 = newModel.Col2; } oldModel.Distance = (isCircleType) ? newModel.Distance * _circleDistanceSetting : newModel.Distance; oldModel.WorldDistance = (isCircleType) ? newModel.WorldDistance * _circleDistanceSetting : newModel.WorldDistance; } } if (isCrossPoint) { updateDependGeoObject(oldModel); } }