public delegate void ClearGrid(Plugin.Application.IAppGISRef AppHk);//定义一个委托 /// <summary> /// 清除检查结果显示的内容方法 /// </summary> /// <param name="_AppHk"></param> public void ClearResult(Plugin.Application.IAppGISRef _AppHk) { if (_AppHk.DataCheckGrid.DataSource != null)//如果显示框里有之前的记录,就先要把之前功能检查的清除掉,以便显示当前的 { _AppHk.DataCheckGrid.DataSource = null; } }
public Hashtable hs_table_attribute = new Hashtable(); //用来显示对应的属性值 /// <summary> /// 利用构造函数传值 /// </summary> /// <param name="tb"></param> /// <param name="tb_show"></param> public FrmAttribute(Hashtable tb, Hashtable tb_show, Plugin.Application.IAppGISRef Hook) { myHook = Hook; hs_table_tree = tb; hs_table_attribute = tb_show; InitializeComponent(); }
/// <summary> /// 清除检查的出错显示栏 /// </summary> /// <param name="AppHk"></param> private void ClearCheckDataGridView(Plugin.Application.IAppGISRef AppHk) { if (AppHk.DataCheckGrid.Rows.Count > 0) { AppHk.DataCheckGrid.DataSource = null; } }
/// <summary> /// 线重复数字化检查主函数 /// </summary> /// <param name="_AppHk"></param> private void ExcuteLineDigitalDuplicateCheck(Plugin.Application.IAppGISRef _AppHk) { #region 取得进度条对象 Plugin.Application.IAppFormRef pAppForm = _AppHk as Plugin.Application.IAppFormRef; //选中数据处理树图项 DevComponents.DotNetBar.PanelDockContainer PanelTip = _AppHk.DataTree.Parent as DevComponents.DotNetBar.PanelDockContainer; if (PanelTip != null) { PanelTip.DockContainerItem.Selected = true; } //取得进度条对象 try { System.Threading.ParameterizedThreadStart start = new System.Threading.ParameterizedThreadStart(Line_redo); System.Threading.Thread thread = new System.Threading.Thread(start); _AppHk.CurrentThread = thread; thread.Start(pAppForm); } catch (Exception ex) { if (_AppHk.CurrentThread != null) { _AppHk.CurrentThread = null; } SetCheckState.Message(pAppForm, "错误", ex.ToString()); return; } #endregion }
public frmDataSubmit(EnumOperateType pType, Plugin.Application.IAppGISRef pAppGIS) { InitializeComponent(); v_OpeType = pType; v_AppGIS = pAppGIS; InitForm(); }
//从XML中读取相关信息在界面上表现出来 private void InitiaDBConn(Plugin.Application.IAppGISRef pHook) { XmlNode ProNode = pHook.ProjectTree.SelectedNode.Tag as XmlNode; //读取现势库信息,并且在界面上表现出来 XmlElement userDBElem = ProNode.SelectSingleNode(".//内容//现势库//连接信息") as XmlElement; cmbType.Text = userDBElem.GetAttribute("类型").ToString().Trim();//类型 txtServer.Text = userDBElem.GetAttribute("服务器").ToString().Trim(); txtInstance.Text = userDBElem.GetAttribute("服务名").ToString().Trim(); txtDB.Text = userDBElem.GetAttribute("数据库").ToString().Trim(); txtUser.Text = userDBElem.GetAttribute("用户").ToString().Trim(); txtPassword.Text = userDBElem.GetAttribute("密码").ToString().Trim(); txtVersion.Text = userDBElem.GetAttribute("版本").ToString().Trim(); //读取历史库信息并且在界面上表现出来 XmlElement historyDBElem = ProNode.SelectSingleNode(".//内容//历史库//连接信息") as XmlElement; cmbHistoType.Text = historyDBElem.GetAttribute("类型").ToString().Trim(); txtHistoServer.Text = historyDBElem.GetAttribute("服务器").ToString().Trim(); txtHistoInstance.Text = historyDBElem.GetAttribute("服务名").ToString().Trim(); txtHistoDB.Text = historyDBElem.GetAttribute("数据库").ToString().Trim(); txtHistoUser.Text = historyDBElem.GetAttribute("用户").ToString().Trim(); txtHistoPassword.Text = historyDBElem.GetAttribute("密码").ToString().Trim(); txtHistoVersion.Text = historyDBElem.GetAttribute("版本").ToString().Trim(); //读取FID记录表信息并且在界面上表现出来 XmlElement FIDDBElem = ProNode.SelectSingleNode(".//内容//FID记录表//连接信息") as XmlElement; comBoxType.Text = FIDDBElem.GetAttribute("类型").ToString().Trim(); textBoxXServer.Text = FIDDBElem.GetAttribute("服务名").ToString().Trim(); textBoxXDB.Text = FIDDBElem.GetAttribute("数据库").ToString().Trim(); textBoxXUser.Text = FIDDBElem.GetAttribute("用户").ToString().Trim(); textBoxXPassword.Text = FIDDBElem.GetAttribute("密码").ToString().Trim(); }
public override void OnClick() { if (_AppHk == null) { return; } if (_AppHk.MapControl == null) { return; } //执行修正图形的处理 Plugin.Application.IAppGISRef Apphook = _AppHk as Plugin.Application.IAppGISRef; try { System.Threading.ParameterizedThreadStart start = new System.Threading.ParameterizedThreadStart(ExcuteCorrect); System.Threading.Thread thread = new System.Threading.Thread(start); if (Apphook.DataCheckGrid.Rows.Count > 0) { Apphook.DataCheckGrid.DataSource = null;//拓扑是不显示出错的,直接修正0或没用的要素 } Apphook.CurrentThread = thread; thread.Start(_AppHk as object); } catch (Exception ex) { if (Apphook.CurrentThread != null) { Apphook.CurrentThread = null; } MessageBoxEx.Show(ex.ToString()); return; } }
/// <summary> /// 自相交检查主程序 /// </summary> /// <param name="_AppHk"></param> private void ExcuteSelfIntersectionCheck(Plugin.Application.IAppGISRef _AppHk) { #region 取得进度条对象 Plugin.Application.IAppFormRef pAppForm = _AppHk as Plugin.Application.IAppFormRef; //取得进度条对象 try { //高亮显示处理结果栏 DevComponents.DotNetBar.PanelDockContainer PanelTip = _AppHk.DataTree.Parent as DevComponents.DotNetBar.PanelDockContainer; PanelTip.DockContainerItem.Selected = true; System.Threading.ParameterizedThreadStart start = new System.Threading.ParameterizedThreadStart(Line_self); System.Threading.Thread thread = new System.Threading.Thread(start); _AppHk.CurrentThread = thread;//得到当前的进程 thread.Start(pAppForm); } catch (Exception ex) { if (_AppHk.CurrentThread != null) { _AppHk.CurrentThread = null; } MessageBox.Show(ex.ToString()); return; } #endregion }
/// <summary> /// 发现错误后的处理函数 /// </summary> /// <param name="sender"></param> /// <param name="ErrorArg"></param> private void CodeErrerCheck_FindErr(object sender, ErrorEventArgs ErrorArg) { //若错误结果不为空 if (ErrorArg != null) { for (int i = 0; i < ErrorArg.OIDs.Length; i++) { DataRow newRow = _ResultTable.NewRow(); newRow["要素类名称"] = ErrorArg.FeatureClassName; newRow["OBJECTID"] = ErrorArg.OIDs[i]; newRow["错误名"] = ErrorArg.ErrorName; newRow["具体描述"] = ErrorArg.ErrDescription; newRow["检查时间"] = ErrorArg.CheckTime; _ResultTable.Rows.Add(newRow); } //用户界面上表现出错误信息 Plugin.Application.IAppGISRef mHook = (Plugin.Application.IAppGISRef)sender; //错误结果列表 if (mHook == null) { return; } mHook.DataCheckGrid.Update(); //调用错误处理类的函数,将检查到的错误信息,写入日志 if (_ResultTable.Rows.Count > 0) { _CodeErrorPro.LogErr(sender, ErrorArg); } } }
/// <summary> /// 选中的具体方法 /// </summary> /// <param name="name"></param> /// <param name="index"></param> /// <param name="pAppForm"></param> private static void TreeCheck_Fun(string name, int index, Plugin.Application.IAppGISRef pAppForm) { if (pAppForm.DataTree.Nodes[0].Nodes[index].Text == name) { pAppForm.DataTree.SelectedNode = pAppForm.DataTree.Nodes[0].Nodes[index];//选中树节点 } }
private void ExcuteCodeLayerCheck(Plugin.Application.IAppGISRef AppHk) { #region 代码标准化图层检查主程序 try { //高亮显示处理结果栏 DevComponents.DotNetBar.PanelDockContainer PanelTip = _AppHk.DataTree.Parent as DevComponents.DotNetBar.PanelDockContainer; PanelTip.DockContainerItem.Selected = true; Plugin.Application.IAppFormRef pAppForm = _AppHk as Plugin.Application.IAppFormRef; System.Threading.ParameterizedThreadStart start = new System.Threading.ParameterizedThreadStart(CheckLayer); System.Threading.Thread thread = new System.Threading.Thread(start); _AppHk.CurrentThread = thread; thread.Start(pAppForm);//调用图层标准检查方法 } catch (Exception ex) { if (_AppHk.CurrentThread != null) { _AppHk.CurrentThread = null; } MessageBox.Show(ex.ToString()); return; } #endregion }
private List <IFeatureLayer> GetAllFLayers(Plugin.Application.IAppGISRef hook) { List <IFeatureLayer> LstFLayer = new List <IFeatureLayer>(); IFeatureLayer pFLayer = null; for (int i = 0; i < hook.MapControl.Map.LayerCount; i++) { ILayer pLayer = hook.MapControl.Map.get_Layer(i); if (pLayer is IGroupLayer) { ICompositeLayer pComLayer = pLayer as ICompositeLayer; for (int j = 0; j < pComLayer.Count; j++) { ILayer mLayer = pComLayer.get_Layer(j); IFeatureLayer ppFLayer = mLayer as IFeatureLayer; if (ppFLayer == null) { continue; } LstFLayer.Add(ppFLayer); } } else { pFLayer = pLayer as IFeatureLayer; if (pFLayer == null) { continue; } LstFLayer.Add(pFLayer); } } return(LstFLayer); }
public frmInputUpdateData(Plugin.Application.IAppGISRef pHook) { InitializeComponent(); m_Hook = pHook; //初始化数据库类型 cmbType.Items.Clear(); cmbHistoType.Items.Clear(); comBoxType.Items.Clear(); //目标数据库 cmbType.Items.AddRange(new object[] { "GDB", "PDB", "SDE" }); if (cmbType.Items.Count > 0) { cmbType.SelectedIndex = 0; } //历史库 cmbHistoType.Items.AddRange(new object[] { "GDB", "PDB", "SDE" }); if (cmbHistoType.Items.Count > 0) { cmbHistoType.SelectedIndex = 0; } //FID库 comBoxType.Items.AddRange(new object[] { "SQL", "ACCESS", "ORACLE" }); comBoxType.Text = "ACCESS"; //初始化库体连接信息 InitiaDBConn(m_Hook); }
private void ExcuteHangPointCheck(Plugin.Application.IAppGISRef AppHk) { #region 悬挂点检查主程序 #region 取得进度条对象 //取得进度条对象 Plugin.Application.IAppFormRef pAppForm = _AppHk as Plugin.Application.IAppFormRef; #endregion try { System.Threading.ParameterizedThreadStart start = new System.Threading.ParameterizedThreadStart(Point_dangles); System.Threading.Thread thread = new System.Threading.Thread(start); _AppHk.CurrentThread = thread; thread.Start(pAppForm);//悬挂点检查 } catch (Exception ex) { if (_AppHk.CurrentThread != null) { _AppHk.CurrentThread = null; } MessageBox.Show(ex.ToString()); } #endregion }
private void frmDBPropertySet_Load(object sender, EventArgs e) { Plugin.Application.IAppGISRef Hook = ModData.v_AppGIS; DevComponents.AdvTree.Node pCurNode = Hook.ProjectTree.SelectedNode; ///获得树图上选择的工程节点 if (pCurNode == null) { return; } if (pCurNode.Parent == null) { return; } string pProjectname = pCurNode.Parent.Name; System.Xml.XmlNode Projectnode = Hook.DBXmlDocument.SelectSingleNode("工程管理/工程[@名称='" + pProjectname + "']"); if (Projectnode == null) { return; } System.Xml.XmlElement ProjectNodeElement = Projectnode as System.Xml.XmlElement; if (ProjectNodeElement.SelectSingleNode(".//历史库/连接信息") == null) { return; } System.Xml.XmlElement ProjectHisDBConnEle = ProjectNodeElement.SelectSingleNode(".//历史库/连接信息") as System.Xml.XmlElement; string HisDBType = ProjectHisDBConnEle.GetAttribute("类型"); comBoxType.Text = HisDBType; if (HisDBType == "ESRI个人数据库(*.mdb)") { string path = ProjectHisDBConnEle.GetAttribute("数据库"); this.txtDB.Text = path; btnDB.Tooltip = path; } else if (HisDBType == "ESRI文件数据库(*.gdb)") { string path = ProjectHisDBConnEle.GetAttribute("数据库"); this.txtDB.Text = path; btnDB.Tooltip = path; } else { this.txtServer.Text = ProjectHisDBConnEle.GetAttribute("服务器"); this.txtInstance.Text = ProjectHisDBConnEle.GetAttribute("服务名"); this.txtDB.Text = ProjectHisDBConnEle.GetAttribute("数据库"); this.txtUser.Text = ProjectHisDBConnEle.GetAttribute("用户"); this.txtPassword.Text = ProjectHisDBConnEle.GetAttribute("密码"); this.txtVersion.Text = ProjectHisDBConnEle.GetAttribute("版本"); } }
public FrmGetRange(Plugin.Application.IAppGISRef pAppGIS) { InitializeComponent(); m_AppGIS = pAppGIS; RadioBtnSelectRange.Checked = false; RadioBtnInputRange.Checked = false; RadioBtnDrawRange.Checked = false; }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } m_Hook = hook as Plugin.Application.IAppGISRef; }
/// <summary> /// /选中检查出错列表 /// </summary> private void CheckDataGrid(Plugin.Application.IAppGISRef hook) { DevComponents.DotNetBar.PanelDockContainer PanelTip = hook.DataCheckGrid.Parent as DevComponents.DotNetBar.PanelDockContainer; if (PanelTip != null) { PanelTip.DockContainerItem.Selected = true; } }
public SetJoinChecks(Plugin.Application.IAppGISRef AppHk) { InitializeComponent(); _AppHk = AppHk; comBoxType.Items.AddRange(new object[] { "PDB", "GDB", "SDE" }); comBoxType.SelectedIndex = 0; }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { m_Hook = hook as Plugin.Application.IAppGISRef; if (m_Hook == null) { return; } /////////////////初始化线型接边搜索表 m_PolyLineSearchTable = new DataTable(); m_PolyLineSearchTable.TableName = "PolylineSearchTable"; DataColumn dc1 = new DataColumn("数据集", Type.GetType("System.String")); //DataColumn dc1 = new DataColumn("数据集", Type.GetType("System.String")); DataColumn dc2 = new DataColumn("要素类型", Type.GetType("System.String")); //DataColumn dc2 = new DataColumn("要素类型", Type.GetType("System.String")); DataColumn dc3 = new DataColumn("源要素ID", Type.GetType("System.Int64")); //DataColumn dc3 = new DataColumn("源要素ID", Type.GetType("System.Int64")); dc3.DefaultValue = -1; DataColumn dc4 = new DataColumn("OriPtn", Type.GetType("System.String")); DataColumn dc5 = new DataColumn("目标要素ID", Type.GetType("System.Int64")); //DataColumn dc5 = new DataColumn("目标要素ID", Type.GetType("System.Int64")); dc5.DefaultValue = -1; DataColumn dc6 = new DataColumn("DesPtn", Type.GetType("System.String")); DataColumn dc7 = new DataColumn("接边状态", Type.GetType("System.String")); m_PolyLineSearchTable.Columns.Add(dc1); m_PolyLineSearchTable.Columns.Add(dc2); m_PolyLineSearchTable.Columns.Add(dc3); m_PolyLineSearchTable.Columns.Add(dc4); m_PolyLineSearchTable.Columns.Add(dc5); m_PolyLineSearchTable.Columns.Add(dc6); m_PolyLineSearchTable.Columns.Add(dc7); ////////////////////////////////////// ////初始化多边形接边搜索表 m_PolygonSearchTable = new DataTable(); m_PolygonSearchTable.TableName = "PolygonSearchTable"; dc1 = new DataColumn("数据集", Type.GetType("System.String")); dc2 = new DataColumn("要素类型", Type.GetType("System.String")); dc3 = new DataColumn("源要素ID", Type.GetType("System.Int64")); dc3.DefaultValue = -1; dc4 = new DataColumn("OriLineIndex", Type.GetType("System.Int64")); dc4.DefaultValue = -1; dc5 = new DataColumn("目标要素ID", Type.GetType("System.Int64")); dc5.DefaultValue = -1; dc6 = new DataColumn("DesLineIndex", Type.GetType("System.Int64")); dc6.DefaultValue = -1; dc7 = new DataColumn("接边状态", Type.GetType("System.String")); m_PolygonSearchTable.Columns.Add(dc1); m_PolygonSearchTable.Columns.Add(dc2); m_PolygonSearchTable.Columns.Add(dc3); m_PolygonSearchTable.Columns.Add(dc4); m_PolygonSearchTable.Columns.Add(dc5); m_PolygonSearchTable.Columns.Add(dc6); m_PolygonSearchTable.Columns.Add(dc7); //////////////////////////////////////////////////// }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } m_Hook = hook as Plugin.Application.IAppGISRef; m_AppUser = (m_Hook as Plugin.Application.IAppFormRef).ConnUser; }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } m_Hook = hook as Plugin.Application.IAppGISRef; m_Hook.ArcGisMapControl.OnKeyDown += new IMapControlEvents2_Ax_OnKeyDownEventHandler(ArcGisMapControl_OnKeyDown); }
private delegate void Update_data(DataTable tb, Plugin.Application.IAppGISRef AppHk);//定义一个委托 /// <summary> /// 具体的实现委托的方法 /// </summary> /// <param name="tb"></param> /// <param name="AppHk"></param> private void Bind(DataTable tb, Plugin.Application.IAppGISRef AppHk) { AppHk.DataCheckGrid.DataSource = tb; AppHk.DataCheckGrid.Columns[0].Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width - 80; if (AppHk.DataCheckGrid.DataSource != null) { AppHk.DataCheckGrid.MouseDoubleClick += new MouseEventHandler(Overridfunction.DataCheckGridDoubleClick);//加入双击事件 } }
//类的构造函数 public LineElevToolCls(Plugin.Application.IAppGISRef appHook) { _AppHk = appHook; base.m_caption = "拉线查等高线"; //localizable text base.m_category = "GeoDataChecker"; //localizable text base.m_message = "拉线查等高线"; //localizable text base.m_toolTip = "检查图面中所有等高线的高程是否标准,即是否是零高程或异常高程值(高程线的步进值是否是0.5的倍数)"; //localizable text base.m_name = base.m_category + "_" + base.m_caption; }
public override void OnCreate(object hook) { if (m_hookHelper == null) { m_hookHelper = new HookHelperClass(); } myHook = hook as Plugin.Application.IAppFormRef; Plugin.Application.IAppArcGISRef HookGis = hook as Plugin.Application.IAppArcGISRef; smpdHook = hook as Plugin.Application.IAppGISRef; m_hookHelper.Hook = HookGis.MapControl; m_MapControl = HookGis.MapControl as IMapControlDefault; }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } myHook = hook as Plugin.Application.IAppGISRef; _map = myHook.ArcGisMapControl.ActiveView.FocusMap; ((IActiveViewEvents_Event)_map).ItemAdded += new IActiveViewEvents_ItemAddedEventHandler(LayerControl_ItemAdded); ((IActiveViewEvents_Event)_map).ItemDeleted += new IActiveViewEvents_ItemDeletedEventHandler(LayerControl_ItemDeleted); }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } _AppHk = hook as Plugin.Application.IAppGISRef; if (_AppHk.MapControl == null) { return; } }
public FrmImportData(string strFrmName, EnumOperateType pType, Plugin.Application.IAppGISRef pAppGIS, XmlElement dbProjectElement) { InitializeComponent(); this.Text = strFrmName; m_OpeType = pType; m_AppGIS = pAppGIS; m_DbProjectElement = dbProjectElement; //cyf 20110626 modify //object[] TagDBType = new object[] { "GDB", "SDE", "PDB" ,"SHP"}; object[] TagDBType = new object[] { "ArcSDE(For Oracle)", "ESRI文件数据库(*.gdb)", "ESRI个人数据库(*.mdb)" }; //end comboBoxOrgType.Items.AddRange(TagDBType); comboBoxOrgType.SelectedIndex = 0; }
public ClsCodeCheck(Plugin.Application.IAppGISRef pAppHk, string path, List <IFeatureLayer> LstFeaLayer) { CreateTable(); m_TempletePath = path; _AppHk = pAppHk; m_LstFeaLayer = LstFeaLayer; if (_AppHk.DataCheckGrid.RowCount > 0) { _AppHk.DataCheckGrid.DataSource = null; } _AppHk.DataCheckGrid.DataSource = _ResultTable; _AppHk.DataCheckGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect; DataErrTreat += new DataErrTreatHandle(GeoDataChecker_DataErrTreat); }
public override void OnCreate(Plugin.Application.IApplicationRef hook) { if (hook == null) { return; } _AppHk = hook as Plugin.Application.IAppGISRef; if (_AppHk.MapControl == null) { return; } _tool = new LineElevToolCls(_AppHk); _cmd = _tool as ICommand; _cmd.OnCreate(_AppHk.MapControl); }