Esempio n. 1
0
        void gemmingTemplateControl_DeleteClicked(object sender, EventArgs e)
        {
            GemmingTemplateControl gemmingTemplateControl = (sender as GemmingTemplateControl);

            _currentCharacter.CustomGemmingTemplates.Remove(gemmingTemplateControl.GemmingTemplate);
            panelGemmingTemplates.Controls.Remove(gemmingTemplateControl);
        }
Esempio n. 2
0
 public void UpdateCheckStatesAndVisibles()
 {
     SuspendLayout();
     foreach (string group in _groups)
     {
         Panel panelHeader = null;
         bool  hasEnabled  = false;
         bool  hasDisabled = false;
         List <GemmingTemplateControl> gemmingTemplateControls = new List <GemmingTemplateControl>();
         foreach (Control control in panelGemmingTemplates.Controls)
         {
             if ((string)control.Tag == group)
             {
                 panelHeader = control as Panel;
             }
             else if (control is GemmingTemplateControl)
             {
                 GemmingTemplateControl gemmingTemplateControl = control as GemmingTemplateControl;
                 if (gemmingTemplateControl.GemmingTemplate.Group == group)
                 {
                     gemmingTemplateControls.Add(gemmingTemplateControl);
                 }
             }
         }
         foreach (GemmingTemplateControl gemmingTemplateControl in gemmingTemplateControls)
         {
             if (gemmingTemplateControl.GemmingTemplateEnabled)
             {
                 hasEnabled = true;
             }
             else
             {
                 hasDisabled = true;
             }
             gemmingTemplateControl.Visible = panelHeader.Controls[0].Text == "-";
         }
         CheckBox checkBoxHeader = panelHeader.Controls[1] as CheckBox;
         checkBoxHeader.CheckState = hasEnabled && hasDisabled ? CheckState.Indeterminate :
                                     (hasEnabled ? CheckState.Checked : CheckState.Unchecked);
         if (group == "Custom")
         {
             _panelAddGemmingTemplate.Visible = panelHeader.Controls[0].Text == "-";
         }
     }
     ResumeLayout();
 }
Esempio n. 3
0
        void buttonAddGemmingTemplate_Click(object sender, EventArgs e)
        {
            SuspendLayout();
            GemmingTemplate gemmingTemplate = new GemmingTemplate()
            {
                Group = "Custom", Enabled = true, Model = Calculations.Instance.Name
            };

            _currentCharacter.CustomGemmingTemplates.Add(gemmingTemplate);

            GemmingTemplateControl gemmingTemplateControl = new GemmingTemplateControl();

            gemmingTemplateControl.Dock            = DockStyle.Top;
            gemmingTemplateControl.GemmingTemplate = gemmingTemplate;
            gemmingTemplateControl.GemmingTemplateEnabledChanged += new EventHandler(gemmingTemplateControl_GemmingTemplateEnabledChanged);
            gemmingTemplateControl.DeleteClicked += new EventHandler(gemmingTemplateControl_DeleteClicked);
            panelGemmingTemplates.Controls.Add(gemmingTemplateControl);
            gemmingTemplateControl.BringToFront();
            _panelAddGemmingTemplate.BringToFront();
            ResumeLayout();
        }
