/// <summary> /// Removes the binding child nodes and then adds the children back again if there are any. /// </summary> void RefreshBindingNode(TaskRunnerTreeNode taskRunnerNode, TaskRunnerBindEvent bindEvent) { // Ensure binding tab is displayed. notebook.CurrentTab = notebook.Tabs [0]; TaskRunnerBindingInformation binding = taskRunnerNode.TaskInfo.Bindings.FindBinding(bindEvent); TaskBindingTreeNode bindingNode = GetBindingTreeNode(bindEvent); TreeNavigator navigator = GetNavigator(bindingNode); if (navigator == null) { return; } navigator.RemoveChildren(); if (binding != null) { AddBindingChildNodes(taskRunnerNode.TaskInfo, binding, navigator, bindingNode); bindingsTreeView.ExpandRow(navigator.CurrentPosition, true); } else { // No more bindings. Last binding has been removed. RefreshBindingNodeName(bindingNode, navigator); } }
public void ClearTasks(bool clearTaskRunnerOutputLogView = false) { selectedTaskRunnerNode = null; projectsComboBox.Items.Clear(); tasksTreeStore.Clear(); ClearLogViews(clearTaskRunnerOutputLogView); }
void AddTaskChildNodes(TreeNavigator navigator, TaskRunnerTreeNode node) { foreach (TaskRunnerTreeNode childNode in node.GetChildNodes()) { TreeNavigator childNavigator = navigator.AddChild(); childNavigator.SetValue(taskRunnerNodeNameField, childNode.Name); childNavigator.SetValue(taskRunnerField, childNode); AddTaskChildNodes(childNavigator, childNode); navigator.MoveToParent(); } }
void TasksTreeViewRowActivated(object sender, TreeViewRowEventArgs e) { selectedTaskRunnerNode = GetTaskRunnerTreeNode(e.Position); if (selectedTaskRunnerNode?.GetErrorNode() != null) { ShowTaskRunnerExplorerLog(); } else { RunTask(); } }
void AddTaskNodes(TaskRunnerInformation task) { var rootNode = new TaskRunnerTreeNode(task); TreeNavigator navigator = tasksTreeStore.AddNode(); IconId icon = rootNode.Icon; if (!icon.IsNull) { navigator.SetValue(taskRunnerNodeIconField, ImageService.GetIcon(icon, Gtk.IconSize.Menu)); } navigator.SetValue(taskRunnerNodeNameField, rootNode.Name); navigator.SetValue(taskRunnerField, rootNode); AddTaskChildNodes(navigator, rootNode); }
void TasksTreeViewButtonPressed(object sender, ButtonEventArgs e) { if (!e.IsContextMenuTrigger) { return; } selectedTaskRunnerNode = GetTaskRunnerTreeNode(e.Position); if (selectedTaskRunnerNode == null) { return; } var commands = IdeApp.CommandService.CreateCommandEntrySet("/MonoDevelop/TaskRunnerExplorerPad/TaskContextMenu"); IdeApp.CommandService.ShowContextMenu(tasksTreeView.ToGtkWidget(), (int)e.X, (int)e.Y, commands, this); }
void TasksTreeViewSelectionChanged(object sender, EventArgs e) { selectedTaskRunnerNode = GetTaskRunnerTreeNode(tasksTreeView.SelectedRow); OnTaskRunnerSelected(selectedTaskRunnerNode?.TaskInfo); }