Files
Common-VS2019/SacsMobileXamarin/Xamarin/Forms/Panels/SaxPanel_Messages.cs
T

77 lines
2.3 KiB
C#

using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Mobile.Xamarin.Forms.Controls;
using Sarand.Net.Mobile.Xamarin.Forms.Layouts;
using System;
using System.Collections.Generic;
using System.Text;
using Xamarin.Forms;
namespace Sarand.Net.Mobile.Xamarin.Forms.Panels
{
//=======================================================================
public class SaxPanel_Messages : SaxPanel
{
//-------------------------------------------------------------------
// Definitions.
public class Config
{
}
//-------------------------------------------------------------------
// Data members.
private Config config;
private readonly List<SacsMessage> messages = new List<SacsMessage>();
// Components.
private SaxStackLayout mainLayout = new SaxStackLayout() { Orientation = StackOrientation.Vertical };
//-------------------------------------------------------------------
// Construction.
public SaxPanel_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)
{
SaxPanel messagePanel = new SaxPanel();
messagePanel.Content = new SaxLabel() { Text = message.Message };
mainLayout.Children.Add(messagePanel);
}
}
//-------------------------------------------------------------------
// P a n e l E v e n t s
//-------------------------------------------------------------------
//-------------------------------------------------------------------
}
//=======================================================================
}