Normalize checkboxes

This commit is contained in:
Paul Chote
2011-05-17 13:42:34 +12:00
parent 14af766427
commit 85c519c073
15 changed files with 192 additions and 119 deletions

View File

@@ -15,40 +15,32 @@ using System.Reflection;
namespace OpenRA.Widgets namespace OpenRA.Widgets
{ {
public class CheckboxWidget : Widget public class CheckboxWidget : ButtonWidget
{ {
public string Text = "";
public int baseLine = 1;
public bool Bold = false;
public Func<bool> IsChecked = () => false; public Func<bool> IsChecked = () => false;
public event Action<bool> OnChange = _ => {}; public int BaseLine = 1;
object boundObject; object boundObject;
bool boundReadOnly; bool boundReadOnly;
FieldInfo boundField; FieldInfo boundField;
[Obsolete] public event Action<bool> OnChange = _ => {};
public override void DrawInner() public CheckboxWidget()
: base()
{ {
var font = Bold ? Game.Renderer.Fonts["Bold"] : Game.Renderer.Fonts["Regular"]; OnClick = OldClickBehavior;
var pos = RenderOrigin; IsChecked = () => (boundObject != null && (bool)boundField.GetValue(boundObject));
var rect = RenderBounds;
var check = new Rectangle(rect.Location,
new Size(Bounds.Height, Bounds.Height));
WidgetUtils.DrawPanel("dialog3", check);
var textSize = font.Measure(Text);
font.DrawText(Text,
new float2(rect.Left + rect.Height * 1.5f,
pos.Y - baseLine + (Bounds.Height - textSize.Y)/2), Color.White);
if ((boundObject != null && (bool)boundField.GetValue(boundObject)) || IsChecked())
WidgetUtils.DrawRGBA(
ChromeProvider.GetImage("checkbox", "checked"),
new float2(rect.Left + 2, rect.Top + 2));
} }
public void Bind(object obj, string field) { Bind(obj, field, false); } protected CheckboxWidget(CheckboxWidget widget)
public void BindReadOnly(object obj, string field) { Bind(obj, field, true); } : base(widget)
{
OnClick = OldClickBehavior;
IsChecked = () => (boundObject != null && (bool)boundField.GetValue(boundObject));
}
[Obsolete] public void Bind(object obj, string field) { Bind(obj, field, false); }
[Obsolete] public void BindReadOnly(object obj, string field) { Bind(obj, field, true); }
void Bind(object obj, string field, bool readOnly) void Bind(object obj, string field, bool readOnly)
{ {
@@ -57,13 +49,8 @@ namespace OpenRA.Widgets
boundField = obj.GetType().GetField(field); boundField = obj.GetType().GetField(field);
} }
// TODO: CheckboxWidget doesn't support raising events for mouse input void OldClickBehavior()
public override bool HandleMouseInput(MouseInput mi)
{ {
// Checkboxes require lmb
if (mi.Button != MouseButton.Left || mi.Event != MouseInputEvent.Down)
return false;
bool newVal = !IsChecked(); bool newVal = !IsChecked();
if (boundObject != null && !boundReadOnly) if (boundObject != null && !boundReadOnly)
{ {
@@ -72,15 +59,31 @@ namespace OpenRA.Widgets
} }
OnChange(newVal); OnChange(newVal);
return true;
} }
public CheckboxWidget() : base() { } public override void DrawInner()
protected CheckboxWidget(CheckboxWidget other)
: base(other)
{ {
Text = other.Text; if (Font == "Regular" && Bold)
Font = "Bold";
var font = Game.Renderer.Fonts[Font];
var rect = RenderBounds;
var check = new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height));
var state = IsDisabled() ? "checkbox-disabled" :
Depressed ? "checkbox-pressed" :
RenderBounds.Contains(Viewport.LastMousePos) ? "checkbox-hover" :
"checkbox";
WidgetUtils.DrawPanel(state, check);
var textSize = font.Measure(Text);
font.DrawText(Text,
new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - BaseLine + (Bounds.Height - textSize.Y)/2), Color.White);
if (IsChecked() || Depressed)
WidgetUtils.DrawRGBA(
ChromeProvider.GetImage("checkbox-bits", Depressed ? "pressed" : "checked"),
new float2(rect.Left + 2, rect.Top + 2));
} }
public override Widget Clone() { return new CheckboxWidget(this); } public override Widget Clone() { return new CheckboxWidget(this); }

View File

@@ -32,11 +32,11 @@ namespace OpenRA.Mods.Cnc.Widgets
var panel = widget.GetWidget("CHEATS_PANEL"); var panel = widget.GetWidget("CHEATS_PANEL");
var devTrait = world.LocalPlayer.PlayerActor.Trait<DeveloperMode>(); var devTrait = world.LocalPlayer.PlayerActor.Trait<DeveloperMode>();
var shroudCheckbox = panel.GetWidget<CncCheckboxWidget>("SHROUD_CHECKBOX"); var shroudCheckbox = panel.GetWidget<CheckboxWidget>("SHROUD_CHECKBOX");
shroudCheckbox.IsChecked = () => devTrait.DisableShroud; shroudCheckbox.IsChecked = () => devTrait.DisableShroud;
shroudCheckbox.OnClick = () => Order(world, "DevShroud"); shroudCheckbox.OnClick = () => Order(world, "DevShroud");
var pathCheckbox = panel.GetWidget<CncCheckboxWidget>("PATHDEBUG_CHECKBOX"); var pathCheckbox = panel.GetWidget<CheckboxWidget>("PATHDEBUG_CHECKBOX");
pathCheckbox.IsChecked = () => devTrait.PathDebug; pathCheckbox.IsChecked = () => devTrait.PathDebug;
pathCheckbox.OnClick = () => Order(world, "DevPathDebug"); pathCheckbox.OnClick = () => Order(world, "DevPathDebug");
@@ -44,23 +44,23 @@ namespace OpenRA.Mods.Cnc.Widgets
panel.GetWidget<ButtonWidget>("GIVE_CASH_BUTTON").OnClick = () => panel.GetWidget<ButtonWidget>("GIVE_CASH_BUTTON").OnClick = () =>
world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false)); world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false));
var fastBuildCheckbox = panel.GetWidget<CncCheckboxWidget>("INSTANT_BUILD_CHECKBOX"); var fastBuildCheckbox = panel.GetWidget<CheckboxWidget>("INSTANT_BUILD_CHECKBOX");
fastBuildCheckbox.IsChecked = () => devTrait.FastBuild; fastBuildCheckbox.IsChecked = () => devTrait.FastBuild;
fastBuildCheckbox.OnClick = () => Order(world, "DevFastBuild"); fastBuildCheckbox.OnClick = () => Order(world, "DevFastBuild");
var fastChargeCheckbox = panel.GetWidget<CncCheckboxWidget>("INSTANT_CHARGE_CHECKBOX"); var fastChargeCheckbox = panel.GetWidget<CheckboxWidget>("INSTANT_CHARGE_CHECKBOX");
fastChargeCheckbox.IsChecked = () => devTrait.FastCharge; fastChargeCheckbox.IsChecked = () => devTrait.FastCharge;
fastChargeCheckbox.OnClick = () => Order(world, "DevFastCharge"); fastChargeCheckbox.OnClick = () => Order(world, "DevFastCharge");
var allTechCheckbox = panel.GetWidget<CncCheckboxWidget>("ENABLE_TECH_CHECKBOX"); var allTechCheckbox = panel.GetWidget<CheckboxWidget>("ENABLE_TECH_CHECKBOX");
allTechCheckbox.IsChecked = () => devTrait.AllTech; allTechCheckbox.IsChecked = () => devTrait.AllTech;
allTechCheckbox.OnClick = () => Order(world, "DevEnableTech"); allTechCheckbox.OnClick = () => Order(world, "DevEnableTech");
var powerCheckbox = panel.GetWidget<CncCheckboxWidget>("UNLIMITED_POWER_CHECKBOX"); var powerCheckbox = panel.GetWidget<CheckboxWidget>("UNLIMITED_POWER_CHECKBOX");
powerCheckbox.IsChecked = () => devTrait.UnlimitedPower; powerCheckbox.IsChecked = () => devTrait.UnlimitedPower;
powerCheckbox.OnClick = () => Order(world, "DevUnlimitedPower"); powerCheckbox.OnClick = () => Order(world, "DevUnlimitedPower");
var buildAnywhereCheckbox = panel.GetWidget<CncCheckboxWidget>("BUILD_ANYWHERE_CHECKBOX"); var buildAnywhereCheckbox = panel.GetWidget<CheckboxWidget>("BUILD_ANYWHERE_CHECKBOX");
buildAnywhereCheckbox.IsChecked = () => devTrait.BuildAnywhere; buildAnywhereCheckbox.IsChecked = () => devTrait.BuildAnywhere;
buildAnywhereCheckbox.OnClick = () => Order(world, "DevBuildAnywhere"); buildAnywhereCheckbox.OnClick = () => Order(world, "DevBuildAnywhere");

