private void trvDatabase_MouseDown(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } TreeNode currentNode = trvDatabase.GetNodeAt(e.Location); if (currentNode == null) { return; } trvDatabase.SelectedNode = currentNode; if (currentNode.Level == 0) { trvDatabase.ContextMenuStrip = menuDatabase; } else if (currentNode.Level == 1) { trvDatabase.ContextMenuStrip = menuConnection; ITemplateDatabase database = currentNode.Tag as ITemplateDatabase; if (database.IsTemplateDatabase()) { mnuRegisterTemplate.Enabled = false; } else { mnuRegisterTemplate.Enabled = true; } if (_copyObject == null) { mnuPasteObject.Enabled = false; } else { mnuPasteObject.Enabled = true; } } else if (currentNode.Level == 2) { if (currentNode.Text == "数据字典") { trvDatabase.ContextMenuStrip = menuDomains; } else if (currentNode.Text == "模板") { trvDatabase.ContextMenuStrip = menuFCTemplates; } else if (currentNode.Text == "数据集") { trvDatabase.ContextMenuStrip = menuDatasets; } } else if (currentNode.Level == 3) { trvDatabase.ContextMenuStrip = menuObject; } }
private void mnuRegisterTemplate_Click(object sender, EventArgs e) { TreeNode node = trvDatabase.SelectedNode; ITemplateDatabase database = node.Tag as ITemplateDatabase; database.RegisterTemplateDatabase(); LoadDatabase(database, node); }
public TemplateTaskQuery(ITemplateDatabase templateDatabase, IStringSerializer stringSerializer, IObjectIdResetter objectIdResetter, IPKSimConfiguration pkSimConfiguration, ICoreUserSettings userSettings, ITemplateDatabaseConverter templateDatabaseConverter) { _objectIdResetter = objectIdResetter; _pkSimConfiguration = pkSimConfiguration; _userSettings = userSettings; _templateDatabaseConverter = templateDatabaseConverter; _templateDatabase = templateDatabase; _stringSerializer = stringSerializer; }
private void LoadDatasets(ITemplateDatabase database, TreeNode parentNode) { database.LoadDatasets(); foreach (IObjectDataset dataset in database.Datasets) { string key = ((IWorkspace)database.Workspace).PathName + "\\datasets\\" + dataset.Name; TreeNode tmpNode = parentNode.Nodes.Add(key, dataset.Name, 8); tmpNode.Tag = dataset; } }
private void LoadDomains(ITemplateDatabase database, TreeNode parentNode) { database.LoadDomains(); foreach (IYTDomain domain in database.Domains) { string key = ((IWorkspace)database.Workspace).PathName + "\\domains\\" + domain.Name; TreeNode tmpNode = parentNode.Nodes.Add(key, domain.Name, 6); tmpNode.Tag = domain; } }
private void LoadTemplates(ITemplateDatabase database, TreeNode parentNode) { database.LoadTemplates(); foreach (IObjectTemplate template in database.Templates) { string key = ((IWorkspace)database.Workspace).PathName + "\\templates\\" + template.Name; TreeNode tmpNode = parentNode.Nodes.Add(key, template.Name, 4); tmpNode.Tag = template; } }
public void Convert(ITemplateDatabase templateDatabase) { if (needsConversionTo53Format(templateDatabase.DatabaseObject)) { convertDataBaseSchemaTo53(templateDatabase.DatabaseObject); } if (needsConversionTo56Format(templateDatabase.DatabaseObject)) { convertDataBaseSchemaTo56(templateDatabase.DatabaseObject); } }
private void mnuRemoveConnection_Click(object sender, EventArgs e) { TreeNode currentNode = trvDatabase.SelectedNode; string dbName = ((ITemplateDatabase)currentNode.Tag).DatabaseName; ITemplateDatabase tempDB = _databases.FirstOrDefault(c => c.DatabaseName == dbName); if (tempDB != null) { _databases.Remove(tempDB); currentNode.Parent.Nodes.Remove(currentNode); } }
protected override void RegisterServices(IApplicationContainer container) { CompositionRoot.Compose(container); FileInfo newFileInfo = new FileInfo(Application.StartupPath + "\\plugins\\configs\\YutaiTemplate.mdb"); _templateDatabase = new TemplateDatabase(); if (newFileInfo.Exists) { _templateDatabase.DatabaseName = newFileInfo.FullName; } //_printConfig.TemplateConnectionString = newFileInfo.Exists ? newFileInfo.FullName : ""; }
private void LoadDatabase(ITemplateDatabase database, TreeNode pNode) { if (database.Workspace == null) { database.Connect(); } string dbName = ((IWorkspace)database.Workspace).PathName; if (database.IsTemplateDatabase()) { TreeNode tmpNode = pNode.Nodes.Add(dbName + "\\模板", "模板", 2); TreeNode domainNode = pNode.Nodes.Add(dbName + "\\数据字典", "数据字典", 3); TreeNode datasetNode = pNode.Nodes.Add(dbName + "\\数据集", "数据集", 7); } }
private void AddConnection() { frmOpenFile frm = new frmOpenFile(); frm.AddFilter(new MyGxFilterGeoDatabases(), true); frm.Text = "选择数据库"; if (frm.DoModalOpen() == DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; IGxDatabase database = frm.Items.get_Element(0) as IGxDatabase; if (database != null) { ITemplateDatabase findDB = _databases.FirstOrDefault(c => c.DatabaseName == (database as IGxObject).FullName); if (findDB != null) { MessageService.Current.Warn("数据库已经连接,无需再次连接!"); return; } IFeatureWorkspace pWorkspace = Yutai.ArcGIS.Common.Helpers.WorkspaceHelper.GetWorkspace((database as IGxObject).FullName); if (pWorkspace == null) { return; } bool isExists1 = ((IWorkspace2)pWorkspace).get_NameExists(esriDatasetType.esriDTTable, "YT_TEMPLATE_FEATURECLASS"); // bool isExists2 = ((IWorkspace2)pWorkspace).get_NameExists(esriDatasetType.esriDTTable, "YT_TEMPLATE_FIELD"); bool isExists3 = ((IWorkspace2)pWorkspace).get_NameExists(esriDatasetType.esriDTTable, "YT_TEMPLATE_DOMAIN"); bool isExists4 = ((IWorkspace2)pWorkspace).get_NameExists(esriDatasetType.esriDTTable, "YT_TEMPLATE_DATASET"); ITemplateDatabase templateDatabase = new TemplateDatabase(); templateDatabase.DatabaseName = (database as IGxObject).FullName; templateDatabase.Workspace = pWorkspace; _databases.Add(templateDatabase); LoadDatabases(); //if (isExists4 && isExists1 && isExists3 && isExists2) //{ // this.txtDB.Text = BuildConnectionString((database as IGxObject).FullName); //} //else //{ // MessageService.Current.Warn("该数据库内没有地图制图模板数据!请重新选择!"); //} } Cursor.Current = Cursors.Default; } // LoadDatabases(); }
public frmQuickCreateFeatureDataset(IAppContext context, ITemplateDatabase database) { InitializeComponent(); _context = context; _map = _context.FocusMap; ISpatialReference spatialReference = _map.SpatialReference; txtSpatialRef.Text = spatialReference.Name; _database = database; IActiveView pActiveView = _map as IActiveView; IEnvelope pEnv = pActiveView.Extent; txtXMin.EditValue = Math.Floor(pEnv.XMin); txtYMin.EditValue = Math.Floor(pEnv.YMin); txtXMax.EditValue = Math.Ceiling(pEnv.XMax); txtYMax.EditValue = Math.Ceiling(pEnv.YMax); LoadObjectDatasets(); chkNamePre.Checked = true; chkNameNext.Checked = false; }
private void DeleteObject() { TreeNode currentNode = trvDatabase.SelectedNode; ITemplateDatabase database = currentNode.Parent.Parent.Tag as ITemplateDatabase; if (currentNode.Parent.Text == "模板") { IObjectTemplate template = currentNode.Tag as IObjectTemplate; database.DeleteObject(template.ID, enumTemplateObjectType.FeatureClass); } if (currentNode.Parent.Text == "数据字典") { IYTDomain domain = currentNode.Tag as IYTDomain; database.DeleteObject(domain.ID, enumTemplateObjectType.Domain); } if (currentNode.Parent.Text == "数据集") { IObjectDataset dataset = currentNode.Tag as IObjectDataset; database.DeleteObject(dataset.ID, enumTemplateObjectType.FeatureDataset); } }
private void mnuAddFCTemplate_Click(object sender, EventArgs e) { TreeNode pNode = trvDatabase.SelectedNode; if (pNode.Level != 2) { return; } ITemplateDatabase templateDatabase = pNode.Parent.Tag as ITemplateDatabase; frmEditTemplate frm = new frmEditTemplate(); IObjectTemplate template = new ObjectTemplate(); template.Database = templateDatabase; frm.SetTemplate(template); DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { pNode.Nodes.Clear(); LoadTemplates(templateDatabase, pNode); } }
private void mnuCreateObject_Click(object sender, EventArgs e) { TreeNode currentNode = trvDatabase.SelectedNode; ITemplateDatabase templateDatabase = currentNode.Parent.Parent.Tag as ITemplateDatabase; if (currentNode.Parent.Text == "模板") { IObjectTemplate template = currentNode.Tag as IObjectTemplate; frmQuickCreateFeatureClass frm = new frmQuickCreateFeatureClass(_context, _plugin); frm.SingleTemplate = template; frm.ShowDialog(); } if (currentNode.Parent.Text == "数据字典") { } if (currentNode.Parent.Text == "数据集") { IObjectDataset dataset = currentNode.Tag as IObjectDataset; frmQuickCreateFeatureDataset frm = new frmQuickCreateFeatureDataset(_context, templateDatabase); frm.SetDataset(dataset.Name); frm.ShowDialog(); } }
public void Convert(ITemplateDatabase templateDatabase) { // Nothing to do starting 7.4 }
public void SetDatabase(ITemplateDatabase database) { _database = database; }
private void mnuPasteObject_Click(object sender, EventArgs e) { if (_copyObject == null) { return; } TreeNode currentNode = trvDatabase.SelectedNode; ITemplateDatabase database = currentNode.Tag as ITemplateDatabase; if (_copyObject.Parent.Text == "模板") { IObjectTemplate template = _copyObject.Tag as IObjectTemplate; template.ID = -1; template.Database = database; frmEditTemplate frm = new frmEditTemplate(); frm.SetTemplate(template); frm.SetDatabase(database); DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { TreeNode pNode = currentNode.Nodes[0]; pNode.Nodes.Clear(); LoadTemplates(database, pNode); } } if (_copyObject.Parent.Text == "数据字典") { IYTDomain domain = _copyObject.Tag as IYTDomain; domain.ID = -1; frmEditDomain frm = new frmEditDomain(); frm.SetDatabase(database); frm.SetDomain(domain); DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { TreeNode pNode = currentNode.Nodes[1]; pNode.Nodes.Clear(); LoadDomains(database, pNode); } //currentNode.Tag = frm.GetDomain(); } if (_copyObject.Parent.Text == "数据集") { IObjectDataset dataset = _copyObject.Tag as IObjectDataset; dataset.ID = -1; frmEditDataset frm = new frmEditDataset(); frm.SetDatabase(database); frm.Dataset = dataset; DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { TreeNode pNode = currentNode.Nodes[2]; pNode.Nodes.Clear(); LoadDatasets(database, pNode); } } _copyObject = null; }