Esempio n. 1
0
        public void OnEvent(object element, object dataset)
        {
            if (!(element is IFeatureLayer))
            {
                MessageBox.Show("Item is not a featurelayer");
                return;
            }
            if (((IFeatureLayer)element).FeatureClass == null)
            {
                MessageBox.Show("Item has not a valid featureclass!");
                return;
            }

            List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>();

            filters.Add(new OpenRendererFilter(((IFeatureLayer)element).FeatureClass.GeometryType));

            ExplorerDialog dlg = new ExplorerDialog("Open Featurelayer...", filters, true);

            dlg.MulitSelection = false;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                IExplorerObject exObject = dlg.ExplorerObjects[0];
                if (!(exObject.Object is ITOCElement))
                {
                    return;
                }

                IFeatureLayer source = ((ITOCElement)exObject.Object).Layers[0] as IFeatureLayer;
                if (source == null)
                {
                    return;
                }

                IFeatureLayer dest = (IFeatureLayer)element;

                Dialogs.FormImportRenderers dlg2 = new Dialogs.FormImportRenderers();
                if (dlg2.ShowDialog() == DialogResult.OK)
                {
                    if (dlg2.FeatureRenderer)
                    {
                        dest.FeatureRenderer = source.FeatureRenderer;
                    }
                    if (dlg2.LabelRenderer)
                    {
                        dest.LabelRenderer = source.LabelRenderer;
                    }
                    if (dlg2.SelectionRenderer)
                    {
                        dest.SelectionRenderer = source.SelectionRenderer;
                    }
                }
            }
        }
Esempio n. 2
0
        async public Task <bool> OnEvent(object element, object dataset)
        {
            if (!(element is IFeatureLayer))
            {
                MessageBox.Show("Item is not a featurelayer");
                return(true);
            }
            if (((IFeatureLayer)element).FeatureClass == null)
            {
                MessageBox.Show("Item has not a valid featureclass!");
                return(true);
            }

            List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>();

            filters.Add(new OpenRendererFilter(((IFeatureLayer)element).FeatureClass.GeometryType));

            ExplorerDialog dlg = new ExplorerDialog("Open Featurelayer...", filters, true);

            dlg.MulitSelection = false;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                IExplorerObject exObject = dlg.ExplorerObjects[0];

                var instatnce = await exObject?.GetInstanceAsync();

                if (!(instatnce is ITOCElement))
                {
                    return(true);
                }

                IFeatureLayer source = ((ITOCElement)instatnce).Layers[0] as IFeatureLayer;
                if (source == null)
                {
                    return(true);
                }

                IFeatureLayer dest = (IFeatureLayer)element;

                Dialogs.FormImportRenderers dlg2 = new Dialogs.FormImportRenderers();
                if (dlg2.ShowDialog() == DialogResult.OK)
                {
                    if (dlg2.FeatureRenderer)
                    {
                        dest.FeatureRenderer = source.FeatureRenderer;
                    }

                    if (dlg2.LabelRenderer)
                    {
                        dest.LabelRenderer = source.LabelRenderer;
                    }

                    if (dlg2.SelectionRenderer)
                    {
                        dest.SelectionRenderer = source.SelectionRenderer;
                    }

                    if (dlg2.RenderScales)
                    {
                        dest.MinimumScale = source.MinimumScale;
                        dest.MaximumScale = source.MaximumScale;
                        if (dlg2.FeatureRenderer)
                        {
                            dest.MaxRefScaleFactor = source.MaxRefScaleFactor;
                        }
                    }

                    if (dlg2.LabelScales)
                    {
                        dest.MinimumLabelScale = source.MinimumLabelScale;
                        dest.MaximumLabelScale = source.MaximumLabelScale;
                        if (dlg2.LabelRenderer)
                        {
                            dest.MaxLabelRefScaleFactor = source.MaxLabelRefScaleFactor;
                        }
                    }

                    if (dlg2.FilterQuery)
                    {
                        dest.FilterQuery = source.FilterQuery;
                    }
                }
            }
            return(true);
        }