Highlight selected toolbar button

This commit is contained in:
Michele 2021-02-03 21:45:51 +00:00
parent 87380b1a18
commit 4e6f8195e7
4 changed files with 62 additions and 54 deletions

View file

@ -191,12 +191,8 @@ namespace Sledgemapper
_mainWidget.MenuConnectUpload.Enabled = false; _mainWidget.MenuConnectUpload.Enabled = false;
_mainWidget.BtnToolbarLine.Click += OnBtnToolbarLinClicked; _mainWidget.BtnToolbarLine.Click += OnBtnToolbarLinClicked;
_mainWidget.BtnToolbarRoom.Click += OnBtnToolbarRoomClicked; _mainWidget.BtnToolbarRoom.Click += OnBtnToolbarRoomClicked;
_mainWidget.BtnToolbarTile.Click += OnBtnToolbarTileClicked;
_mainWidget.BtnToolbarWall.Click += OnBtnToolbarWallClicked;
_mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked; _mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked;
_mainWidget.BtnToolbarTile.Visible = false;
_mainWidget.BtnToolbarWall.Visible = false;
_wallsContent = Content.LoadContentFolder<Texture2D>("walls"); _wallsContent = Content.LoadContentFolder<Texture2D>("walls");
_spriteSheet = new SpriteSheet(); _spriteSheet = new SpriteSheet();
@ -221,30 +217,48 @@ namespace Sledgemapper
_whiteRectangle.SetData(new[] { Color.White }); _whiteRectangle.SetData(new[] { Color.White });
} }
private void OnBtnToolbarDeleteClicked(object sender, EventArgs e) private void OnBtnToolbarDeleteClicked(object sender, EventArgs e)
{ {
_state.InsertMode = InsertMode.NewDelete; _state.InsertMode = InsertMode.NewDelete;
_mainWidget.ClearSelection();
((ImageTextButton)sender).Border = new SolidBrush(Color.Red);
((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2);
} }
private void OnBtnToolbarWallClicked(object sender, EventArgs e) private void OnBtnToolbarWallClicked(object sender, EventArgs e)
{ {
_state.InsertMode = InsertMode.NewWall; _state.InsertMode = InsertMode.NewWall;
_mainWidget.ClearSelection();
((ImageTextButton)sender).Border = new SolidBrush(Color.Red);
((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2);
} }
private void OnBtnToolbarTileClicked(object sender, EventArgs e) private void OnBtnToolbarTileClicked(object sender, EventArgs e)
{ {
_state.InsertMode = InsertMode.NewTile; _state.InsertMode = InsertMode.NewTile;
_mainWidget.ClearSelection();
((ImageTextButton)sender).Border = new SolidBrush(Color.Red);
((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2);
} }
private void OnBtnToolbarRoomClicked(object sender, EventArgs e) private void OnBtnToolbarRoomClicked(object sender, EventArgs e)
{ {
_state.InsertMode = InsertMode.NewRoom; _state.InsertMode = InsertMode.NewRoom;
_mainWidget.ClearSelection();
((ImageTextButton)sender).Border = new SolidBrush(Color.Red);
((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2);
} }
private void OnBtnToolbarLinClicked(object sender, EventArgs e) private void OnBtnToolbarLinClicked(object sender, EventArgs e)
{ {
_state.InsertMode = InsertMode.NewLine; _state.InsertMode = InsertMode.NewLine;
_mainWidget.ClearSelection();
((ImageTextButton)sender).Border = new SolidBrush(Color.Red);
((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2);
} }
private void OneMenuFileSettingsSelected(object sender, EventArgs e) private void OneMenuFileSettingsSelected(object sender, EventArgs e)

View file

@ -8,9 +8,18 @@ namespace Sledgemapper.UI
{ {
ClearSelection(GridWalls); ClearSelection(GridWalls);
ClearSelection(GridOverlays); ClearSelection(GridOverlays);
ClearSelection(Toolbar);
} }
private void ClearSelection(Grid grid) private void ClearSelection(Grid grid)
{
foreach (var widget in grid.Widgets)
{
widget.Border = null;
}
}
private void ClearSelection(HorizontalStackPanel grid)
{ {
foreach (var widget in grid.Widgets) foreach (var widget in grid.Widgets)
{ {

View file

@ -1,4 +1,4 @@
/* Generated by MyraPad at 18/01/2021 09:38:43 */ /* Generated by MyraPad at 03/02/2021 21:43:01 */
using Myra; using Myra;
using Myra.Graphics2D; using Myra.Graphics2D;
using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.TextureAtlases;
@ -127,31 +127,19 @@ namespace Sledgemapper.UI
_mainMenu.Items.Add(menuItem2); _mainMenu.Items.Add(menuItem2);
_mainMenu.Items.Add(menuItem3); _mainMenu.Items.Add(menuItem3);
BtnToolbarTile = new ImageTextButton();
BtnToolbarTile.Text = " T";
BtnToolbarTile.Width = 40;
BtnToolbarTile.Height = 40;
BtnToolbarTile.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
BtnToolbarTile.Id = "BtnToolbarTile";
BtnToolbarLine = new ImageTextButton(); BtnToolbarLine = new ImageTextButton();
BtnToolbarLine.Text = " C"; BtnToolbarLine.Text = " C";
BtnToolbarLine.Width = 40; BtnToolbarLine.Width = 40;
BtnToolbarLine.Height = 40; BtnToolbarLine.Height = 40;
BtnToolbarLine.BorderThickness = new Thickness(2);
BtnToolbarLine.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnToolbarLine.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
BtnToolbarLine.Id = "BtnToolbarLine"; BtnToolbarLine.Id = "BtnToolbarLine";
BtnToolbarWall = new ImageTextButton();
BtnToolbarWall.Text = " W";
BtnToolbarWall.Width = 40;
BtnToolbarWall.Height = 40;
BtnToolbarWall.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
BtnToolbarWall.Id = "BtnToolbarWall";
BtnToolbarRoom = new ImageTextButton(); BtnToolbarRoom = new ImageTextButton();
BtnToolbarRoom.Text = " R"; BtnToolbarRoom.Text = " R";
BtnToolbarRoom.Width = 40; BtnToolbarRoom.Width = 40;
BtnToolbarRoom.Height = 40; BtnToolbarRoom.Height = 40;
BtnToolbarRoom.BorderThickness = new Thickness(2);
BtnToolbarRoom.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnToolbarRoom.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
BtnToolbarRoom.Id = "BtnToolbarRoom"; BtnToolbarRoom.Id = "BtnToolbarRoom";
@ -159,24 +147,24 @@ namespace Sledgemapper.UI
BtnToolbarDelete.Text = " D"; BtnToolbarDelete.Text = " D";
BtnToolbarDelete.Width = 40; BtnToolbarDelete.Width = 40;
BtnToolbarDelete.Height = 40; BtnToolbarDelete.Height = 40;
BtnToolbarDelete.BorderThickness = new Thickness(2);
BtnToolbarDelete.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnToolbarDelete.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
BtnToolbarDelete.Id = "BtnToolbarDelete"; BtnToolbarDelete.Id = "BtnToolbarDelete";
var horizontalStackPanel1 = new HorizontalStackPanel(); Toolbar = new HorizontalStackPanel();
horizontalStackPanel1.Spacing = 5; Toolbar.Spacing = 12;
horizontalStackPanel1.Proportions.Add(new Proportion Toolbar.Proportions.Add(new Proportion
{ {
Type = Myra.Graphics2D.UI.ProportionType.Auto, Type = Myra.Graphics2D.UI.ProportionType.Auto,
}); });
horizontalStackPanel1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; Toolbar.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center;
horizontalStackPanel1.Height = 51; Toolbar.Height = 51;
horizontalStackPanel1.Padding = new Thickness(4, 0, 0, 0); Toolbar.Padding = new Thickness(4, 0, 0, 0);
horizontalStackPanel1.Background = new SolidBrush("#404040FF"); Toolbar.Background = new SolidBrush("#404040FF");
horizontalStackPanel1.Widgets.Add(BtnToolbarTile); Toolbar.Id = "Toolbar";
horizontalStackPanel1.Widgets.Add(BtnToolbarLine); Toolbar.Widgets.Add(BtnToolbarLine);
horizontalStackPanel1.Widgets.Add(BtnToolbarWall); Toolbar.Widgets.Add(BtnToolbarRoom);
horizontalStackPanel1.Widgets.Add(BtnToolbarRoom); Toolbar.Widgets.Add(BtnToolbarDelete);
horizontalStackPanel1.Widgets.Add(BtnToolbarDelete);
GridWalls = new Grid(); GridWalls = new Grid();
GridWalls.ColumnSpacing = 8; GridWalls.ColumnSpacing = 8;
@ -262,22 +250,22 @@ namespace Sledgemapper.UI
lblSessionName.MinWidth = 100; lblSessionName.MinWidth = 100;
lblSessionName.Id = "lblSessionName"; lblSessionName.Id = "lblSessionName";
var horizontalStackPanel2 = new HorizontalStackPanel(); var horizontalStackPanel1 = new HorizontalStackPanel();
horizontalStackPanel2.Spacing = 10; horizontalStackPanel1.Spacing = 10;
horizontalStackPanel2.Proportions.Add(new Proportion horizontalStackPanel1.Proportions.Add(new Proportion
{ {
Type = Myra.Graphics2D.UI.ProportionType.Auto, Type = Myra.Graphics2D.UI.ProportionType.Auto,
}); });
horizontalStackPanel2.Height = 25; horizontalStackPanel1.Height = 25;
horizontalStackPanel2.Background = new SolidBrush("#333333FF"); horizontalStackPanel1.Background = new SolidBrush("#333333FF");
horizontalStackPanel2.Widgets.Add(label1); horizontalStackPanel1.Widgets.Add(label1);
horizontalStackPanel2.Widgets.Add(lblConnectionStatus); horizontalStackPanel1.Widgets.Add(lblConnectionStatus);
horizontalStackPanel2.Widgets.Add(verticalSeparator1); horizontalStackPanel1.Widgets.Add(verticalSeparator1);
horizontalStackPanel2.Widgets.Add(label2); horizontalStackPanel1.Widgets.Add(label2);
horizontalStackPanel2.Widgets.Add(lblUsername); horizontalStackPanel1.Widgets.Add(lblUsername);
horizontalStackPanel2.Widgets.Add(verticalSeparator2); horizontalStackPanel1.Widgets.Add(verticalSeparator2);
horizontalStackPanel2.Widgets.Add(label3); horizontalStackPanel1.Widgets.Add(label3);
horizontalStackPanel2.Widgets.Add(lblSessionName); horizontalStackPanel1.Widgets.Add(lblSessionName);
Proportions.Add(new Proportion Proportions.Add(new Proportion
@ -293,9 +281,9 @@ namespace Sledgemapper.UI
Type = Myra.Graphics2D.UI.ProportionType.Fill, Type = Myra.Graphics2D.UI.ProportionType.Fill,
}); });
Widgets.Add(_mainMenu); Widgets.Add(_mainMenu);
Widgets.Add(horizontalStackPanel1); Widgets.Add(Toolbar);
Widgets.Add(verticalSplitPane1); Widgets.Add(verticalSplitPane1);
Widgets.Add(horizontalStackPanel2); Widgets.Add(horizontalStackPanel1);
} }
@ -314,11 +302,10 @@ namespace Sledgemapper.UI
public MenuItem MenuViewCenterOnSelection; public MenuItem MenuViewCenterOnSelection;
public MenuItem MenuHelpAbout; public MenuItem MenuHelpAbout;
public HorizontalMenu _mainMenu; public HorizontalMenu _mainMenu;
public ImageTextButton BtnToolbarTile;
public ImageTextButton BtnToolbarLine; public ImageTextButton BtnToolbarLine;
public ImageTextButton BtnToolbarWall;
public ImageTextButton BtnToolbarRoom; public ImageTextButton BtnToolbarRoom;
public ImageTextButton BtnToolbarDelete; public ImageTextButton BtnToolbarDelete;
public HorizontalStackPanel Toolbar;
public Grid GridWalls; public Grid GridWalls;
public Grid GridOverlays; public Grid GridOverlays;
public Label lblConnectionStatus; public Label lblConnectionStatus;

View file

@ -32,15 +32,13 @@
<MenuItem Text="&amp;About" Id="MenuHelpAbout" /> <MenuItem Text="&amp;About" Id="MenuHelpAbout" />
</MenuItem> </MenuItem>
</HorizontalMenu> </HorizontalMenu>
<HorizontalStackPanel Spacing="5" VerticalAlignment="Center" Height="51" Padding="4, 0, 0, 0" Background="#404040FF"> <HorizontalStackPanel Spacing="12" VerticalAlignment="Center" Height="51" Padding="4, 0, 0, 0" Background="#404040FF" Id="Toolbar">
<HorizontalStackPanel.Proportions> <HorizontalStackPanel.Proportions>
<Proportion Type="Auto" /> <Proportion Type="Auto" />
</HorizontalStackPanel.Proportions> </HorizontalStackPanel.Proportions>
<ImageTextButton Text=" T" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarTile" /> <ImageTextButton Text=" C" Width="40" Height="40" BorderThickness="2" VerticalAlignment="Center" Id="BtnToolbarLine" />
<ImageTextButton Text=" C" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarLine" /> <ImageTextButton Text=" R" Width="40" Height="40" BorderThickness="2" VerticalAlignment="Center" Id="BtnToolbarRoom" />
<ImageTextButton Text=" W" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarWall" /> <ImageTextButton Text=" D" Width="40" Height="40" BorderThickness="2" VerticalAlignment="Center" Id="BtnToolbarDelete" />
<ImageTextButton Text=" R" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarRoom" />
<ImageTextButton Text=" D" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarDelete" />
</HorizontalStackPanel> </HorizontalStackPanel>
<VerticalSplitPane Width="200" Background="#A1A1A1FF"> <VerticalSplitPane Width="200" Background="#A1A1A1FF">
<VerticalStackPanel> <VerticalStackPanel>