private void representationruleListBox1_SelectedIndexChanged(object sender, EventArgs e) { IRepresentationRule selectRepresentationRule = this.representationruleListBox1.SelectRepresentationRule; if (selectRepresentationRule != null) { //this.represationRuleCtrl1.RepresentationRule = selectRepresentationRule; //this.represationRuleCtrl1.Init(); this.btnDeleteLayer.Enabled = this.representationruleListBox1.Items.Count > 1; if (this.representationruleListBox1.Items.Count > 1) { this.btnMoveUp.Enabled = this.representationruleListBox1.SelectedIndex != 0; this.tnMoveDown.Enabled = this.representationruleListBox1.SelectedIndex != (this.representationruleListBox1.Items.Count - 1); } else { this.btnMoveUp.Enabled = false; this.tnMoveDown.Enabled = false; } } else { //this.represationRuleCtrl1.RepresentationRule = null; //this.represationRuleCtrl1.Init(); this.btnDeleteLayer.Enabled = false; this.btnMoveUp.Enabled = false; this.tnMoveDown.Enabled = false; } }
private void btnAddLayer_Click(object sender, EventArgs e) { IRepresentationRule repRule = this.method_1(this.ifeatureClass_0); this.irepresentationRules_0.Add(repRule); this.representationruleListBox1.Reset(); }
private void btnMoveUp_Click(object sender, EventArgs e) { int selectedIndex = this.representationruleListBox1.SelectedIndex; IRepresentationRule selectRepresentationRule = this.representationruleListBox1.SelectRepresentationRule; int selectRepresentationRuleID = this.representationruleListBox1.SelectRepresentationRuleID; string selectRepresentationRuleName = this.representationruleListBox1.SelectRepresentationRuleName; this.irepresentationRules_0.set_Index(selectRepresentationRuleID, selectedIndex - 1); this.representationruleListBox1.Reset(); }
private void frmNewReprensentationWizard_Load(object sender, EventArgs e) { this.irepresentationRules_0 = new RepresentationRulesClass(); IRepresentationRule repRule = this.method_1(this.ifeatureClass_0); this.irepresentationRules_0.Add(repRule); this.reprensationGeneralPage_0.FeatureClass = this.ifeatureClass_0; this.reprensationGeneralPage_0.Dock = DockStyle.Fill; this.panel1.Controls.Add(this.reprensationGeneralPage_0); this.representationRulesPage_0.Dock = DockStyle.Fill; this.representationRulesPage_0.Visible = false; this.representationRulesPage_0.FeatureClass = this.ifeatureClass_0; this.representationRulesPage_0.RepresentationRules = this.irepresentationRules_0; this.panel1.Controls.Add(this.representationRulesPage_0); }
private static IStyleGalleryItem3 ConvertMarkerItemToRep(IStyleGalleryItem3 inputItem) { IMarkerSymbol markerSymbol = inputItem.Item as IMarkerSymbol; IRepresentationRule repRule = new RepresentationRuleClass(); IRepresentationRuleInit repRuleInit = repRule as IRepresentationRuleInit; repRuleInit.InitWithSymbol((ISymbol)markerSymbol); //initialize the rep rule with the marker IRepresentationGraphics representationGraphics = new RepresentationMarkerClass(); IGraphicAttributes graphicAttributes = null; IRepresentationGraphics tempMarkerGraphics = null; IGeometry tempGraphicGeometry = null; IRepresentationRule tempRule = null; //only pull the markers out. for (int i = 0; i < repRule.LayerCount; i++) { graphicAttributes = repRule.get_Layer(i) as IGraphicAttributes; tempMarkerGraphics = graphicAttributes.get_Value((int)esriGraphicAttribute.esriGAMarker) as IRepresentationGraphics; tempMarkerGraphics.Reset(); tempMarkerGraphics.Next(out tempGraphicGeometry, out tempRule); while (tempRule != null && tempGraphicGeometry != null) { representationGraphics.Add(tempGraphicGeometry, tempRule); tempGraphicGeometry = null; tempRule = null; tempMarkerGraphics.Next(out tempGraphicGeometry, out tempRule); } } IStyleGalleryItem3 newMarkerStyleGalleryItem = new ServerStyleGalleryItemClass(); newMarkerStyleGalleryItem.Item = representationGraphics; newMarkerStyleGalleryItem.Name = inputItem.Name; newMarkerStyleGalleryItem.Category = inputItem.Category; newMarkerStyleGalleryItem.Tags = inputItem.Tags.Replace(";emf", ""); //strip emf from the tags return(newMarkerStyleGalleryItem); }
internal RepresentationRuleWrap(int int_1, string string_1, IRepresentationRule irepresentationRule_1) { this.int_0 = int_1; this.string_0 = string_1; this.irepresentationRule_0 = irepresentationRule_1; }
public void AddRepresentationRule(IRepresentationRule irepresentationRule_0) { }
private void btnConvert_Click(object sender, EventArgs e) { if (this.txtRepresentationName.Text.Trim().Length == 0) { MessageBox.Show("名字不能为空!"); } else if (this.txtruleIDFldName.Text.Trim().Length == 0) { MessageBox.Show("RuleID字段不能为空!"); } else if (this.txtoverrideFldName.Text.Trim().Length == 0) { MessageBox.Show("Override字段不能为空!"); } else { try { IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass; IRepresentationWorkspaceExtension repWSExtFromFClass = RepresentationAssist.GetRepWSExtFromFClass(featureClass); if (repWSExtFromFClass != null) { IRepresentationRule repRule = RepresentationAssist.CreateRepresentationRule(featureClass); IRepresentationRules rules = new RepresentationRulesClass(); rules.Add(repRule); IRepresentationClass class3 = repWSExtFromFClass.CreateRepresentationClass(featureClass, this.txtRepresentationName.Text, this.txtruleIDFldName.Text, this.txtoverrideFldName.Text, this.rdoRequireShapeOverride.Checked, rules, null); if ((this.imap_0 != null) && this.chkAddLayer.Checked) { IFeatureLayer layer = new FeatureLayerClass { FeatureClass = featureClass }; IFeatureRenderer renderer = new RepresentationRendererClass(); (renderer as IRepresentationRenderer).RepresentationClass = class3; (layer as IGeoFeatureLayer).Renderer = renderer; this.imap_0.AddLayer(layer); (this.imap_0 as IActiveView).Refresh(); } base.DialogResult = DialogResult.OK; } else { base.DialogResult = DialogResult.OK; } } catch (COMException exception) { switch (exception.ErrorCode) { case -2147218682: MessageBox.Show(exception.Message); return; case -2147218675: MessageBox.Show("该要素类中已存在同名的制图表现"); break; case -2147218674: MessageBox.Show("该要素类中已存在同名RuleID字段或Override字段"); break; } } catch (Exception) { } } }
protected void DrawSymbol(int int_0, Rectangle rectangle_0, object object_1) { IDisplayTransformation displayTransformation = new DisplayTransformation() as IDisplayTransformation; IEnvelope envelope = new Envelope() as ESRI.ArcGIS.Geometry.IEnvelope; envelope.PutCoords((double)rectangle_0.Left, (double)rectangle_0.Top, (double)rectangle_0.Right, (double)rectangle_0.Bottom); tagRECT tagRECT; tagRECT.left = rectangle_0.Left; tagRECT.right = rectangle_0.Right; tagRECT.bottom = rectangle_0.Bottom; tagRECT.top = rectangle_0.Top; displayTransformation.set_DeviceFrame(ref tagRECT); displayTransformation.Bounds = envelope; if (this.double_0 < 1.0 && object_1 is ILineSymbol) { displayTransformation.Resolution = 48.0 / this.double_0; } else { displayTransformation.Resolution = 96.0; } displayTransformation.ReferenceScale = 1.0; displayTransformation.ScaleRatio = this.double_0; if (object_1 is IMarkerSymbol) { IStyleGalleryClass styleGalleryClass = new MarkerSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else if (object_1 is ILineSymbol) { IStyleGalleryClass styleGalleryClass = new LineSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else if (object_1 is IFillSymbol) { IStyleGalleryClass styleGalleryClass = new FillSymbolStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); } else { ISymbol symbol; if (object_1 is IColorRamp) { IGradientFillSymbol gradientFillSymbol = new GradientFillSymbol(); ILineSymbol outline = gradientFillSymbol.Outline; outline.Width = 0.0; gradientFillSymbol.Outline = outline; gradientFillSymbol.ColorRamp = (IColorRamp)object_1; gradientFillSymbol.GradientAngle = 180.0; gradientFillSymbol.GradientPercentage = 1.0; gradientFillSymbol.IntervalCount = 100; gradientFillSymbol.Style = esriGradientFillStyle.esriGFSLinear; symbol = (ISymbol)gradientFillSymbol; } else if (object_1 is IColor) { symbol = (ISymbol) new ColorSymbol { Color = (IColor)object_1 }; } else if (object_1 is IAreaPatch) { symbol = new SimpleFillSymbol() as ISymbol; IRgbColor rgbColor = new RgbColor(); rgbColor.Red = 227; rgbColor.Green = 236; rgbColor.Blue = 19; ((IFillSymbol)symbol).Color = rgbColor; } else if (object_1 is ILinePatch) { symbol = new SimpleLineSymbol() as ISymbol; } else { if (object_1 is INorthArrow) { IStyleGalleryClass styleGalleryClass = new NorthArrowStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is ILegendItem) { IStyleGalleryClass styleGalleryClass = new LegendItemStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is ILabelStyle) { IStyleGalleryClass styleGalleryClass = new LabelStyleGalleryClass(); tagRECT tagRECT2 = default(tagRECT); tagRECT2.left = rectangle_0.Left; tagRECT2.right = rectangle_0.Right; tagRECT2.top = rectangle_0.Top; tagRECT2.bottom = rectangle_0.Bottom; styleGalleryClass.Preview(object_1, int_0, ref tagRECT2); return; } if (object_1 is IMapSurround) { MapSurroundDraw mapSurroundDraw = new MapSurroundDraw(object_1 as IMapSurround); mapSurroundDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IBackground) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IGeometry geometry = ((IBackground)object_1).GetGeometry(display, envelope); ((IBackground)object_1).Draw(display, geometry); display.FinishDrawing(); return; } if (object_1 is IShadow) { ShadowDraw shadowDraw = new ShadowDraw(object_1 as IShadow); shadowDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IRepresentationMarker) { RepresentationMarkerDraw representationMarkerDraw = new RepresentationMarkerDraw(object_1 as IRepresentationMarker); representationMarkerDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } if (object_1 is IRepresentationRuleItem) { try { RepresentationRuleDraw representationRuleDraw = new RepresentationRuleDraw(object_1); IRepresentationRule representationRule = (object_1 as IRepresentationRuleItem).RepresentationRule; IBasicSymbol arg_61E_0 = representationRule.get_Layer(0); representationRuleDraw.Draw(int_0, rectangle_0, 96.0, this.double_0); return; } catch { return; } } if (object_1 is IBorder) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IPointCollection pointCollection = new Polyline(); object value = System.Reflection.Missing.Value; IPoint point = new ESRI.ArcGIS.Geometry.Point(); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Top); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.Right - 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); IGeometry geometry = ((IBorder)object_1).GetGeometry(display, (IGeometry)pointCollection); ((IBorder)object_1).Draw(display, geometry); display.FinishDrawing(); return; } if (object_1 is IMapGrid) { IDisplay display = new ScreenDisplay(); display.StartDrawing(int_0, 0); display.DisplayTransformation = displayTransformation; IPointCollection pointCollection = new Polyline(); object value = System.Reflection.Missing.Value; IPoint point = new ESRI.ArcGIS.Geometry.Point(); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Top); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.X + 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); point.PutCoords((double)(rectangle_0.Right - 4), (double)rectangle_0.Bottom); pointCollection.AddPoint(point, ref value, ref value); IMapFrame mapFrame = new MapFrame() as IMapFrame; IMap map = new Map(); mapFrame.Map = map; (map as IActiveView).Extent = (pointCollection as IGeometry).Envelope; (object_1 as IMapGrid).Draw(display, mapFrame); display.FinishDrawing(); return; } return; } if (symbol is IPictureFillSymbol || symbol is IPictureLineSymbol) { symbol.SetupDC(int_0, displayTransformation); } else { symbol.SetupDC(int_0, displayTransformation); } if (symbol is IMarkerSymbol) { this.method_0((IMarkerSymbol)symbol, rectangle_0); } else if (symbol is ILineSymbol) { this.method_1((ILineSymbol)symbol, rectangle_0); } else if (symbol is IFillSymbol) { this.method_2((IFillSymbol)symbol, rectangle_0); } else if (symbol is ITextSymbol) { this.method_3((ITextSymbol)symbol, rectangle_0); } symbol.ResetDC(); } }
internal RepresentationRuleWrap(int id, string name, IRepresentationRule pRepresentationRule) { this._id = id; this._name = name; this._RepresentationRule = pRepresentationRule; }