Esempio n. 4
0
        public void CreateGemmingTemplateControls()
        {
            _groups.Clear();
            foreach (GemmingTemplate gemmingTemplate in _currentCharacter.CurrentGemmingTemplates)
            {
                if (!_groups.Contains(gemmingTemplate.Group))
                {
                    _groups.Add(gemmingTemplate.Group);
                }
            }
            if (!_groups.Contains("Custom"))
            {
                _groups.Add("Custom");
            }

            panelGemmingTemplates.Controls.Clear();
            foreach (string group in _groups)
            {
                Panel panelGroupHeader = new Panel();
                panelGroupHeader.Tag    = group;
                panelGroupHeader.Height = 20;
                panelGroupHeader.Dock   = DockStyle.Top;

                Button buttonExpand = new Button();
                buttonExpand.TextAlign = ContentAlignment.BottomCenter;
                buttonExpand.Font      = new Font(buttonExpand.Font.FontFamily, 6.25f);
                buttonExpand.Width     = buttonExpand.Height = 17;
                buttonExpand.Text      = "-";
                buttonExpand.Left      = buttonExpand.Top = 2;
                buttonExpand.UseVisualStyleBackColor = true;
                buttonExpand.Click += new EventHandler(buttonExpand_Click);
                panelGroupHeader.Controls.Add(buttonExpand);

                CheckBox checkBoxHeader = new CheckBox();
                checkBoxHeader.Font               = new Font(checkBoxHeader.Font, FontStyle.Bold);
                checkBoxHeader.ThreeState         = true;
                checkBoxHeader.Text               = group;
                checkBoxHeader.CheckStateChanged += new EventHandler(checkBoxHeader_CheckStateChanged);
                checkBoxHeader.Left               = 22;
                checkBoxHeader.Top      = -1;
                checkBoxHeader.AutoSize = true;
                panelGroupHeader.Controls.Add(checkBoxHeader);

                panelGemmingTemplates.Controls.Add(panelGroupHeader);
                panelGroupHeader.BringToFront();

                bool allDisabled = group != "Custom";
                foreach (GemmingTemplate gemmingTemplate in _currentCharacter.CurrentGemmingTemplates)
                {
                    if (gemmingTemplate.Group == group)
                    {
                        allDisabled = allDisabled && !gemmingTemplate.Enabled;
                        GemmingTemplateControl gemmingTemplateControl = new GemmingTemplateControl();
                        gemmingTemplateControl.Dock            = DockStyle.Top;
                        gemmingTemplateControl.GemmingTemplate = gemmingTemplate;
                        gemmingTemplateControl.GemmingTemplateEnabledChanged += new EventHandler(gemmingTemplateControl_GemmingTemplateEnabledChanged);
                        gemmingTemplateControl.DeleteClicked += new EventHandler(gemmingTemplateControl_DeleteClicked);
                        panelGemmingTemplates.Controls.Add(gemmingTemplateControl);
                        gemmingTemplateControl.BringToFront();
                    }
                }
                if (allDisabled)
                {
                    buttonExpand.Text = "+";
                }
            }
            foreach (GemmingTemplate gemmingTemplate in _currentCharacter.CustomGemmingTemplates)
            {
                if (gemmingTemplate.Model == _currentCharacter.CurrentModel)
                {
                    GemmingTemplateControl gemmingTemplateControl = new GemmingTemplateControl();
                    gemmingTemplateControl.Dock            = DockStyle.Top;
                    gemmingTemplateControl.GemmingTemplate = gemmingTemplate;
                    gemmingTemplateControl.GemmingTemplateEnabledChanged += new EventHandler(gemmingTemplateControl_GemmingTemplateEnabledChanged);
                    gemmingTemplateControl.DeleteClicked += new EventHandler(gemmingTemplateControl_DeleteClicked);
                    panelGemmingTemplates.Controls.Add(gemmingTemplateControl);
                    gemmingTemplateControl.BringToFront();
                }
            }

            _panelAddGemmingTemplate        = new Panel();
            _panelAddGemmingTemplate.Height = 50;
            _panelAddGemmingTemplate.Dock   = DockStyle.Top;

            Button buttonAddGemmingTemplate = new Button();

            buttonAddGemmingTemplate.Text     = "Add";
            buttonAddGemmingTemplate.Location = new System.Drawing.Point(3, 14);
            buttonAddGemmingTemplate.Size     = new System.Drawing.Size(46, 23);
            buttonAddGemmingTemplate.UseVisualStyleBackColor = true;
            buttonAddGemmingTemplate.Click += new EventHandler(buttonAddGemmingTemplate_Click);
            _panelAddGemmingTemplate.Controls.Add(buttonAddGemmingTemplate);

            panelGemmingTemplates.Controls.Add(_panelAddGemmingTemplate);
            _panelAddGemmingTemplate.BringToFront();

            UpdateCheckStatesAndVisibles();
        }