78 lines
2.3 KiB
C#
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
|
|
//-------------------------------------------------------------------
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|