Exemplo n.º 1
0
        private HScaleSpinButtonWidget CreateSlider(string caption, object o, MemberInfo member, object[] attributes)
        {
            HScaleSpinButtonWidget widget = new HScaleSpinButtonWidget();

            int    min_value    = -100;
            int    max_value    = 100;
            double inc_value    = 1.0;
            int    digits_value = 0;

            foreach (var attr in attributes)
            {
                if (attr is MinimumValueAttribute)
                {
                    min_value = ((MinimumValueAttribute)attr).Value;
                }
                else if (attr is MaximumValueAttribute)
                {
                    max_value = ((MaximumValueAttribute)attr).Value;
                }
                else if (attr is IncrementValueAttribute)
                {
                    inc_value = ((IncrementValueAttribute)attr).Value;
                }
                else if (attr is DigitsValueAttribute)
                {
                    digits_value = ((DigitsValueAttribute)attr).Value;
                }
            }

            widget.Label          = caption;
            widget.MinimumValue   = min_value;
            widget.MaximumValue   = max_value;
            widget.IncrementValue = inc_value;
            widget.DigitsValue    = digits_value;
            widget.DefaultValue   = (int)GetValue(member, o);

            widget.ValueChanged += delegate(object sender, EventArgs e) {
                if (event_delay_timeout_id != 0)
                {
                    GLib.Source.Remove(event_delay_timeout_id);
                }

                event_delay_timeout_id = GLib.Timeout.Add(event_delay_millis, () => {
                    event_delay_timeout_id = 0;
                    SetValue(member, o, widget.ValueAsInt);
                    return(false);
                });
            };

            return(widget);
        }
Exemplo n.º 2
0
        private HScaleSpinButtonWidget CreateSlider(string caption, object o, MemberInfo member, object[] attributes)
        {
            var min_value    = -100;
            var max_value    = 100;
            var inc_value    = 1.0;
            var digits_value = 0;

            foreach (var attr in attributes)
            {
                if (attr is MinimumValueAttribute min)
                {
                    min_value = min.Value;
                }
                else if (attr is MaximumValueAttribute max)
                {
                    max_value = max.Value;
                }
                else if (attr is IncrementValueAttribute inc)
                {
                    inc_value = inc.Value;
                }
                else if (attr is DigitsValueAttribute digits)
                {
                    digits_value = digits.Value;
                }
            }

            var widget = new HScaleSpinButtonWidget {
                Label          = caption,
                MinimumValue   = min_value,
                MaximumValue   = max_value,
                IncrementValue = inc_value,
                DigitsValue    = digits_value
            };

            if (GetValue(member, o) is int i)
            {
                widget.DefaultValue = i;
            }

            widget.ValueChanged += delegate(object?sender, EventArgs e) {
                DelayedUpdate(() => {
                    SetValue(member, o, widget.ValueAsInt);
                    return(false);
                });
            };

            return(widget);
        }
Exemplo n.º 3
0
        private HScaleSpinButtonWidget CreateDoubleSlider(string caption, object o, MemberInfo member, object [] attributes)
        {
            HScaleSpinButtonWidget widget = new HScaleSpinButtonWidget();

            int    min_value    = -100;
            int    max_value    = 100;
            double inc_value    = 0.01;
            int    digits_value = 2;

            foreach (var attr in attributes)
            {
                if (attr is MinimumValueAttribute)
                {
                    min_value = ((MinimumValueAttribute)attr).Value;
                }
                else if (attr is MaximumValueAttribute)
                {
                    max_value = ((MaximumValueAttribute)attr).Value;
                }
                else if (attr is IncrementValueAttribute)
                {
                    inc_value = ((IncrementValueAttribute)attr).Value;
                }
                else if (attr is DigitsValueAttribute)
                {
                    digits_value = ((DigitsValueAttribute)attr).Value;
                }
            }

            widget.Label          = caption;
            widget.MinimumValue   = min_value;
            widget.MaximumValue   = max_value;
            widget.IncrementValue = inc_value;
            widget.DigitsValue    = digits_value;
            widget.DefaultValue   = (double)GetValue(member, o);

            widget.ValueChanged += delegate(object sender, EventArgs e) {
                DelayedUpdate(() => {
                    SetValue(member, o, widget.Value);
                    return(false);
                });
            };

            return(widget);
        }
Exemplo n.º 4
0
        private HScaleSpinButtonWidget CreateSlider(string caption, object o, MemberInfo member, object[] attributes)
        {
            HScaleSpinButtonWidget widget = new HScaleSpinButtonWidget ();

            int min_value = -100;
            int max_value = 100;

            foreach (var attr in attributes) {
                if (attr is MinimumValueAttribute)
                    min_value = ((MinimumValueAttribute)attr).Value;
                else if (attr is MaximumValueAttribute)
                    max_value = ((MaximumValueAttribute)attr).Value;
            }

            widget.Label = caption;
            widget.MinimumValue = min_value;
            widget.MaximumValue = max_value;
            widget.DefaultValue = (int)GetValue (member, o);

            widget.ValueChanged += delegate (object sender, EventArgs e) {

                if (event_delay_timeout_id != 0)
                    GLib.Source.Remove (event_delay_timeout_id);

                event_delay_timeout_id = GLib.Timeout.Add (event_delay_millis, () => {
                    event_delay_timeout_id = 0;
                    SetValue (member, o, widget.Value);
                    return false;
                });
            };

            return widget;
        }
Exemplo n.º 5
0
		private void Build ()
		{
			Resizable = false;

			VBox.WidthRequest = 400;
			VBox.BorderWidth = 6;
			VBox.Spacing = 6;

			red_spinbox = new HScaleSpinButtonWidget ();
			red_spinbox.Label = Catalog.GetString ("Red");
			InitSpinBox (red_spinbox);

			green_spinbox = new HScaleSpinButtonWidget ();
			green_spinbox.Label = Catalog.GetString ("Green");
			InitSpinBox (green_spinbox);

			blue_spinbox = new HScaleSpinButtonWidget ();
			blue_spinbox.Label = Catalog.GetString ("Blue");
			InitSpinBox (blue_spinbox);

			link_button = new CheckButton (Catalog.GetString ("Linked"));
			link_button.Active = true;
			VBox.Add (link_button);

			AddButton (Stock.Cancel, ResponseType.Cancel);
			AddButton (Stock.Ok, ResponseType.Ok);

			DefaultWidth = 400;
			DefaultHeight = 300;
			ShowAll ();
		}
Exemplo n.º 6
0
		private void InitSpinBox (HScaleSpinButtonWidget spinbox)
		{
			spinbox.DefaultValue = 16;
			spinbox.MaximumValue = 64;
			spinbox.MinimumValue = 2;
			VBox.Add (spinbox);
		}
Exemplo n.º 7
0
        private HScaleSpinButtonWidget CreateSlider(string caption, object o, MemberInfo member, object[] attributes)
        {
            HScaleSpinButtonWidget widget = new HScaleSpinButtonWidget ();

            int min_value = -100;
            int max_value = 100;

            foreach (var attr in attributes) {
                if (attr is MinimumValueAttribute)
                    min_value = ((MinimumValueAttribute)attr).Value;
                else if (attr is MaximumValueAttribute)
                    max_value = ((MaximumValueAttribute)attr).Value;
            }

            widget.Label = caption;
            widget.MinimumValue = min_value;
            widget.MaximumValue = max_value;
            widget.DefaultValue = (int)GetValue (member, o);

            widget.ValueChanged += delegate (object sender, EventArgs e) {
                SetValue (member, o, widget.Value);
            };

            return widget;
        }