private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { int indexOfWait = contextMenuStrip1.Items.IndexOf(waitTimeoutLabel); if (waitTimeEditor != null) { if (contextMenuStrip1.Items.Contains(waitTimeEditor)) { contextMenuStrip1.Items.Remove(waitTimeEditor); } waitTimeEditor = null; } waitTimeEditor = new ToolStripNumericOrVariableEditor(StepData.RetriggerOptions.RetriggerTimeout, true); if (StepData.RetriggerOptions.WaitForRetrigger) { waitTimeEditor.Enabled = true; waitTimeoutLabel.Enabled = true; negativeRetriggerEdgeOrValueToolStripMenuItem.Enabled = true; edgeRetriggerToolStripMenuItem.Enabled = true; } else { waitTimeoutLabel.Enabled = false; waitTimeEditor.Enabled = false; negativeRetriggerEdgeOrValueToolStripMenuItem.Enabled = false; edgeRetriggerToolStripMenuItem.Enabled = false; } contextMenuStrip1.Items.Insert(indexOfWait + 1, waitTimeEditor); }
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { int indexOfWait = contextMenuStrip1.Items.IndexOf(waitTimeoutLabel); if (waitTimeEditor != null) { if (contextMenuStrip1.Items.Contains(waitTimeEditor)) contextMenuStrip1.Items.Remove(waitTimeEditor); waitTimeEditor = null; } waitTimeEditor = new ToolStripNumericOrVariableEditor(StepData.RetriggerOptions.RetriggerTimeout, true); if (StepData.RetriggerOptions.WaitForRetrigger) { waitTimeEditor.Enabled = true; waitTimeoutLabel.Enabled = true; negativeRetriggerEdgeOrValueToolStripMenuItem.Enabled = true; edgeRetriggerToolStripMenuItem.Enabled = true; } else { waitTimeoutLabel.Enabled = false; waitTimeEditor.Enabled = false; negativeRetriggerEdgeOrValueToolStripMenuItem.Enabled = false; edgeRetriggerToolStripMenuItem.Enabled = false; } contextMenuStrip1.Items.Insert(indexOfWait + 1, waitTimeEditor); }
/// <summary> /// This method programatically builds the drop-down UI for timestep group editing /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timestepGroupsToolStripMenuItem_DropDownOpening(object sender, EventArgs e) { timestepGroupsToolStripMenuItem.DropDownItems.Clear(); foreach (TimestepGroup tsg in Storage.sequenceData.TimestepGroups) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Tag = tsg; item.Checked = tsg.GroupEnabled; item.CheckOnClick = true; item.Text = tsg.TimestepGroupName; item.CheckedChanged += new EventHandler(timestepGroupItemCheckChanged); ToolStripTextBox nameBox = new ToolStripTextBox(); nameBox.Tag = item; nameBox.Text = tsg.TimestepGroupName; nameBox.TextChanged += new EventHandler(nameEditBox_TextChanged); ToolStripMenuItem deleteGroup = new ToolStripMenuItem(); deleteGroup.Text = "Delete group."; deleteGroup.Tag = tsg; deleteGroup.Click += new EventHandler(deleteTimestepGroupClick); ToolStripSeparator sep = new ToolStripSeparator(); ToolStripSeparator sep2 = new ToolStripSeparator(); ToolStripMenuItem usageCount = new ToolStripMenuItem(); int i=0; foreach (TimeStep step in Storage.sequenceData.TimeSteps) { if (step.MyTimestepGroup == tsg) i++; } usageCount.Text = i.ToString() + " timestep(s) assigned to this group."; ToolStripMenuItem deleteTimestepsAndGroup = new ToolStripMenuItem(); if (i == 0) deleteTimestepsAndGroup.Enabled = false; deleteTimestepsAndGroup.Tag = tsg; deleteTimestepsAndGroup.Text = "Delete group and member timesteps."; deleteTimestepsAndGroup.Click += new EventHandler(deleteTimestepsAndGroup_Click); ToolStripMenuItem loopTsGroup = new ToolStripMenuItem(); loopTsGroup.Enabled = Storage.sequenceData.TimestepGroupIsLoopable(tsg); loopTsGroup.Text = "Loop timestep group."; loopTsGroup.Tag = tsg; if (loopTsGroup.Enabled) { loopTsGroup.Checked = tsg.LoopTimestepGroup; loopTsGroup.CheckOnClick = true; loopTsGroup.CheckedChanged += new EventHandler(loopTsGroup_CheckedChanged); ToolStripMenuItem ph = new ToolStripMenuItem(); loopTsGroup.DropDownItems.Add("Number of times to loop:"); ToolStripNumericOrVariableEditor lced = new ToolStripNumericOrVariableEditor(tsg.LoopCount, false); loopTsGroup.DropDownItems.Add(lced); lced.valueChanged += new EventHandler(lced_valueChanged); } item.DropDownItems.Add(nameBox); item.DropDownItems.Add(deleteGroup); item.DropDownItems.Add(sep); item.DropDownItems.Add(usageCount); item.DropDownItems.Add(deleteTimestepsAndGroup); item.DropDownItems.Add(sep2); item.DropDownItems.Add(loopTsGroup); timestepGroupsToolStripMenuItem.DropDownItems.Add(item); } timestepGroupsToolStripMenuItem.DropDownItems.Add(timestepGroupMenuSeparator); timestepGroupsToolStripMenuItem.DropDownItems.Add(createNewTimestepGroupButton); timestepGroupsToolStripMenuItem.DropDownItems.Add(assignAllMarkedTimestepsToGroupToolStripMenuItem); if (markedTimesteps().Count == 0) { assignAllMarkedTimestepsToGroupToolStripMenuItem.Enabled = false; assignMarkedStepsToGroupComboBox.Enabled = false; assignToolStripMenuItemAssignButton.Enabled = false; } else { assignAllMarkedTimestepsToGroupToolStripMenuItem.Enabled = true; assignMarkedStepsToGroupComboBox.Enabled = true; assignToolStripMenuItemAssignButton.Enabled = true; } }