Merge pull request #8840 from deniz1a/dropdown-gap

Removes spacing between dropdown menu items.
This commit is contained in:
Pavel Penev
2015-08-23 01:32:53 +03:00
26 changed files with 44 additions and 14 deletions

View File

@@ -24,14 +24,14 @@ namespace OpenRA.Mods.Common.Widgets
{
if (widget.Children.Count == 0)
{
widget.ContentHeight = widget.ItemSpacing;
pos = new int2(widget.ItemSpacing, widget.ItemSpacing);
widget.ContentHeight = 2 * widget.TopBottomSpacing;
pos = new int2(widget.ItemSpacing, widget.TopBottomSpacing);
}
if (pos.X + widget.ItemSpacing + w.Bounds.Width > widget.Bounds.Width - widget.ScrollbarWidth)
if (pos.X + w.Bounds.Width + widget.ItemSpacing > widget.Bounds.Width - widget.ScrollbarWidth)
{
/* start a new row */
pos = new int2(widget.ItemSpacing, widget.ContentHeight);
pos = new int2(widget.ItemSpacing, widget.ContentHeight - widget.TopBottomSpacing + widget.ItemSpacing);
}
w.Bounds.X += pos.X;
@@ -39,11 +39,9 @@ namespace OpenRA.Mods.Common.Widgets
pos = pos.WithX(pos.X + w.Bounds.Width + widget.ItemSpacing);
widget.ContentHeight = Math.Max(widget.ContentHeight, pos.Y + widget.ItemSpacing + w.Bounds.Height);
widget.ContentHeight = Math.Max(widget.ContentHeight, pos.Y + w.Bounds.Height + widget.TopBottomSpacing);
}
public void AdjustChildren()
{
}
public void AdjustChildren() { }
}
}

View File

@@ -21,22 +21,26 @@ namespace OpenRA.Mods.Common.Widgets
public void AdjustChild(Widget w)
{
if (widget.Children.Count == 0)
widget.ContentHeight = widget.ItemSpacing;
widget.ContentHeight = 2 * widget.TopBottomSpacing - widget.ItemSpacing;
w.Bounds.Y = widget.ContentHeight;
w.Bounds.Y = widget.ContentHeight - widget.TopBottomSpacing + widget.ItemSpacing;
if (!widget.CollapseHiddenChildren || w.IsVisible())
widget.ContentHeight += w.Bounds.Height + widget.ItemSpacing;
}
public void AdjustChildren()
{
widget.ContentHeight = widget.ItemSpacing;
widget.ContentHeight = widget.TopBottomSpacing;
foreach (var w in widget.Children)
{
w.Bounds.Y = widget.ContentHeight;
if (!widget.CollapseHiddenChildren || w.IsVisible())
widget.ContentHeight += w.Bounds.Height + widget.ItemSpacing;
}
// The loop above appended an extra widget.ItemSpacing after the last item.
// Replace it with proper bottom spacing.
widget.ContentHeight += widget.TopBottomSpacing - widget.ItemSpacing;
}
}
}

View File

