Restrict ClickThrough to what it was originally intended for.
This commit is contained in:
@@ -15,6 +15,7 @@ namespace OpenRA.Widgets
|
|||||||
public class BackgroundWidget : Widget
|
public class BackgroundWidget : Widget
|
||||||
{
|
{
|
||||||
public readonly string Background = "dialog";
|
public readonly string Background = "dialog";
|
||||||
|
public readonly bool ClickThrough = false;
|
||||||
|
|
||||||
public override void DrawInner( WorldRenderer wr )
|
public override void DrawInner( WorldRenderer wr )
|
||||||
{
|
{
|
||||||
@@ -23,10 +24,16 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public BackgroundWidget() : base() { }
|
public BackgroundWidget() : base() { }
|
||||||
|
|
||||||
|
public override bool HandleMouseInput(MouseInput mi)
|
||||||
|
{
|
||||||
|
return !ClickThrough;
|
||||||
|
}
|
||||||
|
|
||||||
protected BackgroundWidget(BackgroundWidget other)
|
protected BackgroundWidget(BackgroundWidget other)
|
||||||
: base(other)
|
: base(other)
|
||||||
{
|
{
|
||||||
Background = other.Background;
|
Background = other.Background;
|
||||||
|
ClickThrough = other.ClickThrough;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Widget Clone() { return new BackgroundWidget(this); }
|
public override Widget Clone() { return new BackgroundWidget(this); }
|
||||||
|
|||||||
@@ -167,14 +167,9 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public static void ShowDropDown<T>(Widget w, IEnumerable<T> ts, Func<T, int, LabelWidget> ft)
|
public static void ShowDropDown<T>(Widget w, IEnumerable<T> ts, Func<T, int, LabelWidget> ft)
|
||||||
{
|
{
|
||||||
var dropDown = new ScrollPanelWidget()
|
var dropDown = new ScrollPanelWidget();
|
||||||
{
|
dropDown.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100);
|
||||||
Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100),
|
dropDown.ItemSpacing = 1;
|
||||||
Visible = true,
|
|
||||||
ClickThrough = false,
|
|
||||||
OnMouseUp = mi => true,
|
|
||||||
ItemSpacing = 1
|
|
||||||
};
|
|
||||||
|
|
||||||
List<LabelWidget> items = new List<LabelWidget>();
|
List<LabelWidget> items = new List<LabelWidget>();
|
||||||
List<Widget> dismissAfter = new List<Widget>();
|
List<Widget> dismissAfter = new List<Widget>();
|
||||||
@@ -182,8 +177,6 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
var ww = ft(t, dropDown.Bounds.Width - dropDown.ScrollbarWidth);
|
var ww = ft(t, dropDown.Bounds.Width - dropDown.ScrollbarWidth);
|
||||||
dismissAfter.Add(ww);
|
dismissAfter.Add(ww);
|
||||||
ww.ClickThrough = false;
|
|
||||||
ww.IsVisible = () => true;
|
|
||||||
ww.OnMouseMove = mi => items.Do(lw =>
|
ww.OnMouseMove = mi => items.Do(lw =>
|
||||||
{
|
{
|
||||||
lw.Background = null; ww.Background = "dialog2";
|
lw.Background = null; ww.Background = "dialog2";
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ namespace OpenRA.Widgets
|
|||||||
public string Height = "0";
|
public string Height = "0";
|
||||||
public string Delegate = null;
|
public string Delegate = null;
|
||||||
public string EventHandler = null;
|
public string EventHandler = null;
|
||||||
public bool ClickThrough = true;
|
|
||||||
public bool Visible = true;
|
public bool Visible = true;
|
||||||
public readonly List<Widget> Children = new List<Widget>();
|
public readonly List<Widget> Children = new List<Widget>();
|
||||||
|
|
||||||
@@ -63,7 +62,6 @@ namespace OpenRA.Widgets
|
|||||||
Width = widget.Width;
|
Width = widget.Width;
|
||||||
Height = widget.Height;
|
Height = widget.Height;
|
||||||
Delegate = widget.Delegate;
|
Delegate = widget.Delegate;
|
||||||
ClickThrough = widget.ClickThrough;
|
|
||||||
Visible = widget.Visible;
|
Visible = widget.Visible;
|
||||||
|
|
||||||
Bounds = widget.Bounds;
|
Bounds = widget.Bounds;
|
||||||
|
|||||||
@@ -447,7 +447,6 @@ Background@MAP_CHOOSER:
|
|||||||
Id:MAP_TEMPLATE
|
Id:MAP_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -204,7 +204,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 200
|
Height: 200
|
||||||
ClickThrough: True
|
|
||||||
DrawBackground: False
|
DrawBackground: False
|
||||||
RemoveTime:250
|
RemoveTime:250
|
||||||
ChatEntry@CHAT_ENTRY:
|
ChatEntry@CHAT_ENTRY:
|
||||||
@@ -213,7 +212,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT
|
Y:WINDOW_BOTTOM - HEIGHT
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 30
|
Height: 30
|
||||||
ClickThrough: True
|
|
||||||
Background@DEVELOPERMODE_BG:
|
Background@DEVELOPERMODE_BG:
|
||||||
Id:DEVELOPERMODE_BG
|
Id:DEVELOPERMODE_BG
|
||||||
Delegate:DeveloperModeDelegate
|
Delegate:DeveloperModeDelegate
|
||||||
@@ -414,7 +412,6 @@ Container@OBSERVER_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 200
|
Height: 200
|
||||||
ClickThrough: True
|
|
||||||
DrawBackground: False
|
DrawBackground: False
|
||||||
RemoveTime:250
|
RemoveTime:250
|
||||||
ChatEntry@CHAT_ENTRY:
|
ChatEntry@CHAT_ENTRY:
|
||||||
@@ -423,7 +420,6 @@ Container@OBSERVER_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT
|
Y:WINDOW_BOTTOM - HEIGHT
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 30
|
Height: 30
|
||||||
ClickThrough: True
|
|
||||||
Background@FMVPLAYER:
|
Background@FMVPLAYER:
|
||||||
Id:FMVPLAYER
|
Id:FMVPLAYER
|
||||||
Width:WINDOW_RIGHT
|
Width:WINDOW_RIGHT
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ Background@MAINMENU_BG:
|
|||||||
Text:Video Player
|
Text:Video Player
|
||||||
Bold:True
|
Bold:True
|
||||||
Background@PERF_BG:
|
Background@PERF_BG:
|
||||||
ClickThrough:true
|
|
||||||
Id:PERF_BG
|
Id:PERF_BG
|
||||||
Background:dialog4
|
Background:dialog4
|
||||||
Delegate:PerfDebugDelegate
|
Delegate:PerfDebugDelegate
|
||||||
@@ -218,7 +217,6 @@ Background@MUSIC_MENU:
|
|||||||
Id:MUSIC_TEMPLATE
|
Id:MUSIC_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ Background@REPLAYBROWSER_BG:
|
|||||||
Id:REPLAY_TEMPLATE
|
Id:REPLAY_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ Background@JOINSERVER_BG:
|
|||||||
Id:SERVER_TEMPLATE
|
Id:SERVER_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ Background@VIDEOPLAYER_MENU:
|
|||||||
Id:VIDEO_TEMPLATE
|
Id:VIDEO_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -417,7 +417,6 @@ Background@MAP_CHOOSER:
|
|||||||
Id:MAP_TEMPLATE
|
Id:MAP_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -203,7 +203,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 200
|
Height: 200
|
||||||
ClickThrough: True
|
|
||||||
DrawBackground: False
|
DrawBackground: False
|
||||||
RemoveTime:250
|
RemoveTime:250
|
||||||
ChatEntry@CHAT_ENTRY:
|
ChatEntry@CHAT_ENTRY:
|
||||||
@@ -212,7 +211,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT
|
Y:WINDOW_BOTTOM - HEIGHT
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 30
|
Height: 30
|
||||||
ClickThrough: True
|
|
||||||
Background@DEVELOPERMODE_BG:
|
Background@DEVELOPERMODE_BG:
|
||||||
Id:DEVELOPERMODE_BG
|
Id:DEVELOPERMODE_BG
|
||||||
Delegate:DeveloperModeDelegate
|
Delegate:DeveloperModeDelegate
|
||||||
|
|||||||
@@ -220,7 +220,6 @@ Background@MUSIC_MENU:
|
|||||||
Id:MUSIC_TEMPLATE
|
Id:MUSIC_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -122,7 +122,6 @@ Background@JOINSERVER_BG:
|
|||||||
Id:SERVER_TEMPLATE
|
Id:SERVER_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ Background@VIDEOPLAYER_MENU:
|
|||||||
Id:VIDEO_TEMPLATE
|
Id:VIDEO_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
Container:
|
|
||||||
ClickThrough:true
|
|
||||||
Children:
|
|
||||||
Background@MAINMENU_BG:
|
Background@MAINMENU_BG:
|
||||||
Id:MAINMENU_BG
|
Id:MAINMENU_BG
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
|
|||||||
@@ -447,7 +447,6 @@ Background@MAP_CHOOSER:
|
|||||||
Id:MAP_TEMPLATE
|
Id:MAP_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -211,7 +211,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 200
|
Height: 200
|
||||||
ClickThrough: True
|
|
||||||
DrawBackground: False
|
DrawBackground: False
|
||||||
RemoveTime:250
|
RemoveTime:250
|
||||||
ChatEntry@CHAT_ENTRY:
|
ChatEntry@CHAT_ENTRY:
|
||||||
@@ -220,7 +219,6 @@ Container@INGAME_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT
|
Y:WINDOW_BOTTOM - HEIGHT
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 30
|
Height: 30
|
||||||
ClickThrough: True
|
|
||||||
Background@DEVELOPERMODE_BG:
|
Background@DEVELOPERMODE_BG:
|
||||||
Id:DEVELOPERMODE_BG
|
Id:DEVELOPERMODE_BG
|
||||||
Delegate:DeveloperModeDelegate
|
Delegate:DeveloperModeDelegate
|
||||||
@@ -421,7 +419,6 @@ Container@OBSERVER_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 200
|
Height: 200
|
||||||
ClickThrough: True
|
|
||||||
DrawBackground: False
|
DrawBackground: False
|
||||||
RemoveTime:250
|
RemoveTime:250
|
||||||
ChatEntry@CHAT_ENTRY:
|
ChatEntry@CHAT_ENTRY:
|
||||||
@@ -430,7 +427,6 @@ Container@OBSERVER_ROOT:
|
|||||||
Y:WINDOW_BOTTOM - HEIGHT
|
Y:WINDOW_BOTTOM - HEIGHT
|
||||||
Width: 760
|
Width: 760
|
||||||
Height: 30
|
Height: 30
|
||||||
ClickThrough: True
|
|
||||||
Background@FMVPLAYER:
|
Background@FMVPLAYER:
|
||||||
Id:FMVPLAYER
|
Id:FMVPLAYER
|
||||||
Width:WINDOW_RIGHT
|
Width:WINDOW_RIGHT
|
||||||
|
|||||||
@@ -219,7 +219,6 @@ Background@MUSIC_MENU:
|
|||||||
Id:MUSIC_TEMPLATE
|
Id:MUSIC_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ Background@REPLAYBROWSER_BG:
|
|||||||
Id:REPLAY_TEMPLATE
|
Id:REPLAY_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ Background@JOINSERVER_BG:
|
|||||||
Id:SERVER_TEMPLATE
|
Id:SERVER_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ Background@VIDEOPLAYER_MENU:
|
|||||||
Id:VIDEO_TEMPLATE
|
Id:VIDEO_TEMPLATE
|
||||||
Width:PARENT_RIGHT-28
|
Width:PARENT_RIGHT-28
|
||||||
Height:25
|
Height:25
|
||||||
ClickThrough:false
|
|
||||||
X:2
|
X:2
|
||||||
Y:0
|
Y:0
|
||||||
Visible:false
|
Visible:false
|
||||||
|
|||||||
Reference in New Issue
Block a user