Example #1
0
 private void CreateTabButtons(IEnumerable <TabPage> tabPages)
 {
     TabButtons.Children.Clear();
     _buttonPageLinks.Clear();
     foreach (TabPage curPage in tabPages)
     {
         TabButton tabButton = new TabButton();
         tabButton.ButtonBorderColour = ButtonBorderColour;
         tabButton.Text        = curPage.TabTitle;
         tabButton.ButtonGroup = _id;
         tabButton.Pressed    += TabButton_Pressed;
         _buttonPageLinks.Add(tabButton, curPage);
         TabButtons.Children.Add(tabButton);
     }
 }
Example #2
0
        private static void ButtonGroupChanged(BindableObject bindable, object oldValue, object newValue)
        {
            TabButton tabButton = (TabButton)bindable;
            String    oldGroup  = (String)oldValue;
            String    newGroup  = (String)newValue;

            if (!String.IsNullOrEmpty(oldGroup))
            {
                RemoveFromGroup(tabButton, oldGroup);
            }
            if (!String.IsNullOrEmpty(newGroup))
            {
                AddToGroup(tabButton, newGroup);
            }
        }
Example #3
0
        private static void AddToGroup(TabButton button, String group)
        {
            DLoggerManager.Instance.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Adding tab button '{0}' to group '{1}'.", button.Text, group);
            List <TabButton> groupButtons = null;

            if (_buttonGroups.ContainsKey(group))
            {
                groupButtons = _buttonGroups[group];
            }
            else
            {
                groupButtons = new List <TabButton>();
                _buttonGroups.Add(group, groupButtons);
            }
            groupButtons.Add(button);
        }
Example #4
0
        private static void UnpressAllInGroupExcept(String group, TabButton except)
        {
            DLoggerManager.Instance.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Unpressing all tab buttons in group '{0}', except '{1}'.", group, except.Text);
            List <TabButton> groupButtons = null;

            if (_buttonGroups.ContainsKey(group))
            {
                groupButtons = _buttonGroups[group];

                foreach (TabButton curButton in groupButtons)
                {
                    if (curButton != except)
                    {
                        curButton._isUpdating = true;
                        curButton.IsPressed   = false;
                        curButton._isUpdating = false;
                    }
                }
            }
        }
Example #5
0
        private static void IsPressedChanged(BindableObject bindable, object oldValue, object newValue)
        {
            TabButton tabButton = (TabButton)bindable;
            Boolean   isPressed = (Boolean)newValue;

            tabButton.ButtonBorder.BorderThickness = isPressed ? "0,0,0,8" : "0";
            tabButton.ButtonLabel.FontAttributes   = isPressed ? tabButton.ButtonLabel.FontAttributes | FontAttributes.Bold : tabButton.ButtonLabel.FontAttributes & ~FontAttributes.Bold;
            if (!tabButton._isUpdating && !String.IsNullOrEmpty(tabButton.ButtonGroup))
            {
                UnpressAllInGroupExcept(tabButton.ButtonGroup, tabButton);
            }
            if (isPressed)
            {
                tabButton.Pressed?.Invoke(tabButton, EventArgs.Empty);
            }
            else
            {
                tabButton.Unpressed?.Invoke(tabButton, EventArgs.Empty);
            }
        }