public void CreateUI()
        {
            RibbonControl rc         = Autodesk.Windows.ComponentManager.Ribbon;
            RibbonTab     primaryTab = rc.FindTab(Jpp.Ironstone.Core.Constants.IRONSTONE_TAB_ID);

            RibbonPanel       Panel  = new RibbonPanel();
            RibbonPanelSource source = new RibbonPanelSource();

            source.Title = Properties.Resources.ExtensionApplication_UI_PanelTitle;

            RibbonRowPanel column1 = new RibbonRowPanel();

            column1.IsTopJustified = true;
            column1.Items.Add(UIHelper.CreateWindowToggle(Properties.Resources.ExtensionApplication_UI_SoilMenuButton, Properties.Resources.Earth_Small, RibbonItemSize.Standard, new SoilPropertiesView(), "4c7eae1d-ce9f-4a7a-a397-584aced7983c"));
            column1.Items.Add(new RibbonRowBreak());

            RibbonSplitButton rsb = new RibbonSplitButton();

            rsb.ShowText = true;
            rsb.Items.Add(UIHelper.CreateButton("Add Tree", Properties.Resources.Tree_Small, RibbonItemSize.Standard, "S_TreeRings_New"));
            rsb.Items.Add(UIHelper.CreateButton("Copy Tree", Properties.Resources.Tree_Small, RibbonItemSize.Standard, "S_TreeRings_Copy"));
            rsb.Items.Add(UIHelper.CreateButton("Add Hedge Row", Properties.Resources.Tree_Small, RibbonItemSize.Standard, "S_Hedgerow_New"));
            column1.Items.Add(rsb);

            //Build the UI hierarchy
            source.Items.Add(column1);

            Panel.Source = source;

            primaryTab.Panels.Add(Panel);
        }
Ejemplo n.º 2
0
        private void addPanel2(RibbonTab ribTab)
        {
            //create the panel source
            RibbonPanelSource ribPanelSource = new RibbonPanelSource();

            ribPanelSource.Title = "Edit Registry";
            //create button1
            RibbonButton         button = new RibbonButton();
            Stream               stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(@"DotNetAutoCAD.Command.Resource.button_green.png");
            ImageSourceConverter imageSourceConverter = new ImageSourceConverter();

            //ribButtonDrawCircle.Image
            button.LargeImage  = (ImageSource)imageSourceConverter.ConvertFrom(stream);
            button.Text        = "Draw Circle";
            button.Orientation = Orientation.Vertical;
            button.Size        = RibbonItemSize.Large;
            button.ShowText    = true;
            button.ShowImage   = true;
            //pay attention to the SPACE after the command name
            button.CommandParameter = "DrawCircle";
            button.CommandHandler   = new MyCommandHandler();

            ribPanelSource.Items.Add(button);

            //create the panel
            RibbonPanel ribPanel = new RibbonPanel();

            ribPanel.Source = ribPanelSource;
            ribTab.Panels.Add(ribPanel);
        }
Ejemplo n.º 3
0
        private static void AddSettingsPanel(RibbonTab ribTab)
        {
            // create the panel source
            var ribSourcePanel = new RibbonPanelSource
            {
                Title = "Настройки"
            };
            // now the panel
            var ribPanel = new RibbonPanel
            {
                Source = ribSourcePanel
            };

            ribTab.Panels.Add(ribPanel);

            var ribRowPanel = new RibbonRowPanel();

            ribRowPanel.Items.Add(
                RibbonHelpers.AddBigButton(
                    "mpSettings",
                    "Настройки",
                    "pack://application:,,,/Modplus_" + MpVersionData.CurCadVers + ";component/Resources/HelpBt.png",
                    "Настройки ModPlus", Orientation.Vertical, "", ""
                    ));
            ribSourcePanel.Items.Add(ribRowPanel);
        }
        /// <summary>
        /// Creates the ribbon button for this application
        /// </summary>
        private void CreateRibbon()
        {
            RibbonControl ribCntrl =
                RibbonServices.RibbonPaletteSet.RibbonControl;

            //can also be Autodesk.Windows.ComponentManager.Ribbon;

            foreach (RibbonTab ribTab in ribCntrl.Tabs)
            {
                if (ribTab.Title == "Add-Ins")
                {
                    Autodesk.Windows.RibbonPanelSource ribSourcePanel = null;
                    foreach (RibbonPanel ribPnl in ribTab.Panels)
                    {
                        if (ribPnl.Source.Title == "PIOTM")
                        {
                            ribSourcePanel = ribPnl.Source;
                        }
                    }
                    if (ribSourcePanel == null)
                    {
                        //create the panel source
                        ribSourcePanel       = new RibbonPanelSource();
                        ribSourcePanel.Title = "PIOTM";
                        //now the panel
                        RibbonPanel ribPanel = new RibbonPanel();
                        ribPanel.Source = ribSourcePanel;
                        ribTab.Panels.Add(ribPanel);
                    }
                    AddCmdToRibbonPanel(ribSourcePanel);
                    return;
                }
            }
        }
Ejemplo n.º 5
0
        private static void AddPanels(RibbonTab ribTab)
        {
            // Линии
            // create the panel source
            var ribSourcePanel = new RibbonPanelSource {
                Title = "Линии"
            };
            // now the panel
            var ribPanel = new RibbonPanel {
                Source = ribSourcePanel
            };

            ribTab.Panels.Add(ribPanel);

            var ribRowPanel = new RibbonRowPanel();

            // mpBreakLine
            if (LoadFunctionsHelper.LoadedFunctions.Any(x => x.Name.Equals("mpBreakLine")))
            {
                var lf = LoadFunctionsHelper.LoadedFunctions.First(x => x.Name.Equals("mpBreakLine"));
                // Создаем SplitButton
                var risSplitBtn = new RibbonSplitButton
                {
                    Text            = "RibbonSplitButton",
                    Orientation     = Orientation.Vertical,
                    Size            = RibbonItemSize.Large,
                    ShowImage       = true,
                    ShowText        = true,
                    ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                    ResizeStyle     = RibbonItemResizeStyles.NoResize,
                    ListStyle       = RibbonSplitButtonListStyle.List
                };
                // Добавляем в него первую функцию, которую делаем основной
                var ribBtn = RibbonHelpers.AddBigButton(lf.Name, lf.LName, lf.BigIconUrl, lf.Description, Orientation.Vertical, lf.FullDescription, lf.ToolTipHelpImage);
                risSplitBtn.Items.Add(ribBtn);
                risSplitBtn.Current = ribBtn;
                // Затем добавляем подфункции
                for (int i = 0; i < lf.SubFunctionsNames.Count; i++)
                {
                    risSplitBtn.Items.Add(RibbonHelpers.AddBigButton(
                                              lf.SubFunctionsNames[i], lf.SubFunctionsLNames[i], lf.SubBigIconsUrl[i], lf.SubDescriptions[i], Orientation.Vertical, lf.SubFullDescriptions[i], lf.SubHelpImages[i]
                                              ));
                }
                ribRowPanel.Items.Add(risSplitBtn);
            }
            if (ribRowPanel.Items.Any())
            {
                ribSourcePanel.Items.Add(ribRowPanel);
            }
        }