@@ -33,7 +33,8 @@ namespace OpenRA.Mods.Common.Widgets
{
readonly Ruleset modRules;
public int ScrollbarWidth = 24;
public int ItemSpacing = 2;
public int TopBottomSpacing = 2;
public int ItemSpacing = 0;
public int ButtonDepth = ChromeMetrics.Get<int>("ButtonDepth");
public string Background = "scrollpanel-bg";
public string Button = "scrollpanel-button";

View File

@@ -250,6 +250,7 @@ ScrollPanel@NEWS_PANEL:
Width: 400
Height: 265
Background: panel-black
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@NEWS_ITEM_TEMPLATE:

View File

@@ -264,6 +264,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 24
Width: PARENT_RIGHT
Height: PARENT_BOTTOM - 24
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@TILEPREVIEW_TEMPLATE:
@@ -289,6 +290,7 @@ Container@EDITOR_WORLD_ROOT:
ScrollPanel@LAYERTEMPLATE_LIST:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@LAYERPREVIEW_TEMPLATE:
@@ -320,6 +322,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 24
Width: PARENT_RIGHT
Height: PARENT_BOTTOM - 24
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@ACTORPREVIEW_TEMPLATE:

View File

@@ -45,6 +45,7 @@ Container@CHAT_PANEL:
Y: PARENT_BOTTOM - HEIGHT - 30
Width: 550
Height: 164
TopBottomSpacing: 4
ItemSpacing: 4
Align: Bottom
Children:

View File

@@ -21,6 +21,7 @@ Container@MISSION_OBJECTIVES:
Y: 50
Width: 482
Height: 310
TopBottomSpacing: 15
ItemSpacing: 15
Children:
Container@OBJECTIVE_TEMPLATE:

View File

@@ -69,6 +69,7 @@ Container@SKIRMISH_STATS:
Y: 105
Width: 482
Height: 255
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@PLAYER_TEMPLATE:

View File

@@ -258,6 +258,7 @@ Background@INGAME_OBSERVERSTATS_BG:
Y: 70
Width: PARENT_RIGHT-30
Height: PARENT_BOTTOM-35-50
TopBottomSpacing: 5
ItemSpacing: 5
Children:
ScrollItem@TEAM_TEMPLATE:

View File

@@ -3,6 +3,7 @@ ScrollPanel@LOBBY_PLAYER_BIN:
Y: 30
Width: 556
Height: 219
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@TEMPLATE_EDITABLE_PLAYER:

View File

@@ -94,6 +94,7 @@ Container@SERVER_LOBBY:
Y: 285
Width: PARENT_RIGHT - 30
Height: PARENT_BOTTOM - 324
TopBottomSpacing: 2
ItemSpacing: 2
Children:
Container@CHAT_TEMPLATE:

View File

@@ -396,6 +396,7 @@ Container@SETTINGS_PANEL:
X: 15
Y: 155
Width: 560
TopBottomSpacing: 4
ItemSpacing: 4
Height: 190
Children:

View File

@@ -98,6 +98,7 @@ ScrollPanel@SPECTATOR_DROPDOWN_TEMPLATE:
ScrollPanel@NEWS_PANEL:
Width: 370
Height: 265
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@NEWS_ITEM_TEMPLATE:

View File

@@ -69,6 +69,7 @@ Container@SKIRMISH_STATS:
Y: 105
Width: 482
Height: 265
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@PLAYER_TEMPLATE:

View File

@@ -1,6 +1,7 @@
ScrollPanel@LOBBY_PLAYER_BIN:
X: 20
Y: 67
TopBottomSpacing: 5
ItemSpacing: 5
Width: 593
Height: 235

View File

@@ -101,6 +101,7 @@ ScrollPanel@SPECTATOR_DROPDOWN_TEMPLATE:
ScrollPanel@NEWS_PANEL:
Width: 370
Height: 265
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@NEWS_ITEM_TEMPLATE:

View File

@@ -241,6 +241,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 35
Width: PARENT_RIGHT-20
Height: PARENT_BOTTOM-45
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@TILEPREVIEW_TEMPLATE:
@@ -266,6 +267,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 10
Width: PARENT_RIGHT-20
Height: PARENT_BOTTOM-20
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@LAYERPREVIEW_TEMPLATE:
@@ -298,6 +300,7 @@ Container@EDITOR_WORLD_ROOT:
Y: 35
Width: PARENT_RIGHT-20
Height: PARENT_BOTTOM-45
TopBottomSpacing: 4
ItemSpacing: 4
Children:
ScrollItem@ACTORPREVIEW_TEMPLATE:

View File

@@ -41,6 +41,7 @@ Container@CHAT_PANEL:
Y: PARENT_BOTTOM - HEIGHT - 30
Width: 550
Height: 164
TopBottomSpacing: 4
ItemSpacing: 4
Align: Bottom
Children:

View File

@@ -44,6 +44,7 @@ Background@INGAME_DIPLOMACY_BG:
Y: 67
Width: PARENT_RIGHT-40
Height: PARENT_BOTTOM-87-35
TopBottomSpacing: 5
ItemSpacing: 5
Children:
ScrollItem@TEAM_TEMPLATE:

View File

@@ -21,6 +21,7 @@ Container@MISSION_OBJECTIVES:
Y: 60
Width: 482
Height: 310
TopBottomSpacing: 15
ItemSpacing: 15
Children:
Container@OBJECTIVE_TEMPLATE:

View File

@@ -69,6 +69,7 @@ Container@SKIRMISH_STATS:
Y: 105
Width: 482
Height: 265
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@PLAYER_TEMPLATE:

View File

@@ -258,6 +258,7 @@ Background@INGAME_OBSERVERSTATS_BG:
Y: 70
Width: PARENT_RIGHT-50
Height: PARENT_BOTTOM-45-50
TopBottomSpacing: 5
ItemSpacing: 5
Children:
ScrollItem@TEAM_TEMPLATE:

View File

@@ -1,6 +1,7 @@
ScrollPanel@LOBBY_PLAYER_BIN:
X: 20
Y: 67
TopBottomSpacing: 5
ItemSpacing: 5
Width: 593
Height: 235

View File

@@ -96,6 +96,7 @@ Background@SERVER_LOBBY:
Y: PARENT_BOTTOM - HEIGHT - 52
Width: 818
Height: 210
TopBottomSpacing: 2
ItemSpacing: 2
Children:
Container@CHAT_TEMPLATE:

View File

@@ -400,6 +400,7 @@ Background@SETTINGS_PANEL:
X: 15
Y: 155
Width: 560
TopBottomSpacing: 4
ItemSpacing: 4
Height: 190
Children:

View File

@@ -98,6 +98,7 @@ ScrollPanel@SPECTATOR_DROPDOWN_TEMPLATE:
ScrollPanel@NEWS_PANEL:
Width: 370
Height: 265
TopBottomSpacing: 5
ItemSpacing: 5
Children:
Container@NEWS_ITEM_TEMPLATE: