private void CreateRendererObject(string typeString) { if (m_RendererObject.ContainsKey(typeString)) { return; } try { Type type = Type.GetType(typeString); if (type == null) { return; } IRendererUI rendererObject = Activator.CreateInstance(type) as IRendererUI; ESRI.ArcGIS.Carto.IFeatureRenderer pRenderer = null; switch (rendererObject.RendererType) { case enumRendererType.SimpleRenderer: pRenderer = ModuleCommon.CreateSimpleRenderer(m_StyleClass); break; case enumRendererType.UniqueValueRenderer: pRenderer = ModuleCommon.CreateUVRenderer(m_StyleClass); break; case enumRendererType.BreakColorRenderer: pRenderer = ModuleCommon.CreateBreakColorRenderer(m_StyleClass); break; case enumRendererType.BreakSizeRenderer: pRenderer = ModuleCommon.CreateBreakSizeRenderer(m_StyleClass); break; case enumRendererType.ChartRenderer: pRenderer = ModuleCommon.CreateChartRenderer(m_StyleClass); //yjl20110830 add break; } if (m_FeatureLayer == null) { rendererObject.InitRendererObject(m_FieldInfo, pRenderer, m_StyleClass); } else { rendererObject.InitRendererObject(m_FeatureLayer, pRenderer, m_StyleClass); } m_RendererObject.Add(typeString, rendererObject); } catch (Exception ex) { } }
private void InitRendererUI(List <FieldInfo> pFields) { IRendererUI pRendererUI = null; if (m_FeatureRenderer is ESRI.ArcGIS.Carto.ISimpleRenderer) { pRendererUI = new frmSimpleRenderer(); } else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IUniqueValueRenderer) { pRendererUI = new frmMFUVRenderer(); } else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IClassBreaksRenderer) { ESRI.ArcGIS.Carto.IClassBreaksUIProperties pUIProp = m_FeatureRenderer as ESRI.ArcGIS.Carto.IClassBreaksUIProperties; if (pUIProp.ColorRamp != "") { pRendererUI = new frmBreakColorRenderer(); } else { pRendererUI = new frmBreakSizeRenderer(); } } else if (m_FeatureRenderer is ESRI.ArcGIS.Carto.IChartRenderer) { IChartRenderer pChartRenderer = m_FeatureRenderer as IChartRenderer; IChartSymbol pChartSymbol = pChartRenderer.ChartSymbol; if (pChartSymbol is IPieChartSymbol) { pRendererUI = new frmPieChartRenderer();//yjl20110906 add } else if (pChartSymbol is IBarChartSymbol) { pRendererUI = new frmBarChartRenderer(); } else { pRendererUI = new frmStackedChartRenderer(); } } if (m_FeatureLayer == null) { pRendererUI.InitRendererObject(pFields, m_FeatureRenderer, m_StyleClass); } else { pRendererUI.InitRendererObject(m_FeatureLayer, m_FeatureRenderer, m_StyleClass); } m_RendererObject.Add(pRendererUI.GetType().FullName, pRendererUI); treeCatelog.SelectedNode = treeCatelog.FindNodeByName(pRendererUI.GetType().FullName); }
public static void SaveRendererToByte(ref byte[] _RendererValue, ref string _RendererType, IRendererUI pRendererUI) { if (pRendererUI == null) { _RendererValue = null; _RendererType = enumRendererType.SimpleRenderer.ToString(); return; } _RendererType = pRendererUI.RendererType.ToString(); try { IPersistStream pPersistStream = pRendererUI.Renderer as IPersistStream; IStream pStream = new XMLStreamClass(); pPersistStream.Save(pStream, 0); IXMLStream pXMLStream = pStream as IXMLStream; _RendererValue = pXMLStream.SaveToBytes(); } catch (Exception ex) { _RendererValue = null; _RendererType = enumRendererType.SimpleRenderer.ToString(); } }