Exemplo n.º 1
0
 void HandleAddinManagerExtensionChanged(object sender, ExtensionEventArgs args)
 {
     if (args.Path == "/MonoDevelop/Ide/SideBarTabs")
     {
         UpdateTabs();
     }
 }
Exemplo n.º 2
0
 void OnExtensionChanged(object s, ExtensionEventArgs args)
 {
     if (args.PathChanged("/MonoDevelop/ProjectModel/ProjectServiceExtensions"))
     {
         defaultExtensionChain = null;
     }
 }
Exemplo n.º 3
0
 static void OnExtensionChanged(object sender, ExtensionEventArgs args)
 {
     if (args.PathChanged(extensionPath))
     {
         UpdateExtensionObjects();
     }
 }
Exemplo n.º 4
0
 void OnExtensionChanged(object sender, ExtensionEventArgs args)
 {
     if (args.PathChanged(ToolbarExtensionPath))
     {
         RebuildToolbar();
     }
 }
 public void Context_ExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (e.ExtensionPoint.Equals(EXTENS_POINT))
     {
         this.onExtensionChanged();
     }
 }
Exemplo n.º 6
0
 private void OnExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (ExtensionChanged != null)
     {
         ExtensionChanged(sender, e);
     }
 }
Exemplo n.º 7
0
 private void OnExtensionChanged(ExtensionEventArgs args)
 {
     if (this._extensionChanged != null)
     {
         this._extensionChanged(this, args);
     }
 }
Exemplo n.º 8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ContextOnExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (e.GetState() == ExtensionEventArgs.LOAD)
     {
         if (e.GetExtensionData().Name == "WpfLeftMenu.TopMenuExtension")
         {
             LeftMenu.TopGroup.Items.Clear();
             foreach (XmlNode xmlNode in e.GetExtensionData().ExtensionList)
             {
                 foreach (XmlNode childNode in xmlNode.ChildNodes)
                 {
                     if (childNode.Attributes != null && childNode.Attributes["Name"] != null)
                     {
                         var item = new NavBarItem {
                             Content = childNode.Attributes["Name"].Value
                         };
                         item.Click += ItemOnClick;
                         LeftMenu.TopGroup.Items.Add(item);
                     }
                 }
             }
         }
     }
     else if (e.GetState() == ExtensionEventArgs.UNLOAD)
     {
         if (e.GetExtensionData().Name == "WpfLeftMenu.TopMenuExtension")
         {
             LeftMenu.TopGroup.Items.Clear();
         }
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// 触发扩展变更事件
 /// </summary>
 /// <param name="bundle">引发的模块</param>
 /// <param name="extensionEventArgs">扩展事件参数</param>
 public void FireExtensionChanged(IBundle bundle, ExtensionEventArgs extensionEventArgs)
 {
     if (this.ExtensionChanged != null)
     {
         this.ExtensionChanged(bundle, extensionEventArgs);
     }
 }
Exemplo n.º 10
0
 private void _extensionManager_ExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (BundleRuntime.Instance.State != BundleRuntimeState.Starting && BundleRuntime.Instance.State != BundleRuntimeState.Started)
     {
         return;
     }
     if (e.Action == CollectionChangedAction.Add)
     {
         ExtensionChangeHandler extensionChangeBuilder;
         if (_extensionBuilders.TryGetValue(e.ExtensionPoint, out extensionChangeBuilder))
         {
             extensionChangeBuilder.Builder.Build(e.Extension.Data, e.Extension.Owner);
         }
     }
     else if (e.Action == CollectionChangedAction.Remove)
     {
         ExtensionChangeHandler extensionChangeBuilder;
         if (_extensionBuilders.TryGetValue(e.ExtensionPoint, out extensionChangeBuilder))
         {
             //Rebuild controls.
             extensionChangeBuilder.Builder.Reset();
             LoadExistingExtensions(e.ExtensionPoint, extensionChangeBuilder);
         }
     }
 }
Exemplo n.º 11
0
 /// <summary>
 /// 发布扩展变化事件
 /// </summary>
 /// <param name="action"></param>
 /// <param name="extension"></param>
 internal void PublishExtensionEvent(object sender, ExtensionEventArgs e)
 {
     if (this.ExtensionChanged != null)
     {
         this.ExtensionChanged.Invoke(sender, e);
     }
 }
