From afc94fd698f203dc27808aaa722dca6f17bf2469 Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 4 Feb 2021 10:02:53 +0000 Subject: [PATCH 1/2] fix stash conflicty --- Sledgemapper.Api/db/LocalDatabase.db | Bin 20480 -> 20480 bytes Sledgemapper.Api/db/sledgemapper.db | Bin 40960 -> 40960 bytes Sledgemapper/UI/MainWidget.Generated.cs | 9 ++++++++- Sledgemapper/UI/mainwidget.xml | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Sledgemapper.Api/db/LocalDatabase.db b/Sledgemapper.Api/db/LocalDatabase.db index 22b8623b6d6a4c96d001c3bfc7c6179d7a5b57f0..29abb4332cafe77fabe12c434db60d37a26dd63e 100644 GIT binary patch delta 243 zcmVH$ngi>AEkUk;?SSFy+_KGeof${AHa;ucqJQm42Xqo(Z>lhGh)Fv7r9Hb tTCy delta 30 lcmZozz}T>WaRZA12NPc$1HV3B+-5<6Aim9Ub_)d=nE-wJ2Y&zn diff --git a/Sledgemapper.Api/db/sledgemapper.db b/Sledgemapper.Api/db/sledgemapper.db index 3991092d72fb7e356729169aaf303d3ec6fc53b3..6e140107bce9584788016802be9bacb6d5018fb3 100644 GIT binary patch literal 40960 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 diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs index f7c1c35..59bb4d9 100644 --- a/Sledgemapper/UI/MainWidget.Generated.cs +++ b/Sledgemapper/UI/MainWidget.Generated.cs @@ -1,4 +1,4 @@ -/* Generated by MyraPad at 03/02/2021 21:43:01 */ +/* Generated by MyraPad at 04/02/2021 10:02:37 */ using Myra; using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; @@ -191,6 +191,11 @@ namespace Sledgemapper.UI }); verticalStackPanel1.Widgets.Add(scrollViewer1); + TxtOverlaySearch = new TextBox(); + TxtOverlaySearch.MinHeight = 40; + TxtOverlaySearch.Margin = new Thickness(0, 4); + TxtOverlaySearch.Id = "TxtOverlaySearch"; + GridOverlays = new Grid(); GridOverlays.ColumnSpacing = 8; GridOverlays.RowSpacing = 8; @@ -214,6 +219,7 @@ namespace Sledgemapper.UI { Type = Myra.Graphics2D.UI.ProportionType.Fill, }); + verticalStackPanel2.Widgets.Add(TxtOverlaySearch); verticalStackPanel2.Widgets.Add(scrollViewer2); var verticalSplitPane1 = new VerticalSplitPane(); @@ -307,6 +313,7 @@ namespace Sledgemapper.UI public ImageTextButton BtnToolbarDelete; public HorizontalStackPanel Toolbar; public Grid GridWalls; + public TextBox TxtOverlaySearch; public Grid GridOverlays; public Label lblConnectionStatus; public Label lblUsername; diff --git a/Sledgemapper/UI/mainwidget.xml b/Sledgemapper/UI/mainwidget.xml index 69d34c9..53e84c3 100644 --- a/Sledgemapper/UI/mainwidget.xml +++ b/Sledgemapper/UI/mainwidget.xml @@ -56,6 +56,9 @@ + + + From 808c0538be3005f079383f4d32a2241ae8a5742b Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 4 Feb 2021 11:06:17 +0000 Subject: [PATCH 2/2] searchable overlays, overlay name on hover --- Sledgemapper/Sledgemapper.cs | 110 +++++++++++++++++------- Sledgemapper/UI/MainWidget.Generated.cs | 22 ++--- Sledgemapper/UI/mainwidget.xml.xmmp | 82 ++++++++++++++++++ 3 files changed, 172 insertions(+), 42 deletions(-) create mode 100644 Sledgemapper/UI/mainwidget.xml.xmmp diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 4dfbe2a..eb96d6c 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -12,6 +12,7 @@ using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; using Myra.Graphics2D.UI.File; using Myra.Graphics2D.UI.Properties; +using Myra.Utility; using Newtonsoft.Json; using Sledgemapper.Shared.Entities; using Sledgemapper.UI; @@ -147,14 +148,19 @@ namespace Sledgemapper } } - private void AddItemToToolGrid(Grid grid, EventHandler eventAction, SpriteSheet spriteSheet) + private void AddItemToToolGrid(Grid grid, EventHandler eventAction, SpriteSheet spriteSheet, string e="") { var indexX = 0; var indexY = 0; - foreach (var item in spriteSheet.index) + //foreach (var item in spriteSheet.index) + grid.Widgets.Clear(); + _mainWidget.ScrOverlay.ResetScroll(); + foreach (var item in spriteSheet.index.Where(t=>String.IsNullOrWhiteSpace(e) || t.Key.ToLower().Contains(e.ToLower()))) { var tileButton = new ImageButton { Image = new TextureRegion(spriteSheet.Texture, item.Value), GridColumn = indexY, GridRow = indexX, Id = item.Key, Width = 40, Height = 40 }; tileButton.Click += eventAction; + tileButton.MouseMoved+=OnTileButtonTouchEntered; + tileButton.MouseLeft += OnTileButtonTouchLeft; grid.Widgets.Add(tileButton); indexY++; if (indexY == 4) @@ -165,6 +171,25 @@ namespace Sledgemapper } } + private void OnTileButtonTouchLeft(object sender, EventArgs e) + { + _desktop.HideContextMenu(); + _lblOverlayName.Visible=false; + } + + Label _lblOverlayName; + + private void OnTileButtonTouchEntered(object sender, EventArgs e) + { + var mouseState = Mouse.GetState().Position; +mouseState.X+=10; +mouseState.Y+=10; + _lblOverlayName.Visible=true; + _lblOverlayName.Text=((ImageButton)sender).Id; + _desktop.ShowContextMenu(_lblOverlayName, mouseState); + // _lblOverlayName.true; + } + protected override void LoadContent() { _spriteBatch = new SpriteBatch(GraphicsDevice); @@ -194,10 +219,13 @@ namespace Sledgemapper _mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked; _wallsContent = Content.LoadContentFolder("walls"); - + _spriteSheet = new SpriteSheet(); _spriteSheet.LoadContent(Content); - +_lblOverlayName = new Label(); +_lblOverlayName.Background=new SolidBrush(Color.SlateGray); +_lblOverlayName.Padding=new Myra.Graphics2D.Thickness(4); + AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, _wallsContent); AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, _spriteSheet); @@ -208,6 +236,8 @@ namespace Sledgemapper _mainWidget.BtnToolbarLine.Image = new TextureRegion(Content.Load("icon_line")); _mainWidget.BtnToolbarRoom.Image = new TextureRegion(Content.Load("icon_room")); _mainWidget.BtnToolbarDelete.Image = new TextureRegion(Content.Load("icon_delete")); + _mainWidget.TxtOverlaySearch.TextChangedByUser += OnTxtOverlaySearchChange; + _desktop.Root = _mainWidget; _transparentRedRectangle = new Texture2D(GraphicsDevice, 1, 1); @@ -217,38 +247,54 @@ namespace Sledgemapper _whiteRectangle.SetData(new[] { Color.White }); } - + private void OnTxtOverlaySearchChange(object sender, ValueChangedEventArgs e) + { + // var filteredWidget = _mainWidget.GridOverlays.Widgets.Where(m => m.Id.ToLower().Contains(e.NewValue.ToLower())).ToArray(); + // foreach (var w in _mainWidget.GridOverlays.Widgets) + // { + // w. + // w.Visible = false; + // } + + // foreach (var w in filteredWidget) + // { + // w.Visible = true; + // } + + AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, _spriteSheet, e.NewValue); + + } private void OnBtnToolbarDeleteClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewDelete; - - _mainWidget.ClearSelection(); - ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); + + _mainWidget.ClearSelection(); + ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); ((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); } private void OnBtnToolbarWallClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewWall; - _mainWidget.ClearSelection(); - ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); + _mainWidget.ClearSelection(); + ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); ((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); } private void OnBtnToolbarTileClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewTile; - _mainWidget.ClearSelection(); - ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); + _mainWidget.ClearSelection(); + ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); ((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); } private void OnBtnToolbarRoomClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewRoom; - _mainWidget.ClearSelection(); - ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); + _mainWidget.ClearSelection(); + ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); ((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); } @@ -256,8 +302,8 @@ namespace Sledgemapper private void OnBtnToolbarLinClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewLine; - _mainWidget.ClearSelection(); - ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); + _mainWidget.ClearSelection(); + ((ImageTextButton)sender).Border = new SolidBrush(Color.Red); ((ImageTextButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); } @@ -1025,22 +1071,22 @@ namespace Sledgemapper private bool IsMapElementOffscreen(BaseMapEntity item) { - SnapPoint start,end; + SnapPoint start, end; - switch (item) - { - case Line l: - start=l.Start; - end=l.End; - break; + switch (item) + { + case Line l: + start = l.Start; + end = l.End; + break; - case Room room: - start = room.Start; - end=room.End; - break; - default: - return true; - } + case Room room: + start = room.Start; + end = room.End; + break; + default: + return true; + } var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1; var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1; @@ -1433,11 +1479,11 @@ namespace Sledgemapper } } } - Effect outlineShader; + Effect outlineShader; private Texture2D _transparentRedRectangle; private Texture2D _whiteRectangle; private Dictionary _wallsContent; - + private SpriteSheet _spriteSheet; private void DrawDelete(Room tile) diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs index 59bb4d9..321f7d2 100644 --- a/Sledgemapper/UI/MainWidget.Generated.cs +++ b/Sledgemapper/UI/MainWidget.Generated.cs @@ -1,4 +1,4 @@ -/* Generated by MyraPad at 04/02/2021 10:02:37 */ +/* Generated by MyraPad at 04/02/2021 10:36:48 */ using Myra; using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; @@ -191,11 +191,6 @@ namespace Sledgemapper.UI }); verticalStackPanel1.Widgets.Add(scrollViewer1); - TxtOverlaySearch = new TextBox(); - TxtOverlaySearch.MinHeight = 40; - TxtOverlaySearch.Margin = new Thickness(0, 4); - TxtOverlaySearch.Id = "TxtOverlaySearch"; - GridOverlays = new Grid(); GridOverlays.ColumnSpacing = 8; GridOverlays.RowSpacing = 8; @@ -211,16 +206,22 @@ namespace Sledgemapper.UI }; GridOverlays.Id = "GridOverlays"; - var scrollViewer2 = new ScrollViewer(); - scrollViewer2.Content = GridOverlays; + ScrOverlay = new ScrollViewer(); + ScrOverlay.Id = "ScrOverlay"; + ScrOverlay.Content = GridOverlays; + + TxtOverlaySearch = new TextBox(); + TxtOverlaySearch.Height = 40; + TxtOverlaySearch.Margin = new Thickness(0, 4); + TxtOverlaySearch.Id = "TxtOverlaySearch"; var verticalStackPanel2 = new VerticalStackPanel(); verticalStackPanel2.Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Fill, }); + verticalStackPanel2.Widgets.Add(ScrOverlay); verticalStackPanel2.Widgets.Add(TxtOverlaySearch); - verticalStackPanel2.Widgets.Add(scrollViewer2); var verticalSplitPane1 = new VerticalSplitPane(); verticalSplitPane1.Width = 200; @@ -313,8 +314,9 @@ namespace Sledgemapper.UI public ImageTextButton BtnToolbarDelete; public HorizontalStackPanel Toolbar; public Grid GridWalls; - public TextBox TxtOverlaySearch; public Grid GridOverlays; + public ScrollViewer ScrOverlay; + public TextBox TxtOverlaySearch; public Label lblConnectionStatus; public Label lblUsername; public Label lblSessionName; diff --git a/Sledgemapper/UI/mainwidget.xml.xmmp b/Sledgemapper/UI/mainwidget.xml.xmmp new file mode 100644 index 0000000..aca05ef --- /dev/null +++ b/Sledgemapper/UI/mainwidget.xml.xmmp @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file