Ejemplo n.º 6
0
        private static RibbonPanel CreatePanel(RibbonTab sourceTab, string panelTitle)
        {
            //create the panel source
            RibbonPanelSource ribPanelSource = new RibbonPanelSource();

            ribPanelSource.Title = panelTitle;

            //create the panel
            RibbonPanel ribPanel = new RibbonPanel();

            ribPanel.Source = ribPanelSource;
            sourceTab.Panels.Add(ribPanel);
            return(ribPanel);
        }
Ejemplo n.º 7
0
        public void CreateCivil3DRibbon()
        {
            Autodesk.Windows.RibbonTab rbnTab = new Autodesk.Windows.RibbonTab();
            rbnTab.Title = "Beca";
            rbnTab.Id    = "Civil3d";

            Autodesk.Windows.RibbonPanelSource panlSourceAus = new Autodesk.Windows.RibbonPanelSource();
            panlSourceAus.Title = "Australia";

            Autodesk.Windows.RibbonButton rbnSignAus = new Autodesk.Windows.RibbonButton();
            //rbnSignAus.Text = "Signs";
            rbnSignAus.ShowText         = true;
            rbnSignAus.ShowImage        = true;
            rbnSignAus.Image            = Images.getBitmap(Properties.Resources.Signs);
            rbnSignAus.LargeImage       = Images.getBitmap(Properties.Resources.Signs);
            rbnSignAus.Size             = RibbonItemSize.Large;
            rbnSignAus.CommandHandler   = new AusSignCommandHandler();
            rbnSignAus.CommandParameter = "AusSign";
            rbnSignAus.Orientation      = System.Windows.Controls.Orientation.Horizontal;
            rbnSignAus.Width            = 500;
            panlSourceAus.Items.Add(rbnSignAus);

            Autodesk.Windows.RibbonRowBreak rowBreak = new RibbonRowBreak();
            panlSourceAus.Items.Add(rowBreak);

            Autodesk.Windows.RibbonButton rbnRoadSignAus = new Autodesk.Windows.RibbonButton();
            //rbnRoadSignAus.Text = "Road Markings";
            rbnRoadSignAus.ShowText         = true;
            rbnRoadSignAus.ShowImage        = true;
            rbnRoadSignAus.Image            = Images.getBitmap(Properties.Resources.Road_Markings);
            rbnRoadSignAus.LargeImage       = Images.getBitmap(Properties.Resources.Road_Markings);
            rbnRoadSignAus.Size             = RibbonItemSize.Large;
            rbnRoadSignAus.CommandParameter = "AusRoadSign";
            rbnRoadSignAus.CommandHandler   = new AusSignCommandHandler();
            rbnRoadSignAus.Orientation      = System.Windows.Controls.Orientation.Horizontal;
            rbnRoadSignAus.Width            = 500;
            panlSourceAus.Items.Add(rbnRoadSignAus);

            Autodesk.Windows.RibbonPanel rbnPanelAus = new RibbonPanel();
            rbnPanelAus.Source = panlSourceAus;
            rbnTab.Panels.Add(rbnPanelAus);

            Autodesk.Windows.RibbonPanelSource panlSourceNZ = new Autodesk.Windows.RibbonPanelSource();
            panlSourceNZ.Title = "Newzeland";

            Autodesk.Windows.RibbonButton rbnSignNZ = new Autodesk.Windows.RibbonButton();
            //rbnSignNZ.Text = "Signs";
            rbnSignNZ.ShowText         = true;
            rbnSignNZ.ShowImage        = true;
            rbnSignNZ.Image            = Images.getBitmap(Properties.Resources.Signs);
            rbnSignNZ.LargeImage       = Images.getBitmap(Properties.Resources.Signs);
            rbnSignNZ.Size             = RibbonItemSize.Large;
            rbnSignNZ.CommandParameter = "NZSign";
            rbnSignNZ.CommandHandler   = new AusSignCommandHandler();
            rbnSignNZ.Orientation      = System.Windows.Controls.Orientation.Horizontal;
            rbnSignNZ.Width            = 500;
            panlSourceNZ.Items.Add(rbnSignNZ);

            Autodesk.Windows.RibbonRowBreak rowBreakNZ = new RibbonRowBreak();
            panlSourceNZ.Items.Add(rowBreakNZ);

            Autodesk.Windows.RibbonButton rbnRoadSignNZ = new Autodesk.Windows.RibbonButton();
            //rbnRoadSignNZ.Text = "Road Markings";
            rbnRoadSignNZ.ShowText         = true;
            rbnRoadSignNZ.ShowImage        = true;
            rbnRoadSignNZ.Image            = Images.getBitmap(Properties.Resources.Road_Markings);
            rbnRoadSignNZ.LargeImage       = Images.getBitmap(Properties.Resources.Road_Markings);
            rbnRoadSignNZ.Size             = RibbonItemSize.Large;
            rbnRoadSignNZ.CommandParameter = "NZRoadSign";
            rbnRoadSignNZ.CommandHandler   = new AusSignCommandHandler();
            rbnRoadSignNZ.Orientation      = System.Windows.Controls.Orientation.Horizontal;
            rbnRoadSignNZ.Width            = 500;
            panlSourceNZ.Items.Add(rbnRoadSignNZ);

            Autodesk.Windows.RibbonPanel rbnPanelNZ = new RibbonPanel();
            rbnPanelNZ.Source = panlSourceNZ;

            rbnTab.Panels.Add(rbnPanelNZ);

            rbnTab.IsActive = true;

            Autodesk.Windows.ComponentManager.Ribbon.Tabs.Add(rbnTab);
        }
        private static void AddHelpPanel(RibbonTab ribTab)
        {
            var ribSourcePanel = new RibbonPanelSource
            {
                Title = "ModPlus"
            };

            var ribPanel = new RibbonPanel
            {
                Source = ribSourcePanel
            };

            ribTab.Panels.Add(ribPanel);

            var ribRowPanel = new RibbonRowPanel();

            ribRowPanel.Items.Add(
                RibbonHelpers.AddBigButton(
                    "mpUserInfo",
                    Language.GetItem(LangItem, "h56"),
                    _colorTheme == 1
                        ? $"pack://application:,,,/Modplus_{VersionData.CurrentCadVersion};component/Resources/UserInfo_32x32.png"
                        : $"pack://application:,,,/Modplus_{VersionData.CurrentCadVersion};component/Resources/UserInfo_32x32_dark.png",
                    Language.GetItem(LangItem, "h56"),
                    Orientation.Vertical,
                    string.Empty,
                    string.Empty,
                    "help/userinfo"));

            ribSourcePanel.Items.Add(ribRowPanel);

            ribRowPanel = new RibbonRowPanel();

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpSettings",
                    Language.GetItem(LangItem, "h12"),
                    GetSmallIcon("mpSettings"),
                    Language.GetItem(LangItem, "h41"),
                    Language.GetItem(LangItem, "h42"),
                    string.Empty,
                    "help/mpsettings"));

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpFeedback",
                    Language.GetItem("ModPlusAPI", "f1"),
                    GetSmallIcon("mpFeedback"),
                    Language.GetItem("ModPlusAPI", "f20"),
                    Language.GetItem("ModPlusAPI", "f21"),
                    string.Empty,
                    "help/feedback"));

            ribRowPanel.Items.Add(new RibbonRowBreak());

            if (LoadPluginsHelper.HasStampsPlugin(_colorTheme, out var fieldsIcon, out var signaturesIcon))
            {
                ribRowPanel.Items.Add(
                    RibbonHelpers.AddSmallButton(
                        "mpStampFields",
                        Language.GetItem(LangItem, "h43"),
                        fieldsIcon,
                        Language.GetItem(LangItem, "h44"),
                        Language.GetItem(LangItem, "h45"),
                        string.Empty,
                        "autocadplugins/mpstamps"));

                ribRowPanel.Items.Add(
                    RibbonHelpers.AddSmallButton(
                        "mpSignatures",
                        Language.GetItem(LangItem, "h60"),
                        signaturesIcon,
                        Language.GetItem(LangItem, "h61"),
                        Language.GetItem(LangItem, "h62"),
                        string.Empty,
                        "autocadplugins/mpstamps"));

                ribRowPanel.Items.Add(new RibbonRowBreak());
            }

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpShowProductIcons",
                    Language.GetItem(LangItem, "h46"),
                    GetSmallIcon("mpShowProductIcons"),
                    Language.GetItem(LangItem, "h37"),
                    Language.GetItem(LangItem, "h38"),
                    $"pack://application:,,,/Modplus_{VersionData.CurrentCadVersion};component/Resources/mpShowProductIcon.png",
                    "help/mpsettings"));

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpHideProductIcons",
                    Language.GetItem(LangItem, "h47"),
                    GetSmallIcon("mpHideProductIcons"),
                    Language.GetItem(LangItem, "h39"),
                    string.Empty,
                    string.Empty,
                    "help/mpsettings"));

            ribSourcePanel.Items.Add(ribRowPanel);
        }
        private static void AddPanels(RibbonTab ribTab)
        {
            try
            {
                var confCuiXel = ModPlusAPI.RegistryData.Adaptation.GetCuiAsXElement("AutoCAD");

                // Проходим по группам
                if (confCuiXel != null)
                {
                    foreach (var group in confCuiXel.Elements("Group"))
                    {
                        if (group.Attribute("GroupName") == null)
                        {
                            continue;
                        }

                        // create the panel source
                        var ribSourcePanel = new RibbonPanelSource
                        {
                            Title = Language.TryGetCuiLocalGroupName(group.Attribute("GroupName")?.Value)
                        };

                        // now the panel
                        var ribPanel = new RibbonPanel
                        {
                            Source = ribSourcePanel
                        };
                        ribTab.Panels.Add(ribPanel);
                        var ribRowPanel = new RibbonRowPanel();

                        // Вводим спец.счетчик, который потребуется для разбивки по строкам
                        var nr           = 0;
                        var hasFunctions = false;

                        // Если последняя функция в группе была 32х32
                        var lastWasBig = false;

                        // Проходим по функциям группы
                        foreach (var func in group.Elements("Function"))
                        {
                            var fNameAttr = func.Attribute("Name")?.Value;
                            if (string.IsNullOrEmpty(fNameAttr))
                            {
                                continue;
                            }
                            if (LoadPluginsHelper.LoadedFunctions.Any(x => x.Name.Equals(fNameAttr)))
                            {
                                var loadedFunction = LoadPluginsHelper.LoadedFunctions.FirstOrDefault(x => x.Name.Equals(fNameAttr));
                                if (loadedFunction == null)
                                {
                                    continue;
                                }
                                hasFunctions = true;
                                if (nr == 0)
                                {
                                    ribRowPanel = new RibbonRowPanel();
                                }

                                // В зависимости от размера
                                var btnSizeAttr = func.Attribute("WH")?.Value;
                                if (string.IsNullOrEmpty(btnSizeAttr))
                                {
                                    continue;
                                }
                                #region 16
                                if (btnSizeAttr.Equals("16"))
                                {
                                    lastWasBig = false;

                                    // Если функция имеет "подфункции", то делаем SplitButton
                                    if (func.Elements("SubFunction").Any())
                                    {
                                        // Создаем SplitButton
                                        var risSplitBtn = new RibbonSplitButton
                                        {
                                            Text            = "RibbonSplitButton",
                                            Orientation     = Orientation.Horizontal,
                                            Size            = RibbonItemSize.Standard,
                                            ShowImage       = true,
                                            ShowText        = false,
                                            ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                                            ResizeStyle     = RibbonItemResizeStyles.NoResize,
                                            ListStyle       = RibbonSplitButtonListStyle.List
                                        };

                                        // Добавляем в него первую функцию, которую делаем основной
                                        var ribBtn = RibbonHelpers.AddButton(
                                            loadedFunction.Name,
                                            Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                            GetSmallIcon(loadedFunction),
                                            GetBigIcon(loadedFunction),
                                            Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                            Orientation.Horizontal,
                                            Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                            loadedFunction.ToolTipHelpImage);

                                        risSplitBtn.Items.Add(ribBtn);
                                        risSplitBtn.Current = ribBtn;

                                        // Затем добавляем подфункции
                                        foreach (var subFunc in func.Elements("SubFunction"))
                                        {
                                            if (LoadPluginsHelper.LoadedFunctions.Any(x => x.Name.Equals(subFunc.Attribute("Name")?.Value)))
                                            {
                                                var loadedSubFunction = LoadPluginsHelper.LoadedFunctions
                                                                        .FirstOrDefault(x => x.Name.Equals(subFunc.Attribute("Name")?.Value));
                                                if (loadedSubFunction == null)
                                                {
                                                    continue;
                                                }
                                                risSplitBtn.Items.Add(RibbonHelpers.AddButton(
                                                                          loadedSubFunction.Name,
                                                                          Language.GetFunctionLocalName(loadedSubFunction.Name, loadedSubFunction.LName),
                                                                          GetSmallIcon(loadedSubFunction),
                                                                          GetBigIcon(loadedSubFunction),
                                                                          Language.GetFunctionShortDescription(loadedSubFunction.Name, loadedSubFunction.Description),
                                                                          Orientation.Horizontal,
                                                                          Language.GetFunctionFullDescription(loadedSubFunction.Name, loadedSubFunction.FullDescription),
                                                                          loadedSubFunction.ToolTipHelpImage));
                                            }
                                        }

                                        ribRowPanel.Items.Add(risSplitBtn);
                                    }

                                    // Если в конфигурации меню не прописано наличие подфункций, то проверяем, что они могут быть в самой функции
                                    else if (loadedFunction.SubPluginsNames.Any())
                                    {
                                        // Создаем SplitButton
                                        var risSplitBtn = new RibbonSplitButton
                                        {
                                            Text            = "RibbonSplitButton",
                                            Orientation     = Orientation.Horizontal,
                                            Size            = RibbonItemSize.Standard,
                                            ShowImage       = true,
                                            ShowText        = false,
                                            ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                                            ResizeStyle     = RibbonItemResizeStyles.NoResize,
                                            ListStyle       = RibbonSplitButtonListStyle.List
                                        };

                                        // Добавляем в него первую функцию, которую делаем основной
                                        var ribBtn = RibbonHelpers.AddButton(
                                            loadedFunction.Name,
                                            Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                            GetSmallIcon(loadedFunction),
                                            GetBigIcon(loadedFunction),
                                            Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                            Orientation.Horizontal,
                                            Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                            loadedFunction.ToolTipHelpImage);
                                        risSplitBtn.Items.Add(ribBtn);
                                        risSplitBtn.Current = ribBtn;

                                        // Затем добавляем подфункции
                                        for (int i = 0; i < loadedFunction.SubPluginsNames.Count; i++)
                                        {
                                            risSplitBtn.Items.Add(RibbonHelpers.AddButton(
                                                                      loadedFunction.SubPluginsNames[i],
                                                                      Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.SubPluginsLNames[i], i + 1),
                                                                      GetSmallIconForSubFunction(loadedFunction, i),
                                                                      GetBigIconForSubFunction(loadedFunction, i),
                                                                      Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.SubDescriptions[i], i + 1),
                                                                      Orientation.Horizontal,
                                                                      Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.SubFullDescriptions[i], i + 1),
                                                                      loadedFunction.SubHelpImages[i]));
                                        }

                                        ribRowPanel.Items.Add(risSplitBtn);
                                    }

                                    // Иначе просто добавляем маленькую кнопку
                                    else
                                    {
                                        ribRowPanel.Items.Add(RibbonHelpers.AddSmallButton(
                                                                  loadedFunction.Name,
                                                                  Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                                                  GetSmallIcon(loadedFunction),
                                                                  Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                                                  Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                                                  loadedFunction.ToolTipHelpImage));
                                    }

                                    nr++;
                                    if (nr == 3 | nr == 6)
                                    {
                                        ribRowPanel.Items.Add(new RibbonRowBreak());
                                    }
                                    if (nr == 9)
                                    {
                                        ribSourcePanel.Items.Add(ribRowPanel);
                                        nr = 0;
                                    }
                                }
                                #endregion

                                // Если кнопка большая, то добавляем ее в отдельную Row Panel
                                #region 32
                                if (btnSizeAttr.Equals("32"))
                                {
                                    lastWasBig = true;
                                    if (ribRowPanel.Items.Count > 0)
                                    {
                                        ribSourcePanel.Items.Add(ribRowPanel);
                                        nr = 0;
                                    }

                                    ribRowPanel = new RibbonRowPanel();

                                    // Если функция имеет "подфункции", то делаем SplitButton
                                    if (func.Elements("SubFunction").Any())
                                    {
                                        // Создаем SplitButton
                                        var risSplitBtn = new RibbonSplitButton
                                        {
                                            Text            = "RibbonSplitButton",
                                            Orientation     = Orientation.Vertical,
                                            Size            = RibbonItemSize.Large,
                                            ShowImage       = true,
                                            ShowText        = true,
                                            ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                                            ResizeStyle     = RibbonItemResizeStyles.NoResize,
                                            ListStyle       = RibbonSplitButtonListStyle.List
                                        };

                                        // Добавляем в него первую функцию, которую делаем основной
                                        var ribBtn = RibbonHelpers.AddBigButton(
                                            loadedFunction.Name,
                                            Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                            GetBigIcon(loadedFunction),
                                            Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                            Orientation.Horizontal,
                                            Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                            loadedFunction.ToolTipHelpImage);
                                        risSplitBtn.Items.Add(ribBtn);
                                        risSplitBtn.Current = ribBtn;

                                        // Затем добавляем подфункции
                                        foreach (var subFunc in func.Elements("SubFunction"))
                                        {
                                            if (LoadPluginsHelper.LoadedFunctions.Any(x => x.Name.Equals(subFunc.Attribute("Name")?.Value)))
                                            {
                                                var loadedSubFunction = LoadPluginsHelper.LoadedFunctions.FirstOrDefault(x => x.Name.Equals(subFunc.Attribute("Name")?.Value));
                                                if (loadedSubFunction == null)
                                                {
                                                    continue;
                                                }
                                                risSplitBtn.Items.Add(RibbonHelpers.AddBigButton(
                                                                          loadedSubFunction.Name,
                                                                          Language.GetFunctionLocalName(loadedSubFunction.Name, loadedSubFunction.LName),
                                                                          GetBigIcon(loadedSubFunction),
                                                                          Language.GetFunctionShortDescription(loadedSubFunction.Name, loadedSubFunction.Description),
                                                                          Orientation.Horizontal,
                                                                          Language.GetFunctionFullDescription(loadedSubFunction.Name, loadedSubFunction.FullDescription),
                                                                          loadedSubFunction.ToolTipHelpImage));
                                            }
                                        }

                                        ribRowPanel.Items.Add(risSplitBtn);
                                    }

                                    // Если в конфигурации меню не прописано наличие подфункций, то проверяем, что они могут быть в самой функции
                                    else if (loadedFunction.SubPluginsNames.Any())
                                    {
                                        // Создаем SplitButton
                                        var risSplitBtn = new RibbonSplitButton
                                        {
                                            Text            = "RibbonSplitButton",
                                            Orientation     = Orientation.Vertical,
                                            Size            = RibbonItemSize.Large,
                                            ShowImage       = true,
                                            ShowText        = true,
                                            ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                                            ResizeStyle     = RibbonItemResizeStyles.NoResize,
                                            ListStyle       = RibbonSplitButtonListStyle.List
                                        };

                                        // Добавляем в него первую функцию, которую делаем основной
                                        var ribBtn = RibbonHelpers.AddBigButton(
                                            loadedFunction.Name,
                                            Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                            GetBigIcon(loadedFunction),
                                            Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                            Orientation.Horizontal,
                                            Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                            loadedFunction.ToolTipHelpImage);
                                        risSplitBtn.Items.Add(ribBtn);
                                        risSplitBtn.Current = ribBtn;

                                        // Затем добавляем подфункции
                                        for (int i = 0; i < loadedFunction.SubPluginsNames.Count; i++)
                                        {
                                            risSplitBtn.Items.Add(RibbonHelpers.AddBigButton(
                                                                      loadedFunction.SubPluginsNames[i],
                                                                      Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.SubPluginsLNames[i], i + 1),
                                                                      GetBigIconForSubFunction(loadedFunction, i),
                                                                      Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.SubDescriptions[i], i + 1),
                                                                      Orientation.Horizontal,
                                                                      Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.SubFullDescriptions[i], i + 1),
                                                                      loadedFunction.SubHelpImages[i]));
                                        }

                                        ribRowPanel.Items.Add(risSplitBtn);
                                    }

                                    // Иначе просто добавляем большую кнопку
                                    else
                                    {
                                        RibbonButton ribbonButton = RibbonHelpers.AddBigButton(
                                            loadedFunction.Name,
                                            Language.GetFunctionLocalName(loadedFunction.Name, loadedFunction.LName),
                                            GetBigIcon(loadedFunction),
                                            Language.GetFunctionShortDescription(loadedFunction.Name, loadedFunction.Description),
                                            Orientation.Vertical,
                                            Language.GetFunctionFullDescription(loadedFunction.Name, loadedFunction.FullDescription),
                                            loadedFunction.ToolTipHelpImage);
                                        ribRowPanel.Items.Add(ribbonButton);
                                    }

                                    ribSourcePanel.Items.Add(ribRowPanel);
                                }
                                #endregion
                            }
                        }// foreach functions

                        if (ribRowPanel.Items.Any() & !lastWasBig)
                        {
                            ribSourcePanel.Items.Add(ribRowPanel);
                        }

                        // Если в группе нет функций(например отключены), то не добавляем эту группу
                        if (!hasFunctions)
                        {
                            ribTab.Panels.Remove(ribPanel);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                ExceptionBox.Show(exception);
            }
        }
