Beispiel #1
0
        private void ColorBox_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.Hand;
            IRadColorDialog dialogForm = RadColorEditor.CreateColorDialogInstance();

            if (this.ColorDialogCreated != null)
            {
                this.ColorDialogCreated((object)this, new ColorDialogEventArgs(dialogForm));
            }
            UserControl selectorInstance = RadColorEditor.CreateColorSelectorInstance() as UserControl;

            ((IColorSelector)dialogForm.RadColorSelector).SelectedColor = this.BackColor;
            ((IColorSelector)dialogForm.RadColorSelector).OldColor      = this.BackColor;
            ((IColorSelector)selectorInstance).OkButtonClicked         += (ColorChangedEventHandler)((sender1, args) =>
            {
                ((Form)dialogForm).DialogResult = DialogResult.OK;
                ((Form)dialogForm).Close();
            });
            ((IColorSelector)selectorInstance).CancelButtonClicked += (ColorChangedEventHandler)((sender1, args) =>
            {
                ((Form)dialogForm).DialogResult = DialogResult.Cancel;
                ((Form)dialogForm).Close();
            });
            selectorInstance.Dock = DockStyle.Fill;
            ((Control)dialogForm).Controls.Add((Control)selectorInstance);
            if (((Form)dialogForm).ShowDialog() == DialogResult.OK)
            {
                this.BackColor = ((IColorSelector)dialogForm.RadColorSelector).SelectedColor;
                if (this.ColorChanged != null)
                {
                    this.ColorChanged((object)this, new ColorChangedEventArgs(this.BackColor));
                }
            }
            this.Invalidate();
        }
Beispiel #2
0
        public override object EditValue(
            ITypeDescriptorContext context,
            System.IServiceProvider provider,
            object value)
        {
            IRadColorDialog colorDialogInstance = RadColorEditor.CreateColorDialogInstance();
            UserControl     radColorSelector    = colorDialogInstance.RadColorSelector;
            bool            flag = false;

            if (value != null && (object)value.GetType() == (object)typeof(Color))
            {
                ((IColorSelector)radColorSelector).SelectedColor = (Color)value;
                ((IColorSelector)radColorSelector).OldColor      = (Color)value;
            }
            else if (value != null && (object)value.GetType() == (object)typeof(HslColor))
            {
                ((IColorSelector)radColorSelector).SelectedHslColor = (HslColor)value;
                ((IColorSelector)radColorSelector).OldColor         = ((HslColor)value).RgbValue;
                flag = true;
            }
            if (value == null)
            {
                return((object)null);
            }
            if (((Form)colorDialogInstance).ShowDialog() != DialogResult.OK)
            {
                return(value);
            }
            if (flag)
            {
                return((object)colorDialogInstance.SelectedHslColor);
            }
            return((object)colorDialogInstance.SelectedColor);
        }
Beispiel #3
0
 public override void Reset()
 {
     if (this.colorDialogForm != null)
     {
         (this.colorDialogForm as IDisposable)?.Dispose();
     }
     this.colorDialogForm = RadColorEditor.CreateColorDialogInstance();
 }
Beispiel #4
0
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnMouseDoubleClick(e);

            Rectangle rect = ClientRectangle;

            rect.Height -= 16;
            rect.Width  -= 18;
            rect.X      += 8;

            GradientColorValue selected = null;

            for (int i = 0; i < values.Count; i++)
            {
                GradientColorValue value = values[i];

                Rectangle pointRect = new Rectangle((int)(rect.Width * value.ColorPosition + 4), rect.Height, 8, 14);
                if (pointRect.Contains(e.X, e.Y))
                {
                    selected = value;
                    break;
                }
                else if (pointRect.X > e.X)
                {
                    if (values.Count >= 4)
                    {
                        MessageBox.Show("Only four color gradient styles are supported");
                        return;
                    }

                    Values.Insert(i, new GradientColorValue(Color.White, ((float)e.X - this.Parent.Location.X - this.Location.X) / (rect.Width + 4)));
                    selected = Values[i];
                    break;
                }
            }

            if (selected != null)
            {
                IRadColorDialog dialogForm = RadColorEditor.CreateColorDialogInstance();

                UserControl colorSelector = RadColorEditor.CreateColorSelectorInstance() as UserControl;
                ((IColorSelector)dialogForm.RadColorSelector).SelectedColor = (Color)selected.ColorValue;
                ((IColorSelector)dialogForm.RadColorSelector).OldColor      = (Color)selected.ColorValue;

                colorSelector.Dock = DockStyle.Fill;

                if (((Form)dialogForm).ShowDialog() == DialogResult.OK)
                {
                    selected.ColorValue = ((IColorSelector)dialogForm.RadColorSelector).SelectedColor;
                }
                Refresh();

                if (ColorChanged != null)
                {
                    ColorChanged(this, new ColorChangedEventArgs(selected.ColorValue));
                }
            }
        }
