WPF layout (#3346)

This commit is contained in:
Pieter-Jan Briers
2021-02-21 12:38:56 +01:00
committed by GitHub
parent 33d6975c25
commit b898443f28
121 changed files with 1420 additions and 2069 deletions

View File

@@ -1,21 +1,32 @@
<SS14Window xmlns="https://spacestation14.io">
<MarginContainer Name="Margin" SizeFlagsVertical="FillExpand" SizeFlagsHorizontal="Fill">
<VBoxContainer SizeFlagsVertical="FillExpand" SizeFlagsHorizontal="FillExpand" SeparationOverride="5">
<HBoxContainer SizeFlagsVertical="FillExpand" SizeFlagsHorizontal="FillExpand">
<Button Name="InputButton" ToggleMode="True" Text="MIDI Input" TextAlign="Center" SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="1"/>
<Control SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="2" />
<Button Name="FileButton" Text="Play MIDI File" TextAlign="Center" SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="1"/>
</HBoxContainer>
<HBoxContainer SizeFlagsVertical="FillExpand" SizeFlagsHorizontal="Fill">
<Button Name="LoopButton" ToggleMode="True" Text="Loop" TextAlign="Center" SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="1"/>
<Control SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="2" />
<Button Name="StopButton" Text="Stop" TextAlign="Center" SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="1"/>
</HBoxContainer>
<HBoxContainer SizeFlagsVertical="ShrinkEnd" SizeFlagsHorizontal="FillExpand">
<Control SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="0.125"/>
<Slider Name="PlaybackSlider" SizeFlagsHorizontal="FillExpand" />
<Control SizeFlagsHorizontal="FillExpand" SizeFlagsStretchRatio="0.125"/>
</HBoxContainer>
</VBoxContainer>
</MarginContainer>
<SS14Window xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client">
<VBoxContainer SeparationOverride="5">
<HBoxContainer VerticalExpand="True">
<Button Name="InputButton" ToggleMode="True" Text="MIDI Input" TextAlign="Center"
HorizontalExpand="True" SizeFlagsStretchRatio="1" />
<Control HorizontalExpand="True" SizeFlagsStretchRatio="2" />
<Button Name="FileButton" Text="Play MIDI File" TextAlign="Center" HorizontalExpand="True"
SizeFlagsStretchRatio="1" />
</HBoxContainer>
<HBoxContainer VerticalExpand="True">
<Button Name="LoopButton" ToggleMode="True" Text="Loop" TextAlign="Center" HorizontalExpand="True"
SizeFlagsStretchRatio="1" />
<Control HorizontalExpand="True" SizeFlagsStretchRatio="2" />
<Button Name="StopButton" Text="Stop" TextAlign="Center" HorizontalExpand="True"
SizeFlagsStretchRatio="1" />
</HBoxContainer>
<HBoxContainer VerticalExpand="True">
<Control HorizontalExpand="True" SizeFlagsStretchRatio="0.125" />
<Slider Name="PlaybackSlider" HorizontalExpand="True" />
<Control HorizontalExpand="True" SizeFlagsStretchRatio="0.125" />
</HBoxContainer>
</VBoxContainer>
<PanelContainer Name="UnavailableOverlay" Visible="False" MouseFilter="Stop">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#000000E5" />
</PanelContainer.PanelOverride>
<Label VerticalAlignment="Center" HorizontalAlignment="Center" Align="Center"
StyleClasses="LabelBig"
Text="{Loc 'MIDI support is currently&#x0a;not available on your platform.'}" />
</PanelContainer>
</SS14Window>

View File

@@ -30,8 +30,6 @@ namespace Content.Client.Instruments
private readonly InstrumentBoundUserInterface _owner;
protected override Vector2? CustomSize => (400, 150);
public InstrumentMenu(InstrumentBoundUserInterface owner)
{
RobustXamlLoader.Load(this);
@@ -50,23 +48,7 @@ namespace Content.Client.Instruments
if (!_midiManager.IsAvailable)
{
Margin.AddChild(new PanelContainer
{
MouseFilter = MouseFilterMode.Stop,
PanelOverride = new StyleBoxFlat {BackgroundColor = Color.Black.WithAlpha(0.90f)},
Children =
{
new Label
{
Align = Label.AlignMode.Center,
SizeFlagsVertical = SizeFlags.ShrinkCenter,
SizeFlagsHorizontal = SizeFlags.ShrinkCenter,
StyleClasses = {StyleNano.StyleClassLabelBig},
Text = Loc.GetString("MIDI support is currently\nnot available on your platform.")
}
}
});
UnavailableOverlay.Visible = true;
// We return early as to not give the buttons behavior.
return;
}
@@ -77,6 +59,8 @@ namespace Content.Client.Instruments
StopButton.OnPressed += MidiStopButtonOnPressed;
PlaybackSlider.OnValueChanged += PlaybackSliderSeek;
PlaybackSlider.OnKeyBindUp += PlaybackSliderKeyUp;
MinSize = SetSize = (400, 150);
}
private void InstrumentOnMidiPlaybackEnded()