public IBarButton InsertButton(int index, string caption, System.Drawing.Image image, EventHandler clickHandler)
        {
            IBarButton item = InsertButton(index, caption, clickHandler);

            item.Image = image;
            return(item);
        }
Exemple #2
0
            public void UpdateItem(IBarButton barItem, bool fEnabled, bool fRefreshImage)
            {
                string pid = InstanceToFullName(barItem, false);

                if (pid.Length > 0)
                {
                    TryCallButtonBar(bbar =>
                                     bbar.UpdatePluginItem(pid, barItem, fEnabled, fRefreshImage));
                }
            }
Exemple #3
0
 public Plugin Load(string pluginID)
 {
     if (File.Exists(Path))
     {
         try {
             PluginInformation information;
             if (dicPluginInformations.TryGetValue(pluginID, out information))
             {
                 IPluginClient pluginClient = assembly.CreateInstance(information.TypeFullName) as IPluginClient;
                 if (pluginClient != null)
                 {
                     Plugin     plugin = new Plugin(pluginClient, information);
                     IBarButton button = pluginClient as IBarButton;
                     if (button != null)
                     {
                         Image imageLarge = information.ImageLarge;
                         Image imageSmall = information.ImageSmall;
                         try {
                             Image image  = button.GetImage(true);
                             Image image4 = button.GetImage(false);
                             if (image != null)
                             {
                                 information.ImageLarge = image;
                                 if (imageLarge != null)
                                 {
                                     imageLarge.Dispose();
                                 }
                             }
                             if (image4 != null)
                             {
                                 information.ImageSmall = image4;
                                 if (imageSmall != null)
                                 {
                                     imageSmall.Dispose();
                                 }
                             }
                         }
                         catch (Exception exception) {
                             PluginManager.HandlePluginException(exception, IntPtr.Zero, information.Name, "Getting image from pluging.");
                             throw;
                         }
                     }
                     return(plugin);
                 }
             }
         }
         catch (Exception exception2) {
             QTUtility2.MakeErrorLog(exception2, null);
         }
     }
     return(null);
 }
Exemple #4
0
        public void Load(IServiceProvider serviceProvider)
        {
            sp = serviceProvider;
            wm = sp.GetService(typeof (IWindowManager)) as IWindowManager;
            var pw = wm.Windows.Add(WINDOW_NAME, new PluginControl(), "Plugin test");
            pw.Visible = true;

            bm = serviceProvider.GetService(typeof(IBarManager)) as IBarManager;
            button = bm.Bars[BarNames.Menu].Items.AddButton("Plugin - test button!", new EventHandler(Click));
            menu = bm.Bars[BarNames.Menu].Items.AddMenu(MENU_NAME, "Plugin - test menu!");

            button2 = bm.Bars[MENU_NAME].Items.AddButton("test #2!", new EventHandler(Click));
        }
Exemple #5
0
        public void Load(IServiceProvider serviceProvider)
        {
            sp = serviceProvider;
            wm = sp.GetService(typeof(IWindowManager)) as IWindowManager;
            var pw = wm.Windows.Add(WINDOW_NAME, new PluginControl(), "Plugin test");

            pw.Visible = true;

            bm     = serviceProvider.GetService(typeof(IBarManager)) as IBarManager;
            button = bm.Bars[BarNames.Menu].Items.AddButton("Plugin - test button!", new EventHandler(Click));
            menu   = bm.Bars[BarNames.Menu].Items.AddMenu(MENU_NAME, "Plugin - test menu!");

            button2 = bm.Bars[MENU_NAME].Items.AddButton("test #2!", new EventHandler(Click));
        }
Exemple #6
0
 public void UpdateItem(IBarButton barItem, bool fEnabled, bool fRefreshImage)
 {
     string pid = InstanceToFullName(barItem, false);
     if(pid.Length > 0) TryCallButtonBar(bbar =>
         bbar.UpdatePluginItem(pid, barItem, fEnabled, fRefreshImage));
 }
 public void UpdateItem(IBarButton barItem, bool fEnabled, bool fRefreshImage) {
     IntPtr ptr;
     string strMsg = pluginManager.InstanceToFullName(barItem, false);
     if((strMsg.Length > 0) && QTUtility.instanceManager.TryGetButtonBarHandle(tabBar.ExplorerHandle, out ptr)) {
         int num = 0;
         if(fEnabled) {
             num |= 1;
         }
         if(fRefreshImage) {
             num |= 2;
         }
         QTUtility2.SendCOPYDATASTRUCT(ptr, (IntPtr)11, strMsg, (IntPtr)num);
     }
 }
Exemple #8
0
 internal bool UpdatePluginItem(string pid, IBarButton instance, bool fEnabled, bool fRefreshImage)
 {
     int p = Array.IndexOf(Config.BBar.ActivePluginIDs, pid);
     if(p == -1) return false;
     p = (p + 1) << 16;
     ToolStripItem item = toolStrip.Items.Cast<ToolStripItem>().FirstOrDefault(tsi => (int)tsi.Tag == p);
     if(item == null) return false;
     item.Enabled = fEnabled;
     try {
         item.ToolTipText = instance.Text;
         if(fRefreshImage) {
             item.Image = instance.GetImage(Config.BBar.LargeButtons);
         }
     }
     catch(Exception exception) {
         PluginManager.HandlePluginException(exception, ExplorerHandle, pid, "Refreshing plugin image and text.");
     }
     return true;
 }