Esempio n. 1
0
 public StateClick(int buttonIndex, FilterValueState clickedState, MouseButtons mouseButton)
     : this()
 {
     ButtonIndex  = buttonIndex;
     ClickedState = clickedState;
     MouseButton  = mouseButton;
 }
Esempio n. 2
0
        private void paintRequireButton(PaintEventArgs e, FilterValueState state, FilterValueState statePreview, int i)
        {
            var value = FilterValueState.Required;

            if (EnableMutuallyExclusive || state != value && statePreview != value && _lastClickPreview?.ButtonIndex != i)
            {
                return;
            }

            paintButton(e, state, statePreview, value, ImageRequired ?? _imagesDisabled[i], i);
        }
Esempio n. 3
0
        private void paintAllowButton(PaintEventArgs e, FilterValueState state, FilterValueState statePreview, int i)
        {
            FilterValueState value =
                EnableRequiringSome
                                        ? FilterValueState.RequiredSome
                                        : FilterValueState.Ignored;

            if ((state == FilterValueState.Required || state == FilterValueState.Prohibited && !HideProhibit) && statePreview != value && _lastClickPreview?.ButtonIndex != i)
            {
                return;
            }

            paintButton(e, state, statePreview, value, _imagesDisabled[i], i);
        }
Esempio n. 4
0
        private void setFilterManagerState(FilterGroup filterGroup, FilterValueState value)
        {
            var states = FilterManager.States;

            if (states[filterGroup.Index()] == value)
            {
                return;
            }

            states[filterGroup.Index()] = value;

            beginRestoreSettings();
            FilterManager.States = states;
            endRestoreSettings();
        }
Esempio n. 5
0
        private void paintProhibitButton(PaintEventArgs e, FilterValueState state, FilterValueState statePreview, int i)
        {
            if (HideProhibit)
            {
                return;
            }

            var value = FilterValueState.Prohibited;

            if (state != value && statePreview != value && _lastClickPreview?.ButtonIndex != i)
            {
                return;
            }

            paintButton(e, state, statePreview, value, _imagesDisabled[i], i);
        }
Esempio n. 6
0
        private void paintButton(
            PaintEventArgs e,
            FilterValueState state,
            FilterValueState statePreview,
            FilterValueState filterValueState,
            Image imageDisabled,
            int i)
        {
            if (imageDisabled == null)
            {
                return;
            }

            var rectangle = getPaintingRectangle(i, filterValueState);

            bool enabled        = state == filterValueState;
            bool enabledPreview = statePreview == filterValueState;

            if (enabled)
            {
                if (enabledPreview || !_showPreview)
                {
                    e.Graphics.DrawImage(_images[i], rectangle);
                }
                else
                {
                    e.Graphics.DrawImage(_imagesToDisable[i], rectangle);
                }
            }
            else             /* !enabled */
            {
                if (!enabledPreview || !_showPreview)
                {
                    e.Graphics.DrawImage(imageDisabled, rectangle);
                }
                else
                {
                    e.Graphics.DrawImage(_imagesToEnable[i], rectangle);
                }
            }
        }
Esempio n. 7
0
        private Rectangle getPaintingRectangle(int i, FilterValueState state)
        {
            int imageWidth  = ImageSize.Width;
            var imageHeight = ImageSize.Height;

            // чтобы Allowed был 0 Prohibited сделан -1
            const int maxStateIndex = 1;
            // таким образом RequireSome == Allowed для вычисления координат
            int stateIndex = (int)state % 2;

            if (EnableMutuallyExclusive)
            {
                stateIndex++;
            }

            int shift = maxStateIndex - stateIndex;

            int border = Border;

            int x = border + i * (imageWidth + Spacing.Width);
            var y = border + shift * (imageHeight + Spacing.Height);

            if (IsVertical)
            {
                swap(ref x, ref y);
                swap(ref imageWidth, ref imageHeight);

                if (IsFlipped)
                {
                    x = Width - x - imageWidth;
                }
            }

            var result = new Rectangle(x, y, imageWidth, imageHeight);

            return(result);
        }
Esempio n. 8
0
        private Rectangle getPaintingRectangle(int i, FilterValueState state)
        {
            int imageWidth  = ImageSize.Width;
            var imageHeight = ImageSize.Height;

            // to make Allowed 0 Prohibited was made -1
            const int maxStateIndex = 1;
            // in this way RequireSome == Allowed for the purpose of coordinate calculation
            int stateIndex = (int)state % 2;

            if (EnableMutuallyExclusive)
            {
                stateIndex++;
            }

            int shift = maxStateIndex - stateIndex;

            int border = Border;

            int x = border + i * (imageWidth + Spacing.Width);
            var y = border + shift * (imageHeight + Spacing.Height);

            if (IsVertical)
            {
                swap(ref x, ref y);
                swap(ref imageWidth, ref imageHeight);

                if (IsFlipped)
                {
                    x = Width - x - imageWidth;
                }
            }

            var result = new Rectangle(x, y, imageWidth, imageHeight);

            return(result);
        }