public IEnumerable <Type> GetPlugins(Plugins.Type type) { Init(); List <Type> pluginTypes = new List <Type>(); foreach (var pluginType in _pluginTypes.Values) { foreach (var interfaceType in pluginType.GetInterfaces() .Where(t => t.ToString().ToLower().StartsWith("gview.framework."))) { if (interfaceType.ToString().Substring(interfaceType.ToString().LastIndexOf(".") + 1).ToLower() == type.ToString().ToLower()) { pluginTypes.Add(pluginType); } } } return(pluginTypes); }
public static string TypeName(Plugins.Type type) { switch (type) { case Type.IDataset: return(typeof(IDataset).ToString()); case Type.ITool: return(typeof(ITool).ToString()); case Type.IExTool: return(typeof(IExTool).ToString()); case Type.IDatasetElementContextMenuItem: return(typeof(IDatasetElementContextMenuItem).ToString()); case Type.IMapContextMenuItem: return(typeof(IMapContextMenuItem).ToString()); case Type.IFeatureRenderer: return(typeof(IFeatureRenderer).ToString()); case Type.ILabelRenderer: return(typeof(ILabelRenderer).ToString()); case Type.ISymbol: return(typeof(ISymbol).ToString()); case Type.IDockableWindowContainer: return(typeof(IDockableWindowContainer).ToString()); case Type.IExplorerObject: return(typeof(IExplorerObject).ToString()); case Type.IExplorerCommand: return(typeof(IExplorerCommand).ToString()); case Type.IExplorerTabPage: return("gView.Framework.UI.IExplorerTabPage"); case Type.IServiceRequestInterpreter: return(typeof(IServiceRequestInterpreter).ToString()); case Type.IMapOptionPage: return("gView.Framework.UI.IMapOptionPage"); case Type.IExplorerOptionPage: return("gView.Framework.UI.IExplorerOptionPage"); case Type.ILayerPropertyPage: return("gView.Framework.UI.ILayerPropertyPage"); case Type.IGraphicElement2: return(typeof(IGraphicElement2).ToString()); case Type.IAutoField: return(typeof(IAutoField).ToString()); case Type.IFieldDomain: return(typeof(IFieldDomain).ToString()); case Type.IServiceableDataset: return(typeof(IServiceableDataset).ToString()); case Type.IFileFeatureDatabase: return(typeof(IFileFeatureDatabase).ToString()); case Type.IMetadataProvider: return(typeof(IMetadataProvider).ToString()); case Type.IPersistable: return(typeof(IPersistable).ToString()); case Type.IMapApplicationModule: return(typeof(IMapApplicationModule).ToString()); case Type.IActivity: return(typeof(IActivity).ToString()); case Type.ISimpleNumberCalculation: return(typeof(ISimpleNumberCalculation).ToString()); case Type.INetworkTracer: return(typeof(INetworkTracer).ToString()); case Type.IFeatureLayerJoin: return(typeof(IFeatureLayerJoin).ToString()); case Type.IFeatureDatabase: return(typeof(IFeatureDatabase).ToString()); case Type.ICartoRibbonTab: return("gView.Framework.UI.ICartoRibbonTab"); case Type.IExplorerRibbonTab: return("gView.Framework.UI.IExplorerRibbonTab"); } return(String.Empty); }
/* * public XmlNodeList Tools * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//ITool"); * } * catch * { * return null; * } * } * } * public XmlNodeList Toolbars * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IToolbar"); * } * catch * { * return null; * } * } * } * * public XmlNodeList ExTools * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IExTool"); * } * catch * { * return null; * } * } * } * public XmlNodeList ExToolbars * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IExToolbar"); * } * catch * { * return null; * } * } * } * * * public XmlNodeList DatasetElementContextMenuItems * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IDatasetElementContextMenuItem).ToString() + "']"); * } * catch(Exception ex) * { * return null; * } * } * } * public XmlNodeList MapContextMenuItems * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IMapContextMenuItem).ToString()); * } * catch (Exception ex) * { * return null; * } * } * } * public XmlNodeList DatasetProvider * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IDataset).ToString()); * } * catch * { * return null; * } * } * } * public XmlNodeList FeatureRenderer * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IFeatureRenderer)); * } * catch * { * return null; * } * } * } * public XmlNodeList LabelRenderer * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(ILabelRenderer)); * } * catch * { * return null; * } * } * } * public XmlNodeList Symbols * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(ISymbol)); * } * catch * { * return null; * } * } * } * public XmlNodeList DockableWindowContainers * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IDockableWindowContainer)); * } * catch * { * return null; * } * } * } * public XmlNodeList ExplorerObjects * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IExplorerObject)); * } * catch * { * return null; * } * } * } * public XmlNodeList ExplorerCommands * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IExplorerCommand)); * } * catch * { * return null; * } * } * } * public XmlNodeList ExplorerTabPages * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IExplorerTabPage)); * } * catch * { * return null; * } * } * } * public XmlNodeList ServiceRequestInterpreter * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IServiceRequestInterpreter)); * } * catch * { * return null; * } * } * } * public XmlNodeList MapOptionPage * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IMapOptionPage)); * } * catch * { * return null; * } * } * } * public XmlNodeList ExplorerOptionPage * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IExplorerOptionPage)); * } * catch * { * return null; * } * } * } * public XmlNodeList LayerPropertyPage * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(ILayerPropertyPage)); * } * catch * { * return null; * } * } * } * public XmlNodeList GraphicElement2 * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IGraphicElement2)); * } * catch * { * return null; * } * } * } * public XmlNodeList AutoFields * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IAutoField)); * } * catch * { * return null; * } * } * } * public XmlNodeList ServiceableDatasets * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IServiceableDataset)); * } * catch * { * return null; * } * } * } * public XmlNodeList FileFeatureDatabase * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IFileFeatureDatabase)); * } * catch * { * return null; * } * } * } * public XmlNodeList MetadataProvider * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IMetadataProvider)); * } * catch * { * return null; * } * } * } * public XmlNodeList Persistable * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IPersistable)); * } * catch * { * return null; * } * } * } * public XmlNodeList MapApplicationModule * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IMapApplicationModule)); * } * catch * { * return null; * } * } * } * public XmlNodeList FieldDomains * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IFieldDomain)); * } * catch * { * return null; * } * } * } * public XmlNodeList GeoProcessingActivities * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(IActivity)); * } * catch * { * return null; * } * } * } * public XmlNodeList SimpleNumberCalculations * { * get * { * try * { * return PlugInManager._doc.SelectNodes("components/plugin[@interface='" + typeof(ISimpleNumberCalculation)); * } * catch * { * return null; * } * } * } * public XmlNodeList NetworkTracers * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//INetworkTracer"); * } * catch * { * return null; * } * } * } * public XmlNodeList FeatureLayerJoins * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IFeatureLayerJoin"); * } * catch * { * return null; * } * } * } * public XmlNodeList FeatureDatabases * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IFeatureDatabase"); * } * catch * { * return null; * } * } * } * public XmlNodeList CartoRibbonTabs * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//ICartoRibbonTab"); * } * catch * { * return null; * } * } * } * public XmlNodeList ExplorerRibbonTabs * { * get * { * try * { * return PlugInManager._doc.SelectNodes("//IExplorerRibbonTab"); * } * catch * { * return null; * } * } * } */ public IEnumerable <XmlNode> GetPluginNodes(Plugins.Type type) { return(GetPluginNodes(Plugins.TypeName(type))); }