Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        /*
         *      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)));
        }