Example #1
0
        void BuffSelector_MouseMove(object sender, MouseEventArgs e)
        {
            Control child = (sender as Control).GetChildAtPoint(e.Location);

            if (child != null && child.Enabled == false)
            {
                if (disabledToolTipControl != child && child is ExtendedToolTipCheckBox)
                {
                    if (disabledToolTipControl != null)
                    {
                        disabledToolTipControl.ForceHideToolTip();
                    }
                    disabledToolTipControl = child as ExtendedToolTipCheckBox;
                    disabledToolTipControl.ForceShowToolTip();
                }
            }
            else if (disabledToolTipControl != null)
            {
                disabledToolTipControl.ForceHideToolTip();
                disabledToolTipControl = null;
            }
        }
Example #2
0
        private void BuildControls()
        {
            this.Controls.Clear();
            this.GroupBoxes.Clear();
            this.CheckBoxes.Clear();
            this.SuspendLayout();

            List <Buff> buffs = CalculationsHunter.RelevantPetBuffs;

            foreach (Buff buff in buffs)
            {
                if (!GroupBoxes.ContainsKey(buff.Group))
                {
                    GroupBox groupBox = new GroupBox();
                    groupBox.Text       = buff.Group;
                    groupBox.Tag        = buff.Group;
                    groupBox.Font       = new Font(this.Font.FontFamily, 7f);
                    groupBox.Anchor     = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
                    groupBox.MouseMove += new MouseEventHandler(BuffSelector_MouseMove);
                    groupBox.Dock       = DockStyle.Top;
                    GroupBoxes.Add(buff.Group, groupBox);
                    this.Controls.Add(groupBox);
                    groupBox.BringToFront();
                }
            }

            foreach (Buff buff in buffs)
            {
                ExtendedToolTipCheckBox checkBox = new ExtendedToolTipCheckBox();
                checkBox.Tag = buff;
                if (Rawr.Properties.GeneralSettings.Default.DisplayBuffSource && buff.Source != null)
                {
                    checkBox.Text = buff.Name + " (" + buff.Source + ")";
                }
                else
                {
                    checkBox.Text = buff.Name;
                }
                checkBox.AutoSize        = true;
                checkBox.Font            = this.Font;
                checkBox.Dock            = DockStyle.Top;
                checkBox.ToolTipText     = buff.Stats.ToString();
                checkBox.CheckedChanged += new EventHandler(checkBoxBuff_CheckedChanged);
                GroupBoxes[buff.Group].Controls.Add(checkBox);
                checkBox.BringToFront();
                CheckBoxes.Add(buff, checkBox);

                foreach (Buff improvement in buff.Improvements)
                {
                    ExtendedToolTipCheckBox checkBoxImprovement = new ExtendedToolTipCheckBox();
                    checkBoxImprovement.Tag = improvement;
                    if (Rawr.Properties.GeneralSettings.Default.DisplayBuffSource && improvement.Source != null)
                    {
                        checkBoxImprovement.Text = improvement.Name + " (" + improvement.Source + ")";
                    }
                    else
                    {
                        checkBoxImprovement.Text = improvement.Name;
                    }
                    checkBoxImprovement.Padding = new Padding(8 + checkBoxImprovement.Padding.Left,
                                                              checkBoxImprovement.Padding.Top, checkBoxImprovement.Padding.Right, checkBoxImprovement.Padding.Bottom);
                    checkBoxImprovement.AutoSize        = true;
                    checkBoxImprovement.Font            = this.Font;
                    checkBoxImprovement.Dock            = DockStyle.Top;
                    checkBoxImprovement.ToolTipText     = improvement.Stats.ToString();
                    checkBoxImprovement.CheckedChanged += new EventHandler(checkBoxBuff_CheckedChanged);
                    GroupBoxes[buff.Group].Controls.Add(checkBoxImprovement);
                    checkBoxImprovement.BringToFront();
                    CheckBoxes.Add(improvement, checkBoxImprovement);
                }
            }

            foreach (GroupBox groupBox in GroupBoxes.Values)
            {
                groupBox.Height = groupBox.Controls[0].Bottom + 2;
            }
            UpdateEnabledStates();
            this.ResumeLayout();
        }
