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