Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
 }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
 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;
     }
 }
Exemple #6
0
 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);
            }
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        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 : "";
        }
Exemple #10
0
        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);
            }
        }
Exemple #11
0
        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();
        }
Exemple #12
0
        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;
        }
Exemple #13
0
        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);
            }
        }
Exemple #14
0
        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);
            }
        }
Exemple #15
0
        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
 }
Exemple #17
0
 public void SetDatabase(ITemplateDatabase database)
 {
     _database = database;
 }
Exemple #18
0
        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;
        }