Beispiel #5
0
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            Rectangle clientRectangle = this.ClientRectangle;

            clientRectangle.Height -= 16;
            clientRectangle.Width  -= 18;
            clientRectangle.X      += 8;
            GradientColorValue gradientColorValue1 = (GradientColorValue)null;

            for (int index = 0; index < this.values.Count; ++index)
            {
                GradientColorValue gradientColorValue2 = this.values[index];
                Rectangle          rectangle           = new Rectangle((int)((double)clientRectangle.Width * (double)gradientColorValue2.ColorPosition + 4.0), clientRectangle.Height, 8, 14);
                if (rectangle.Contains(e.X, e.Y))
                {
                    gradientColorValue1 = gradientColorValue2;
                    break;
                }
                if (rectangle.X > e.X)
                {
                    if (this.values.Count >= 4)
                    {
                        int num = (int)MessageBox.Show("Only four color gradient styles are supported");
                        return;
                    }
                    this.Values.Insert(index, new GradientColorValue(Color.White, ((float)e.X - (float)this.Parent.Location.X - (float)this.Location.X) / (float)(clientRectangle.Width + 4)));
                    gradientColorValue1 = this.Values[index];
                    break;
                }
            }
            if (gradientColorValue1 == null)
            {
                return;
            }
            IRadColorDialog colorDialogInstance = RadColorEditor.CreateColorDialogInstance();
            UserControl     selectorInstance    = RadColorEditor.CreateColorSelectorInstance() as UserControl;

            ((IColorSelector)colorDialogInstance.RadColorSelector).SelectedColor = gradientColorValue1.ColorValue;
            ((IColorSelector)colorDialogInstance.RadColorSelector).OldColor      = gradientColorValue1.ColorValue;
            selectorInstance.Dock = DockStyle.Fill;
            if (((Form)colorDialogInstance).ShowDialog() == DialogResult.OK)
            {
                gradientColorValue1.ColorValue = ((IColorSelector)colorDialogInstance.RadColorSelector).SelectedColor;
            }
            this.Refresh();
            if (this.ColorChanged == null)
            {
                return;
            }
            this.ColorChanged((object)this, new ColorChangedEventArgs(gradientColorValue1.ColorValue));
        }
Beispiel #6
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            IRadColorDialog dialogForm = RadColorEditor.CreateColorDialogInstance();

            UserControl colorSelector = dialogForm.RadColorSelector;            // RadColorEditor.CreateColorSelectorInstance() as UserControl;

            bool isHslColor = false;

            if (value != null && value.GetType() == typeof(Color))
            {
                ((IColorSelector)colorSelector).SelectedColor = (Color)value;
                ((IColorSelector)colorSelector).OldColor      = (Color)value;
            }
            else if (value != null && value.GetType() == typeof(HslColor))
            {
                ((IColorSelector)colorSelector).SelectedHslColor = (HslColor)value;
                ((IColorSelector)colorSelector).OldColor         = ((HslColor)value).RgbValue;

                isHslColor = true;
            }

            if (value == null)
            {
                return(null);
            }

            if (((Form)dialogForm).ShowDialog() == DialogResult.OK)
            {
                if (isHslColor)
                {
                    return(dialogForm.SelectedHslColor);
                }
                else
                {
                    return(dialogForm.SelectedColor);
                }
            }

            return(value);
        }
Beispiel #7
0
        void ColorBox_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.Hand;
            IRadColorDialog dialogForm = RadColorEditor.CreateColorDialogInstance();

            if (this.ColorDialogCreated != null)
            {
                ColorDialogEventArgs args = new ColorDialogEventArgs(dialogForm);

                this.ColorDialogCreated(this, args);
            }

            UserControl colorSelector = RadColorEditor.CreateColorSelectorInstance() as UserControl;

            ((IColorSelector)dialogForm.RadColorSelector).SelectedColor = this.BackColor;
            ((IColorSelector)dialogForm.RadColorSelector).OldColor      = this.BackColor;

            ((IColorSelector)colorSelector).OkButtonClicked += delegate(object sender1, ColorChangedEventArgs args)
            {
                ((Form)dialogForm).DialogResult = DialogResult.OK;
                ((Form)dialogForm).Close();
            };
            ((IColorSelector)colorSelector).CancelButtonClicked += delegate(object sender1, ColorChangedEventArgs args)
            {
                ((Form)dialogForm).DialogResult = DialogResult.Cancel;
                ((Form)dialogForm).Close();
            };
            colorSelector.Dock = DockStyle.Fill;
            ((Form)dialogForm).Controls.Add(colorSelector);
            if (((Form)dialogForm).ShowDialog() == DialogResult.OK)
            {
                this.BackColor = ((IColorSelector)dialogForm.RadColorSelector).SelectedColor;
                if (ColorChanged != null)
                {
                    ColorChanged(this, new ColorChangedEventArgs(this.BackColor));
                }
            }

            this.Invalidate();
        }
Beispiel #8
0
 ///<summary>
 ///Resets the properties of a color dialog box to their default values. Replaces the underlaying ColorDialogForm
 /// with new instance
 ///</summary>
 ///<filterpriority>1</filterpriority>
 public override void Reset()
 {
     this.colorDialogForm = (IRadColorDialog)RadColorEditor.CreateColorDialogInstance();
 }
Beispiel #9
0
 public ColorDialogEventArgs(IRadColorDialog dialog)
 {
     this.dialog = dialog;
 }