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