Beispiel #1
0
 private void RaiseOnScheduleTick(HSchedule schedule, int currentCycle)
 {
     if (ScheduleTick != null)
     {
         OnScheduleTick(
             new ScheduleTickEventArgs(schedule, currentCycle));
     }
 }
        protected virtual void UpdateItem(HSchedule schedule)
        {
            ListViewItem item = _items[schedule];

            if (item.Checked != schedule.IsRunning)
            {
                item.Checked = schedule.IsRunning;
            }

            item.SubItems[0].Text = schedule.Packet.ToString();
            item.SubItems[1].Text = schedule.Packet.Destination.ToString();
            item.SubItems[2].Text = schedule.Interval.ToString();
            item.SubItems[3].Text = schedule.Cycles.ToString();
        }
Beispiel #3
0
        private void STUpdateBtn_Click(object sender, EventArgs e)
        {
            HMessage packet = GetPacket();

            if (Parent.IsInjectionAuthorized(packet))
            {
                HSchedule schedule = UI.STSchedulerVw.SelectedSchedule;

                schedule.Cycles             = Cycles;
                schedule.Interval           = Interval;
                schedule.Packet             = GetPacket();
                schedule.Packet.Destination = Destination;
            }
        }
Beispiel #4
0
        public ListViewItem AddSchedule(HMessage packet, int interval, int cycles, bool autoStart)
        {
            ListViewItem item = AddFocusedItem(packet, packet.Destination, interval, cycles);

            var schedule = new HSchedule(packet, interval, cycles);

            schedule.ScheduleTick += OnScheduleTick;

            _items.Add(schedule, item);
            item.Tag     = schedule;
            item.Checked = autoStart;

            return(item);
        }
Beispiel #5
0
        protected override void RemoveItem(ListViewItem listViewItem)
        {
            if (_schedules.ContainsKey(listViewItem))
            {
                HSchedule schedule = _schedules[listViewItem];
                _items.Remove(schedule);

                schedule.Dispose();
                _schedules.Remove(listViewItem);

                _descriptions.Remove(listViewItem);
            }

            base.RemoveItem(listViewItem);
        }
Beispiel #6
0
        public void AddSchedule(HMessage packet, int interval, int cycles, SKoreHotkey.KeyCombination hotkey, bool autoStart)
        {
            ListViewItem item = AddFocusedItem(packet,
                                               packet.Destination, interval, cycles, hotkey?.ToString() ?? "", "Stopped");

            var schedule = new HSchedule(packet, interval, cycles);

            schedule.ScheduleTick   += OnScheduleTick;
            schedule.Hotkey          = new SKoreHotkey(hotkey);
            schedule.ScheduleHotkey += OnScheduleHotkey;

            _items.Add(schedule, item);

            item.Tag     = schedule;
            item.Checked = autoStart;
        }
Beispiel #7
0
        protected virtual void UpdateItem(HSchedule schedule)
        {
            if (InvokeRequired)
            {
                BeginInvoke(_updateItem, schedule);
            }
            else
            {
                ListViewItem item = _items[schedule];

                if (item.Checked != schedule.IsRunning)
                {
                    item.Checked = schedule.IsRunning;
                }

                item.SubItems[0].Text = schedule.Packet.ToString();
                item.SubItems[1].Text = schedule.Packet.Destination.ToString();
                item.SubItems[2].Text = schedule.Interval.ToString();
                item.SubItems[3].Text = schedule.Cycles.ToString();
                item.SubItems[4].Text = schedule.Hotkey?.Keys.ToString() ?? "";
            }
        }
Beispiel #8
0
        protected override void OnItemChecked(ItemCheckedEventArgs e)
        {
            if (!_schedules.ContainsKey(e.Item))
            {
                return;
            }

            HSchedule schedule = _schedules[e.Item];

            e.Item.SubItems[4].Text = e.Item.Checked ? "Running" : "Stopped";

            if (e.Item.Checked)
            {
                schedule.Start();
            }
            else if (schedule.IsRunning)
            {
                schedule.Stop();
            }

            base.OnItemChecked(e);
        }
Beispiel #9
0
        public void AddSchedule(HMessage packet, int burst, int interval, string description)
        {
            if (packet.IsCorrupted)
            {
                throw new Exception("Corrupted Packet: " + packet);
            }

            var item = new ListViewItem(new[] { packet.ToString(),
                                                packet.Destination.ToString(), burst.ToString(), interval.ToString(), AutoStart ? "Running" : "Stopped" });

            var schedule = new HSchedule(packet, interval, burst);

            schedule.ScheduleTick += OnScheduleTick;

            _items.Add(schedule, item);
            _schedules.Add(item, schedule);
            _descriptions.Add(item, description);

            item.Checked     = AutoStart;
            item.ToolTipText = description;

            FocusAdd(item);
        }
Beispiel #10
0
        public TanjiSchedulerEdit(Scheduler scheduler)
        {
            InitializeComponent();

            _scheduler = scheduler;
            _schedule  = _scheduler.GetSelected();

            _wasRunning = _schedule.IsRunning;
            _schedule.Stop();

            bool toServer = _schedule.Packet.Destination == HDestination.Server;

            (toServer ? ServerRdiBtn : ClientRdiBtn).Checked = true;
            PacketTxt.ForeColor = (toServer ? SystemColors.HotTrack : Color.Firebrick);

            DescriptionTxt.Text = _scheduler.GetSelectedDescription();

            BurstTxt.Value    = _schedule.Burst;
            IntervalTxt.Value = _schedule.Interval;

            PacketTxt.Text = _schedule.Packet.ToString();
            PacketTxt_TextChanged(this, EventArgs.Empty);
        }
Beispiel #11
0
        public void AddSchedule(HMessage packet, int burst, int interval, string description)
        {
            if (packet.IsCorrupted || packet.Destination == HDestination.Unknown)
            {
                throw new Exception("Provided packet is either corrupted, or has Destination set to 'Unknown'.");
            }

            var item = new ListViewItem(new[] { packet.ToString(),
                                                packet.Destination.ToString(), burst.ToString(), interval.ToString(), AutoStart ? RUNNING : STOPPED });

            var schedule = new HSchedule(packet, interval, burst);

            schedule.ScheduleTriggered += OnScheduleTriggered;

            _items.Add(schedule, item);
            _schedules.Add(item, schedule);
            _descriptions.Add(item, description);

            item.Checked     = AutoStart;
            item.ToolTipText = description;

            FocusAdd(item);
        }