Example #1
0
        private void method_0()
        {
            IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass;
            IRepresentationWorkspaceExtension repWSExtFromFClass =
                RepresentationAssist.GetRepWSExtFromFClass(featureClass);
            string str  = this.ifeatureLayer_0.FeatureClass.AliasName + "_Rep";
            string str2 = "RuleID";
            string str3 = "Override";

            if (repWSExtFromFClass.get_FeatureClassHasRepresentations(featureClass))
            {
                IList <string>   list = new List <string>();
                IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass);
                for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next())
                {
                    list.Add(name2.Name);
                }
                int    num  = 1;
                string item = str;
                while (list.IndexOf(item) != -1)
                {
                    item = str + num.ToString();
                    num++;
                }
                str  = item;
                num  = 1;
                item = str2;
                while (featureClass.FindField(item) != -1)
                {
                    item = str2 + "_" + num.ToString();
                    num++;
                }
                str2 = item;
                num  = 1;
                item = str3;
                while (featureClass.FindField(item) != -1)
                {
                    item = str3 + "_" + num.ToString();
                    num++;
                }
                str3 = item;
            }
            this.txtruleIDFldName.Text      = str2;
            this.txtoverrideFldName.Text    = str3;
            this.txtRepresentationName.Text = str;
            this.lblFC.Text = this.ifeatureLayer_0.FeatureClass.AliasName;
            this.rdoSelectFeature.Enabled = (this.ifeatureLayer_0 as IFeatureSelection).SelectionSet.Count > 0;
        }
Example #2
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)
                {
                }
            }
        }
Example #3
0
 private void method_0()
 {
     this.dotDensityRendererCtrl_0.CurrentLayer         = this.ilayer_0;
     this.simpleRenderControl_0.CurrentLayer            = this.ilayer_0;
     this.uniqueValueRendererCtrl_0.CurrentLayer        = this.ilayer_0;
     this.classBreaksRendererCtrl_0.CurrentLayer        = this.ilayer_0;
     this.proportionalSymbolRendererCtrl_0.CurrentLayer = this.ilayer_0;
     this.chartRendererCtrl_0.CurrentLayer    = this.ilayer_0;
     this.chartRendererCtrl_1.ChartRenderType = 1;
     this.chartRendererCtrl_1.CurrentLayer    = this.ilayer_0;
     this.uniqueValueRendererMoreAttributeCtrl_0.CurrentLayer = this.ilayer_0;
     this.matchStyleGrallyCtrl_0.CurrentLayer = this.ilayer_0;
     if (this.ilayer_0 is IGeoFeatureLayer)
     {
         this.treeView1.Nodes.AddRange(new TreeNode[]
         {
             new TreeNode("要素", new TreeNode[] { new TreeNode("简单渲染") }),
             new TreeNode("类别",
                          new TreeNode[] { new TreeNode("唯一值渲染"), new TreeNode("唯一值渲染,多字段"), new TreeNode("匹配符号库") }),
             new TreeNode("数量", new TreeNode[] { new TreeNode("渐变颜色渲染"), new TreeNode("比例符号") }),
             new TreeNode("图表", new TreeNode[] { new TreeNode("饼图"), new TreeNode("直方图") })
         });
         this.treeView1.Nodes[0].Tag          = this.simpleRenderControl_0;
         this.treeView1.Nodes[0].Nodes[0].Tag = this.simpleRenderControl_0;
         this.treeView1.Nodes[1].Tag          = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Nodes[0].Tag = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Nodes[1].Tag = this.uniqueValueRendererMoreAttributeCtrl_0;
         this.treeView1.Nodes[1].Nodes[2].Tag = this.matchStyleGrallyCtrl_0;
         this.treeView1.Nodes[2].Tag          = this.classBreaksRendererCtrl_0;
         this.treeView1.Nodes[2].Nodes[0].Tag = this.classBreaksRendererCtrl_0;
         this.treeView1.Nodes[2].Nodes[1].Tag = this.proportionalSymbolRendererCtrl_0;
         this.treeView1.Nodes[3].Tag          = this.chartRendererCtrl_0;
         this.treeView1.Nodes[3].Nodes[0].Tag = this.chartRendererCtrl_0;
         this.treeView1.Nodes[3].Nodes[1].Tag = this.chartRendererCtrl_1;
         this.simpleRenderControl_0.Visible   = false;
         this.simpleRenderControl_0.Dock      = DockStyle.Fill;
         this.panel.Controls.Add(this.simpleRenderControl_0);
         this.uniqueValueRendererCtrl_0.Visible = false;
         this.uniqueValueRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererCtrl_0);
         this.uniqueValueRendererMoreAttributeCtrl_0.Visible = false;
         this.uniqueValueRendererMoreAttributeCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererMoreAttributeCtrl_0);
         this.matchStyleGrallyCtrl_0.Visible = false;
         this.matchStyleGrallyCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.matchStyleGrallyCtrl_0);
         this.classBreaksRendererCtrl_0.Dock    = DockStyle.Fill;
         this.classBreaksRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.classBreaksRendererCtrl_0);
         this.proportionalSymbolRendererCtrl_0.Dock    = DockStyle.Fill;
         this.proportionalSymbolRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.proportionalSymbolRendererCtrl_0);
         this.dotDensityRendererCtrl_0.Dock    = DockStyle.Fill;
         this.dotDensityRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.dotDensityRendererCtrl_0);
         this.chartRendererCtrl_0.Dock            = DockStyle.Fill;
         this.chartRendererCtrl_0.Visible         = false;
         this.chartRendererCtrl_0.ChartRenderType = 0;
         this.panel.Controls.Add(this.chartRendererCtrl_0);
         this.chartRendererCtrl_1.Dock            = DockStyle.Fill;
         this.chartRendererCtrl_1.Visible         = false;
         this.chartRendererCtrl_1.ChartRenderType = 1;
         this.panel.Controls.Add(this.chartRendererCtrl_1);
         if (RepresentationAssist.HasRepresentation((this.ilayer_0 as IFeatureLayer).FeatureClass))
         {
             TreeNode node = new TreeNode("制图表现");
             this.representationRendererPage_0.CurrentLayer = this.ilayer_0;
             this.representationRendererPage_0.Dock         = DockStyle.Fill;
             this.representationRendererPage_0.Visible      = false;
             this.panel.Controls.Add(this.representationRendererPage_0);
             IFeatureClass featureClass = (this.ilayer_0 as IFeatureLayer).FeatureClass;
             IRepresentationWorkspaceExtension repWSExtFromFClass =
                 RepresentationAssist.GetRepWSExtFromFClass(featureClass);
             this.representationRendererPage_0.RepresentationWorkspaceExtension = repWSExtFromFClass;
             IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass);
             for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next())
             {
                 TreeNode node2 = new TreeNode(name2.Name)
                 {
                     Tag = this.representationRendererPage_0
                 };
                 node.Nodes.Add(node2);
             }
             this.treeView1.Nodes.Add(node);
         }
     }
     else if (this.ilayer_0 is IRasterLayer)
     {
         this.treeView1.Nodes.AddRange(new TreeNode[]
                                       { new TreeNode("唯一值"), new TreeNode("分类"), new TreeNode("拉伸") });
         this.treeView1.Nodes[0].Tag            = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Tag            = this.classBreaksRendererCtrl_0;
         this.uniqueValueRendererCtrl_0.Visible = false;
         this.uniqueValueRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererCtrl_0);
         this.classBreaksRendererCtrl_0.Visible = false;
         this.classBreaksRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.classBreaksRendererCtrl_0);
     }
 }