public IBarButton InsertButton(int index, string caption, System.Drawing.Image image, EventHandler clickHandler) { IBarButton item = InsertButton(index, caption, clickHandler); item.Image = image; return(item); }
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 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); }
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)); }
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)); }
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); } }
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; }