Exemplo n.º 12
0
 static void OnExtensionsChanged(object sender, ExtensionEventArgs args)
 {
     if (args.Path == ProjectService.ProjectModelExtensionsPath)
     {
         LoadExtensions();
     }
 }
Exemplo n.º 13
0
        /// <summary>
        /// 扩展变更处理。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnNavigationExtensionChanged(object sender, ExtensionEventArgs e)
        {
            // 当插件框架停止时,忽略扩展变化
            if (BundleRuntime.Instance.State == BundleRuntimeState.Stopping)
            {
                return;
            }
            if (e.ExtensionPoint.Equals(NavigationExtensionPoint))
            {
                if (e.Action == CollectionChangedAction.Add) // 扩展XML信息增加,即插件启动。
                {
                    AddNavigationByExtension(e.Extension);
                    HandlePendingAppendedNodes();
                }
                else // 扩展XML信息删除,即插件停止。
                {
                    RemoveNavigationByExtension(e.Extension);
                }

                if (NavigationChanged != null) // 发出扩展变更事件。
                {
                    NavigationChanged(this, new NavigationChangedEventArgs {
                        Action = CollectionChangedAction.Add, Bundle = e.Extension.Owner
                    });
                }
            }
        }
Exemplo n.º 14
0
 /// <summary>
 /// 触发Extension变更事件
 /// </summary>
 /// <param name="extensionEvent">Extension事件参数</param>
 public void FireExtensionEvent(ExtensionEventArgs extensionEvent)
 {
     foreach (IExtensionListener listener in extensionListenerList)
     {
         listener.ExtensionChanged(extensionEvent);
     }
 }
 void OnExtensionChanged(object s, ExtensionEventArgs args)
 {
     if (args.PathChanged("MonoDevelop/DesignerSupport/PropertyProviders"))
     {
         providers = null;
         ReSetPad();
     }
 }
Exemplo n.º 16
0
        private void FireExtensionChanged(string extensionPoint, CollectionChangedAction action, Extension extension)
        {
            ExtensionEventArgs args = new ExtensionEventArgs(extensionPoint, this, action)
            {
                Extension = extension
            };

            this.OnExtensionChanged(args);
        }
Exemplo n.º 17
0
 private static void AddToolbarItem(ExtensionEventArgs e, ToolStrip toolStrip, XmlNode xmlNode)
 {
     if (xmlNode.Name == "ToolbarItem")
     {
         //insert to default ToolBar
         ToolStripItem item = Parser.Build(xmlNode, e.Extension.Owner);
         toolStrip.Items.Add(item);
     }
 }
Exemplo n.º 18
0
 /// <summary>
 /// 功能区扩展变化处理逻辑
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (e.Point.Equals("Word.Robin"))
     {
         if (ribbonAdmin != null)
         {
             ribbonAdmin.AddExtension(e.Extension);
         }
     }
 }
Exemplo n.º 19
0
        void OnExtensionChanged(object s, ExtensionEventArgs args)
        {
            string codonpath = Path;

            if (args.PathChanged(codonpath))
            {
                BuildChildren();
                pad.TreeView.UpdateBuilders(builders, options);
            }
        }
Exemplo n.º 20
0
        void extensionManager_ExtensionChanged(object sender, ExtensionEventArgs e)
        {
            if (e.Action == CollectionChangedAction.Add)
            {
                switch (e.ExtensionPoint)
                {
                case MainMenuExtensionPoint:

                    var newItems = Parser.Build(e.Extension.Data, e.Extension.Owner);
                    mainForm.MenuStrip.Items.AddRange(newItems.ToArray());

                    break;


                case ToolStripExtensionPoint:

                    ToolStrip toolStrip = FindToolStrip();

                    foreach (var xmlNode in e.Extension.Data)
                    {
                        if (xmlNode.Name == "ToolStrip")
                        {
                            foreach (XmlNode toolbarItem in xmlNode.ChildNodes)
                            {
                                AddToolbarItem(e, toolStrip, toolbarItem);
                            }
                        }
                        else if (xmlNode.Name == "ToolbarItem")
                        {
                            AddToolbarItem(e, toolStrip, xmlNode);
                        }
                    }

                    break;

                case NavigationExtensionPoint:
                    foreach (var xmlNode in e.Extension.Data)
                    {
                        mainForm.AddNavigation(new NavigationItem {
                            Text = XmlUtility.ReadAttribute(xmlNode, "text")
                        });
                    }

                    break;

                default:
                    //Ignore other extensionpoint.
                    break;
                }
            }
            else if (e.Action == CollectionChangedAction.Remove)
            {
                //TODO: remove items.
            }
        }
 void OnExtensionChanged(object o, ExtensionEventArgs args)
 {
     if (args.PathChanged("/TextEditor/ToolbarButtons"))
     {
         BuildToolbar();
     }
     else if (args.PathChanged("/TextEditor/MainMenu") || args.PathChanged("/TextEditor/Templates"))
     {
         BuildMenu();
     }
 }
