public StateClick(int buttonIndex, FilterValueState clickedState, MouseButtons mouseButton) : this() { ButtonIndex = buttonIndex; ClickedState = clickedState; MouseButton = mouseButton; }
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); }
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); }
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(); }
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); }
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); } } }
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); }
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); }