Esempio n. 1
0
        /// <summary>
        /// Set the color and icon columns visibility
        /// </summary>
        /// <param name="showColorCol"></param>

        void SetColumnVisibilityForColoringStyle(CondFormatStyle coloringStyle)
        {
            RepositoryItemImageComboBox riie = IconImageRepositoryColumnEdit as RepositoryItemImageComboBox;

            bool allowMultipleRules = true;

            if (coloringStyle == CondFormatStyle.ColorSet)
            {
                BackColor1.Visible = true;
                IconImage.Visible  = false;
            }

            else if (coloringStyle == CondFormatStyle.ColorScale)
            {
                BackColor1.Visible = false;
                IconImage.Visible  = true;
                IconImage.Caption  = "Color Scale";
                SetupImageComboBox(Bitmaps.I.ColorScaleImages);
                riie.LargeImages = Bitmaps.I.ColorScaleImages;
                riie.SmallImages = null;

                allowMultipleRules = false;
            }

            else if (coloringStyle == CondFormatStyle.DataBar)
            {
                BackColor1.Visible = false;
                IconImage.Visible  = true;
                IconImage.Caption  = "Color";
                SetupImageComboBox(Bitmaps.I.DataBarsImages);
                riie.LargeImages = Bitmaps.I.DataBarsImages;
                riie.SmallImages = null;

                allowMultipleRules = false;
            }

            else if (coloringStyle == CondFormatStyle.IconSet)
            {
                BackColor1.Visible = false;
                IconImage.Visible  = true;
                IconImage.Caption  = "Icon";
                SetupImageComboBox(Bitmaps.I.IconSetImages);
                riie.SmallImages = Bitmaps.I.IconSetImages;
                riie.LargeImages = null;
            }

            //V.OptionsView.NewItemRowPosition = // allow new rows?
            //	(allowMultipleRules ? NewItemRowPosition.Bottom : NewItemRowPosition.None);

            return;
        }
Esempio n. 2
0
        private void ColorColumnSelector_EditValueChanged(object sender, EventArgs e)
        {
#if false
            if (InSetup)
            {
                return;
            }

            InSetup = true;

            QueryColumn qc = ColorColumnSelector.QueryColumn;
            ColorBy.QueryColumn = qc;
            if (qc != null)
            {                   // setup for this column
                ColorByColumn.Checked = true;
                if (qc.CondFormat == null || qc.CondFormat.Rules.Count == 0)
                {                 // define default rules
                    qc.CondFormat = new CondFormat();
                    ResultsField rfld = View.ResultsFormat.GetResultsField(qc);
                    if (rfld != null)
                    {
                        CondFormatStyle cfStyle = qc.CondFormat.Rules.ColoringStyle;
                        ColorRulesControl.SetupControl(rfld.QueryColumn.MetaColumn.DataType, cfStyle, rfld);
                        //ColorRulesControl.SetupForResultsField(rfld, qc.CondFormat.Rules.ColoringStyle);
                    }
                    InitializeRulesBasedOnDataValues();
                    qc.CondFormat.Rules = ColorRulesControl.GetRules();                     // get rules back
                }

                ResetBackgroundColors(ColorBy.QueryColumn);
                SetupColorSchemeGrid(ColorBy.QueryColumn, View);
            }

            else
            {
                ColorByFixedColor.Checked = true;              // no col selected, goto fixed mode
            }
            InSetup = false;

            FireEditValueChanged(ColorColumnSelector);
#endif

            return;
        }
Esempio n. 3
0
        void SetupCondFormatRulesFromColorCodingItems(
            TrellisCardBarChartControl cc,
            List <ColorCodingItemMsx> ccl,
            CondFormatStyle cfStyle)
        {
            CondFormatRules rules = new CondFormatRules(cfStyle);

            foreach (ColorCodingItemMsx i in ccl)
            {
                CondFormatRule r = new CondFormatRule();
                r.Name = i.ColumnName;
                string suffix = "";

                if (cfStyle == CondFormatStyle.ColorSet)
                {
                    r.BackColor1 = i.BackColor;
                }

                else                 // Gradient
                {
                    int ruleCnt = i.SubRules.Count;

                    List <string> subruleText = new List <string>();
                    foreach (ColorCodingSubRuleMsx ccr in i.SubRules)
                    {
                        string txt = ccr.Value;
                        if (ccr.CalcType != ValueCalcTypeEnumMsx.Value)
                        {
                            txt += " (" + ccr.CalcType + ")";
                        }
                        subruleText.Add(txt);
                    }

                    List <Color> colors = new List <Color>();
                    if (ruleCnt > 0)
                    {
                        r.Value = subruleText[0];
                        colors.Add(i.SubRules[0].Color);
                    }

                    if (ruleCnt > 2)
                    {
                        r.Value2 = subruleText[2];                        // max rule text
                        colors.Add(i.SubRules[1].Color);                  // avg color
                        colors.Add(i.SubRules[2].Color);                  // max color
                    }

                    else if (ruleCnt > 1)
                    {
                        r.Value2 = subruleText[1];
                        colors.Add(i.SubRules[1].Color);
                    }

                    string scaleName = Bitmaps.GetColorScaleNameFromColorset(colors.ToArray());
                    if (Lex.IsUndefined(scaleName))
                    {
                        scaleName = CondFormat.DefaultColorScale;
                    }
                    r.ImageName = scaleName;
                }

                rules.Add(r);
            }

            cc.Setup(SVP, rules, EditValueChanged);
            return;
        }