Exemplo n.º 22
0
 void OnExtensionChangedHandler(object s, ExtensionEventArgs args)
 {
     eventCount++;
     if (expectedPathsEvent.Contains(args.Path))
     {
         expectedPathsEvent.Remove(args.Path);
     }
     else
     {
         errorTag += "t4 (" + args.Path + ") ";
     }
 }
Exemplo n.º 23
0
        private void OnExtensionChanged(object sender, ExtensionEventArgs args)
        {
            var addinEngine = sender as AddinEngine;

            if (addinEngine != null && addinEngine.CurrentAddin.Id == ExtensionId)
            {
                var addins    = AddinManager.Registry.GetAddins();
                var isEnabled = addins.Any(a => a.LocalId == ExtensionId && a.Enabled);

                if (!isEnabled)
                {
                    Log.Debug("FanArt extension is being disabled, performing cleanup");
                    OnDisabled();
                }
            }
        }
Exemplo n.º 24
0
 private void BundleContextExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (e.ExtensionPoint.Equals(SimpleWinFormShellExtensionPoint))
     {
         if (e.Action == CollectionChangedAction.Add)
         {
             // 新增扩展信息,说明有插件被启动,为其创建界面菜单
             var app = ApplicationContainer.AddApplicationForExtension(e.Extension);
             CreateMenuStripForApplication(app);
         }
         else if (e.Action == CollectionChangedAction.Remove)
         {
             // 扩展信息被删除,有插件被停止,删除对应的界面菜单
             var app = ApplicationContainer.RemoveApplicationForExtension(e.Extension);
             RemoveMenuStripForApplication(app);
         }
     }
 }
 private void BundleContextExtensionChanged(object sender, ExtensionEventArgs e)
 {
     if (e.ExtensionPoint.Equals(SimpleWinFormShellExtensionPoint))
     {
         if (e.Action == CollectionChangedAction.Add)
         {
             // 新增扩展信息,说明有插件被启动,为其创建界面菜单
             var app = ApplicationContainer.AddApplicationForExtension(e.Extension);
             CreateMenuStripForApplication(app);
         }
         else if (e.Action == CollectionChangedAction.Remove)
         {
             // 扩展信息被删除,有插件被停止,删除对应的界面菜单
             var app = ApplicationContainer.RemoveApplicationForExtension(e.Extension);
             RemoveMenuStripForApplication(app);
         }
     }
 }
Exemplo n.º 26
0
        void TTSEngine_Event(object sender, ExtensionEventArgs args)
        {
            switch (args.EventType)
            {
            case "IndexReached":

                int?index = args.GetInvoker().GetPropertyInt("Index");
                if (index.HasValue)
                {
                    OnIndexReached(index.Value);
                }
                break;

            default:
                Log.Debug("TTSEngine raised unhandled event " + args.EventType);
                break;
            }
        }
Exemplo n.º 27
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ContextOnExtensionChanged(object sender, ExtensionEventArgs e)
        {
            var stateStr = string.Empty;

            if (e.GetState() == ExtensionEventArgs.LOAD)
            {
                stateStr = "Load";
            }
            else if (e.GetState() == ExtensionEventArgs.UNLOAD)
            {
                stateStr = "UnLoad";
            }
            var extensionStr = new StringBuilder();

            foreach (var xmlNode in e.GetExtensionData().ExtensionList)
            {
                extensionStr.Append(xmlNode.InnerXml);
            }
            log.Info(string.Format("{0} {1} {2} Extension {3}", ((IBundle)sender).GetSymbolicName(), stateStr, e.GetExtensionPoint().Name, extensionStr));
        }
