示例#1
0
        public AddJoinDialog(IMapDocument mapDocument, IFeatureLayer layer)
        {
            _mapDocument = mapDocument;

            InitializeComponent();

            foreach (IField field in layer.Fields.ToEnumerable())
            {
                cmbFeatureLayerField.Items.Add(field.name);
            }

            PlugInManager pm = new PlugInManager();

            foreach (IFeatureLayerJoin join in pm.GetPluginInstances(typeof(IFeatureLayerJoin)))
            {
                if (join == null)
                {
                    continue;
                }
                cmbJoinClasses.Items.Add(new FeatureLayerJoinItem()
                {
                    FeatureLayerJoin = join
                });
            }
            cmbJoinClasses.SelectedIndex = 0;
        }
示例#2
0
        private void tvPlugins_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            e.Node.Nodes.Clear();

            PlugInManager pm = new PlugInManager();

            object[] plugins = pm.GetPluginInstances(e.Node.Text);
            if (plugins == null)
            {
                return;
            }

            foreach (object plugin in plugins)
            {
                e.Node.Nodes.Add(new PluginNode(plugin));
            }
        }
示例#3
0
        private void tvPlugins_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (tvPlugins.SelectedNode is TypeNode)
            {
                e.Node.Nodes.Clear();

                PlugInManager pm = new PlugInManager();

                var plugins = pm.GetPluginInstances(((TypeNode)e.Node).InterfaceType);
                if (plugins == null)
                {
                    return;
                }

                foreach (object plugin in plugins)
                {
                    e.Node.Nodes.Add(new PluginNode(plugin));
                }
            }
        }