#2051 fixed -- Widget.Get() throws by default

This commit is contained in:
Chris Forbes
2012-04-27 19:39:07 +12:00
parent 5d1a071287
commit c30d46c014
52 changed files with 409 additions and 398 deletions

View File

@@ -23,20 +23,20 @@ namespace OpenRA.Mods.RA.Widgets.Logic
public SettingsMenuLogic()
{
bg = Ui.Root.GetWidget<BackgroundWidget>("SETTINGS_MENU");
var tabs = bg.GetWidget<ContainerWidget>("TAB_CONTAINER");
bg = Ui.Root.Get<BackgroundWidget>("SETTINGS_MENU");
var tabs = bg.Get<ContainerWidget>("TAB_CONTAINER");
//Tabs
tabs.GetWidget<ButtonWidget>("GENERAL").OnClick = () => FlipToTab("GENERAL_PANE");
tabs.GetWidget<ButtonWidget>("AUDIO").OnClick = () => FlipToTab("AUDIO_PANE");
tabs.GetWidget<ButtonWidget>("DISPLAY").OnClick = () => FlipToTab("DISPLAY_PANE");
tabs.GetWidget<ButtonWidget>("DEBUG").OnClick = () => FlipToTab("DEBUG_PANE");
tabs.Get<ButtonWidget>("GENERAL").OnClick = () => FlipToTab("GENERAL_PANE");
tabs.Get<ButtonWidget>("AUDIO").OnClick = () => FlipToTab("AUDIO_PANE");
tabs.Get<ButtonWidget>("DISPLAY").OnClick = () => FlipToTab("DISPLAY_PANE");
tabs.Get<ButtonWidget>("DEBUG").OnClick = () => FlipToTab("DEBUG_PANE");
FlipToTab("GENERAL_PANE");
//General
var general = bg.GetWidget("GENERAL_PANE");
var general = bg.Get("GENERAL_PANE");
var name = general.GetWidget<TextFieldWidget>("NAME");
var name = general.Get<TextFieldWidget>("NAME");
name.Text = Game.Settings.Player.Name;
name.OnLoseFocus = () =>
{
@@ -49,54 +49,54 @@ namespace OpenRA.Mods.RA.Widgets.Logic
};
name.OnEnterKey = () => { name.LoseFocus(); return true; };
var edgescrollCheckbox = general.GetWidget<CheckboxWidget>("EDGE_SCROLL");
var edgescrollCheckbox = general.Get<CheckboxWidget>("EDGE_SCROLL");
edgescrollCheckbox.IsChecked = () => Game.Settings.Game.ViewportEdgeScroll;
edgescrollCheckbox.OnClick = () => Game.Settings.Game.ViewportEdgeScroll ^= true;
var edgeScrollSlider = general.GetWidget<SliderWidget>("EDGE_SCROLL_AMOUNT");
var edgeScrollSlider = general.Get<SliderWidget>("EDGE_SCROLL_AMOUNT");
edgeScrollSlider.Value = Game.Settings.Game.ViewportEdgeScrollStep;
edgeScrollSlider.OnChange += x => Game.Settings.Game.ViewportEdgeScrollStep = x;
var inversescroll = general.GetWidget<CheckboxWidget>("INVERSE_SCROLL");
var inversescroll = general.Get<CheckboxWidget>("INVERSE_SCROLL");
inversescroll.IsChecked = () => Game.Settings.Game.MouseScroll == MouseScrollType.Inverted;
inversescroll.OnClick = () => Game.Settings.Game.MouseScroll = (Game.Settings.Game.MouseScroll == MouseScrollType.Inverted) ? MouseScrollType.Standard : MouseScrollType.Inverted;
var teamchatCheckbox = general.GetWidget<CheckboxWidget>("TEAMCHAT_TOGGLE");
var teamchatCheckbox = general.Get<CheckboxWidget>("TEAMCHAT_TOGGLE");
teamchatCheckbox.IsChecked = () => Game.Settings.Game.TeamChatToggle;
teamchatCheckbox.OnClick = () => Game.Settings.Game.TeamChatToggle ^= true;
var showShellmapCheckbox = general.GetWidget<CheckboxWidget>("SHOW_SHELLMAP");
var showShellmapCheckbox = general.Get<CheckboxWidget>("SHOW_SHELLMAP");
showShellmapCheckbox.IsChecked = () => Game.Settings.Game.ShowShellmap;
showShellmapCheckbox.OnClick = () => Game.Settings.Game.ShowShellmap ^= true;
// Audio
var audio = bg.GetWidget("AUDIO_PANE");
var audio = bg.Get("AUDIO_PANE");
var soundslider = audio.GetWidget<SliderWidget>("SOUND_VOLUME");
var soundslider = audio.Get<SliderWidget>("SOUND_VOLUME");
soundslider.OnChange += x => Sound.SoundVolume = x;
soundslider.Value = Sound.SoundVolume;
var musicslider = audio.GetWidget<SliderWidget>("MUSIC_VOLUME");
var musicslider = audio.Get<SliderWidget>("MUSIC_VOLUME");
musicslider.OnChange += x => Sound.MusicVolume = x;
musicslider.Value = Sound.MusicVolume;
// Display
var display = bg.GetWidget("DISPLAY_PANE");
var display = bg.Get("DISPLAY_PANE");
var gs = Game.Settings.Graphics;
var windowModeDropdown = display.GetWidget<DropDownButtonWidget>("MODE_DROPDOWN");
var windowModeDropdown = display.Get<DropDownButtonWidget>("MODE_DROPDOWN");
windowModeDropdown.OnMouseDown = _ => ShowWindowModeDropdown(windowModeDropdown, gs);
windowModeDropdown.GetText = () => gs.Mode == WindowMode.Windowed ?
"Windowed" : gs.Mode == WindowMode.Fullscreen ? "Fullscreen" : "Pseudo-Fullscreen";
display.GetWidget("WINDOW_RESOLUTION").IsVisible = () => gs.Mode == WindowMode.Windowed;
var windowWidth = display.GetWidget<TextFieldWidget>("WINDOW_WIDTH");
display.Get("WINDOW_RESOLUTION").IsVisible = () => gs.Mode == WindowMode.Windowed;
var windowWidth = display.Get<TextFieldWidget>("WINDOW_WIDTH");
windowWidth.Text = gs.WindowedSize.X.ToString();
var windowHeight = display.GetWidget<TextFieldWidget>("WINDOW_HEIGHT");
var windowHeight = display.Get<TextFieldWidget>("WINDOW_HEIGHT");
windowHeight.Text = gs.WindowedSize.Y.ToString();
var pixelDoubleCheckbox = display.GetWidget<CheckboxWidget>("PIXELDOUBLE_CHECKBOX");
var pixelDoubleCheckbox = display.Get<CheckboxWidget>("PIXELDOUBLE_CHECKBOX");
pixelDoubleCheckbox.IsChecked = () => gs.PixelDouble;
pixelDoubleCheckbox.OnClick = () =>
{
@@ -105,17 +105,17 @@ namespace OpenRA.Mods.RA.Widgets.Logic
};
// Debug
var debug = bg.GetWidget("DEBUG_PANE");
var debug = bg.Get("DEBUG_PANE");
var perfgraphCheckbox = debug.GetWidget<CheckboxWidget>("PERFDEBUG_CHECKBOX");
var perfgraphCheckbox = debug.Get<CheckboxWidget>("PERFDEBUG_CHECKBOX");
perfgraphCheckbox.IsChecked = () => Game.Settings.Debug.PerfGraph;
perfgraphCheckbox.OnClick = () => Game.Settings.Debug.PerfGraph ^= true;
var checkunsyncedCheckbox = debug.GetWidget<CheckboxWidget>("CHECKUNSYNCED_CHECKBOX");
var checkunsyncedCheckbox = debug.Get<CheckboxWidget>("CHECKUNSYNCED_CHECKBOX");
checkunsyncedCheckbox.IsChecked = () => Game.Settings.Debug.SanityCheckUnsyncedCode;
checkunsyncedCheckbox.OnClick = () => Game.Settings.Debug.SanityCheckUnsyncedCode ^= true;
bg.GetWidget<ButtonWidget>("BUTTON_CLOSE").OnClick = () =>
bg.Get<ButtonWidget>("BUTTON_CLOSE").OnClick = () =>
{
int x, y;
int.TryParse(windowWidth.Text, out x);
@@ -131,10 +131,10 @@ namespace OpenRA.Mods.RA.Widgets.Logic
bool FlipToTab(string id)
{
if (open != null)
bg.GetWidget(open).Visible = false;
bg.Get(open).Visible = false;
open = id;
bg.GetWidget(open).Visible = true;
bg.Get(open).Visible = true;
return true;
}
@@ -152,7 +152,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var item = ScrollItemWidget.Setup(itemTemplate,
() => s.Mode == options[o],
() => s.Mode = options[o]);
item.GetWidget<LabelWidget>("LABEL").GetText = () => o;
item.Get<LabelWidget>("LABEL").GetText = () => o;
return item;
};