Ejemplo n.º 10
0
        private static void AddHelpPanel(RibbonTab ribTab)
        {
            // create the panel source
            var ribSourcePanel = new RibbonPanelSource
            {
                Title = "ModPlus"
            };

            // now the panel
            var ribPanel = new RibbonPanel
            {
                Source = ribSourcePanel
            };

            ribTab.Panels.Add(ribPanel);

            var ribRowPanel = new RibbonRowPanel();

            ribRowPanel.Items.Add(
                RibbonHelpers.AddBigButton(
                    "mpUserInfo",
                    Language.GetItem(LangItem, "h56"),
                    _colorTheme == 1
                        ? "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/UserInfo_32x32.png"
                        : "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/UserInfo_32x32_dark.png",
                    Language.GetItem(LangItem, "h56"),
                    Orientation.Vertical,
                    string.Empty,
                    string.Empty,
                    "help/userinfo"));

            ribRowPanel.Items.Add(
                RibbonHelpers.AddBigButton(
                    "mpSettings",
                    Language.GetItem(LangItem, "h12"),
                    _colorTheme == 1
                    ? "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/HelpBt.png"
                    : "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/HelpBt_dark.png",
                    Language.GetItem(LangItem, "h41"),
                    Orientation.Vertical,
                    Language.GetItem(LangItem, "h42"),
                    string.Empty,
                    "help/mpsettings"));
            ribSourcePanel.Items.Add(ribRowPanel);

            ribRowPanel = new RibbonRowPanel();
            if (LoadFunctionsHelper.HasStampsPlugin(_colorTheme, out var icon))
            {
                ribRowPanel.Items.Add(
                    RibbonHelpers.AddSmallButton(
                        "mpStampFields",
                        Language.GetItem(LangItem, "h43"),
                        icon,
                        Language.GetItem(LangItem, "h44"),
                        Language.GetItem(LangItem, "h45"),
                        string.Empty,
                        "autocadplugins/mpstamps"));
                ribRowPanel.Items.Add(new RibbonRowBreak());
            }

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpShowProductIcons",
                    Language.GetItem(LangItem, "h46"),
                    _colorTheme == 1
                        ? "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/mpShowProductIcons_16x16.png"
                        : "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/mpShowProductIcons_16x16_dark.png",
                    Language.GetItem(LangItem, "h37"),
                    Language.GetItem(LangItem, "h38"),
                    "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/mpShowProductIcon.png", "help/mpsettings"));
            ribRowPanel.Items.Add(new RibbonRowBreak());

            ribRowPanel.Items.Add(
                RibbonHelpers.AddSmallButton(
                    "mpHideProductIcons",
                    Language.GetItem(LangItem, "h47"),
                    _colorTheme == 1
                        ? "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/mpHideProductIcons_16x16.png"
                        : "pack://application:,,,/Modplus_" + VersionData.CurrentCadVersion + ";component/Resources/mpHideProductIcons_16x16_dark.png",
                    Language.GetItem(LangItem, "h39"),
                    string.Empty,
                    string.Empty,
                    "help/mpsettings"));
            ribSourcePanel.Items.Add(ribRowPanel);
        }
