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); }
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); }
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); } }
public UIPanelToggle(Autodesk.Windows.RibbonRowPanel parent, Bitmap buttonImage, string buttonText, Guid panelID, Dictionary <string, UserControl> controls) { _toggleButton = new RibbonToggleButton { ShowText = true, ShowImage = true, Text = buttonText }; //toggleButton.Name = "Import As Xref"; _toggleButton.CheckStateChanged += toggleButton_CheckStateChanged; _toggleButton.LargeImage = Core.Utilities.LoadImage(buttonImage); _toggleButton.Size = RibbonItemSize.Large; _toggleButton.Orientation = System.Windows.Controls.Orientation.Vertical; parent.Items.Add(_toggleButton); _paletteSet = new PaletteSet(buttonText, panelID); double maxWidth = 0; double maxHeight = 0; foreach (KeyValuePair <string, UserControl> kv in controls) { UserControl uc = kv.Value; if (uc.Width > maxWidth) { maxWidth = uc.Width; } if (uc.Height > maxHeight) { maxHeight = uc.Height; } ElementHost host = new ElementHost(); host.AutoSize = true; host.Dock = DockStyle.Fill; host.Child = uc; _paletteSet.Add(kv.Key, host); } _paletteSet.Size = new Size((int)maxWidth, (int)maxHeight); _paletteSet.Style = (PaletteSetStyles)((int)PaletteSetStyles.ShowAutoHideButton + (int)PaletteSetStyles.ShowCloseButton); _paletteSet.DockEnabled = (DockSides)((int)DockSides.Left + (int)DockSides.Right); _paletteSet.KeepFocus = false; _paletteSet.StateChanged += PaletteSet_StateChanged; }
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); } }
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); }
//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 { } }