diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index e63198e24f..38fc796f80 100755
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -184,6 +184,7 @@
+
diff --git a/OpenRA.Game/Widgets/ButtonWidget.cs b/OpenRA.Game/Widgets/ButtonWidget.cs
index 673a5948d8..2cf024a73c 100644
--- a/OpenRA.Game/Widgets/ButtonWidget.cs
+++ b/OpenRA.Game/Widgets/ButtonWidget.cs
@@ -122,97 +122,4 @@ namespace OpenRA.Widgets
WidgetUtils.DrawPanel(state, rect);
}
}
-
- public class DropDownButtonWidget : ButtonWidget
- {
- public DropDownButtonWidget()
- : base()
- {
- }
-
- protected DropDownButtonWidget(DropDownButtonWidget widget)
- : base(widget)
- {
- }
-
- public override void DrawInner()
- {
- base.DrawInner();
- var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0);
-
- var image = ChromeProvider.GetImage("scrollbar", "down_arrow");
- var rb = RenderBounds;
-
- WidgetUtils.DrawRGBA( image,
- stateOffset + new float2( rb.Right - rb.Height + 4,
- rb.Top + (rb.Height - image.bounds.Height) / 2 ));
-
- WidgetUtils.FillRectWithColor(new Rectangle(stateOffset.X + rb.Right - rb.Height,
- stateOffset.Y + rb.Top + 3, 1, rb.Height - 6),
- Color.White);
- }
-
- public override Widget Clone() { return new DropDownButtonWidget(this); }
- public override int UsableWidth { get { return Bounds.Width - Bounds.Height; } } /* space for button */
-
- public static void ShowDropPanel(Widget w, Widget panel, IEnumerable dismissAfter, Func onDismiss)
- {
- // Mask to prevent any clicks from being sent to other widgets
- var fullscreenMask = new ContainerWidget();
- fullscreenMask.Bounds = new Rectangle(0, 0, Game.viewport.Width, Game.viewport.Height);
- Widget.RootWidget.AddChild(fullscreenMask);
-
- Action HideDropDown = () =>
- {
- Widget.RootWidget.RemoveChild(fullscreenMask);
- Widget.RootWidget.RemoveChild(panel);
- };
-
- HideDropDown += () => Game.BeforeGameStart -= HideDropDown;
- Game.BeforeGameStart += HideDropDown;
-
- fullscreenMask.OnMouseDown = mi =>
- {
- if (onDismiss()) HideDropDown();
- return true;
- };
- fullscreenMask.OnMouseUp = mi => true;
-
- var oldBounds = panel.Bounds;
- panel.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, oldBounds.Width, oldBounds.Height);
- panel.OnMouseUp = mi => true;
-
- foreach (var ww in dismissAfter)
- {
- var origMouseUp = ww.OnMouseUp;
- ww.OnMouseUp = mi => { var result = origMouseUp(mi); if (onDismiss()) HideDropDown(); return result; };
- }
- Widget.RootWidget.AddChild(panel);
- }
-
- public static void ShowDropDown(Widget w, IEnumerable ts, Func ft)
- {
- var dropDown = new ScrollPanelWidget();
- dropDown.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100);
- dropDown.ItemSpacing = 1;
-
- List items = new List();
- List dismissAfter = new List();
- foreach (var t in ts)
- {
- var ww = ft(t, dropDown.Bounds.Width - dropDown.ScrollbarWidth);
- dismissAfter.Add(ww);
- ww.OnMouseMove = mi => items.Do(lw =>
- {
- lw.Background = null; ww.Background = "dialog2";
- });
-
- dropDown.AddChild(ww);
- items.Add(ww);
- }
-
- dropDown.Bounds.Height = Math.Min(150, dropDown.ContentHeight);
- ShowDropPanel(w, dropDown, dismissAfter, () => true);
- }
- }
}
\ No newline at end of file
diff --git a/OpenRA.Game/Widgets/DropDownButtonWidget.cs b/OpenRA.Game/Widgets/DropDownButtonWidget.cs
new file mode 100644
index 0000000000..a343615e87
--- /dev/null
+++ b/OpenRA.Game/Widgets/DropDownButtonWidget.cs
@@ -0,0 +1,147 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see COPYING.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using OpenRA.Graphics;
+
+namespace OpenRA.Widgets
+{
+ public class DropDownButtonWidget : ButtonWidget
+ {
+ Widget panel;
+ Widget fullscreenMask;
+
+ public DropDownButtonWidget()
+ : base()
+ {
+ }
+
+ protected DropDownButtonWidget(DropDownButtonWidget widget)
+ : base(widget)
+ {
+ }
+
+ public override void DrawInner()
+ {
+ base.DrawInner();
+ var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0);
+
+ var image = ChromeProvider.GetImage("scrollbar", "down_arrow");
+ var rb = RenderBounds;
+
+ WidgetUtils.DrawRGBA( image,
+ stateOffset + new float2( rb.Right - rb.Height + 4,
+ rb.Top + (rb.Height - image.bounds.Height) / 2 ));
+
+ WidgetUtils.FillRectWithColor(new Rectangle(stateOffset.X + rb.Right - rb.Height,
+ stateOffset.Y + rb.Top + 3, 1, rb.Height - 6),
+ Color.White);
+ }
+
+ public override Widget Clone() { return new DropDownButtonWidget(this); }
+
+ // This is crap
+ public override int UsableWidth { get { return Bounds.Width - Bounds.Height; } } /* space for button */
+
+ public void RemovePanel()
+ {
+ Widget.RootWidget.RemoveChild(fullscreenMask);
+ Widget.RootWidget.RemoveChild(panel);
+ Game.BeforeGameStart -= RemovePanel;
+ panel = fullscreenMask = null;
+ }
+
+ public void AttachPanel(Widget p)
+ {
+ if (panel != null)
+ throw new InvalidOperationException("Attempted to attach a panel to an open dropdown");
+ panel = p;
+
+ // Mask to prevent any clicks from being sent to other widgets
+ fullscreenMask = new ContainerWidget();
+ fullscreenMask.Bounds = new Rectangle(0, 0, Game.viewport.Width, Game.viewport.Height);
+ Widget.RootWidget.AddChild(fullscreenMask);
+ Game.BeforeGameStart += RemovePanel;
+
+ fullscreenMask.OnMouseDown = mi =>
+ {
+ RemovePanel();
+ return true;
+ };
+ fullscreenMask.OnMouseUp = mi => true;
+
+ var oldBounds = panel.Bounds;
+ panel.Bounds = new Rectangle(RenderOrigin.X, RenderOrigin.Y + Bounds.Height, oldBounds.Width, oldBounds.Height);
+ Widget.RootWidget.AddChild(panel);
+ }
+
+ [Obsolete] public static void ShowDropPanel(Widget w, Widget panel, IEnumerable dismissAfter, Func onDismiss)
+ {
+ // Mask to prevent any clicks from being sent to other widgets
+ var fullscreenMask = new ContainerWidget();
+ fullscreenMask.Bounds = new Rectangle(0, 0, Game.viewport.Width, Game.viewport.Height);
+ Widget.RootWidget.AddChild(fullscreenMask);
+
+ Action HideDropDown = () =>
+ {
+ Widget.RootWidget.RemoveChild(fullscreenMask);
+ Widget.RootWidget.RemoveChild(panel);
+ };
+
+ HideDropDown += () => Game.BeforeGameStart -= HideDropDown;
+ Game.BeforeGameStart += HideDropDown;
+
+ fullscreenMask.OnMouseDown = mi =>
+ {
+ if (onDismiss()) HideDropDown();
+ return true;
+ };
+ fullscreenMask.OnMouseUp = mi => true;
+
+ var oldBounds = panel.Bounds;
+ panel.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, oldBounds.Width, oldBounds.Height);
+ panel.OnMouseUp = mi => true;
+
+ foreach (var ww in dismissAfter)
+ {
+ var origMouseUp = ww.OnMouseUp;
+ ww.OnMouseUp = mi => { var result = origMouseUp(mi); if (onDismiss()) HideDropDown(); return result; };
+ }
+ Widget.RootWidget.AddChild(panel);
+ }
+
+ [Obsolete] public static void ShowDropDown(Widget w, IEnumerable ts, Func ft)
+ {
+ var dropDown = new ScrollPanelWidget();
+ dropDown.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100);
+ dropDown.ItemSpacing = 1;
+
+ List items = new List();
+ List dismissAfter = new List();
+ foreach (var t in ts)
+ {
+ var ww = ft(t, dropDown.Bounds.Width - dropDown.ScrollbarWidth);
+ dismissAfter.Add(ww);
+ ww.OnMouseMove = mi => items.Do(lw =>
+ {
+ lw.Background = null; ww.Background = "dialog2";
+ });
+
+ dropDown.AddChild(ww);
+ items.Add(ww);
+ }
+
+ dropDown.Bounds.Height = Math.Min(150, dropDown.ContentHeight);
+ ShowDropPanel(w, dropDown, dismissAfter, () => true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
index a17d788e57..d8bb64f394 100644
--- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
+++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
@@ -72,7 +72,6 @@
-
diff --git a/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs
index e149944352..14b8f82459 100755
--- a/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs
+++ b/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs
@@ -324,7 +324,7 @@ namespace OpenRA.Mods.Cnc.Widgets
}
}
- bool ShowSlotDropDown(CncDropDownButtonWidget dropdown, Session.Slot slot, bool showBotOptions)
+ bool ShowSlotDropDown(DropDownButtonWidget dropdown, Session.Slot slot, bool showBotOptions)
{
var substitutions = new Dictionary() {{ "DROPDOWN_WIDTH", dropdown.Bounds.Width }};
var panel = (ScrollPanelWidget)Widget.LoadWidget("LABEL_DROPDOWN_TEMPLATE", null, new WidgetArgs()
@@ -360,7 +360,7 @@ namespace OpenRA.Mods.Cnc.Widgets
return true;
}
- bool ShowRaceDropDown(CncDropDownButtonWidget dropdown, Session.Slot slot)
+ bool ShowRaceDropDown(DropDownButtonWidget dropdown, Session.Slot slot)
{
if (Map.Players[slot.MapPlayer].LockRace)
return false;
@@ -394,7 +394,7 @@ namespace OpenRA.Mods.Cnc.Widgets
return true;
}
- bool ShowTeamDropDown(CncDropDownButtonWidget dropdown, Session.Slot slot)
+ bool ShowTeamDropDown(DropDownButtonWidget dropdown, Session.Slot slot)
{
var substitutions = new Dictionary() {{ "DROPDOWN_WIDTH", dropdown.Bounds.Width }};
var panel = (ScrollPanelWidget)Widget.LoadWidget("TEAM_DROPDOWN_TEMPLATE", null, new WidgetArgs()
@@ -422,7 +422,7 @@ namespace OpenRA.Mods.Cnc.Widgets
return true;
}
- bool ShowColorDropDown(Session.Slot s, CncDropDownButtonWidget color)
+ bool ShowColorDropDown(DropDownButtonWidget color, Session.Slot s)
{
if (Map.Players[s.MapPlayer].LockColor)
return true;
@@ -470,7 +470,7 @@ namespace OpenRA.Mods.Cnc.Widgets
if (slot.Spectator)
{
template = EmptySlotTemplateHost.Clone();
- var name = template.GetWidget("NAME");
+ var name = template.GetWidget("NAME");
name.GetText = () => s.Closed ? "Closed" : "Open";
name.OnMouseDown = _ => ShowSlotDropDown(name, s, false);
var btn = template.GetWidget("JOIN");
@@ -479,7 +479,7 @@ namespace OpenRA.Mods.Cnc.Widgets
else
{
template = EmptySlotTemplateHost.Clone();
- var name = template.GetWidget("NAME");
+ var name = template.GetWidget("NAME");
name.GetText = () => s.Closed ? "Closed" : (s.Bot == null) ? "Open" : s.Bot;
name.OnMouseDown = _ => ShowSlotDropDown(name, s, Map.Players[ s.MapPlayer ].AllowBots);
}
@@ -530,13 +530,13 @@ namespace OpenRA.Mods.Cnc.Widgets
};
name.OnLoseFocus = () => name.OnEnterKey();
- var color = template.GetWidget("COLOR");
- color.OnMouseDown = _ => ShowColorDropDown(s, color);
+ var color = template.GetWidget("COLOR");
+ color.OnMouseDown = _ => ShowColorDropDown(color, s);
var colorBlock = color.GetWidget("COLORBLOCK");
colorBlock.GetColor = () => c.ColorRamp.GetColor(0);
- var faction = template.GetWidget("FACTION");
+ var faction = template.GetWidget("FACTION");
faction.OnMouseDown = _ => ShowRaceDropDown(faction, s);
var factionname = faction.GetWidget("FACTIONNAME");
@@ -545,7 +545,7 @@ namespace OpenRA.Mods.Cnc.Widgets
factionflag.GetImageName = () => c.Country;
factionflag.GetImageCollection = () => "flags";
- var team = template.GetWidget("TEAM");
+ var team = template.GetWidget("TEAM");
team.OnMouseDown = _ => ShowTeamDropDown(team, s);
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
diff --git a/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs b/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs
deleted file mode 100644
index 724b0955f5..0000000000
--- a/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-#region Copyright & License Information
-/*
- * Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
- * This file is part of OpenRA, which is free software. It is made
- * available to you under the terms of the GNU General Public License
- * as published by the Free Software Foundation. For more information,
- * see COPYING.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using OpenRA.Graphics;
-using OpenRA.Widgets;
-using System.Reflection;
-
-namespace OpenRA.Mods.Cnc.Widgets
-{
- public class CncDropDownButtonWidget : DropDownButtonWidget
- {
- public CncDropDownButtonWidget() : base() { }
- protected CncDropDownButtonWidget(CncDropDownButtonWidget other) : base(other) { }
- public override Widget Clone() { return new CncDropDownButtonWidget(this); }
-
- Widget panel;
- Widget fullscreenMask;
-
- public void RemovePanel()
- {
- Widget.RootWidget.RemoveChild(fullscreenMask);
- Widget.RootWidget.RemoveChild(panel);
- Game.BeforeGameStart -= RemovePanel;
- panel = fullscreenMask = null;
- }
-
- public void AttachPanel(Widget p)
- {
- if (panel != null)
- throw new InvalidOperationException("Attempted to attach a panel to an open dropdown");
- panel = p;
-
- // Mask to prevent any clicks from being sent to other widgets
- fullscreenMask = new ContainerWidget();
- fullscreenMask.Bounds = new Rectangle(0, 0, Game.viewport.Width, Game.viewport.Height);
- Widget.RootWidget.AddChild(fullscreenMask);
- Game.BeforeGameStart += RemovePanel;
-
- fullscreenMask.OnMouseDown = mi =>
- {
- RemovePanel();
- return true;
- };
- fullscreenMask.OnMouseUp = mi => true;
-
- var oldBounds = panel.Bounds;
- panel.Bounds = new Rectangle(RenderOrigin.X, RenderOrigin.Y + Bounds.Height, oldBounds.Width, oldBounds.Height);
- Widget.RootWidget.AddChild(panel);
- }
- }
-}
-
diff --git a/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs
index e83da2891b..ec848ff938 100755
--- a/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs
+++ b/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs
@@ -58,7 +58,7 @@ namespace OpenRA.Mods.Cnc.Widgets
playerPalettePreview = world.WorldActor.Trait();
playerPalettePreview.Ramp = playerColor;
- var colorDropdown = generalPane.GetWidget("COLOR_DROPDOWN");
+ var colorDropdown = generalPane.GetWidget("COLOR_DROPDOWN");
colorDropdown.OnMouseDown = _ => ShowColorPicker(colorDropdown);
colorDropdown.GetWidget("COLORBLOCK").GetColor = () => playerColor.GetColor(0);
@@ -85,7 +85,7 @@ namespace OpenRA.Mods.Cnc.Widgets
// Video
windowMode = Game.Settings.Graphics.Mode;
- var windowModeDropdown = generalPane.GetWidget("MODE_DROPDOWN");
+ var windowModeDropdown = generalPane.GetWidget("MODE_DROPDOWN");
windowModeDropdown.OnMouseDown = _ => ShowWindowModeDropdown(windowModeDropdown);
windowModeDropdown.GetText = () => windowMode == WindowMode.Windowed ? "Windowed" : windowMode == WindowMode.Fullscreen ? "Fullscreen" : "Pseudo-Fullscreen";
@@ -136,7 +136,7 @@ namespace OpenRA.Mods.Cnc.Widgets
edgescrollCheckbox.OnClick = () => edgescroll ^= true;
mouseScroll = Game.Settings.Game.MouseScroll;
- var mouseScrollDropdown = inputPane.GetWidget("MOUSE_SCROLL");
+ var mouseScrollDropdown = inputPane.GetWidget("MOUSE_SCROLL");
mouseScrollDropdown.OnMouseDown = _ => ShowMouseScrollDropdown(mouseScrollDropdown);
mouseScrollDropdown.GetText = () => mouseScroll.ToString();
@@ -146,7 +146,7 @@ namespace OpenRA.Mods.Cnc.Widgets
teamchatCheckbox.OnClick = () => teamchat ^= true;
groupAddModifier = Game.Settings.Keyboard.ControlGroupModifier;
- var groupModifierDropdown = inputPane.GetWidget("GROUPADD_MODIFIER");
+ var groupModifierDropdown = inputPane.GetWidget("GROUPADD_MODIFIER");
groupModifierDropdown.OnMouseDown = _ => ShowGroupModifierDropdown(groupModifierDropdown);
groupModifierDropdown.GetText = () => groupAddModifier.ToString();
@@ -194,7 +194,7 @@ namespace OpenRA.Mods.Cnc.Widgets
};
}
- bool ShowColorPicker(CncDropDownButtonWidget color)
+ bool ShowColorPicker(DropDownButtonWidget color)
{
Action onSelect = c =>
{
@@ -218,7 +218,7 @@ namespace OpenRA.Mods.Cnc.Widgets
return true;
}
- bool ShowGroupModifierDropdown(CncDropDownButtonWidget dropdown)
+ bool ShowGroupModifierDropdown(DropDownButtonWidget dropdown)
{
var substitutions = new Dictionary() {{ "DROPDOWN_WIDTH", dropdown.Bounds.Width }};
var panel = (ScrollPanelWidget)Game.LoadWidget(world, "LABEL_DROPDOWN_TEMPLATE", null, new WidgetArgs()
@@ -248,7 +248,7 @@ namespace OpenRA.Mods.Cnc.Widgets
return true;
}
- bool ShowWindowModeDropdown(CncDropDownButtonWidget dropdown)
+ bool ShowWindowModeDropdown(DropDownButtonWidget dropdown)
{
var substitutions = new Dictionary() {{ "DROPDOWN_WIDTH", dropdown.Bounds.Width }};
var panel = (ScrollPanelWidget)Game.LoadWidget(world, "LABEL_DROPDOWN_TEMPLATE", null, new WidgetArgs()
@@ -278,7 +278,7 @@ namespace OpenRA.Mods.Cnc.Widgets
}
- bool ShowMouseScrollDropdown(CncDropDownButtonWidget dropdown)
+ bool ShowMouseScrollDropdown(DropDownButtonWidget dropdown)
{
var substitutions = new Dictionary() {{ "DROPDOWN_WIDTH", dropdown.Bounds.Width }};
var panel = (ScrollPanelWidget)Game.LoadWidget(world, "LABEL_DROPDOWN_TEMPLATE", null, new WidgetArgs()
diff --git a/mods/cnc/chrome/lobby.yaml b/mods/cnc/chrome/lobby.yaml
index b7be6d890f..5ac11a8c9e 100644
--- a/mods/cnc/chrome/lobby.yaml
+++ b/mods/cnc/chrome/lobby.yaml
@@ -67,7 +67,7 @@ Container@SERVER_LOBBY:
Width:150
Height:25
MaxLength:16
- CncDropDownButton@COLOR:
+ DropDownButton@COLOR:
Id:COLOR
Width:80
Height:25
@@ -80,7 +80,7 @@ Container@SERVER_LOBBY:
Y:6
Width:PARENT_RIGHT-35
Height:PARENT_BOTTOM-12
- CncDropDownButton@FACTION:
+ DropDownButton@FACTION:
Id:FACTION
Width:130
Height:25
@@ -100,7 +100,7 @@ Container@SERVER_LOBBY:
Height:25
X:40
Y:0
- CncDropDownButton@TEAM:
+ DropDownButton@TEAM:
Id:TEAM
Text:Team
Width:48
@@ -234,7 +234,7 @@ Container@SERVER_LOBBY:
Height:25
Visible:false
Children:
- CncDropDownButton@NAME:
+ DropDownButton@NAME:
Id:NAME
Text:Name
Width:150
diff --git a/mods/cnc/chrome/preferences.yaml b/mods/cnc/chrome/preferences.yaml
index 806f829ef7..0b5f83f620 100644
--- a/mods/cnc/chrome/preferences.yaml
+++ b/mods/cnc/chrome/preferences.yaml
@@ -40,7 +40,7 @@ Container@SETTINGS_PANEL:
Width:205
Height:25
MaxLength:16
- CncDropDownButton@COLOR:
+ DropDownButton@COLOR:
Id:COLOR_DROPDOWN
X:275
Y:40
@@ -106,7 +106,7 @@ Container@SETTINGS_PANEL:
Height:25
Align:Right
Text:Mode:
- CncDropDownButton@MODE_DROPDOWN:
+ DropDownButton@MODE_DROPDOWN:
Id:MODE_DROPDOWN
X:425
Y:40
@@ -256,7 +256,7 @@ Container@SETTINGS_PANEL:
Font:Regular
Text:Middle-Mouse Scrolling:
Align:Right
- CncDropDownButton@MOUSE_SCROLL:
+ DropDownButton@MOUSE_SCROLL:
Id:MOUSE_SCROLL
X:180
Y:180
@@ -272,7 +272,7 @@ Container@SETTINGS_PANEL:
# Font:Regular
# Text:Multitouch Scrolling:
# Align:Right
-# CncDropDownButton@MULTITOUCH_SCROLL:
+# DropDownButton@MULTITOUCH_SCROLL:
# Id:MULTITOUCH_SCROLL
# X:180
# Y:210
@@ -303,7 +303,7 @@ Container@SETTINGS_PANEL:
Font:Regular
Text:Group Addition Modifier:
Align:Right
- CncDropDownButton@GROUPADD_MODIFIER:
+ DropDownButton@GROUPADD_MODIFIER:
Id:GROUPADD_MODIFIER
X:540
Y:65