Example #3
0
        private void BuildControls()
        {
            this.Controls.Clear();
            this.GroupBoxes.Clear();
            this.CheckBoxes.Clear();
            this.SuspendLayout();
            foreach (Buff buff in Buff.RelevantBuffs)
            {
                if (!GroupBoxes.ContainsKey(buff.Group))
                {
                    GroupBox groupBox = new GroupBox();
                    groupBox.Text       = buff.Group;
                    groupBox.Tag        = buff.Group;
                    groupBox.Font       = new Font(this.Font.FontFamily, 7f);
                    groupBox.Anchor     = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
                    groupBox.MouseMove += new MouseEventHandler(BuffSelector_MouseMove);
                    groupBox.Dock       = DockStyle.Top;
                    GroupBoxes.Add(buff.Group, groupBox);
                    this.Controls.Add(groupBox);
                    groupBox.BringToFront();
                }
            }

            List <Buff> buffs = Buff.RelevantBuffs;

            foreach (Buff buff in buffs)
            {
                if (Character == null || !Rawr.Properties.GeneralSettings.Default.HideProfEnchants || (buff.Professions != null && Character.HasProfession(buff.Professions)))
                {
                    ExtendedToolTipCheckBox checkBox = new ExtendedToolTipCheckBox();
                    checkBox.Tag = buff;
                    if (Rawr.Properties.GeneralSettings.Default.DisplayBuffSource && buff.Source != null)
                    {
                        checkBox.Text = buff.Name + " (" + buff.Source + ")";
                    }
                    else
                    {
                        checkBox.Text = buff.Name;
                    }
                    checkBox.AutoSize        = true;
                    checkBox.Font            = this.Font;
                    checkBox.Dock            = DockStyle.Top;
                    checkBox.ToolTipText     = buff.Stats.ToString();
                    checkBox.CheckedChanged += new EventHandler(checkBoxBuff_CheckedChanged);
                    GroupBoxes[buff.Group].Controls.Add(checkBox);
                    checkBox.BringToFront();
                    // only add Draenei Heroic Presence buff if Alliance

                    /*if (buff.Name.Equals("Heroic Presence") && FormMain.Instance.IsHandleCreated)
                     * {
                     *  if (FormMain.Instance.Character.Faction == CharacterFaction.Alliance)
                     *      CheckBoxes.Add(buff, checkBox);
                     *  else
                     *      checkBox.Enabled = false;
                     * }
                     * else
                     *  CheckBoxes.Add(buff, checkBox);*/
                    CheckBoxes.Add(buff, checkBox);

                    foreach (Buff improvement in buff.Improvements)
                    {
                        if (Character == null || !Rawr.Properties.GeneralSettings.Default.HideProfEnchants || Character.HasProfession(improvement.Professions))
                        {
                            ExtendedToolTipCheckBox checkBoxImprovement = new ExtendedToolTipCheckBox();
                            checkBoxImprovement.Tag = improvement;
                            if (Rawr.Properties.GeneralSettings.Default.DisplayBuffSource && improvement.Source != null)
                            {
                                checkBoxImprovement.Text = improvement.Name + " (" + improvement.Source + ")";
                            }
                            else
                            {
                                checkBoxImprovement.Text = improvement.Name;
                            }
                            checkBoxImprovement.Padding = new Padding(8 + checkBoxImprovement.Padding.Left,
                                                                      checkBoxImprovement.Padding.Top, checkBoxImprovement.Padding.Right, checkBoxImprovement.Padding.Bottom);
                            checkBoxImprovement.AutoSize        = true;
                            checkBoxImprovement.Font            = this.Font;
                            checkBoxImprovement.Dock            = DockStyle.Top;
                            checkBoxImprovement.ToolTipText     = improvement.Stats.ToString();
                            checkBoxImprovement.CheckedChanged += new EventHandler(checkBoxBuff_CheckedChanged);
                            GroupBoxes[buff.Group].Controls.Add(checkBoxImprovement);
                            checkBoxImprovement.BringToFront();
                            CheckBoxes.Add(improvement, checkBoxImprovement);
                        }
                    }
                }
            }

            foreach (GroupBox groupBox in GroupBoxes.Values)
            {
                // Make sure not to index an empty array
                if (groupBox.Controls.Count > 0)
                {
                    groupBox.Height = groupBox.Controls[0].Bottom + 2;
                }
                // Hide empty group boxes
                else
                {
                    groupBox.Hide();
                }
            }
            ScrollHook.hookRec(this);
            this.ResumeLayout();
        }
