private void stop_Button_Click(object sender, EventArgs e) { TreeNode node; if ((node = runningInstances_TreeView.SelectedNode) != null) { var nodes = TreeViewHandler.GetAllChildren(node); var scriptpaths = nodes.Where(x => x.FullPath.EndsWith("launch.sh")).Select(x => x.FullPath); ((Button)sender).Enabled = false; handler.StopInstances(scriptpaths).ContinueWith(x => this.Invoke((MethodInvoker)(() => { var expanded = node.Nodes.GetExpansionState(); if (node.Parent.IsExpanded) { expanded.Add(node.Parent.FullPath); } if (node.IsExpanded) { expanded.Add(node.FullPath); } RefreshViews(null, expanded); ((Button)sender).Enabled = true; }))); } else { MessageBox.Show("No running instance or instance group selected"); } }
public void PopulateViews(TreeView running, TreeView idle, string serversPath) { running.Nodes.Clear(); idle.Nodes.Clear(); var screens = SshHandler.GetRunningScreens(); TreeViewHandler.Add(running, screens); var strs = SshHandler.FindWithName(serversPath, "launch.sh"); strs.RemoveAll(x => screens.Contains(x)); TreeViewHandler.Add(idle, strs); }
private void restart_Button_Click(object sender, EventArgs e) { TreeNode node; if ((node = runningInstances_TreeView.SelectedNode) != null) { var nodes = TreeViewHandler.GetAllChildren(node); var scriptpaths = nodes.Where(x => x.FullPath.EndsWith("launch.sh")).Select(x => x.FullPath); Pause(); handler.StopInstances(scriptpaths).ContinueWith(x => { handler.StartInstances(scriptpaths); this.Invoke((MethodInvoker)(() => RefreshViews())); }); } else { MessageBox.Show("No running instance or instance group selected"); } }
private void start_Button_Click(object sender, EventArgs e) { TreeNode node; if ((node = idleInstances_TreeView.SelectedNode) != null) { var nodes = TreeViewHandler.GetAllChildren(node); //var serverpathreal = handler.SshHandler.RealPath(mcServerPath_TextBox.Text); var scriptPaths = nodes.Where(x => x.FullPath.EndsWith("launch.sh")).Select(x => x.FullPath); handler.StartInstances(scriptPaths); var addToRunning = node.Nodes.GetExpansionState(); addToRunning.AddRange(node.AllParents()); addToRunning.Add(node.FullPath); RefreshViews(addToRunning); } else { MessageBox.Show("No instance or instance group selected"); } }