-
Notifications
You must be signed in to change notification settings - Fork 571
Turn ColorSelectorSliders into robust xaml + add hex color field to color sliders #6370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
portfiend
wants to merge
10
commits into
space-wizards:master
Choose a base branch
from
portfiend:feat/color-slider-hex
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+310
−169
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
26ce735
turn color selector sliders into robust xaml
portfiend 7771faf
move color selector slider controls into xaml
portfiend 88e2721
mark these fields readonly
portfiend d073f38
add MonoLineEdit control
portfiend b50025b
add hex color box
portfiend c9f2934
add vertical padding to the color panel
portfiend d5f51a7
make the color panel width more dynamic
portfiend 8812be9
validate hex characters in color code
portfiend d000e1c
make monolineedit private
portfiend f14de55
move the slider channels into their own controls
portfiend File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
Robust.Client/UserInterface/Controls/AlphaSliderChannel.xaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| <BoxContainer xmlns="https://spacestation14.io" | ||
| Orientation="Horizontal" | ||
| SeparationOverride="3"> | ||
| <Label Name="ChannelLabel" | ||
| Text="{Loc 'color-selector-sliders-alpha'}" /> | ||
| <Slider Name="AlphaSlider" | ||
| HorizontalExpand="True" | ||
| VerticalAlignment="Center" | ||
| MaxValue="1.0" /> | ||
| <SpinBox Name="InputBox" /> | ||
| </BoxContainer> |
38 changes: 38 additions & 0 deletions
38
Robust.Client/UserInterface/Controls/AlphaSliderChannel.xaml.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| using System; | ||
| using Robust.Client.AutoGenerated; | ||
| using Robust.Client.UserInterface.XAML; | ||
|
|
||
| namespace Robust.Client.UserInterface.Controls; | ||
|
|
||
| [GenerateTypedNameReferences] | ||
| [Access(typeof(ColorSelectorSliders))] | ||
| public sealed partial class AlphaSliderChannel : BoxContainer, ISliderChannel | ||
| { | ||
| public event Action<Range>? OnSliderValueChanged; | ||
| public event Action<ValueChangedEventArgs>? OnSpinValueChanged; | ||
|
|
||
| public Func<int, bool>? IsInputValid | ||
| { | ||
| set => InputBox.IsValid = value; | ||
| } | ||
|
|
||
| public float Value | ||
| { | ||
| get => AlphaSlider.Value; | ||
| set => AlphaSlider.Value = value; | ||
| } | ||
|
|
||
| public AlphaSliderChannel() | ||
| { | ||
| RobustXamlLoader.Load(this); | ||
| AlphaSlider.OnValueChanged += v => OnSliderValueChanged?.Invoke(v); | ||
| InputBox.ValueChanged += args => OnSpinValueChanged?.Invoke(args); | ||
| InputBox.InitDefaultButtons(); | ||
| } | ||
|
|
||
| public void OverrideValue(float value, float divisor) | ||
| { | ||
| AlphaSlider.SetValueWithoutEvent(value); | ||
| InputBox.OverrideValue((int)(value * divisor)); | ||
| } | ||
| } | ||
30 changes: 30 additions & 0 deletions
30
Robust.Client/UserInterface/Controls/ColorSelectorSliders.xaml
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Holy copy paste |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| <Control xmlns="https://spacestation14.io"> | ||
| <BoxContainer Name="RootBox" Orientation="Vertical"> | ||
| <BoxContainer Name="HeaderBox" | ||
| Orientation="Horizontal" | ||
| SeparationOverride="5"> | ||
| <OptionButton Name="TypeSelector" /> | ||
| <Label Name="ColorDescriptionLabel" /> | ||
| </BoxContainer> | ||
| <BoxContainer Name="BodyBox" Orientation="Vertical"> | ||
| <ColorSliderChannel Name="TopChannel" /> | ||
| <ColorSliderChannel Name="MiddleChannel" /> | ||
| <ColorSliderChannel Name="BottomChannel" /> | ||
| <AlphaSliderChannel Name="AlphaChannel" /> | ||
| </BoxContainer> | ||
| <BoxContainer Name="HexBox" | ||
| Orientation="Horizontal" | ||
| HorizontalExpand="True"> | ||
| <PanelContainer Name="ColorPreviewPanel" | ||
| Margin="2" | ||
| HorizontalExpand="True" | ||
| SizeFlagsStretchRatio="1" /> | ||
| <Control HorizontalExpand="True" | ||
| SizeFlagsStretchRatio="3" /> | ||
| <BoxContainer Name="HexEditBox" Orientation="Horizontal"> | ||
| <Label Text="#" /> | ||
| <!-- mono line edit added in c# --> | ||
| </BoxContainer> | ||
| </BoxContainer> | ||
| </BoxContainer> | ||
| </Control> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't be public