View File

@@ -209,13 +209,13 @@ namespace OpenRA.Mods.Cnc.Widgets
disconnectButton.OnClick = () => { Widget.CloseWindow(); onExit(); }; disconnectButton.OnClick = () => { Widget.CloseWindow(); onExit(); };
var gameStarting = false; var gameStarting = false;
var lockTeamsCheckbox = lobby.GetWidget<CncCheckboxWidget>("LOCKTEAMS_CHECKBOX"); var lockTeamsCheckbox = lobby.GetWidget<CheckboxWidget>("LOCKTEAMS_CHECKBOX");
lockTeamsCheckbox.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.LockTeams; lockTeamsCheckbox.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.LockTeams;
lockTeamsCheckbox.IsDisabled = () => !Game.IsHost || gameStarting; lockTeamsCheckbox.IsDisabled = () => !Game.IsHost || gameStarting;
lockTeamsCheckbox.OnClick = () => orderManager.IssueOrder(Order.Command( lockTeamsCheckbox.OnClick = () => orderManager.IssueOrder(Order.Command(
"lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams))); "lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams)));
var allowCheats = lobby.GetWidget<CncCheckboxWidget>("ALLOWCHEATS_CHECKBOX"); var allowCheats = lobby.GetWidget<CheckboxWidget>("ALLOWCHEATS_CHECKBOX");
allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats;
allowCheats.IsDisabled = () => !Game.IsHost || gameStarting; allowCheats.IsDisabled = () => !Game.IsHost || gameStarting;
allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command( allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command(
@@ -521,7 +521,7 @@ namespace OpenRA.Mods.Cnc.Widgets
team.OnMouseDown = _ => ShowTeamDropDown(team); team.OnMouseDown = _ => ShowTeamDropDown(team);
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString(); team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
var status = template.GetWidget<CncCheckboxWidget>("STATUS"); var status = template.GetWidget<CheckboxWidget>("STATUS");
status.IsChecked = () => c.State == Session.ClientState.Ready; status.IsChecked = () => c.State == Session.ClientState.Ready;
status.OnClick += CycleReady; status.OnClick += CycleReady;
@@ -553,7 +553,7 @@ namespace OpenRA.Mods.Cnc.Widgets
var team = template.GetWidget<LabelWidget>("TEAM"); var team = template.GetWidget<LabelWidget>("TEAM");
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString(); team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
var status = template.GetWidget<CncCheckboxWidget>("STATUS"); var status = template.GetWidget<CheckboxWidget>("STATUS");
status.IsChecked = () => c.State == Session.ClientState.Ready; status.IsChecked = () => c.State == Session.ClientState.Ready;
if (c.Index == orderManager.LocalClient.Index) if (c.Index == orderManager.LocalClient.Index)
status.OnClick += CycleReady; status.OnClick += CycleReady;

View File

@@ -13,39 +13,10 @@ using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using OpenRA.Graphics; using OpenRA.Graphics;
using OpenRA.Widgets; using OpenRA.Widgets;
using System.Reflection;
namespace OpenRA.Mods.Cnc.Widgets namespace OpenRA.Mods.Cnc.Widgets
{ {
public class CncCheckboxWidget : ButtonWidget
{
public CncCheckboxWidget()
: base() { }
protected CncCheckboxWidget(CncCheckboxWidget widget)
: base(widget) { }
public Func<bool> IsChecked = () => false;
public int baseLine = 1;
public override void DrawInner()
{
var font = Game.Renderer.Fonts[Font];
var rect = RenderBounds;
ButtonWidget.DrawBackground(new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)),
IsDisabled(), Depressed, RenderBounds.Contains(Viewport.LastMousePos));
var textSize = font.Measure(Text);
font.DrawText(Text,
new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - baseLine + (Bounds.Height - textSize.Y)/2), Color.White);
if (IsChecked())
WidgetUtils.DrawRGBA(
ChromeProvider.GetImage("checkbox", "checked"),
new float2(rect.Left + 2, rect.Top + 2));
}
public override Widget Clone() { return new CncCheckboxWidget(this); }
}
public class CncDropDownButtonWidget : DropDownButtonWidget public class CncDropDownButtonWidget : DropDownButtonWidget
{ {
public CncDropDownButtonWidget() : base() { } public CncDropDownButtonWidget() : base() { }

View File

@@ -81,11 +81,11 @@ namespace OpenRA.Mods.Cnc.Widgets
prevButton.OnClick = () => { currentSong = GetPrevSong(); Play(); }; prevButton.OnClick = () => { currentSong = GetPrevSong(); Play(); };
prevButton.IsDisabled = noMusic; prevButton.IsDisabled = noMusic;
var shuffleCheckbox = panel.GetWidget<CncCheckboxWidget>("SHUFFLE"); var shuffleCheckbox = panel.GetWidget<CheckboxWidget>("SHUFFLE");
shuffleCheckbox.IsChecked = () => Game.Settings.Sound.Shuffle; shuffleCheckbox.IsChecked = () => Game.Settings.Sound.Shuffle;
shuffleCheckbox.OnClick = () => Game.Settings.Sound.Shuffle ^= true; shuffleCheckbox.OnClick = () => Game.Settings.Sound.Shuffle ^= true;
var repeatCheckbox = panel.GetWidget<CncCheckboxWidget>("REPEAT"); var repeatCheckbox = panel.GetWidget<CheckboxWidget>("REPEAT");
repeatCheckbox.IsChecked = () => Game.Settings.Sound.Repeat; repeatCheckbox.IsChecked = () => Game.Settings.Sound.Repeat;
repeatCheckbox.OnClick = () => Game.Settings.Sound.Repeat ^= true; repeatCheckbox.OnClick = () => Game.Settings.Sound.Repeat ^= true;

View File

@@ -62,7 +62,7 @@ namespace OpenRA.Mods.Cnc.Widgets
externalPort.Text = settings.Server.ExternalPort.ToString(); externalPort.Text = settings.Server.ExternalPort.ToString();
externalPort.IsDisabled = () => !advertiseOnline; externalPort.IsDisabled = () => !advertiseOnline;
var advertiseCheckbox = panel.GetWidget<CncCheckboxWidget>("ADVERTISE_CHECKBOX"); var advertiseCheckbox = panel.GetWidget<CheckboxWidget>("ADVERTISE_CHECKBOX");
advertiseCheckbox.IsChecked = () => advertiseOnline; advertiseCheckbox.IsChecked = () => advertiseOnline;
advertiseCheckbox.OnClick = () => advertiseOnline ^= true; advertiseCheckbox.OnClick = () => advertiseOnline ^= true;

View File

@@ -64,22 +64,22 @@ namespace OpenRA.Mods.Cnc.Widgets
// Debug // Debug
var perftext = Game.Settings.Debug.PerfText; var perftext = Game.Settings.Debug.PerfText;
var perftextCheckbox = generalPane.GetWidget<CncCheckboxWidget>("PERFTEXT_CHECKBOX"); var perftextCheckbox = generalPane.GetWidget<CheckboxWidget>("PERFTEXT_CHECKBOX");
perftextCheckbox.IsChecked = () => perftext; perftextCheckbox.IsChecked = () => perftext;
perftextCheckbox.OnClick = () => perftext ^= true; perftextCheckbox.OnClick = () => perftext ^= true;
var perfgraph = Game.Settings.Debug.PerfGraph; var perfgraph = Game.Settings.Debug.PerfGraph;
var perfgraphCheckbox = generalPane.GetWidget<CncCheckboxWidget>("PERFGRAPH_CHECKBOX"); var perfgraphCheckbox = generalPane.GetWidget<CheckboxWidget>("PERFGRAPH_CHECKBOX");
perfgraphCheckbox.IsChecked = () => perfgraph; perfgraphCheckbox.IsChecked = () => perfgraph;
perfgraphCheckbox.OnClick = () => perfgraph ^= true; perfgraphCheckbox.OnClick = () => perfgraph ^= true;
var matchtimer = Game.Settings.Game.MatchTimer; var matchtimer = Game.Settings.Game.MatchTimer;
var matchtimerCheckbox = generalPane.GetWidget<CncCheckboxWidget>("MATCHTIME_CHECKBOX"); var matchtimerCheckbox = generalPane.GetWidget<CheckboxWidget>("MATCHTIME_CHECKBOX");
matchtimerCheckbox.IsChecked = () => matchtimer; matchtimerCheckbox.IsChecked = () => matchtimer;
matchtimerCheckbox.OnClick = () => matchtimer ^= true; matchtimerCheckbox.OnClick = () => matchtimer ^= true;
var checkunsynced = Game.Settings.Debug.SanityCheckUnsyncedCode; var checkunsynced = Game.Settings.Debug.SanityCheckUnsyncedCode;
var checkunsyncedCheckbox = generalPane.GetWidget<CncCheckboxWidget>("CHECKUNSYNCED_CHECKBOX"); var checkunsyncedCheckbox = generalPane.GetWidget<CheckboxWidget>("CHECKUNSYNCED_CHECKBOX");
checkunsyncedCheckbox.IsChecked = () => checkunsynced; checkunsyncedCheckbox.IsChecked = () => checkunsynced;
checkunsyncedCheckbox.OnClick = () => checkunsynced ^= true; checkunsyncedCheckbox.OnClick = () => checkunsynced ^= true;
@@ -110,7 +110,7 @@ namespace OpenRA.Mods.Cnc.Widgets
musicSlider.SetOffset(musicVolume); musicSlider.SetOffset(musicVolume);
var shellmapMusic = Game.Settings.Game.ShellmapMusic; var shellmapMusic = Game.Settings.Game.ShellmapMusic;
var shellmapMusicCheckbox = generalPane.GetWidget<CncCheckboxWidget>("SHELLMAP_MUSIC"); var shellmapMusicCheckbox = generalPane.GetWidget<CheckboxWidget>("SHELLMAP_MUSIC");
shellmapMusicCheckbox.IsChecked = () => shellmapMusic; shellmapMusicCheckbox.IsChecked = () => shellmapMusic;
shellmapMusicCheckbox.OnClick = () => shellmapMusic ^= true; shellmapMusicCheckbox.OnClick = () => shellmapMusic ^= true;
@@ -123,7 +123,7 @@ namespace OpenRA.Mods.Cnc.Widgets
inputButton.OnClick = () => Settings = PanelType.Input; inputButton.OnClick = () => Settings = PanelType.Input;
inputButton.IsDisabled = () => Settings == PanelType.Input; inputButton.IsDisabled = () => Settings == PanelType.Input;
inputPane.GetWidget<CncCheckboxWidget>("CLASSICORDERS_CHECKBOX").IsDisabled = () => true; inputPane.GetWidget<CheckboxWidget>("CLASSICORDERS_CHECKBOX").IsDisabled = () => true;
var scrollStrength = Game.Settings.Game.ViewportEdgeScrollStep; var scrollStrength = Game.Settings.Game.ViewportEdgeScrollStep;
var scrollSlider = inputPane.GetWidget<SliderWidget>("SCROLLSPEED_SLIDER"); var scrollSlider = inputPane.GetWidget<SliderWidget>("SCROLLSPEED_SLIDER");
@@ -131,7 +131,7 @@ namespace OpenRA.Mods.Cnc.Widgets
scrollSlider.SetOffset(scrollStrength); scrollSlider.SetOffset(scrollStrength);
var edgescroll = Game.Settings.Game.ViewportEdgeScroll; var edgescroll = Game.Settings.Game.ViewportEdgeScroll;
var edgescrollCheckbox = inputPane.GetWidget<CncCheckboxWidget>("EDGESCROLL_CHECKBOX"); var edgescrollCheckbox = inputPane.GetWidget<CheckboxWidget>("EDGESCROLL_CHECKBOX");
edgescrollCheckbox.IsChecked = () => edgescroll; edgescrollCheckbox.IsChecked = () => edgescroll;
edgescrollCheckbox.OnClick = () => edgescroll ^= true; edgescrollCheckbox.OnClick = () => edgescroll ^= true;
@@ -141,7 +141,7 @@ namespace OpenRA.Mods.Cnc.Widgets
mouseScrollDropdown.GetText = () => mouseScroll.ToString(); mouseScrollDropdown.GetText = () => mouseScroll.ToString();
var teamchat = Game.Settings.Game.TeamChatToggle; var teamchat = Game.Settings.Game.TeamChatToggle;
var teamchatCheckbox = inputPane.GetWidget<CncCheckboxWidget>("TEAMCHAT_CHECKBOX"); var teamchatCheckbox = inputPane.GetWidget<CheckboxWidget>("TEAMCHAT_CHECKBOX");
teamchatCheckbox.IsChecked = () => teamchat; teamchatCheckbox.IsChecked = () => teamchat;
teamchatCheckbox.OnClick = () => teamchat ^= true; teamchatCheckbox.OnClick = () => teamchat ^= true;

View File

@@ -181,6 +181,59 @@ slider-track: chrome.png
corner-bl: 64,126,2,2 corner-bl: 64,126,2,2
corner-br: 126,126,2,2 corner-br: 126,126,2,2
# A copy of button
checkbox: chrome.png
background: 2,194,60,60
border-r: 62,194,2,60
border-l: 0,194,2,60
border-b: 2,254,60,2
border-t: 2,192,60,2
corner-tl: 0,192,2,2
corner-tr: 62,192,2,2
corner-bl: 0,254,2,2
corner-br: 62,254,2,2
# A copy of button-hover
checkbox-hover: chrome.png
background: 2,130,60,60
border-r: 62,132,2,60
border-l: 0,130,2,60
border-b: 2,190,60,2
border-t: 2,128,60,2
corner-tl: 0,128,2,2
corner-tr: 62,128,2,2
corner-bl: 0,190,2,2
corner-br: 62,190,2,2
# A copy of button-disabled
checkbox-disabled: chrome.png
background: 66,130,60,60
border-r: 126,130,2,60
border-l: 64,130,2,60
border-b: 66,190,60,2
border-t: 66,128,60,2
corner-tl: 64,128,2,2
corner-tr: 126,128,2,2
corner-bl: 64,190,2,2
corner-br: 126,190,2,2
# A copy of button-pressed
checkbox-pressed: chrome.png
background: 66,194,60,60
border-r: 126,194,2,60
border-l: 64,194,2,60
border-b: 66,254,60,2
border-t: 66,192,60,2
corner-tl: 64,192,2,2
corner-tr: 126,192,2,2
corner-bl: 64,254,2,2
corner-br: 126,254,2,2
checkbox-bits: buttons.png
checked: 0,112,16,16
pressed: 0,128,16,16
panel-black: chrome.png panel-black: chrome.png
background: 66,2,60,60 background: 66,2,60,60
border-r: 126,2,2,60 border-r: 126,2,2,60
@@ -258,9 +311,6 @@ scrollbar: buttons.png
down_arrow: 16,112,16,16 down_arrow: 16,112,16,16
up_arrow: 32,112,16,16 up_arrow: 32,112,16,16
checkbox: buttons.png
checked: 0,112,16,16
strategic: strategic.png strategic: strategic.png
unowned: 0,0,32,32 unowned: 0,0,32,32
critical_unowned: 0,32,32,32 critical_unowned: 0,32,32,32

View File

@@ -18,49 +18,49 @@ Container@CHEATS_PANEL:
Height:110 Height:110
Background:panel-black Background:panel-black
Children: Children:
CncCheckbox@INSTANT_BUILD: Checkbox@INSTANT_BUILD:
Id:INSTANT_BUILD_CHECKBOX Id:INSTANT_BUILD_CHECKBOX
X:15 X:15
Y:15 Y:15
Width:200 Width:200
Height:20 Height:20
Text:Instant Build Speed Text:Instant Build Speed
CncCheckbox@ENABLE_TECH: Checkbox@ENABLE_TECH:
Id:ENABLE_TECH_CHECKBOX Id:ENABLE_TECH_CHECKBOX
X:15 X:15
Y:45 Y:45
Width:200 Width:200
Height:20 Height:20
Text:Build Everything Text:Build Everything
CncCheckbox@BUILD_ANYWHERE: Checkbox@BUILD_ANYWHERE:
Id:BUILD_ANYWHERE_CHECKBOX Id:BUILD_ANYWHERE_CHECKBOX
X:15 X:15
Y:75 Y:75
Width:200 Width:200
Height:20 Height:20
Text:Build Anywhere Text:Build Anywhere
CncCheckbox@UNLIMITED_POWER: Checkbox@UNLIMITED_POWER:
Id:UNLIMITED_POWER_CHECKBOX Id:UNLIMITED_POWER_CHECKBOX
X:200 X:200
Y:15 Y:15
Width:200 Width:200
Height:20 Height:20
Text:Unlimited Power Text:Unlimited Power
CncCheckbox@INSTANT_CHARGE: Checkbox@INSTANT_CHARGE:
Id:INSTANT_CHARGE_CHECKBOX Id:INSTANT_CHARGE_CHECKBOX
X:200 X:200
Y:45 Y:45
Width:200 Width:200
Height:20 Height:20
Text:Instant Charge Time Text:Instant Charge Time
CncCheckbox@CHECKBOX_SHROUD: Checkbox@CHECKBOX_SHROUD:
Id:SHROUD_CHECKBOX Id:SHROUD_CHECKBOX
X:400 X:400
Y:15 Y:15
Height:20 Height:20
Width:200 Width:200
Text:Disable Shroud Text:Disable Shroud
CncCheckbox@CHECKBOX_PATHDEBUG: Checkbox@CHECKBOX_PATHDEBUG:
Id:PATHDEBUG_CHECKBOX Id:PATHDEBUG_CHECKBOX
X:400 X:400
Y:45 Y:45

View File

@@ -100,7 +100,7 @@ Container@CREATESERVER_PANEL:
MaxLength:5 MaxLength:5
Height:25 Height:25
Text:1234 Text:1234
CncCheckbox@ADVERTISE_CHECKBOX: Checkbox@ADVERTISE_CHECKBOX:
Id:ADVERTISE_CHECKBOX Id:ADVERTISE_CHECKBOX
X:110 X:110
Y:155 Y:155

View File

@@ -31,14 +31,14 @@ Container@SERVER_LOBBY:
Y:1 Y:1
Width:192 Width:192
Height:192 Height:192
CncCheckbox@LOCKTEAMS_CHECKBOX: Checkbox@LOCKTEAMS_CHECKBOX:
Id:LOCKTEAMS_CHECKBOX Id:LOCKTEAMS_CHECKBOX
X:PARENT_RIGHT-209 X:PARENT_RIGHT-209
Y:230 Y:230
Width:130 Width:130
Height:20 Height:20
Text: Lock Teams Text: Lock Teams
CncCheckbox@ALLOWCHEATS_CHECKBOX: Checkbox@ALLOWCHEATS_CHECKBOX:
Id:ALLOWCHEATS_CHECKBOX Id:ALLOWCHEATS_CHECKBOX
X:PARENT_RIGHT-209 X:PARENT_RIGHT-209
Y:255 Y:255
@@ -107,7 +107,7 @@ Container@SERVER_LOBBY:
Height:25 Height:25
X:390 X:390
Font:Regular Font:Regular
CncCheckbox@STATUS: Checkbox@STATUS:
Id:STATUS Id:STATUS
X:448 X:448
Y:2 Y:2
@@ -179,7 +179,7 @@ Container@SERVER_LOBBY:
Align:Center Align:Center
X:390 X:390
Y:0 Y:0
CncCheckbox@STATUS: Checkbox@STATUS:
Id:STATUS Id:STATUS
X:448 X:448
Y:2 Y:2

View File

@@ -155,14 +155,14 @@ Container@MUSIC_PANEL:
Height:25 Height:25
Align:Center Align:Center
Font:Bold Font:Bold
CncCheckbox@SHUFFLE: Checkbox@SHUFFLE:
Id:SHUFFLE Id:SHUFFLE
X:15 X:15
Y:PARENT_BOTTOM-15-HEIGHT Y:PARENT_BOTTOM-15-HEIGHT
Width:85 Width:85
Height:20 Height:20
Text:Shuffle Text:Shuffle
CncCheckbox@REPEAT: Checkbox@REPEAT:
Id:REPEAT Id:REPEAT
X:PARENT_RIGHT-15-WIDTH X:PARENT_RIGHT-15-WIDTH
Y:PARENT_BOTTOM-15-HEIGHT Y:PARENT_BOTTOM-15-HEIGHT

View File

@@ -60,7 +60,7 @@ Container@SETTINGS_PANEL:
Font:Bold Font:Bold
Text:Debug Text:Debug
Align:Center Align:Center
CncCheckbox@PERFINFO_CHECKBOX: Checkbox@PERFINFO_CHECKBOX:
Id:PERFTEXT_CHECKBOX Id:PERFTEXT_CHECKBOX
X:15 X:15
Y:120 Y:120
@@ -68,7 +68,7 @@ Container@SETTINGS_PANEL:
Height:20 Height:20
Font:Regular Font:Regular
Text:Show Performance Text Text:Show Performance Text
CncCheckbox@PERFGRAPH_CHECKBOX: Checkbox@PERFGRAPH_CHECKBOX:
Id:PERFGRAPH_CHECKBOX Id:PERFGRAPH_CHECKBOX
X:15 X:15
Y:150 Y:150
@@ -76,7 +76,7 @@ Container@SETTINGS_PANEL:
Height:20 Height:20
Font:Regular Font:Regular
Text:Show Performance Graph Text:Show Performance Graph
CncCheckbox@MATCHTIME_CHECKBOX: Checkbox@MATCHTIME_CHECKBOX:
Id:MATCHTIME_CHECKBOX Id:MATCHTIME_CHECKBOX
X:15 X:15
Y:180 Y:180
@@ -84,7 +84,7 @@ Container@SETTINGS_PANEL:
Height:20 Height:20
Font:Regular Font:Regular
Text:Show Match Timer Text:Show Match Timer
CncCheckbox@CHECKUNSYNCED_CHECKBOX: Checkbox@CHECKUNSYNCED_CHECKBOX:
Id:CHECKUNSYNCED_CHECKBOX Id:CHECKUNSYNCED_CHECKBOX
X:15 X:15
Y:210 Y:210
@@ -190,7 +190,7 @@ Container@SETTINGS_PANEL:
Width:240 Width:240
Height:20 Height:20
Ticks:5 Ticks:5
CncCheckbox@SHELLMAP_MUSIC: Checkbox@SHELLMAP_MUSIC:
Id:SHELLMAP_MUSIC Id:SHELLMAP_MUSIC
X:375 X:375
Y:200 Y:200
@@ -212,7 +212,7 @@ Container@SETTINGS_PANEL:
X:15 X:15
Y:20 Y:20
Width:340 Width:340
CncCheckbox@CLASSICORDERS_CHECKBOX: Checkbox@CLASSICORDERS_CHECKBOX:
Id:CLASSICORDERS_CHECKBOX Id:CLASSICORDERS_CHECKBOX
X:15 X:15
Y:35 Y:35
@@ -241,7 +241,7 @@ Container@SETTINGS_PANEL:
Height:20 Height:20
Ticks:5 Ticks:5
Range:10,50 Range:10,50
CncCheckbox@EDGESCROLL_CHECKBOX: Checkbox@EDGESCROLL_CHECKBOX:
Id:EDGESCROLL_CHECKBOX Id:EDGESCROLL_CHECKBOX
X:15 X:15
Y:150 Y:150
@@ -288,7 +288,7 @@ Container@SETTINGS_PANEL:
Font:Bold Font:Bold
Text:Keyboard Input Text:Keyboard Input
Align:Center Align:Center
CncCheckbox@TEAMCHAT_CHECKBOX: Checkbox@TEAMCHAT_CHECKBOX:
Id:TEAMCHAT_CHECKBOX Id:TEAMCHAT_CHECKBOX
X:375 X:375
Y:35 Y:35

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -211,9 +211,6 @@ scrollbar: buttons.png
down_arrow: 16,112,16,16 down_arrow: 16,112,16,16
up_arrow: 32,112,16,16 up_arrow: 32,112,16,16
checkbox: buttons.png
checked: 0,112,16,16
# A copy of dialog3 # A copy of dialog3
progressbar-bg: dialog.png progressbar-bg: dialog.png
background: 641,1,126,126 background: 641,1,126,126
@@ -370,3 +367,55 @@ slider-track: dialog.png
corner-tr: 722,0,1,1 corner-tr: 722,0,1,1
corner-bl: 640,82,1,1 corner-bl: 640,82,1,1
corner-br: 722,82,1,1 corner-br: 722,82,1,1
# A copy of dialog3
checkbox: dialog.png
background: 641,1,126,126
border-r: 767,1,1,126
border-l: 640,1,1,126
border-b: 641,127,126,1
border-t: 641,0,126,1
corner-tl: 640,0,1,1
corner-tr: 722,0,1,1
corner-bl: 640,82,1,1
corner-br: 722,82,1,1
checkbox-bits: buttons.png
checked: 0,112,16,16
pressed: 0,128,16,16
# A copy of dialog3
checkbox-hover: dialog.png
background: 641,1,126,126
border-r: 767,1,1,126
border-l: 640,1,1,126
border-b: 641,127,126,1
border-t: 641,0,126,1
corner-tl: 640,0,1,1
corner-tr: 722,0,1,1
corner-bl: 640,82,1,1
corner-br: 722,82,1,1
# A copy of dialog3
checkbox-disabled: dialog.png
background: 641,1,126,126
border-r: 767,1,1,126
border-l: 640,1,1,126
border-b: 641,127,126,1
border-t: 641,0,126,1
corner-tl: 640,0,1,1
corner-tr: 722,0,1,1
corner-bl: 640,82,1,1
corner-br: 722,82,1,1
# A copy of dialog3
checkbox-pressed: dialog.png
background: 641,1,126,126
border-r: 767,1,1,126
border-l: 640,1,1,126
border-b: 641,127,126,1
border-t: 641,0,126,1
corner-tl: 640,0,1,1
corner-tr: 722,0,1,1
corner-bl: 640,82,1,1
corner-br: 722,82,1,1