public ImportArguments(FDBImageDataset op, IRasterDataset ds, string[] data, Dictionary <string, Guid> providers)
 {
     Operator  = op;
     dataset   = ds;
     Data      = data;
     Providers = providers;
 }
Exemplo n.º 2
0
        async static Task <bool> ImportFiles(IFeatureDataset ds, string[] filenames, Dictionary <string, Guid> providers)
        {
            FDBImageDataset import = new FDBImageDataset(ds.Database as IImageDB, ds.DatasetName);

            import.handleNonGeorefAsError = !(rootPath != String.Empty);

            import.ReportProgress += (sender, progress) =>
            {
                ProgressCounter++;

                if (ProgressCounter % 100 == 0)
                {
                    Console.WriteLine($"... { ProgressCounter }");
                }
            };

            foreach (string filename in filenames)
            {
                //Console.WriteLine("Import: " + filename);
                if (!await import.Import(filename, providers))
                {
                    Console.WriteLine("Error: " + import.lastErrorMessage);
                    if (!continueOnError)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        private void removeImageFromDatasetToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_exObject == null || _contextItem == null)
            {
                return;
            }

            FDBImageDataset iDataset = null;

            if (_exObject.Object is SqlFDBImageCatalogClass)
            {
                SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)_exObject.Object;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            else if (_exObject.Object is AccessFDBImageCatalogClass)
            {
                AccessFDBImageCatalogClass layer = (AccessFDBImageCatalogClass)_exObject.Object;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            if (iDataset == null)
            {
                return;
            }

            if (listView.SelectedItems.Contains(_contextItem))
            {
                foreach (ListViewItem item in listView.SelectedItems)
                {
                    int ID = iDataset.GetImageDatasetItemID(item.Text);
                    if (ID == -1)
                    {
                        MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                        return;
                    }
                    if (!iDataset.DeleteImageDatasetItem(ID, false))
                    {
                        MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                        return;
                    }
                    listView.Items.Remove(item);
                }
            }
            else
            {
                int ID = iDataset.GetImageDatasetItemID(_contextItem.Text);
                if (ID == -1)
                {
                    MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                    return;
                }
                if (!iDataset.DeleteImageDatasetItem(ID, false))
                {
                    MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                    return;
                }
                listView.Items.Remove(_contextItem);
            }
            SetStatusLabel1Text(listView.Items.Count + " Items...");
        }
 void import_ReportRequest(FDBImageDataset sender, RequestArgs args)
 {
     args.Result = MessageBox.Show(
         args.Request,
         "Warning",
         args.Buttons,
         MessageBoxIcon.Warning);
 }
        async private Task <bool> ImportFiles(string[] data, bool refreshList, Dictionary <string, Guid> providers)
        {
            IRasterClass rc = await _exObject.GetInstanceAsync() as IRasterClass;

            if (rc == null)
            {
                return(false);
            }

            IRasterDataset rDS = rc.Dataset as IRasterDataset;

            if (rDS == null || rDS.Database == null)
            {
                return(false);
            }

            FDBImageDataset operations = new FDBImageDataset(rDS.Database as IImageDB, rDS.DatasetName);

            // refreshList = false wenn ganzen Verzeichnis durchsucht wird...
            // dann sollen auch keine Fehler verursacht werden wenn ein bild nicht gereferenziert ist,
            // in diesem fall bild einfach ignorieren
            operations.handleNonGeorefAsError = refreshList;

            ImageImportProgressReporter reporter = new ImageImportProgressReporter(operations, data.Length);

            ImportArguments args = new ImportArguments(operations, rDS, data, providers);

            FormTaskProgress progress = new FormTaskProgress();

            progress.Text = "Import Images: " + rDS.DatasetName;
            progress.Mode = ProgressMode.ProgressDisk;
            progress.ShowProgressDialog(reporter, Import(args));

            if (refreshList)
            {
                await RefreshList();
            }

            if (!reporter.CancelTracker.Continue)
            {
                MessageBox.Show("Cancel...");
                return(false);
            }

            if (operations.lastErrorMessage != String.Empty)
            {
                MessageBox.Show("ERROR: " + operations.lastErrorMessage);
                return(false);
            }

            await rDS.RefreshClasses();

            return(true);
        }
        void import_ReportAction(FDBImageDataset sender, string action)
        {
            if (ReportProgress == null)
            {
                return;
            }

            _report.featurePos = 0;
            _report.Message    = action;

            ReportProgress(_report);
        }
        void import_ReportProgress(FDBImageDataset sender, int progress)
        {
            if (ReportProgress == null)
            {
                return;
            }

            _progress         += progress;
            _report.featureMax = Math.Max(_report.featureMax, _progress);
            _report.featurePos = _progress;

            ReportProgress(_report);
        }
        public ImageImportProgressReporter(FDBImageDataset import, int max)
        {
            if (import == null)
            {
                return;
            }
            _cancelTracker = import.CancelTracker;

            _report.featureMax     = max;
            import.ReportAction   += new FDBImageDataset.ReportActionEvent(import_ReportAction);
            import.ReportProgress += new FDBImageDataset.ReportProgressEvent(import_ReportProgress);
            import.ReportRequest  += new FDBImageDataset.ReportRequestEvent(import_ReportRequest);
        }
Exemplo n.º 9
0
        static bool ImportFiles(IFeatureDataset ds, string [] filenames, Dictionary <string, Guid> providers)
        {
            FDBImageDataset import = new FDBImageDataset(ds.Database as IImageDB, ds.DatasetName);

            import.handleNonGeorefAsError = !(rootPath != String.Empty);

            foreach (string filename in filenames)
            {
                //Console.WriteLine("Import: " + filename);
                if (!import.Import(filename, providers))
                {
                    Console.WriteLine("Error: " + import.lastErrorMessage);
                    if (!continueOnError)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        async private void updateImageToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_exObject == null || _contextItem == null)
            {
                return;
            }

            FDBImageDataset iDataset = null;

            var instance = await _exObject?.GetInstanceAsync();

            if (instance is SqlFDBImageCatalogClass)
            {
                SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)instance;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            else if (instance is IRasterCatalogClass)
            {
                IRasterCatalogClass layer = (IRasterCatalogClass)instance;
                iDataset = new FDBImageDataset((IImageDB)layer.Dataset.Database, layer.Name);
            }
            if (iDataset == null)
            {
                return;
            }

            int ID = await iDataset.GetImageDatasetItemID(_contextItem.Text);

            if (ID == -1)
            {
                MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                return;
            }
            if (!await iDataset.UpdateImageDatasetBitmap(ID))
            {
                MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                return;
            }

            _contextItem.ImageIndex = 0;
        }
        private void updateImageToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_exObject == null || _contextItem == null)
            {
                return;
            }
            FDBImageDataset iDataset = null;

            if (_exObject.Object is SqlFDBImageCatalogClass)
            {
                SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)_exObject.Object;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            else if (_exObject.Object is AccessFDBImageCatalogClass)
            {
                AccessFDBImageCatalogClass layer = (AccessFDBImageCatalogClass)_exObject.Object;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            if (iDataset == null)
            {
                return;
            }

            int ID = iDataset.GetImageDatasetItemID(_contextItem.Text);

            if (ID == -1)
            {
                MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                return;
            }
            if (!iDataset.UpdateImageDatasetBitmap(ID))
            {
                MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                return;
            }

            _contextItem.ImageIndex = 0;
        }
Exemplo n.º 12
0
        static bool RemoveUnexisting(IFeatureDataset ds)
        {
            FDBImageDataset import = new FDBImageDataset(ds.Database as IImageDB, ds.DatasetName);

            return(import.RemoveUnexisting());
        }
        async private void removeImageFromDatasetToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_exObject == null || _contextItem == null)
            {
                return;
            }

            FDBImageDataset iDataset = null;

            var instatnce = await _exObject.GetInstanceAsync();

            if (instatnce is SqlFDBImageCatalogClass)
            {
                SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)instatnce;
                iDataset = new FDBImageDataset(layer._fdb, layer.Name);
            }
            else if (instatnce is IRasterCatalogClass)
            {
                IRasterCatalogClass layer = (IRasterCatalogClass)instatnce;
                iDataset = new FDBImageDataset((IImageDB)layer.Dataset.Database, layer.Name);
            }
            if (iDataset == null)
            {
                return;
            }

            if (listView.SelectedItems.Contains(_contextItem))
            {
                foreach (ListViewItem item in listView.SelectedItems)
                {
                    int ID = await iDataset.GetImageDatasetItemID(item.Text);

                    if (ID == -1)
                    {
                        MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                        return;
                    }
                    if (!await iDataset.DeleteImageDatasetItem(ID, false))
                    {
                        MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                        return;
                    }
                    listView.Items.Remove(item);
                }
            }
            else
            {
                int ID = await iDataset.GetImageDatasetItemID(_contextItem.Text);

                if (ID == -1)
                {
                    MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                    return;
                }
                if (!await iDataset.DeleteImageDatasetItem(ID, false))
                {
                    MessageBox.Show(iDataset.lastErrorMessage, "ERROR");
                    return;
                }
                listView.Items.Remove(_contextItem);
            }
            SetStatusLabel1Text(listView.Items.Count + " Items...");
        }
Exemplo n.º 14
0
        async static Task <bool> RemoveUnexisting(IFeatureDataset ds)
        {
            FDBImageDataset import = new FDBImageDataset(ds.Database as IImageDB, ds.DatasetName);

            return(await import.RemoveUnexisting());
        }