Refactor Controls to default to MouseFilterMode.Ignore (#753)

* Refactor Controls to default to MouseFilterMode.Ignore

* Clean up MouseFilterMode.Ignore from Controls

* Refactor ContainerButtons to use a StyleClass for formatting instead of typeof

* Refactor CharacterSetupButton into a ContainerButton

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
This commit is contained in:
Pieter-Jan Briers
2020-03-25 02:32:53 +01:00
committed by GitHub
11 changed files with 24 additions and 52 deletions

View File

@@ -43,6 +43,7 @@ namespace Content.Client.Chat
AnchorLeft = 1.0f;
AnchorRight = 1.0f;*/
MouseFilter = MouseFilterMode.Stop;
var outerVBox = new VBoxContainer();

View File

@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using Content.Client.Interfaces.Chat;
using Content.Shared.Chat;
using Robust.Client.Console;
@@ -81,10 +81,7 @@ namespace Content.Client.Chat
{
_netManager.RegisterNetMessage<MsgChatMessage>(MsgChatMessage.NAME, _onChatMessage);
_speechBubbleRoot = new LayoutContainer
{
MouseFilter = Control.MouseFilterMode.Ignore
};
_speechBubbleRoot = new LayoutContainer();
LayoutContainer.SetAnchorPreset(_speechBubbleRoot, LayoutContainer.LayoutPreset.Wide);
_userInterfaceManager.StateRoot.AddChild(_speechBubbleRoot);
_speechBubbleRoot.SetPositionFirst();

View File

@@ -1,4 +1,4 @@
using Content.Client.Interfaces.Chat;
using Content.Client.Interfaces.Chat;
using Robust.Client.Interfaces.Graphics.ClientEye;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
@@ -44,14 +44,12 @@ namespace Content.Client.Chat
_senderEntity = senderEntity;
_eyeManager = eyeManager;
MouseFilter = MouseFilterMode.Ignore;
// Use text clipping so new messages don't overlap old ones being pushed up.
RectClipContent = true;
var label = new RichTextLabel
{
MaxWidth = 256,
MouseFilter = MouseFilterMode.Ignore
};
label.SetMessage(text);
@@ -59,7 +57,6 @@ namespace Content.Client.Chat
{
StyleClasses = { "tooltipBox" },
Children = { label },
MouseFilter = MouseFilterMode.Ignore,
ModulateSelfOverride = Color.White.WithAlpha(0.75f)
};

View File

@@ -242,23 +242,22 @@ namespace Content.Client.GameObjects.Components.Storage
};
AddChild(ActualButton);
var hBoxContainer = new HBoxContainer {MouseFilter = MouseFilterMode.Ignore};
var hBoxContainer = new HBoxContainer();
EntitySpriteView = new SpriteView
{
CustomMinimumSize = new Vector2(32.0f, 32.0f), MouseFilter = MouseFilterMode.Ignore
CustomMinimumSize = new Vector2(32.0f, 32.0f)
};
EntityName = new Label
{
SizeFlagsVertical = SizeFlags.ShrinkCenter,
Text = "Backpack",
MouseFilter = MouseFilterMode.Ignore
};
hBoxContainer.AddChild(EntitySpriteView);
hBoxContainer.AddChild(EntityName);
EntityControl = new Control
{
SizeFlagsHorizontal = SizeFlags.FillExpand, MouseFilter = MouseFilterMode.Ignore
SizeFlagsHorizontal = SizeFlags.FillExpand
};
EntitySize = new Label
{

View File

@@ -345,14 +345,12 @@ namespace Content.Client.UserInterface.Cargo
var hBox = new HBoxContainer
{
SizeFlagsHorizontal = SizeFlags.FillExpand,
MouseFilter = MouseFilterMode.Ignore
SizeFlagsHorizontal = SizeFlags.FillExpand
};
Icon = new TextureRect
{
CustomMinimumSize = new Vector2(32.0f, 32.0f),
MouseFilter = MouseFilterMode.Ignore,
RectClipContent = true
};
hBox.AddChild(Icon);
@@ -366,7 +364,6 @@ namespace Content.Client.UserInterface.Cargo
var panel = new PanelContainer
{
PanelOverride = new StyleBoxFlat { BackgroundColor = new Color(37, 37, 42) },
MouseFilter = MouseFilterMode.Ignore
};
PointCost = new Label
{
@@ -396,13 +393,11 @@ namespace Content.Client.UserInterface.Cargo
var hBox = new HBoxContainer
{
SizeFlagsHorizontal = SizeFlags.FillExpand,
MouseFilter = MouseFilterMode.Ignore
};
Icon = new TextureRect
{
CustomMinimumSize = new Vector2(32.0f, 32.0f),
MouseFilter = MouseFilterMode.Ignore,
RectClipContent = true
};
hBox.AddChild(Icon);

View File

@@ -141,6 +141,7 @@ namespace Content.Client.UserInterface
{
preferencesManager.CreateCharacter(HumanoidCharacterProfile.Default());
UpdateUI();
args.Event.Handle();
};
hBox.AddChild(new PanelContainer
@@ -179,13 +180,14 @@ namespace Content.Client.UserInterface
_charactersVBox.AddChild(characterPickerButton);
var characterIndexCopy = characterIndex;
characterPickerButton.ActualButton.OnPressed += args =>
characterPickerButton.OnPressed += args =>
{
_humanoidProfileEditor.Profile = (HumanoidCharacterProfile) character;
_humanoidProfileEditor.CharacterSlot = characterIndexCopy;
_humanoidProfileEditor.UpdateControls();
_preferencesManager.SelectCharacter(character);
UpdateUI();
args.Event.Handle();
};
characterIndex++;
}
@@ -195,9 +197,8 @@ namespace Content.Client.UserInterface
_charactersVBox.AddChild(_createNewCharacterButton);
}
private class CharacterPickerButton : Control
private class CharacterPickerButton : ContainerButton
{
public readonly Button ActualButton;
private IEntity _previewDummy;
public CharacterPickerButton(
@@ -206,6 +207,10 @@ namespace Content.Client.UserInterface
ButtonGroup group,
ICharacterProfile profile)
{
AddStyleClass(StyleClassButton);
ToggleMode = true;
Group = group;
_previewDummy = entityManager.SpawnEntity("HumanMob_Dummy", MapCoordinates.Nullspace);
_previewDummy.GetComponent<HumanoidAppearanceComponent>().UpdateFromProfile(profile);
var humanoid = profile as HumanoidCharacterProfile;
@@ -216,22 +221,13 @@ namespace Content.Client.UserInterface
var isSelectedCharacter = profile == preferencesManager.Preferences.SelectedCharacter;
ActualButton = new Button
{
SizeFlagsHorizontal = SizeFlags.FillExpand,
SizeFlagsVertical = SizeFlags.FillExpand,
ToggleMode = true,
Group = group
};
if (isSelectedCharacter)
ActualButton.Pressed = true;
AddChild(ActualButton);
Pressed = true;
var view = new SpriteView
{
Sprite = _previewDummy.GetComponent<SpriteComponent>(),
Scale = (2, 2),
MouseFilter = MouseFilterMode.Ignore,
OverrideDirection = Direction.South
};
@@ -264,7 +260,6 @@ namespace Content.Client.UserInterface
var internalHBox = new HBoxContainer
{
SizeFlagsHorizontal = SizeFlags.FillExpand,
MouseFilter = MouseFilterMode.Ignore,
SeparationOverride = 0,
Children =
{

View File

@@ -107,7 +107,7 @@ namespace Content.Client.UserInterface
public void Initialize()
{
RootControl = new LayoutContainer {MouseFilter = Control.MouseFilterMode.Ignore};
RootControl = new LayoutContainer();
LayoutContainer.SetAnchorPreset(RootControl, LayoutContainer.LayoutPreset.Wide);
var escapeTexture = _resourceCache.GetTexture("/Textures/UserInterface/hamburger.svg.96dpi.png");
@@ -237,7 +237,6 @@ namespace Content.Client.UserInterface
HandsContainer = new MarginContainer
{
MouseFilter = MouseFilterMode.Ignore,
SizeFlagsVertical = Control.SizeFlags.ShrinkEnd
};
@@ -353,13 +352,11 @@ namespace Content.Client.UserInterface
AddChild(new MarginContainer
{
MouseFilter = MouseFilterMode.Ignore,
MarginTopOverride = 4,
Children =
{
new VBoxContainer
{
MouseFilter = MouseFilterMode.Ignore,
Children =
{
(_textureRect = new TextureRect
@@ -367,7 +364,6 @@ namespace Content.Client.UserInterface
Texture = texture,
SizeFlagsHorizontal = SizeFlags.ShrinkCenter,
SizeFlagsVertical = SizeFlags.Expand | SizeFlags.ShrinkCenter,
MouseFilter = MouseFilterMode.Ignore,
ModulateSelfOverride = ColorNormal,
CustomMinimumSize = (0, 32),
Stretch = TextureRect.StretchMode.KeepCentered
@@ -376,7 +372,6 @@ namespace Content.Client.UserInterface
{
Text = keyName,
SizeFlagsHorizontal = SizeFlags.ShrinkCenter,
MouseFilter = MouseFilterMode.Ignore,
ModulateSelfOverride = ColorNormal,
StyleClasses = {StyleClassLabelTopButton}
})

View File

@@ -39,8 +39,6 @@ namespace Content.Client.UserInterface
{
IoCManager.InjectDependencies(this);
MouseFilter = MouseFilterMode.Ignore;
var textureHandLeft = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_l.png");
var textureHandRight = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_r.png");
var textureHandActive = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_active.png");
@@ -54,8 +52,7 @@ namespace Content.Client.UserInterface
var hBox = new HBoxContainer
{
SeparationOverride = 0,
Children = {_rightStatusPanel, _rightButton, _leftButton, _leftStatusPanel},
MouseFilter = MouseFilterMode.Ignore
Children = {_rightStatusPanel, _rightButton, _leftButton, _leftStatusPanel}
};
AddChild(hBox);
@@ -68,7 +65,6 @@ namespace Content.Client.UserInterface
// Active hand
_leftButton.AddChild(ActiveHandRect = new TextureRect
{
MouseFilter = MouseFilterMode.Ignore,
Texture = textureHandActive,
TextureScale = (2, 2)
});

View File

@@ -31,7 +31,6 @@ namespace Content.Client.GameObjects
AddChild(SpriteView = new SpriteView
{
MouseFilter = MouseFilterMode.Ignore,
Scale = (2, 2),
OverrideDirection = Direction.South
});
@@ -52,7 +51,6 @@ namespace Content.Client.GameObjects
{
SizeFlagsHorizontal = SizeFlags.ShrinkCenter,
SizeFlagsVertical = SizeFlags.ShrinkCenter,
MouseFilter = MouseFilterMode.Ignore,
Stretch = TextureRect.StretchMode.KeepCentered,
TextureScale = (2, 2),
Visible = false,

View File

@@ -307,19 +307,19 @@ namespace Content.Client.UserInterface
}),
// Regular buttons!
new StyleRule(new SelectorElement(typeof(Button), null, null, new[] {ContainerButton.StylePseudoClassNormal}), new[]
new StyleRule(new SelectorElement(typeof(ContainerButton), new[] { ContainerButton.StyleClassButton }, null, new[] {ContainerButton.StylePseudoClassNormal}), new[]
{
new StyleProperty(ContainerButton.StylePropertyStyleBox, buttonNormal),
}),
new StyleRule(new SelectorElement(typeof(Button), null, null, new[] {ContainerButton.StylePseudoClassHover}), new[]
new StyleRule(new SelectorElement(typeof(ContainerButton), new[] { ContainerButton.StyleClassButton }, null, new[] {ContainerButton.StylePseudoClassHover}), new[]
{
new StyleProperty(ContainerButton.StylePropertyStyleBox, buttonHover),
}),
new StyleRule(new SelectorElement(typeof(Button), null, null, new[] {ContainerButton.StylePseudoClassPressed}), new[]
new StyleRule(new SelectorElement(typeof(ContainerButton), new[] { ContainerButton.StyleClassButton }, null, new[] {ContainerButton.StylePseudoClassPressed}), new[]
{
new StyleProperty(ContainerButton.StylePropertyStyleBox, buttonPressed),
}),
new StyleRule(new SelectorElement(typeof(Button), null, null, new[] {ContainerButton.StylePseudoClassDisabled}), new[]
new StyleRule(new SelectorElement(typeof(ContainerButton), new[] { ContainerButton.StyleClassButton }, null, new[] {ContainerButton.StylePseudoClassDisabled}), new[]
{
new StyleProperty(ContainerButton.StylePropertyStyleBox, buttonDisabled),
}),

View File

@@ -1,4 +1,4 @@
using Robust.Client.UserInterface;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
namespace Content.Client.UserInterface
@@ -14,7 +14,6 @@ namespace Content.Client.UserInterface
public StatusEffectsUI()
{
_vBox = new VBoxContainer();
MouseFilter = Control.MouseFilterMode.Ignore;
AddChild(_vBox);
LayoutContainer.SetGrowHorizontal(this, LayoutContainer.GrowDirection.Begin);