コード例 #1
0
        public static NsRibbon UtworzRibbonBar(List <Action> akcje)
        {
            //generuje ribbona
            //sprawdzam czy jest menu ribbon
            var akcjeRibbon = akcje.Where(o => o.Position == EnumActionPosition.Ribbon);

            if (akcjeRibbon.Any())
            {
                //mamy menu ribon
                var ribonBar = new NsRibbon();

                foreach (var opisAkcji in akcjeRibbon)
                {
                    var tab = ribonBar.Tabs.FirstOrDefault(r => r.Value == opisAkcji.Tab);

                    if (tab == null)
                    {
                        tab = new RibbonBarTab()
                        {
                            Value = opisAkcji.Tab,
                            Text  = WidgetBase.GetReadableName(opisAkcji.Tab)
                        };

                        ribonBar.Tabs.Add(tab);
                    }

                    var grupa = tab.Groups.FirstOrDefault(g => g.Value == opisAkcji.Group);
                    if (grupa == null)
                    {
                        grupa = new RibbonBarGroup()
                        {
                            Value = opisAkcji.Group,
                            Text  = WidgetBase.GetReadableName(opisAkcji.Group)
                        };
                    }

                    tab.Groups.Add(grupa);
                    var ribonButton = utworzRibbonAkcja(opisAkcji);
                    grupa.Items.Add(ribonButton);
                }



                return(ribonBar);
            }

            return(null);
        }