コード例 #1
0
ファイル: frmMain.cs プロジェクト: AppleJuice69/PandaStack
        private void btnConfig_Edit_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.lvConfigs.Items.Count > 0 && this.lvConfigs.SelectedItems.Count > 0)
                {
                    ListViewItem lvi    = this.lvConfigs.FocusedItem;
                    ModuleConfig config = (ModuleConfig)lvi.Tag;

                    this.FormEditItem      = new frmEditItem(config);
                    this.FormEditItem.Name = lvi.Text;
                    this.FormEditItem.Type = lvi.SubItems[1].Text;
                    this.FormEditItem.Path = lvi.SubItems[2].Text;

                    if (this.FormEditItem.ShowDialog() == DialogResult.OK)
                    {
                        lvi.Text             = FormEditItem.Name;
                        lvi.SubItems[1].Text = FormEditItem.Type;
                        lvi.SubItems[2].Text = FormEditItem.Path;
                    }
                }
            }
            catch (Exception ex)
            {
                this.HandleException(ex);
            }
        }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: AppleJuice69/PandaStack
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (this.lvModules.Items.Count > 0 && this.lvModules.SelectedItems.Count > 0)
            {
                ListViewItem lvi    = this.lvModules.FocusedItem;
                Module       module = (Module)lvi.Tag;

                // Set the module values
                module.SetModuleName(txtName.Text);
                module.SetModuleType((ModuleType)Enum.Parse(typeof(ModuleType), cmbType.Text, true));
                lvi.Text = txtName.Text;

                // Based on the module type, set its corresponding values
                if (cmbType.Text == "Service")
                {
                    module.SetServiceName(this.txtServiceName.Text);
                }
                else if (cmbType.Text == "Software")
                {
                    module.SetProgramPath(this.txtFilePath.Text);
                }

                module.ClearConfigs();
                module.ClearControls();

                // If there are any controls, create them and add to the module
                if (this.lvControls.Items.Count > 0)
                {
                    foreach (ListViewItem controlLvi in this.lvControls.Items)
                    {
                        ModuleControl control = (ModuleControl)controlLvi.Tag;
                        control.SetControlName(controlLvi.Text);
                        control.SetControlType((ControlType)Enum.Parse(typeof(ControlType), controlLvi.SubItems[1].Text, true));
                        control.SetControlPath(controlLvi.SubItems[2].Text);
                        module.AddControl(control);
                    }
                }

                // If there are any configs, create them and add to the module
                if (this.lvConfigs.Items.Count > 0)
                {
                    foreach (ListViewItem configLvi in this.lvConfigs.Items)
                    {
                        ModuleConfig config = (ModuleConfig)configLvi.Tag;
                        config.SetConfigName(configLvi.Text);
                        config.SetConfigType((ConfigType)Enum.Parse(typeof(ConfigType), configLvi.SubItems[1].Text, true));
                        config.SetConfigPath(configLvi.SubItems[2].Text);
                        module.AddConfig(config);
                    }
                }
            }
        }
コード例 #3
0
ファイル: frmMain.cs プロジェクト: AppleJuice69/PandaStack
 private void btnConfig_Add_Click(object sender, EventArgs e)
 {
     if (this.lvModules.Items.Count > 0 && this.lvModules.SelectedItems.Count > 0)
     {
         ModuleConfig config = new ModuleConfig();
         ListViewItem lvi    = new ListViewItem();
         lvi.Text = config.GetConfigName();
         lvi.SubItems.Add(config.GetConfigType().ToString());
         lvi.SubItems.Add(config.GetConfigPath());
         lvi.Tag = config;
         this.lvConfigs.Items.Add(lvi);
     }
 }
コード例 #4
0
ファイル: frmMain.cs プロジェクト: AppleJuice69/PandaStack
        /**
         * <summary>
         * Load a PandaStack configuration file
         * </summary>
         */
        private void LoadJsonFile(string filePath)
        {
            JsonHandler jsonHandler = new JsonHandler(filePath);

            jsonHandler.FetchJson();

            foreach (JsonModule jsonModule in jsonHandler.GetModules())
            {
                Module module = new Module();
                module.SetModuleName(jsonModule.name);
                module.SetModuleType((ModuleType)Enum.Parse(typeof(ModuleType), jsonModule.type, true));

                if (module.GetModuleType() == ModuleType.Service)
                {
                    module.SetServiceName(jsonModule.service);
                }

                if (jsonModule.control != null && jsonModule.control.Count > 0)
                {
                    foreach (JsonControl jsonControl in jsonModule.control)
                    {
                        ModuleControl control = new ModuleControl();
                        control.SetControlName(jsonControl.name);
                        control.SetControlType((ControlType)Enum.Parse(typeof(ControlType), jsonControl.type, true));
                        control.SetControlPath(jsonControl.path);

                        module.AddControl(control);
                    }
                }

                if (jsonModule.config != null && jsonModule.config.Count > 0)
                {
                    foreach (JsonConfig jsonConfig in jsonModule.config)
                    {
                        ModuleConfig config = new ModuleConfig();
                        config.SetConfigName(jsonConfig.name);
                        config.SetConfigType((ConfigType)Enum.Parse(typeof(ConfigType), jsonConfig.type, true));
                        config.SetConfigPath(jsonConfig.path);

                        module.AddConfig(config);
                    }
                }

                this.Modules.Add(module);

                ListViewItem lvi = new ListViewItem();
                lvi.Text = module.GetModuleName();
                lvi.Tag  = module;
                this.lvModules.Items.Add(lvi);
            }
        }
コード例 #5
0
        public frmEditItem(ModuleConfig config)
        {
            InitializeComponent();

            this.Config = config;
            this.Text   = "Editing Module Config";

            var values = Enum.GetValues(typeof(ConfigType));

            foreach (ConfigType type in values)
            {
                this.cmbType.Items.Add(type.ToString());
            }
        }
コード例 #6
0
 public void AddConfig(ModuleConfig config)
 {
     this.Configs.Add(config);
 }