Ejemplo n.º 11
0
        public void CreateRibbon()
        {
            AcadWindows.RibbonControl ribbon = AcadWindows.ComponentManager.Ribbon;
            AcadWindows.RibbonTab     tab    = new AcadWindows.RibbonTab();
            tab.Name  = "MyTab";
            tab.Title = "My Tab";
            tab.Id    = "MyTabId";
            ribbon.Tabs.Add(tab);

            AcadWindows.RibbonPanelSource panelSrc = new AcadWindows.RibbonPanelSource();
            panelSrc.Name  = "MyPanel";
            panelSrc.Title = "My Panel";
            panelSrc.Id    = "MyPanelId";

            AcadWindows.RibbonCheckBox cb = new Autodesk.Windows.RibbonCheckBox();
            cb.Text      = "Testing";
            cb.IsChecked = true;
            cb.Size      = AcadWindows.RibbonItemSize.Large;

            AcadWindows.RibbonButton button1 = new AcadWindows.RibbonButton();
            button1.Name = "MyButton";
            button1.Text = "My Button";
            button1.Id   = "MyButtonId";

            AcadWindows.RibbonButton button2 = new AcadWindows.RibbonButton();
            button2.Name           = "MyOtherButton";
            button2.Text           = "My Other Button";
            button2.Id             = "MyOtherButtonId";
            button2.Size           = AcadWindows.RibbonItemSize.Large;
            button2.ShowText       = true;
            button2.LargeImage     = GetBitmap(new Bitmap(@"C:\Users\nguye\OneDrive\Desktop\Untitled.png"), 64, 64);
            button2.CommandHandler = new MyButtonCmd();

            AcadWindows.RibbonButton button3 = new AcadWindows.RibbonButton();
            button3.Name           = "MyOtherButton";
            button3.Text           = "My Other Button";
            button3.Id             = "MyOtherButtonId";
            button3.Size           = AcadWindows.RibbonItemSize.Large;
            button3.ShowText       = true;
            button3.Orientation    = System.Windows.Controls.Orientation.Vertical;
            button3.LargeImage     = GetBitmap(new Bitmap(@"C:\Users\nguye\OneDrive\Desktop\Untitled.png"), 64, 64);
            button3.CommandHandler = new MyButtonCmd();

            panelSrc.Items.Add(button1);
            panelSrc.Items.Add(button2);
            panelSrc.Items.Add(button3);
            panelSrc.Items.Add(cb);

            AcadWindows.RibbonPanel panel = new AcadWindows.RibbonPanel();
            panel.Source      = panelSrc;
            panel.ResizeStyle = AcadWindows.RibbonResizeStyles.NeverChangeImageSize;
            tab.Panels.Add(panel);

            if (ps == null)
            {
                ps = new PaletteSet("My Palette 1",
                                    new Guid("229E43DB-E76F-48F9-849A-CC8D726DF257"));
                ps.SetLocation(new System.Drawing.Point(312, 763));
                ps.SetSize(new System.Drawing.Size(909, 40));
                /*For the first time we 'll enable on Bottom*/
                ps.DockEnabled = DockSides.Right;

                UserControl user_control = new UserControl();

                Button btn = new Button();
                btn.Width  = 100;
                btn.Height = 100;
                btn.Text   = "abc";
                user_control.Controls.Add(btn);
                ps.Add("1", user_control);
            }

            ps.Visible = true;

            /*Add Handler*/

            ps.PaletteSetMoved += ps_PaletteSetMoved;
        }
