Skip to content

Commit 5f6a92f

Browse files
committed
Create tabbed panel for map preview and settings
1 parent 398b6c8 commit 5f6a92f

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

DXMainClient/DXGUI/Generic/LoadingScreen.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ private static void DeclareCustomControls()
199199
ClientGUICreator.Instance.AddControl(typeof(QuickMatchLobbyPanel));
200200
ClientGUICreator.Instance.AddControl(typeof(QuickMatchMapList));
201201
ClientGUICreator.Instance.AddControl(typeof(QuickMatchStatusMessageWindow));
202+
ClientGUICreator.Instance.AddControl(typeof(XNAClientTabControl));
202203
}
203204

204205
public override void Update(GameTime gameTime)

DXMainClient/DXGUI/Multiplayer/QuickMatch/QuickMatchLobbyPanel.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@
44
using ClientGUI;
55
using DTAClient.Domain.Multiplayer;
66
using DTAClient.Domain.Multiplayer.CnCNet.QuickMatch;
7+
using Localization;
78
using Rampastring.XNAUI;
89
using Rampastring.XNAUI.XNAControls;
910

1011
namespace DTAClient.DXGUI.Multiplayer.QuickMatch
1112
{
1213
public class QuickMatchLobbyPanel : INItializableWindow
1314
{
15+
private const int TAB_WIDTH = 133;
16+
1417
private readonly QuickMatchService quickMatchService;
1518
private readonly MapLoader mapLoader;
1619

@@ -23,6 +26,8 @@ public class QuickMatchLobbyPanel : INItializableWindow
2326
private XNAClientDropDown ddNicknames;
2427
private XNAClientDropDown ddSides;
2528
private XNAPanel mapPreviewBox;
29+
private XNAPanel settingsPanel;
30+
private XNAClientTabControl tabPanel;
2631

2732
public QuickMatchLobbyPanel(WindowManager windowManager) : base(windowManager)
2833
{
@@ -57,6 +62,29 @@ public override void Initialize()
5762

5863
mapPreviewBox = FindChild<XNAPanel>(nameof(mapPreviewBox));
5964
mapPreviewBox.PanelBackgroundDrawMode = PanelBackgroundImageDrawMode.CENTERED;
65+
66+
settingsPanel = FindChild<XNAPanel>(nameof(settingsPanel));
67+
settingsPanel.Disable();
68+
69+
tabPanel = FindChild<XNAClientTabControl>(nameof(tabPanel));
70+
tabPanel.AddTab("Map".L10N("QM:Tabs:Map"), TAB_WIDTH);
71+
tabPanel.AddTab("Settings".L10N("QM:Tabs:Settings"), TAB_WIDTH);
72+
tabPanel.SelectedIndexChanged += TabSelected;
73+
}
74+
75+
private void TabSelected(object sender, EventArgs eventArgs)
76+
{
77+
switch (tabPanel.SelectedTab)
78+
{
79+
case 0:
80+
mapPreviewBox.Enable();
81+
settingsPanel.Disable();
82+
return;
83+
case 1:
84+
mapPreviewBox.Disable();
85+
settingsPanel.Enable();
86+
return;
87+
}
6088
}
6189

6290
private void BtnLogout_LeftClick(object sender, EventArgs eventArgs)

0 commit comments

Comments
 (0)