Files
Common-VS2019/SacsMobileMaui/Maui/Panels/SamPanel_Messages.cs
T

78 lines
2.3 KiB
C#

using Sarand.Net.Mobile.Maui.Controls;
using Sarand.Net.Mobile.Maui.Layouts;
using Sarand.Net.Standard.Base.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.Net.Mobile.Maui.Panels
{
//=======================================================================
public class SamPanel_Messages : SamPanel
{
//-------------------------------------------------------------------
// Definitions.
public class Config
{
}
//-------------------------------------------------------------------
// Data members.
private Config config;
private readonly List<SacsMessage> messages = new List<SacsMessage>();
// Components.
private SamStackLayout mainLayout = new SamStackLayout() { Orientation = StackOrientation.Vertical };
//-------------------------------------------------------------------
// Construction.
public SamPanel_Messages(Config config)
{
this.config = config;
Content = mainLayout;
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// M e s s a g e s
//-------------------------------------------------------------------
public void ClearMessages()
{
messages.Clear();
RefreshLayout();
}
public void AddMessage(SacsMessage message)
{
messages.Add(message);
RefreshLayout();
}
//-------------------------------------------------------------------
// R e f r e s h L a y o u t
//-------------------------------------------------------------------
private void RefreshLayout()
{
// Reset layout.
IsVisible = messages.Count > 0;
mainLayout.Children.Clear();
foreach (SacsMessage message in messages)
{
SamPanel messagePanel = new SamPanel();
messagePanel.Content = new SamLabel() { Text = message.Message };
mainLayout.Children.Add(messagePanel);
}
}
//-------------------------------------------------------------------
// P a n e l E v e n t s
//-------------------------------------------------------------------
//-------------------------------------------------------------------
}
//=======================================================================
}