Example #1
0
        protected void DockOuter([NotNull] PanelContext context, [NotNull] Control userControl, Dock dockPosition)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(userControl, nameof(userControl));

            var i = context.Skin as ISupportsPanels;

            if (i != null)
            {
                i.DockOuter(userControl, dockPosition);
            }
        }
Example #2
0
        protected void AddTab([NotNull] PanelContext context, [NotNull] string tabHeader, double priority, [NotNull] Control userControl)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(tabHeader, nameof(tabHeader));
            Debug.ArgumentNotNull(userControl, nameof(userControl));

            var i = context.Skin as ISupportsPanels;

            if (i != null)
            {
                i.DockFill(tabHeader, priority, userControl);
            }
        }
Example #3
0
        public void RenderPanels([NotNull] ISkin skin, [NotNull] ContentModel contentModel, [NotNull] IEnumerable <IPanel> panels)
        {
            Assert.ArgumentNotNull(skin, nameof(skin));
            Assert.ArgumentNotNull(contentModel, nameof(contentModel));
            Assert.ArgumentNotNull(panels, nameof(panels));

            var customizationContext = new PanelContext(skin, contentModel);

            tabs.Clear();
            Tabs.Items.Clear();

            var contentTab = new TabItemInfo
            {
                Header      = Resources.DefaultSkin_InitializeCustomizations_Content,
                UserControl = InnerDock,
                Priority    = 1000
            };

            tabs.Add(contentTab);

            foreach (var panel in panels.Reverse())
            {
                panel.Render(customizationContext);
            }

            if (tabs.Count == 1)
            {
                Tabs.Visibility = Visibility.Collapsed;
                return;
            }

            tabs.Sort((tab0, tab1) => tab0.Priority.CompareTo(tab1.Priority));

            foreach (var tabItemInfo in tabs)
            {
                var tabItem = new TabItem
                {
                    Header     = tabItemInfo.Header,
                    Tag        = tabItemInfo,
                    IsSelected = tabItemInfo.Priority == 1000
                };

                tabItemInfo.UserControl.Visibility = tabItem.IsSelected ? Visibility.Visible : Visibility.Collapsed;

                Tabs.Items.Add(tabItem);
            }
        }
Example #4
0
 public abstract void Render(PanelContext context);
Example #5
0
 public abstract bool CanRender(PanelContext context);