Example #4
0
        private void BuildControls()
        {
            this.Controls.Clear();
            this.GroupBoxes.Clear();
            this.CheckBoxes.Clear();
            this.SuspendLayout();
            foreach (Buff.BuffCategory category in Enum.GetValues(typeof(Buff.BuffCategory)))
            {
                GroupBox groupBox = new GroupBox();
                groupBox.Text       = Buff.GetBuffCategoryFriendlyName(category);
                groupBox.Tag        = category;
                groupBox.Anchor     = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
                groupBox.MouseMove += new MouseEventHandler(BuffSelector_MouseMove);
                groupBox.Dock       = DockStyle.Top;
                GroupBoxes.Add(category, groupBox);
                this.Controls.Add(groupBox);
                groupBox.BringToFront();
            }

            foreach (Buff buff in Buff.GetAllRelevantBuffs())
            {
                ExtendedToolTipCheckBox checkBox = new ExtendedToolTipCheckBox();
                checkBox.Tag = buff;
                if (string.IsNullOrEmpty(buff.RequiredBuff))
                {
                    checkBox.Text = buff.Name;
                }
                checkBox.AutoSize        = true;
                checkBox.ToolTipText     = buff.Stats.ToString();
                checkBox.CheckedChanged += new EventHandler(checkBoxBuff_CheckedChanged);
                GroupBoxes[buff.Category].Controls.Add(checkBox);
                CheckBoxes.Add(buff, checkBox);
            }

            int groupY = 3;

            foreach (GroupBox groupBox in GroupBoxes.Values)
            {
                int checkY = 19;
                foreach (CheckBox checkBox in groupBox.Controls)
                {
                    Buff buff = checkBox.Tag as Buff;
                    if (string.IsNullOrEmpty(buff.RequiredBuff))
                    {
                        checkBox.Location = new Point(6, checkY);
                        checkY           += 23;
                    }
                }
                groupBox.Bounds = new Rectangle(3, groupY, this.Width, checkY);
                groupY         += checkY + 6;
                bool hasImprovedBuffs = false;
                foreach (CheckBox checkBox in groupBox.Controls)
                {
                    Buff buff = checkBox.Tag as Buff;
                    if (!string.IsNullOrEmpty(buff.RequiredBuff))
                    {
                        hasImprovedBuffs = true;
                        foreach (CheckBox requiredCheckBox in groupBox.Controls)
                        {
                            if (requiredCheckBox.Text == buff.RequiredBuff)
                            {
                                checkBox.Location = new Point(this.Width - this.Width / 4 - checkBox.Width / 2, requiredCheckBox.Top + 1);
                                break;
                            }
                        }
                    }
                }

                if (hasImprovedBuffs)
                {
                    Label labelImproved = new Label();
                    labelImproved.Text     = "Improved";
                    labelImproved.AutoSize = true;
                    labelImproved.Location = new Point(this.Width - (4 * labelImproved.Width) / 5, 6);
                    groupBox.Controls.Add(labelImproved);
                }
            }
            this.ResumeLayout();
        }