예제 #1
0
        private void SaveButton_Click(object sender, EventArgs e)
        {
            TreeNode node = SitesTreeView.SelectedNode;
            Action   act  = null;

            if (node.Tag is EventGenerator)
            {
                DetectionSystem eventWatcher = (DetectionSystem)node.Parent.Tag;
                EventGenerator  eg           = (EventGenerator)node.Tag;
                if (eg.Name != NameTextBox.Text && siteMan.ContainsName(NameTextBox.Text))
                {
                    MessageBox.Show("All items in the Site Manager and Event Manager require a unique name!");
                    return;
                }
                if (!ParamListPanel.ValidateInput())
                {
                    return;
                }
                EventGeneratorHookup hookup = EventGenerator.GetHookup(eg.GetEventGeneratorType());

                int index = 0;
                List <EventGenerator> egs = (eg.Parent as DetectionSystem).GetEventGenerators();
                for (int i = 0; i < egs.Count; i++)
                {
                    if (eg.ID == egs[i].ID)
                    {
                        index = i;
                        break;
                    }
                }
                eg.Delete();
                eg = hookup.FromParameters(eventWatcher, NameTextBox.Text, ParamListPanel.Parameters, eg.ID);
                eg.SetIndex(index);

                foreach (Action action in eg.GetActions())
                {
                    if (action.Name == ActionsComboBox.Text)
                    {
                        SaveAction(eg, action);
                        act = action;
                        break;
                    }
                }

                siteMan.Save();
                UpdateSitesTree();
                siteManChanged             = true;
                SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(eg.Name, true)[0];
                if (act != null)
                {
                    ActionsComboBox.Text = act.Name;
                }
            }
        }
예제 #2
0
        public void ResetFields()
        {
            selectedAction        = null;
            selectedActionChannel = null;
            TreeNode node = SitesTreeView.SelectedNode;

            if (node.Tag is EventGenerator)
            {
                DetectionSystem eventWatcher = (DetectionSystem)node.Parent.Tag;

                NameTextBox.Enabled = true;

                EventGenerator   eg         = (EventGenerator)node.Tag;
                List <Parameter> parameters = eg.GetParameters();
                ParamListPanel.LoadParameters(parameters);
                ParamListPanel.Visible = true;
                NameTextBox.Text       = eg.Name;

                ActionPanel.Visible = true;
                ActionsComboBox.Items.Clear();
                ActionsComboBox.Text = "";
                if (eg.GetActions().Count > 0)
                {
                    foreach (Action action in eg.GetActions())
                    {
                        ActionsComboBox.Items.Add(action.Name);
                    }
                    ActionsComboBox.Text = eg.GetActions()[0].Name;
                    selectedAction       = eg.GetActions()[0];
                    SetupActionGroupBox();
                    ActionGroupBox.Visible = true;
                }
                else
                {
                    ActionGroupBox.Visible = false;
                }

                UpButton.Enabled     = true;
                DownButton.Enabled   = true;
                AddButton.Enabled    = true;
                DeleteButton.Enabled = true;
                SaveButton.Enabled   = true;
            }
            else if (node.Tag is DetectionSystem)
            {
                NameTextBox.Text    = "";
                NameTextBox.Enabled = false;

                ParamListPanel.Visible = false;
                ActionPanel.Visible    = false;

                UpButton.Enabled     = false;
                DownButton.Enabled   = false;
                AddButton.Enabled    = true;
                DeleteButton.Enabled = false;
                SaveButton.Enabled   = false;
            }
            else
            {
                NameTextBox.Text    = "";
                NameTextBox.Enabled = false;

                ParamListPanel.Visible = false;
                ActionPanel.Visible    = false;

                UpButton.Enabled     = false;
                DownButton.Enabled   = false;
                AddButton.Enabled    = false;
                DeleteButton.Enabled = false;
                SaveButton.Enabled   = false;
            }
        }