Exemplo n.º 28
0
        void TTSEngine_Event(object sender, ExtensionEventArgs args)
        {
            switch (args.EventType)
            {
                case "IndexReached":                    

                    int? index = args.GetInvoker().GetPropertyInt("Index");
                    if (index.HasValue)
                    {
                        OnIndexReached(index.Value);
                    }
                    break;

                default:
                    Log.Debug("TTSEngine raised unhandled event " + args.EventType);
                    break;
            }
        }
Exemplo n.º 29
0
 static void OnExtensionChange(object s, ExtensionEventArgs args)
 {
     Console.WriteLine("Extension changed: " + args.Path);
 }
Exemplo n.º 30
0
        /// <summary>
        /// 初始化扩展信息
        /// </summary>
        private void LoadExtensions()
        {
            log.Debug("扩展点加载开始!");

            try
            {
                this.extensionPoints.Clear();
                this.extensionDatas.Clear();

                var extensionPointNames = BundleConfigProvider.GetBundleConfigExtensionPoints(this.manifestData);

                this.extensionPoints = extensionPointNames.Select(name => new ExtensionPoint()
                {
                    Name  = name,
                    Owner = this
                }).ToList();

                var extensionDataDic = BundleConfigProvider.GetBundleConfigExtensionDatas(this.manifestData);

                this.extensionDatas = extensionDataDic.Select(item => new ExtensionData()
                {
                    Name          = item.Key,
                    Owner         = this,
                    ExtensionList = item.Value
                }).ToList();

                //扩展已安装的Bundle的扩展点信息
                foreach (IBundle bundle in this.framework.GetBundles())
                {
                    var bundlePoints = bundle.GetExtensionPoints();
                    foreach (ExtensionPoint extensionPoint in bundlePoints)
                    {
                        var extensionData = extensionDatas.FirstOrDefault(item => item.Name == extensionPoint.Name);
                        if (extensionData != null)
                        {
                            log.Debug(string.Format("扩展点{0}加载!", extensionPoint.Name));

                            var eventArgs = new ExtensionEventArgs(ExtensionEventArgs.LOAD, extensionPoint, extensionData);

                            var fireContext = (IContextFireEvent)bundle.GetBundleContext();
                            fireContext.FireExtensionChanged(this, eventArgs);


                            var frameworkFireEvent = (IFrameworkFireEvent)framework;
                            frameworkFireEvent.FireExtensionEvent(eventArgs);
                        }
                    }
                }

                //从已经安装的Bundle中发现扩展数据
                foreach (ExtensionPoint extensionPoint in extensionPoints)
                {
                    foreach (IBundle bundle in this.framework.GetBundles())
                    {
                        var bundleExtensionDatas = bundle.GetExtensionDatas();
                        var extensionData        = bundleExtensionDatas.FirstOrDefault(item => item.Name == extensionPoint.Name);
                        if (extensionData != null)
                        {
                            log.Debug(string.Format("扩展点{0}加载!", extensionPoint.Name));

                            var eventArgs = new ExtensionEventArgs(ExtensionEventArgs.LOAD, extensionPoint, extensionData);

                            var fireContext = (IContextFireEvent)this.GetBundleContext();
                            fireContext.FireExtensionChanged(bundle, eventArgs);

                            var frameworkFireEvent = (IFrameworkFireEvent)framework;
                            frameworkFireEvent.FireExtensionEvent(eventArgs);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("加载Bundle扩展点配置信息出错!", ex);
                throw ex;
            }

            log.Debug("扩展点加载结束!");
        }
 private void Context_ExtensionChanged(object sender, ExtensionEventArgs e)
 {
     HandleBootstrapLayoutExtensions(e.ExtensionPoint);
 }
Exemplo n.º 32
0
 void ExtensionListener_g(object s, ExtensionEventArgs args)
 {
     counters[0].Update(args);
 }
Exemplo n.º 33
0
 public void Update(ExtensionEventArgs args)
 {
     eventCount++;
 }