Quick-fix for "Invisible chrome" bug

This commit is contained in:
Paul Chote
2010-04-09 18:23:34 +12:00
parent a78b28d394
commit a683bddfea
8 changed files with 40 additions and 37 deletions

View File

@@ -130,13 +130,16 @@ namespace OpenRA
clock = new Animation("clock");
var widgetYaml = m.ChromeLayout.Select(a => MiniYaml.FromFile(a)).Aggregate(MiniYaml.Merge);
rootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() );
rootWidget.Initialize();
if (rootWidget == null)
{
rootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() );
rootWidget.Initialize();
}
}
public Widget rootWidget;
public Widget selectedWidget;
public static Widget rootWidget = null;
public static Widget selectedWidget;
List<string> visibleTabs = new List<string>();

View File

@@ -93,31 +93,31 @@ namespace OpenRA.Graphics
switch( Game.orderManager.Connection.ConnectionState )
{
case ConnectionState.PreConnecting:
Game.chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = true;
Game.chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
Chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = true;
Chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
break;
case ConnectionState.Connecting:
Game.chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = true;
Game.chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
Chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = true;
Chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
//(Game.chrome.rootWidget.GetWidget("CONNECTION_GROUP_FAILED") as LabelWidget).Text = "Connecting abort";
//Game.chrome.DrawDialog("Connecting to {0}:{1}...".F( Game.Settings.NetworkHost, Game.Settings.NetworkPort ));
break;
case ConnectionState.NotConnected:
Game.chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = true;
Chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = true;
//(Game.chrome.rootWidget.GetWidget("CONNECTION_GROUP_FAILED") as LabelWidget).Text = "Not Connected Retry/fail";
//Game.chrome.DrawDialog("Connection failed.", "Retry", _ => {}, "Cancel",_ => {});
break;
case ConnectionState.Connected:
Game.chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Game.chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
Chrome.rootWidget.GetWidget("MAINMENU_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTING_BG").Visible = false;
Chrome.rootWidget.GetWidget("CONNECTION_FAILED_BG").Visible = false;
//Game.chrome.DrawLobby( world );
break;
}
@@ -128,9 +128,9 @@ namespace OpenRA.Graphics
Game.chrome.DrawLobby();
lastConnectionState = state;
Game.chrome.DrawWidgets(world);
}
Game.chrome.DrawWidgets(world);
var cursorName = Game.chrome.HitTest(mousePos) ? "default" : Game.controller.ChooseCursor( world );
var c = new Cursor(cursorName);

View File

@@ -29,13 +29,13 @@ namespace OpenRA.Widgets
public int VisualHeight = 1;
public override bool HandleInput(MouseInput mi)
{
if (Game.chrome.selectedWidget == this)
if (Chrome.selectedWidget == this)
Depressed = (GetEventBounds().Contains(mi.Location.X,mi.Location.Y)) ? true : false;
// Relinquish focus
if (Game.chrome.selectedWidget == this && mi.Event == MouseInputEvent.Up)
if (Chrome.selectedWidget == this && mi.Event == MouseInputEvent.Up)
{
Game.chrome.selectedWidget = null;
Chrome.selectedWidget = null;
Depressed = false;
}
@@ -53,7 +53,7 @@ namespace OpenRA.Widgets
// We also want to play a click sound
if (mi.Event == MouseInputEvent.Down)
{
Game.chrome.selectedWidget = this;
Chrome.selectedWidget = this;
Depressed = true;
return true;
}

View File

@@ -24,13 +24,13 @@ namespace OpenRA.Widgets.Delegates
{
public ConnectionDialogsDelegate()
{
var r = Game.chrome.rootWidget;
var r = Chrome.rootWidget;
r.GetWidget("CONNECTION_BUTTON_ABORT").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("MAINMENU_BG");
r.ShowMenu("MAINMENU_BG");
return true;
};
r.GetWidget("CONNECTION_BUTTON_CANCEL").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("MAINMENU_BG");
r.ShowMenu("MAINMENU_BG");
return true;
};
r.GetWidget("CONNECTION_BUTTON_RETRY").OnMouseUp = mi => {

View File

@@ -29,19 +29,19 @@ namespace OpenRA.Widgets.Delegates
public CreateServerMenuDelegate()
{
var r = Game.chrome.rootWidget;
var r = Chrome.rootWidget;
r.GetWidget("MAINMENU_BUTTON_CREATE").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("CREATESERVER_BG");
r.ShowMenu("CREATESERVER_BG");
return true;
};
r.GetWidget("CREATESERVER_BUTTON_CANCEL").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("MAINMENU_BG");
r.ShowMenu("MAINMENU_BG");
return true;
};
r.GetWidget("CREATESERVER_BUTTON_START").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu(null);
r.ShowMenu(null);
Log.Write("Creating server");
// TODO: Get this from a map chooser

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Widgets.Delegates
{
public MainMenuButtonsDelegate()
{
Game.chrome.rootWidget.GetWidget("MAINMENU_BUTTON_QUIT").OnMouseUp = mi => {Game.Exit(); return true;};
Chrome.rootWidget.GetWidget("MAINMENU_BUTTON_QUIT").OnMouseUp = mi => {Game.Exit(); return true;};
}
}
}

View File

@@ -32,10 +32,10 @@ namespace OpenRA.Widgets.Delegates
public ServerBrowserDelegate()
{
var r = Game.chrome.rootWidget;
var r = Chrome.rootWidget;
r.GetWidget("MAINMENU_BUTTON_JOIN").OnMouseUp =
mi => {
var bg = Game.chrome.rootWidget.ShowMenu("JOINSERVER_BG");
var bg = r.ShowMenu("JOINSERVER_BG");
int height = 50;
int width = 300;
int i = 0;
@@ -53,7 +53,7 @@ namespace OpenRA.Widgets.Delegates
b.GetType().GetField("Delegate").SetValue(b, "ServerBrowserDelegate");
b.OnMouseUp = nmi => {
Game.chrome.rootWidget.GetWidget("JOINSERVER_BG").Visible = false;
r.GetWidget("JOINSERVER_BG").Visible = false;
Game.JoinServer(GameList[i].Address.Split(':')[0], int.Parse(GameList[i].Address.Split(':')[1]));
return true;
};
@@ -74,7 +74,7 @@ namespace OpenRA.Widgets.Delegates
};
r.GetWidget("JOINSERVER_BUTTON_CANCEL").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("MAINMENU_BG");
r.ShowMenu("MAINMENU_BG");
return true;
};
}

View File

@@ -9,7 +9,7 @@ namespace OpenRA.Widgets.Delegates
{
public SettingsMenuDelegate()
{
var r = Game.chrome.rootWidget;
var r = Chrome.rootWidget;
// Checkboxes
r.GetWidget<CheckboxWidget>("SETTINGS_CHECKBOX_UNITDEBUG").Checked = () => {return Game.Settings.UnitDebug;};
@@ -45,12 +45,12 @@ namespace OpenRA.Widgets.Delegates
// Menu Buttons
r.GetWidget("MAINMENU_BUTTON_SETTINGS").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("SETTINGS_BG");
r.ShowMenu("SETTINGS_BG");
return true;
};
r.GetWidget("SETTINGS_BUTTON_OK").OnMouseUp = mi => {
Game.chrome.rootWidget.ShowMenu("MAINMENU_BG");
r.ShowMenu("MAINMENU_BG");
return true;
};
}