Example #1
0
 private void RefreshTradeSkillTabsCallback()
 {
     foreach (TradeSkillListView tv in TradeSkillTabControl.TabPages)
     {
         tv.TradeDataView.SuspendLayout();
         foreach (DataGridViewRow row in tv.TradeDataView.Rows)
         {
             var cell = (TradeSkillRecipeCell)row.Cells[0].Value;
             row.Cells[1].Value = Util.CalculateRecipeRepeat(cell.Recipe);
             row.Cells[2].Value = cell.Recipe.Difficulty;
         }
         tv.TradeDataView.ResumeLayout();
     }
 }
Example #2
0
        public TradeSkillListView(int index)
        {
            this.index = index;
            // Filter TextBox
            FilterText      = new TextBox();
            FilterText.Dock = DockStyle.Fill;
            // Category Combobox
            CategoryCombo      = new ComboBox();
            CategoryCombo.Dock = DockStyle.Fill;
            // columns
            NameColumn                    = new DataGridViewTextBoxColumn();
            CraftableColumn               = new DataGridViewTextBoxColumn();
            DifficultyColumn              = new DataGridViewTextBoxColumn();
            NameColumn.HeaderText         = Professionbuddy.Instance.Strings["UI_Name"];
            CraftableColumn.HeaderText    = "#";
            NameColumn.AutoSizeMode       = DataGridViewAutoSizeColumnMode.Fill;
            CraftableColumn.MinimumWidth  = 25;
            CraftableColumn.Width         = 25;
            DifficultyColumn.MinimumWidth = 25;
            DifficultyColumn.Width        = 25;
            // DataGridView
            TradeDataView      = new DataGridView();
            TradeDataView.Dock = DockStyle.Fill;
            TradeDataView.AllowUserToAddRows          = false;
            TradeDataView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
            TradeDataView.RowHeadersVisible           = false;
            TradeDataView.Columns.Add(NameColumn);
            TradeDataView.Columns.Add(CraftableColumn);
            TradeDataView.Columns.Add(DifficultyColumn);
            TradeDataView.AllowUserToResizeRows = false;
            TradeDataView.EditMode            = DataGridViewEditMode.EditProgrammatically;
            TradeDataView.SelectionMode       = DataGridViewSelectionMode.FullRowSelect;
            TradeDataView.ColumnHeadersHeight = 21;
            TradeDataView.RowTemplate.Height  = 16;
            //table layout
            tabTableLayout             = new TableLayoutPanel();
            tabTableLayout.ColumnCount = 2;
            tabTableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
            tabTableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
            tabTableLayout.RowCount = 2;
            tabTableLayout.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
            tabTableLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
            tabTableLayout.Controls.Add(FilterText, 0, 0);
            tabTableLayout.Controls.Add(CategoryCombo, 1, 0);
            tabTableLayout.Controls.Add(TradeDataView, 0, 1);
            tabTableLayout.Dock = DockStyle.Fill;
            tabTableLayout.SetColumnSpan(TradeDataView, 2);
            // tab
            Controls.Add(tabTableLayout);
            Text = Professionbuddy.Instance.TradeSkillList[index].Name;
            // populate the controls with data
            CategoryCombo.Items.Add(""); // blank line will show all headers...

            foreach (var kv in Professionbuddy.Instance.TradeSkillList[index].KnownRecipes)
            {
                if (!CategoryCombo.Items.Contains(kv.Value.Header))
                {
                    CategoryCombo.Items.Add(kv.Value.Header);
                }
                TradeDataView.Rows.Add(new TradeSkillRecipeCell(index, kv.Key), Util.CalculateRecipeRepeat(kv.Value),
                                       (int)kv.Value.Difficulty);  // make color column sortable by dificulty..
            }
            TradeDataView_SelectionChanged(null, null);
            // hook events
            FilterText.TextChanged             += FilterText_TextChanged;
            CategoryCombo.SelectedValueChanged += SectionCombo_SelectedValueChanged;
            TradeDataView.SelectionChanged     += TradeDataView_SelectionChanged;
            TradeDataView.CellFormatting       += TradeDataView_CellFormatting;
        }