Esempio n. 4
0
        /// <summary>
        /// Add to the content of the rules control
        /// </summary>
        /// <param name="rules"></param>

        public void LoadDataTableFromCondFormatRules(
            CondFormatRules rules)
        {
            DataTable dt = DataTable;
            DataRow   dr;

            InSetup = true;
            //bool saveEnabled = dt.EnableDataChangedEventHandlers(false); // turn off change events while filling

            // Setup for CF coloring style

            CondFormatStyle colorStyle = rules.ColoringStyle;

            if (colorStyle == CondFormatStyle.ColorScale)
            {
                //ColorStyleDropDown.Text = "Continuous Colors";
                ColumnImageCollection = Bitmaps.I.ColorScaleImages;
            }

            else if (colorStyle == CondFormatStyle.DataBar)
            {
                //ColorStyleDropDown.Text = "Data Bars";
                ColumnImageCollection = Bitmaps.I.DataBarsImages;
            }

            else if (colorStyle == CondFormatStyle.IconSet)
            {
                //ColorStyleDropDown.Text = "Icon Set";
                ColumnImageCollection = Bitmaps.I.IconSetImages;
            }

            else
            {
                //ColorStyleDropDown.Text = "Discrete Colors";
                ColumnImageCollection = null;
            }

            // Setup rules for color style

            if (rules == null)
            {
                InSetup = false; return;
            }

            for (int ri = 0; ri < rules.Count; ri++)             // fill in the grid
            {
                CondFormatRule r = rules[ri];

                dr = dt.NewRow();
                dt.Rows.InsertAt(dr, ri);

                dr[LabelCol]      = r.Name;
                dr[OpCol]         = r.Op;
                dr[ValCol]        = r.Value;
                dr[ValCol2]       = r.Value2;
                dr[BackColorCol1] = r.BackColor1;

                if (Lex.IsDefined(r.ImageName))
                {
                    dr[IconImageCol] = Bitmaps.GetImageIndexFromName(ColumnImageCollection, r.ImageName);
                }

                else
                {
                    dr[IconImageCol] = DBNull.Value;
                }
            }

            RulesGrid.DataSource = dt;             // make the data visible
            //RulesGrid.AddNewRowAsNeeded();

            //dt.EnableDataChangedEventHandlers(saveEnabled);
            InSetup = false;
            return;
        }
Esempio n. 5
0
        /// <summary>
        /// Setup the control for the specified column and format style
        /// (Doesn't set the list of specific rules)
        /// </summary>
        /// <param name="columnType">MetaColumnType for column</param>

        public void SetupDataTableAndGrid(
            SpotfireViewProps svp,
            CondFormatRules rules)
        {
            SVP   = svp;
            Rules = rules;

            ColoringStyle = rules.ColoringStyle;
            CondFormatStyle cfStyle = rules.ColoringStyle;

            DataTable dt = new DataTable();

            DataTable = dt;                             // save ref to table
            dt.Columns.Add("RuleName", typeof(string)); // column id
            dt.Columns.Add("Operator", typeof(string));


            dt.Columns.Add("Value", typeof(string));
            dt.Columns.Add("Value2", typeof(string));

            V.Columns[OpCol].Visible = false;             // hide operator

            V.Columns[ValCol].Caption     = "Comparison Value";
            V.Columns[ValCol].FieldName   = "Value";                 // restore name
            V.Columns[ValCol].UnboundType = UnboundColumnType.Bound; // column is bound

            V.Columns[ValCol2].Visible = true;                       // show high val

            V.Columns[ValCol].Width  = ValColWidth;
            V.Columns[ValCol2].Width = ValCol2Width;
            EnableCfStyleOptions(colorSets: true, colorScales: false, dataBars: false, iconSets: true);             // don't allow non-discrete styles

            string ops =
                "Equal to|" +
                "Between|" +
                ">|" +
                "<|" +
                ">=|" +
                "<=|" +
                "Not Equal to|" +
                "Not Between|" +
                "Any other value|" +
                "Missing";

            if (cfStyle == CondFormatStyle.ColorScale)
            {
                ops = "Between";                 // only allow between rule
                V.Columns[ValCol].Caption  = "Bottom Color Data Value";
                V.Columns[ValCol2].Caption = "Top Color Data Value";
            }

            else             // single color (cfStyle == CondFormatStyle.ColorSet
            {
                V.Columns[ValCol].Visible  = false;
                V.Columns[ValCol2].Visible = false;
            }

            string[] list             = ops.Split('|');
            RepositoryItemComboBox cb = V.Columns[OpCol].ColumnEdit as RepositoryItemComboBox;

            if (cb != null)
            {
                cb.Items.Clear();
                cb.Items.AddRange(list);
            }

            dt.Columns.Add("BackColor1", typeof(Color));
            dt.Columns.Add("IconImageIdx", typeof(int));


            SetColumnVisibilityForColoringStyle(cfStyle);

            dt.RowChanged += new DataRowChangeEventHandler(DataRowChangeEventHandler);

            dt.RowDeleted += new DataRowChangeEventHandler(DataRowDeletedEventHandler);

            return;
        }
Esempio n. 6
0
        /// <summary>
        /// Construct defining coloring style
        /// </summary>
        /// <param name="coloringStyle"></param>

        public CondFormatRules(CondFormatStyle coloringStyle)
        {
            ColoringStyle = coloringStyle;
            return;
        }