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; }
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)); } }
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)); } } }