123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using InABox.Core;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- using static Android.Content.ClipData;
- namespace comal.timesheets
- {
- public delegate void DigitalFormsHeaderTapped(bool Collapsed);
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class DigitalFormsHeader : ContentView
- {
- public event DigitalFormsHeaderTapped OnTapped;
- public bool bCollapsed { get; set; }
- public int Number { get; set; }
- public DigitalFormsHeader (bool collapsed = false)
- {
- InitializeComponent ();
- bCollapsed = collapsed;
- Number = 0;
- }
- public void SetHeaderValue(string value)
- {
- headerBtn.Text = value;
- }
- private void HeaderBtn_Tapped(object sender, EventArgs e)
- {
- OnTapped?.Invoke(bCollapsed);
- AdjustHeaderArrow();
- }
- private void AdjustHeaderArrow()
- {
- if (bCollapsed)
- {
- bCollapsed = false;
- Expand();
- }
- else
- {
- bCollapsed = true;
- Collapse();
- }
- }
- private void Expand()
- {
- collapseColumn.Width = 40;
- collapseImage.IsVisible = true;
- expandColumn.Width = 0;
- expandImage.IsVisible = false;
- }
- public void Collapse()
- {
- collapseColumn.Width = 0;
- collapseImage.IsVisible = false;
- expandColumn.Width = 40;
- expandImage.IsVisible = true;
- }
- public void SetHeaderStyle(DFLayoutHeader label)
- {
- headerBtn.FontAttributes = label.Style.IsBold ? FontAttributes.Bold
- : label.Style.IsItalic ? FontAttributes.Italic
- : FontAttributes.None;
- headerBtn.FontSize = label.Style.FontSize > 5 && label.Style.FontSize < 37 ? label.Style.FontSize
- : Device.GetNamedSize(NamedSize.Medium, headerBtn);
- headerBtn.TextColor = label.Style.ForegroundColour;
- headerBtn.BackgroundColor = label.Style.BackgroundColour;
- headerBtn.HorizontalOptions = label.Style.HorizontalTextAlignment == DFLayoutAlignment.Start ? LayoutOptions.Start
- : label.Style.HorizontalTextAlignment == DFLayoutAlignment.Middle ? LayoutOptions.Center
- : label.Style.HorizontalTextAlignment == DFLayoutAlignment.End ? LayoutOptions.End
- : label.Style.HorizontalTextAlignment == DFLayoutAlignment.Stretch ? LayoutOptions.FillAndExpand
- : LayoutOptions.StartAndExpand;
- headerBtn.VerticalOptions = label.Style.VerticalTextAlignment == DFLayoutAlignment.Start ? LayoutOptions.Start
- : label.Style.VerticalTextAlignment == DFLayoutAlignment.Middle ? LayoutOptions.Center
- : label.Style.VerticalTextAlignment == DFLayoutAlignment.End ? LayoutOptions.End
- : label.Style.VerticalTextAlignment == DFLayoutAlignment.Stretch ? LayoutOptions.FillAndExpand
- : LayoutOptions.Center;
- }
- }
- }
|