private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.RequestedPluginListRefreshEvent) { CheckPlugins(); } }
private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.PluginListsUpdatedEvent) { UpdateTreeView(); } }
private void ProcessEvent(IIDEEvent ideEvent) { lock (_publishedEvents) { _publishedEvents.Add(ideEvent); _eventReceptionLock.Set(); } }
private bool IsTimeout(IIDEEvent e) { if (curInt == null) { return(false); } Asserts.That(e.TriggeredAt.HasValue); return(curInt.EndTime + _maxInactivityTime < e.TriggeredAt.Value); }
private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.PluginListsUpdatedEvent) { UpdateAvailablePluginsTreeView(); UpdateInstalledPluginsTreeView(); ResetUIElements(); } }
private void EndCurrentInterval(IIDEEvent e = null) { if (e != null) { Asserts.That(e.TriggeredAt.HasValue); _context.UpdateDurationForIntervalToThis(_cur, e.TriggeredAt.Value); } _hasFocus = false; _cur = null; }
private void OnProjectPathsChanged(IIDEEvent obj) { DialogResult result = DarkMessageBox.Show(this, "To apply the changes, you must restart TombIDE.\n" + "Are you sure you want to do that?", "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (!_ide.CanClose()) { // User pressed "Cancel" DarkMessageBox.Show(this, "Operation cancelled.\nNo paths have been affected.", "Operation cancelled", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (obj is IDE.ProjectScriptPathChangedEvent) { _ide.Project.ScriptPath = ((IDE.ProjectScriptPathChangedEvent)obj).NewPath; } else if (obj is IDE.ProjectLevelsPathChangedEvent) { List <ProjectLevel> projectLevels = new List <ProjectLevel>(); projectLevels.AddRange(_ide.Project.Levels); // Remove all internal level entries from the project's Levels list (for safety) foreach (ProjectLevel projectLevel in projectLevels) { if (projectLevel.FolderPath.StartsWith(_ide.Project.LevelsPath, StringComparison.OrdinalIgnoreCase)) { _ide.Project.Levels.Remove(projectLevel); } } _ide.Project.LevelsPath = ((IDE.ProjectLevelsPathChangedEvent)obj).NewPath; } RestartApplication(); } else if (result == DialogResult.No) { DarkMessageBox.Show(this, "Operation cancelled.\nNo paths have been affected.", "Operation cancelled", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.SelectedLevelChangedEvent) { // Update the whole control depending on the level selection if (_ide.SelectedLevel != null) { tabControl.Enabled = true; if (tabControl.SelectedIndex == 0) { UpdateSettings(); } else if (tabControl.SelectedIndex == 1) { InitializeResourceListRefresh(); } } else { ClearEverything(); tabControl.Enabled = false; } } else if (obj is IDE.ProgramButtonsModifiedEvent) { // Cache the first 3 items, because they are important List <ToolStripItem> cachedItems = new List <ToolStripItem> { contextMenu.Items[0], contextMenu.Items[1], contextMenu.Items[2] }; // Clear the whole list contextMenu.Items.Clear(); // Re-Add the cached items contextMenu.Items.AddRange(cachedItems.ToArray()); AddPinnedProgramsToContextMenu(); } }
private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.SelectedLevelSettingsChangedEvent) { // Update the text of the node (if the level name was changed ofc) if (button_ViewFileNames.Checked) { if (_ide.SelectedLevel.SpecificFile == "$(LatestFile)") { treeView.SelectedNodes[0].Text = _ide.SelectedLevel.Name + " (" + _ide.SelectedLevel.GetLatestPrj2File() + ")"; } else { treeView.SelectedNodes[0].Text = _ide.SelectedLevel.Name + " (" + _ide.SelectedLevel.SpecificFile + ")"; } } else { treeView.SelectedNodes[0].Text = _ide.SelectedLevel.Name; } // Mark external levels if (!_ide.SelectedLevel.FolderPath.StartsWith(_ide.Project.LevelsPath, StringComparison.OrdinalIgnoreCase)) { treeView.SelectedNodes[0].Text = _ide.IDEConfiguration.ExternalLevelPrefix + treeView.SelectedNodes[0].Text; } // Update the node's Tag with the updated level treeView.SelectedNodes[0].Tag = _ide.SelectedLevel; // Send the new list (with the modified node) into the .trproj file ReserializeTRPROJ(); } else if (obj is IDE.PRJ2FileDeletedEvent) { // Clear the selection immediately, otherwise many exceptions will happen! treeView.SelectedNodes.Clear(); CheckItemSelection(); RefreshLevelList(); } }
private void OnIDEEventRaised(IIDEEvent obj) { if (obj is IDE.SelectedIDETabChangedEvent) { SelectIDETab(((IDE.SelectedIDETabChangedEvent)obj).Current); } else if (obj is IDE.ProjectScriptPathChangedEvent || obj is IDE.ProjectLevelsPathChangedEvent) { OnProjectPathsChanged(obj); } else if (obj is IDE.ScriptEditor_ContentChangedEvent) { // Indicate changes inside the Script Editor panelButton_ScriptEditor.BackColor = Color.FromArgb(180, 100, 0); timer_ScriptButtonBlinking.Interval = 1; timer_ScriptButtonBlinking.Start(); } else if (obj is IDE.ApplicationRestartingEvent) { RestartApplication(); } }
public void RaiseEvent(IIDEEvent eventObj) => SynchronizationContext.Current.Send(eventObj_ => IDEEventRaised?.Invoke((IIDEEvent)eventObj_), eventObj);
private static string Print(IIDEEvent e) { var ise = e as IDEStateEvent; if (ise != null) { return("IDEStateEvent({0})".FormatEx(ise.IDELifecyclePhase)); } var de = e as DebuggerEvent; if (de != null) { return("DebuggerEvent({0}, {1})".FormatEx(de.Action, de.Mode)); } var we = e as WindowEvent; if (we != null) { if (Names.Window("main Microsoft Visual Studio").Equals(we.Window)) { return(we.Action == WindowAction.Activate ? "FocusGain" : "FocusLost"); } return ("WindowEvent({0}, {1})".FormatEx( we.Window.Caption.Replace("Unit Test Sessions - All tests from ", "Tests: ") .Replace(" - Microsoft Visual Studio - Experimental Instance", ""), we.Action)); } var ce = e as CommandEvent; if (ce != null) { var cid = ce.CommandId; if (cid.Contains(':')) { cid = cid.Substring(cid.LastIndexOf(':') + 1); } return("CommandEvent({0})".FormatEx(cid)); } var tre = e as TestRunEvent; if (tre != null) { return("TestRunEvent({0} tests)".FormatEx(tre.Tests.Count)); } var ne = e as NavigationEvent; if (ne != null) { switch (ne.TypeOfNavigation) { case NavigationType.CtrlClick: return("NavigationEvent({0} -> {1})".FormatEx(Simple(ne.Location), Simple(ne.Target))); case NavigationType.Unknown: return("NavigationEvent(unknown)"); default: return("NavigationEvent({0})".FormatEx(Simple(ne.Location))); } } return(e.GetType().Name); }