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 messages = new List(); // 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 //------------------------------------------------------------------- //------------------------------------------------------------------- } //======================================================================= }