private AdvJunctionRule createRule() { AdvJunctionRule tm = new AdvJunctionRule(); tm.month = (sbyte)monthBox.SelectedIndex; if (tm.month == 0) { tm.month = -1; } tm.day = (sbyte)dayBox.SelectedIndex; if (tm.day == 0) { tm.day = -1; } tm.dayOfWeek = (sbyte)(dayOfWeekBox.SelectedIndex - 1); tm.hour = (sbyte)(hourBox.SelectedIndex - 1); tm.minutes = -1; tm.route = radioStraight.Checked ? JunctionRoute.Straight : JunctionRoute.Curve; return(tm); }
private void buttonReplace_Click(object sender, System.EventArgs e) { int idx = selectedIndex; // update the data structure AdvJunctionRule tm = createRule(); junction.advancedRules.set(idx, tm); // update the UI ListViewItem lvi = triggerList.Items[idx]; updateListViewItem(tm, lvi); }
private void buttonAdd_Click(object sender, System.EventArgs e) { // update the data structure AdvJunctionRule tm = createRule(); junction.advancedRules.add(tm); // update the UI ListViewItem lvi = new ListViewItem(); updateListViewItem(tm, lvi); triggerList.Items.Add(lvi); resetEntryBoxes(); }
private void moveData(int offset) { int idx = selectedIndex; // update the data structure AdvJunctionRule rule = selectedRule; junction.advancedRules.remove(rule); junction.advancedRules.insert(idx + offset, rule); // update the UI ListViewItem lvi = triggerList.Items[idx]; triggerList.Items.Remove(lvi); triggerList.Items.Insert(idx + offset, lvi); }
private void onSelectionChanged(object sender, System.EventArgs e) { bool b = (triggerList.SelectedIndices.Count != 0); int idx = -1; if (b) { idx = selectedIndex; } buttonUp.Enabled = b && idx != 0; buttonDown.Enabled = b && idx != triggerList.Items.Count - 1; buttonRemove.Enabled = b; buttonReplace.Enabled = b; if (idx != -1) { // update the edit box AdvJunctionRule rule = selectedRule; if (rule.month == -1) { monthBox.SelectedIndex = 0; } else { monthBox.SelectedIndex = rule.month; } if (rule.day == -1) { dayBox.SelectedIndex = 0; } else { dayBox.SelectedIndex = rule.month; } dayOfWeekBox.SelectedIndex = rule.dayOfWeek + 1; hourBox.SelectedIndex = rule.hour + 1; radioCurve.Checked = (rule.route == JunctionRoute.Curve); radioStraight.Checked = (rule.route == JunctionRoute.Straight); } }
private void updateListViewItem(AdvJunctionRule rule, ListViewItem lvi) { lvi.SubItems.Clear(); lvi.Tag = rule; lvi.Text = numberToString(rule.month); lvi.SubItems.Add(numberToString(rule.day)); if (rule.dayOfWeek == -1) { lvi.SubItems.Add("*"); } else { lvi.SubItems.Add("" + Clock.dayOfWeekChar(rule.dayOfWeek)); } lvi.SubItems.Add(numberToString(rule.hour)); lvi.SubItems.Add(rule.route == JunctionRoute.Straight?"Straight":"Junction"); //! lvi.SubItems.Add( rule.route==JunctionRoute.Straight?"直進":"分岐" ); }
public void set(int idx, AdvJunctionRule rule) { this.List[idx] = rule; }
public void insert(int idx, AdvJunctionRule rule) { this.List.Insert(idx, rule); }
public void remove(AdvJunctionRule rule) { this.List.Remove(rule); }
public void add(AdvJunctionRule rule) { this.List.Add(rule); }