/// <summary> /// Creates a plugin panel for the plugin /// </summary> public void CreatePluginPanel() { this.pluginUI = new PluginUI(this); this.pluginUI.Text = TextHelper.GetString("Title.PluginPanel"); this.pluginUI.ParentPanel = PluginBase.MainForm.CreateDockablePanel(this.pluginUI, this.pluginGuid, this.pluginImage, DockState.DockBottomAutoHide); ResultsPanelHelper.Initialize(this, this.pluginUI); }
/// <summary> /// Handles the incoming events /// </summary> public void HandleEvent(Object sender, NotifyEvent e, HandlingPriority priority) { switch (e.Type) { case EventType.Command: var de = (DataEvent)e; switch (de.Action) { case "ResultsPanel.ClearResults": de.Handled = true; ResultsPanelHelper.ClearResults((string)de.Data); break; case "ResultsPanel.ShowResults": e.Handled = true; ResultsPanelHelper.ShowResults((string)de.Data); break; } break; case EventType.ApplySettings: case EventType.ApplyTheme: ResultsPanelHelper.ApplySettings(); break; case EventType.ProcessStart: this.pluginUI.ClearOutput(); break; case EventType.ProcessEnd: this.pluginUI.DisplayOutput(); break; case EventType.Trace: ResultsPanelHelper.OnTrace(); break; case EventType.FileOpen: ResultsPanelHelper.OnFileOpen((TextEvent)e); break; case EventType.Keys: KeyEvent ke = (KeyEvent)e; switch (PluginBase.MainForm.GetShortcutItemId(ke.Value)) { case null: break; case "ResultsPanel.ShowNextResult": ke.Handled = ResultsPanelHelper.ActiveUI.NextEntry(); break; case "ResultsPanel.ShowPrevResult": ke.Handled = ResultsPanelHelper.ActiveUI.PreviousEntry(); break; case "ResultsPanel.ClearResults": ke.Handled = ResultsPanelHelper.ActiveUI.ClearOutput(); break; case "ResultsPanel.ClearIgnoredEntries": ke.Handled = ResultsPanelHelper.ActiveUI.ClearIgnoredEntries(); break; default: if (ke.Value == PanelContextMenu.CopyEntryKeys) { ke.Handled = ResultsPanelHelper.ActiveUI.CopyTextShortcut(); } else if (ke.Value == PanelContextMenu.IgnoreEntryKeys) { ke.Handled = ResultsPanelHelper.ActiveUI.IgnoreEntryShortcut(); } break; } break; } }