Ejemplo n.º 12
0
        //Ribbon hinzufügen
        public void addRessourceTab()
        {
            RibbonSeparator separator = new RibbonSeparator();

            separator.SeparatorStyle = RibbonSeparatorStyle.Spacer;

            //**************
            //PanelSource IO
            RibbonPanelSource panelSrcIO = new RibbonPanelSource();

            panelSrcIO.Title = "Punkte Import/Export";

            //Pt Import
            RibbonButton bt_PtImport = new RibbonButton();

            bt_PtImport.Id                    = "PtImport";
            bt_PtImport.Text                  = "Punkte importieren";
            bt_PtImport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.IN_small);
            bt_PtImport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.IN_small);
            bt_PtImport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtImport.Size                  = RibbonItemSize.Standard;
            bt_PtImport.ShowText              = false;
            bt_PtImport.ShowImage             = true;
            bt_PtImport.CommandHandler        = new RibbonCommandHandler();
            bt_PtImport.ShowToolTipOnDisabled = true;
            bt_PtImport.Description           = "Punkte importieren";

            //Import 3d?
            RibbonCheckBox ribchkBoxImport3d = new RibbonCheckBox();

            ribchkBoxImport3d.Id               = "PtImport3d";
            ribchkBoxImport3d.Text             = "3d";
            ribchkBoxImport3d.Initialized     += new EventHandler(ribchkBoxImport3d_Initialized);
            ribchkBoxImport3d.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ribchkBoxImport3d_PropertyChanged);
            ribchkBoxImport3d.CommandHandler   = new RibbonCommandHandler();

            //Pt Export
            RibbonButton bt_PtExport = new RibbonButton();

            bt_PtExport.Id                    = "PtExport";
            bt_PtExport.Text                  = "Punkte exportieren";
            bt_PtExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Out_small);
            bt_PtExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Out);
            bt_PtExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtExport.Size                  = RibbonItemSize.Standard;
            bt_PtExport.ShowText              = false;
            bt_PtExport.ShowImage             = true;
            bt_PtExport.CommandHandler        = new RibbonCommandHandler();
            bt_PtExport.ShowToolTipOnDisabled = true;
            bt_PtExport.Description           = "Punkte exportieren";

            //ComboBox für aktuellen Punktlayer
            RibbonCombo ribCB_Basislayer = new RibbonCombo();

            ribCB_Basislayer.Text            = "Basislayer:";
            ribCB_Basislayer.ShowText        = true;
            ribCB_Basislayer.MinWidth        = 100;
            ribCB_Basislayer.DropDownWidth   = 150;
            ribCB_Basislayer.Initialized    += new EventHandler(ribCB_Basislayer_Initialized);
            ribCB_Basislayer.CurrentChanged += new EventHandler <RibbonPropertyChangedEventArgs>(ribCB_Basislayer_CurrentChanged);
            ribCB_Basislayer.DropDownOpened += new EventHandler <EventArgs>(ribCB_Basislayer_DropDownOpened);

            RibbonRowPanel rowPanel_IO = new RibbonRowPanel();

            rowPanel_IO.Items.Add(bt_PtImport);
            rowPanel_IO.Items.Add(ribchkBoxImport3d);
            rowPanel_IO.Items.Add(new RibbonRowBreak());
            rowPanel_IO.Items.Add(bt_PtExport);
            rowPanel_IO.Items.Add(separator);
            rowPanel_IO.Items.Add(ribCB_Basislayer);
            panelSrcIO.Items.Add(rowPanel_IO);


            //**************
            //PanelSource Tools
            Autodesk.Windows.RibbonPanelSource panelSrcTools = new Autodesk.Windows.RibbonPanelSource();
            panelSrcTools.Title = "Tools";

            //Punkte einfügen
            Autodesk.Windows.RibbonButton bt_PtIns = new Autodesk.Windows.RibbonButton();
            bt_PtIns.Id                    = "PtIns";
            bt_PtIns.Text                  = "Punkte einfügen";
            bt_PtIns.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_PtIns.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_PtIns.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtIns.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_PtIns.ShowText              = false;
            bt_PtIns.ShowImage             = true;
            bt_PtIns.CommandHandler        = new RibbonCommandHandler();
            bt_PtIns.ShowToolTipOnDisabled = true;
            bt_PtIns.Description           = "Punkte einfügen";

            //Blockattribute Pre-/Suffix
            Autodesk.Windows.RibbonButton bt_attPreSuf = new Autodesk.Windows.RibbonButton();
            bt_attPreSuf.Id                    = "BlockManipulator";
            bt_attPreSuf.Text                  = "Block Operationen";
            bt_attPreSuf.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_attPreSuf.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_attPreSuf.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_attPreSuf.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_attPreSuf.ShowText              = false;
            bt_attPreSuf.ShowImage             = true;
            bt_attPreSuf.CommandHandler        = new RibbonCommandHandler();
            bt_attPreSuf.ShowToolTipOnDisabled = true;
            bt_attPreSuf.Description           = "Blöcke manipulieren";

            //Layer exportieren
            Autodesk.Windows.RibbonButton bt_layExport = new Autodesk.Windows.RibbonButton();
            bt_layExport.Id                    = "layExport";
            bt_layExport.Text                  = "Layer exportieren";
            bt_layExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.LayerEport);
            bt_layExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.LayerEport);
            bt_layExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_layExport.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_layExport.ShowText              = false;
            bt_layExport.ShowImage             = true;
            bt_layExport.CommandHandler        = new RibbonCommandHandler();
            bt_layExport.ShowToolTipOnDisabled = true;
            bt_layExport.Description           = "Layer exportieren";

            //Objekte auf 3d heben
            Autodesk.Windows.RibbonButton bt_Obj3d = new Autodesk.Windows.RibbonButton();
            bt_layExport.Id                    = "Obj3d";
            bt_layExport.Text                  = "Objekte auf 3d heben";
            bt_layExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.ObjTo3d);
            bt_layExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.ObjTo3d);
            bt_layExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_layExport.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_layExport.ShowText              = false;
            bt_layExport.ShowImage             = true;
            bt_layExport.CommandHandler        = new RibbonCommandHandler();
            bt_layExport.ShowToolTipOnDisabled = true;
            bt_layExport.Description           = "Objekte auf 3d heben";

            panelSrcTools.Items.Add(bt_PtIns);
            panelSrcTools.Items.Add(bt_attPreSuf);
            panelSrcTools.Items.Add(bt_layExport);
            panelSrcTools.Items.Add(new RibbonRowBreak());
            panelSrcTools.Items.Add(bt_Obj3d);

            //**************
            //PanelSource Attribute
            Autodesk.Windows.RibbonPanelSource panelSrcAtt = new Autodesk.Windows.RibbonPanelSource();
            panelSrcAtt.Title = "Blockattribute";

            Autodesk.Windows.RibbonSubPanelSource panelSubSrcAtt = new Autodesk.Windows.RibbonSubPanelSource();

            //Att Pon
            Autodesk.Windows.RibbonButton bt_AttPon = new Autodesk.Windows.RibbonButton();
            bt_AttPon.Id                    = "AttPon";
            bt_AttPon.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPon);
            bt_AttPon.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPon);
            bt_AttPon.Orientation           = System.Windows.Controls.Orientation.Vertical;
            bt_AttPon.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttPon.ShowText              = false;
            bt_AttPon.ShowImage             = true;
            bt_AttPon.CommandHandler        = new RibbonCommandHandler();
            bt_AttPon.ShowToolTipOnDisabled = true;
            bt_AttPon.Description           = "PNr einschalten";

            //Att Poff
            Autodesk.Windows.RibbonButton bt_AttPoff = new Autodesk.Windows.RibbonButton();
            bt_AttPoff.Id                    = "AttPoff";
            bt_AttPoff.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPoff_small);
            bt_AttPoff.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPoff);
            bt_AttPoff.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttPoff.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttPoff.ShowText              = false;
            bt_AttPoff.ShowImage             = true;
            bt_AttPoff.CommandHandler        = new RibbonCommandHandler();
            bt_AttPoff.ShowToolTipOnDisabled = true;
            bt_AttPoff.Description           = "PNr ausschalten";

            //Att Hon
            Autodesk.Windows.RibbonButton bt_AttHon = new Autodesk.Windows.RibbonButton();
            bt_AttHon.Id                    = "AttHon";
            bt_AttHon.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHon_small);
            bt_AttHon.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHon_small1);
            bt_AttHon.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttHon.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttHon.ShowText              = false;
            bt_AttHon.ShowImage             = true;
            bt_AttHon.CommandHandler        = new RibbonCommandHandler();
            bt_AttHon.ShowToolTipOnDisabled = true;
            bt_AttHon.Description           = "Höhe einschalten";

            //Att Hoff
            Autodesk.Windows.RibbonButton bt_AttHoff = new Autodesk.Windows.RibbonButton();
            bt_AttHoff.Id                    = "AttHoff";
            bt_AttHoff.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHoff);
            bt_AttHoff.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHoff);
            bt_AttHoff.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttHoff.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttHoff.ShowText              = false;
            bt_AttHoff.ShowImage             = true;
            bt_AttHoff.CommandHandler        = new RibbonCommandHandler();
            bt_AttHoff.ShowToolTipOnDisabled = true;
            bt_AttHoff.Description           = "Höhe ausschalten";

            Autodesk.Windows.RibbonRowPanel rowPanel_Att = new Autodesk.Windows.RibbonRowPanel();
            rowPanel_Att.Items.Add(bt_AttPon);
            rowPanel_Att.Items.Add(bt_AttPoff);
            rowPanel_Att.Items.Add(new RibbonRowBreak());
            rowPanel_Att.Items.Add(bt_AttHon);
            rowPanel_Att.Items.Add(bt_AttHoff);

            panelSrcAtt.Items.Add(rowPanel_Att);

            //**************
            //PanelSource Zeichnen
            Autodesk.Windows.RibbonPanelSource panelSrcZeichnen = new Autodesk.Windows.RibbonPanelSource();
            panelSrcZeichnen.Title = "Zeichnen";
            //Settings
            Autodesk.Windows.RibbonButton bt_Block3P = new Autodesk.Windows.RibbonButton();
            bt_Block3P.Id                    = "Block3P";
            bt_Block3P.Text                  = "Einstellungen";
            bt_Block3P.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Block3P);
            bt_Block3P.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Block3P);
            bt_Block3P.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_Block3P.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_Block3P.ShowText              = false;
            bt_Block3P.ShowImage             = true;
            bt_Block3P.CommandHandler        = new RibbonCommandHandler();
            bt_Block3P.ShowToolTipOnDisabled = true;
            bt_Block3P.Description           = "Block mit 3 Punkten einfügen";

            panelSrcZeichnen.Items.Add(bt_Block3P);

            //**************
            //PanelSource Settings
            Autodesk.Windows.RibbonPanelSource panelSrcSettings = new Autodesk.Windows.RibbonPanelSource();
            panelSrcSettings.Title = "Settings";
            //Settings
            Autodesk.Windows.RibbonButton bt_Settings = new Autodesk.Windows.RibbonButton();
            bt_Settings.Id                    = "Settings";
            bt_Settings.Text                  = "Einstellungen";
            bt_Settings.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.settings_16x16);
            bt_Settings.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Settings);
            bt_Settings.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_Settings.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_Settings.ShowText              = false;
            bt_Settings.ShowImage             = true;
            bt_Settings.CommandHandler        = new RibbonCommandHandler();
            bt_Settings.ShowToolTipOnDisabled = true;
            bt_Settings.Description           = "Einstellungen ";

            panelSrcSettings.Items.Add(bt_Settings);

            //**************
            //PanelSource Help
            Autodesk.Windows.RibbonPanelSource panelSrcHelp = new Autodesk.Windows.RibbonPanelSource();
            panelSrcHelp.Title = "Hilfe";

            //AboutBox
            Autodesk.Windows.RibbonButton bt_About = new Autodesk.Windows.RibbonButton();
            bt_About.Id                    = "AboutBox";
            bt_About.Text                  = "Info zu CAS2018";
            bt_About.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.helpdoc);
            bt_About.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.helpdoc);
            bt_About.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_About.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_About.ShowText              = false;
            bt_About.ShowImage             = true;
            bt_About.CommandHandler        = new RibbonCommandHandler();
            bt_About.ShowToolTipOnDisabled = true;
            bt_About.Description           = "Info über CAS2018";

            panelSrcHelp.Items.Add(bt_About);

            // Row Panel
            Autodesk.Windows.RibbonRowPanel rowPanel1 = new Autodesk.Windows.RibbonRowPanel();
            rowPanel1.Items.Add(bt_About);
            rowPanel1.Items.Add(bt_attPreSuf);

            //rowPanel.Items.Add( panelSubSrcAtt);
            rowPanel1.Items.Add(bt_Settings);
            rowPanel1.ResizeStyle = Autodesk.Windows.RibbonItemResizeStyles.ChangeSize;
            rowPanel1.Size        = Autodesk.Windows.RibbonItemSize.Standard;

            // Create a panel for holding the panel
            // source content
            Autodesk.Windows.RibbonPanel panelCAS = new Autodesk.Windows.RibbonPanel();

            panelCAS.Source = panelSrcIO;
            Autodesk.Windows.RibbonControl control = panelCAS.RibbonControl;

            //Tabs
            Autodesk.Windows.RibbonPanel panel_IO = new Autodesk.Windows.RibbonPanel();

            panel_IO.Source = panelSrcIO;

            Autodesk.Windows.RibbonPanel panel_Tools = new Autodesk.Windows.RibbonPanel();
            panel_Tools.Source = panelSrcTools;

            Autodesk.Windows.RibbonPanel panel_Att = new Autodesk.Windows.RibbonPanel();
            panel_Att.Source = panelSrcAtt;

            Autodesk.Windows.RibbonPanel panel_Zeichnen = new RibbonPanel();
            panel_Zeichnen.Source = panelSrcZeichnen;

            Autodesk.Windows.RibbonPanel panel_Settings = new Autodesk.Windows.RibbonPanel();
            panel_Settings.Source = panelSrcSettings;

            Autodesk.Windows.RibbonPanel panel_Help = new Autodesk.Windows.RibbonPanel();
            panel_Help.Source = panelSrcHelp;

            Autodesk.Windows.RibbonTab tabCAS2018 = new Autodesk.Windows.RibbonTab();
            tabCAS2018.Title           = "CAS2018";
            tabCAS2018.Id              = "CAS2018";
            tabCAS2018.IsContextualTab = false;

            tabCAS2018.Panels.Add(panel_IO);
            tabCAS2018.Panels.Add(panel_Tools);
            tabCAS2018.Panels.Add(panel_Att);
            tabCAS2018.Panels.Add(panel_Zeichnen);
            tabCAS2018.Panels.Add(panel_Settings);
            tabCAS2018.Panels.Add(panel_Help);

            // Now add the tab to AutoCAD Ribbon bar...
            try
            {
                Autodesk.Windows.RibbonControl ribbonControl = RibbonServices.RibbonPaletteSet.RibbonControl;
                Autodesk.Windows.RibbonTab     ribTab        = new Autodesk.Windows.RibbonTab();
                ribbonControl.Tabs.Add(tabCAS2018);
            }
            catch { }
        }