示例#1
0
        /// <summary>
        /// Получить SplitButton (основная команда + все вложенные команды) для дескриптора функции
        /// </summary>
        /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param>
        /// <param name="orientation">Ориентация кнопки</param>
        private static RibbonSplitButton GetSmallSplitButton(
            IIntellectualEntityDescriptor descriptor,
            Orientation orientation = Orientation.Vertical)
        {
            // Создаем SplitButton
            var risSplitBtn = new RibbonSplitButton
            {
                Text            = "RibbonSplitButton",
                Orientation     = orientation,
                Size            = RibbonItemSize.Standard,
                ShowImage       = true,
                ShowText        = false,
                ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                ResizeStyle     = RibbonItemResizeStyles.NoResize,
                ListStyle       = RibbonSplitButtonListStyle.List
            };

            var ribBtn = GetButton(descriptor, orientation);

            if (ribBtn != null)
            {
                risSplitBtn.Items.Add(ribBtn);
                risSplitBtn.Current = ribBtn;
            }

            // Вложенные команды
            GetButtonsForSubFunctions(descriptor, orientation).ForEach(b => risSplitBtn.Items.Add(b));

            return(risSplitBtn);
        }
示例#2
0
        /// <summary>
        /// Получить SplitButton (основная команда + все вложенные команды) для дескриптора функции
        /// </summary>
        /// <param name="descriptor">Дескриптор функции - класс, реализующий интерфейс <see cref="IIntellectualEntityDescriptor"/></param>
        /// <param name="orientation">Ориентация кнопки</param>
        /// <param name="size">Размер кнопки</param>
        private static RibbonSplitButton GetSplitButton(
            IIntellectualEntityDescriptor descriptor,
            Orientation orientation = Orientation.Vertical,
            RibbonItemSize size     = RibbonItemSize.Large)
        {
            // Создаем SplitButton
            var risSplitBtn = new RibbonSplitButton
            {
                Text            = "RibbonSplitButton",
                Orientation     = orientation,
                Size            = size,
                ShowImage       = true,
                ShowText        = true,
                ListButtonStyle = Autodesk.Private.Windows.RibbonListButtonStyle.SplitButton,
                ResizeStyle     = RibbonItemResizeStyles.NoResize,
                ListStyle       = RibbonSplitButtonListStyle.List
            };

            // Добавляем в него первую функцию, которую делаем основной
            var ribBtn = GetBigButton(descriptor, orientation);

            if (ribBtn != null)
            {
                risSplitBtn.Items.Add(ribBtn);
                risSplitBtn.Current = ribBtn;
            }

            // Вложенные команды
            GetBigButtonsForSubFunctions(descriptor, orientation).ForEach(b => risSplitBtn.Items.Add(b));

            return(risSplitBtn);
        }
示例#3
0
        // creates a RibbonSplitButton and initializes it using a unique ID string and
        // a list of items that may contain strings or RibbonElement objects.
        internal static RibbonSplitButton CreateSplitButton(string id, params object[] items)
        {
            RibbonSplitButton split = new RibbonSplitButton();

            SetItemProperties(split, id);
            AddSubItems(split.Items, items);
            return(split);
        }
示例#4
0
        public static RibbonSplitButton AddSplitButton(this RibbonItemCollection panelSrc, string text, ICommand command, Bitmap image)
        {
            RibbonSplitButton splitBtn = new RibbonSplitButton();

            panelSrc.AddItem(splitBtn, text, command, image, image);
            splitBtn.IsSplit = false;

            return(splitBtn);
        }
        private static void OnDropDownToolTipPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonSplitButton splitButton = (RibbonSplitButton)d;

            if (splitButton.PartToggleButton != null)
            {
                splitButton.PartToggleButton.CoerceValue(FrameworkElement.ToolTipProperty);
            }
        }
示例#6
0
 public static void SplitButtonSetSize(RibbonSplitButton rbnSplitButton, bool boolLargeButton)
 {
     if (boolLargeButton)
     {
         rbnSplitButton.ControlSize = RibbonControlSize.RibbonControlSizeLarge;
     }
     else
     {
         rbnSplitButton.ControlSize = RibbonControlSize.RibbonControlSizeRegular;
     }
 }
示例#7
0
        public void CreateUI()
        {
            var cmdBlockFromPointAtGradient = UIHelper.GetCommandGlobalName(typeof(LevelBlockCommands), nameof(LevelBlockCommands.CalculateLevelFromPointAtGradient));
            var cmdBlockFromBlockAtGradient = UIHelper.GetCommandGlobalName(typeof(LevelBlockCommands), nameof(LevelBlockCommands.CalculateLevelFromLevelBlockAtGradient));
            var cmdBlockFromBlockWithInvert = UIHelper.GetCommandGlobalName(typeof(LevelBlockCommands), nameof(LevelBlockCommands.CalculateLevelFromLevelBlockWithInvert));
            var cmdBlockBetweenBlocks       = UIHelper.GetCommandGlobalName(typeof(LevelBlockCommands), nameof(LevelBlockCommands.CalculateLevelBetweenLevels));
            var cmdGradientBetweenBlocks    = UIHelper.GetCommandGlobalName(typeof(GradientBlockCommands), nameof(GradientBlockCommands.CalculateGradientBetweenLevels));
            var cmdPolylineFromLevelBlocks  = UIHelper.GetCommandGlobalName(typeof(PolylineCommands), nameof(PolylineCommands.GeneratePolyline3dFromLevels));

            var btnBlockFromPointAtGradient = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnLevelBlockFromPointAtGradient, Resources.level_block_small, RibbonItemSize.Standard, cmdBlockFromPointAtGradient);
            var btnBlockFromBlockAtGradient = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnLevelBlockFromBlockAtGradient, Resources.level_block_small, RibbonItemSize.Standard, cmdBlockFromBlockAtGradient);
            var btnBlockBetweenBlocks       = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnBlockBetweenBlocks, Resources.level_block_small, RibbonItemSize.Standard, cmdBlockBetweenBlocks);
            var btnBlockFromBlockWithInvert = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnLevelBlockFromBlockWithInvert, Resources.level_block_small, RibbonItemSize.Standard, cmdBlockFromBlockWithInvert);

            var btnGradientBetweenBlocks   = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnGradientBetweenBlocks, Resources.gradient_large, RibbonItemSize.Standard, cmdGradientBetweenBlocks);
            var btnPolylineFromLevelBlocks = UIHelper.CreateButton(Resources.ExtensionApplication_UI_BtnPolylineFromLevelBlocks, Resources.line_from_levels_small, RibbonItemSize.Standard, cmdPolylineFromLevelBlocks);

            var btnSplitLevel = new RibbonSplitButton
            {
                ShowText = true,
                IsSynchronizedWithCurrentItem = false,
                Text    = Resources.ExtensionApplication_UI_BtnLevelBlocks,
                Image   = UIHelper.LoadImage(new Bitmap(Resources.level_block_large, new Size(16, 16))),
                IsSplit = false
            };

            btnSplitLevel.Items.Add(btnBlockFromPointAtGradient);
            btnSplitLevel.Items.Add(btnBlockFromBlockAtGradient);
            btnSplitLevel.Items.Add(btnBlockFromBlockWithInvert);
            btnSplitLevel.Items.Add(btnBlockBetweenBlocks);

            var source = new RibbonPanelSource {
                Title = Resources.ExtensionApplication_UI_PanelTitle
            };
            var column = new RibbonRowPanel {
                IsTopJustified = true
            };

            column.Items.Add(btnSplitLevel);
            column.Items.Add(new RibbonRowBreak());
            column.Items.Add(btnGradientBetweenBlocks);
            column.Items.Add(new RibbonRowBreak());
            column.Items.Add(btnPolylineFromLevelBlocks);

            source.Items.Add(column);

            var panel = new RibbonPanel {
                Source = source
            };
            var ribbon = ComponentManager.Ribbon;
            var tab    = ribbon.FindTab(Constants.IRONSTONE_CONCEPT_TAB_ID);

            tab.Panels.Add(panel);
        }
示例#8
0
        /// <summary>
        /// 给面板添加下拉组合按钮
        /// </summary>
        /// <param name="panelSource"></param>
        /// <param name="text"></param>
        /// <param name="size"></param>
        /// <param name="orient"></param>
        /// <returns></returns>
        public static RibbonSplitButton AddSplitButton(this RibbonPanelSource panelSource, string text, RibbonItemSize size, Orientation orient)
        {
            RibbonSplitButton splitBtn = new RibbonSplitButton();

            splitBtn.Text        = text;
            splitBtn.ShowText    = true;
            splitBtn.Size        = size;
            splitBtn.ShowImage   = true;
            splitBtn.Orientation = orient;
            panelSource.Items.Add(splitBtn);
            return(splitBtn);
        }
        private static void OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonSplitButton splitButton = (RibbonSplitButton)d;

            if (splitButton.IsCheckable)
            {
                RibbonSplitButtonAutomationPeer peer = UIElementAutomationPeer.FromElement(splitButton) as RibbonSplitButtonAutomationPeer;
                if (peer != null)
                {
                    peer.RaiseToggleStatePropertyChangedEvent((bool)e.OldValue, (bool)e.NewValue);
                }
            }
        }
示例#10
0
        /// <summary> 创建可下拉的按钮列表 </summary>
        /// <param name="panel"></param>
        /// <param name="buttonText"></param>
        /// <returns></returns>
        private static RibbonSplitButton CreateSplitButton(RibbonPanel panel, string buttonText)
        {
            var sb = new RibbonSplitButton()
            {
                Text      = buttonText,
                ShowText  = true,
                Size      = RibbonItemSize.Large,
                ListStyle = RibbonSplitButtonListStyle.List,
            };

            panel.Source.Items.Add(sb);
            return(sb);
        }
示例#11
0
        public static RibbonSplitButton AddSplitButtonToRibbonPanel(RibbonPanelSource panelSource)
        {
            var ribbonRow = new RibbonRow();

            panelSource.Items.Add(ribbonRow);

            var splitButton = new RibbonSplitButton(ribbonRow);

            splitButton.ButtonStyle = RibbonButtonStyle.LargeWithText;
            ribbonRow.Items.Add(splitButton);

            return(splitButton);
        }
示例#12
0
        private static RibbonSplitButton CreateSplitButton([NotNull] SplitElement splitElem)
        {
            var splitB = new RibbonSplitButton();

            foreach (var elem in splitElem.Items)
            {
                var button = CreateButton(elem);
                splitB.Items.Add(button);
                splitB.Items.Add(new RibbonToggleButton());
            }

            return(splitB);
        }
示例#13
0
            public void Bind(ActionId actionId, object control)
            {
                RibbonSplitButton nativeControl = (RibbonSplitButton)control;

                nativeControl.Click += (sender, e) =>
                {
                    ActionManager.Execute(actionId);
                };

                ActionManager.Updating += (s, e) =>
                {
                    nativeControl.Enabled = ActionManager.CanExecute(actionId);
                };
            }
示例#14
0
        private static void AddButton(RibbonSplitButton splitButton, MethodInfo method, RibbonItemSize size)
        {
            string      commandName;
            string      buttonText;
            string      description;
            BitmapImage largeImage;
            BitmapImage smallImage;

            GetMethodElements(method, out commandName, out buttonText, out description, out largeImage, out smallImage);
            //
            var ribButton = CreateButton(commandName, buttonText, description, size, largeImage);

            splitButton.Items.Add(ribButton);
        }
示例#15
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);
            }
        }
示例#16
0
        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;
            RibbonButton addRevision = UIHelper.CreateButton(Properties.Resources.ExtensionApplication_UI_RevisionButton,
                                                             Properties.Resources.Revise_Small, RibbonItemSize.Standard, String.Empty);

            RibbonButton finaliseRevisions = UIHelper.CreateButton(Properties.Resources.ExtensionApplication_UI_FinaliseRevisionButton,
                                                                   Properties.Resources.Revise_Small, RibbonItemSize.Standard, String.Empty);

            RibbonSplitButton revisionSplitButton = new RibbonSplitButton();

            /*revisionSplitButton.Text = "RibbonSplit";*/
            revisionSplitButton.ShowText = true;
            revisionSplitButton.Items.Add(addRevision);
            revisionSplitButton.Items.Add(finaliseRevisions);
            //TODO: Enable once the backing code is in place
            revisionSplitButton.IsEnabled = false;

            column1.Items.Add(revisionSplitButton);
            column1.Items.Add(new RibbonRowBreak());
            column1.Items.Add(UIHelper.CreateButton(Properties.Resources.ExtensionApplication_UI_ImportDrawing,
                                                    Properties.Resources.DocumentType, RibbonItemSize.Standard, "DM_ImportDrawing"));

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

            Panel.Source = source;

            primaryTab.Panels.Add(Panel);
        }
示例#17
0
        private static void AddPanel2(RibbonTab ribTab)
        {
            //create the panel source
            Autodesk.Windows.RibbonPanelSource ribSourcePanel = new RibbonPanelSource();
            ribSourcePanel.Title = "裤长";
            //now the panel
            RibbonPanel ribPanel = new RibbonPanel();

            ribPanel.Source = ribSourcePanel;
            ribTab.Panels.Add(ribPanel);

            //create a Ribbon text
            Autodesk.Windows.RibbonTextBox ribTxt = new RibbonTextBox();
            ribTxt.Width            = 100;
            ribTxt.IsEmptyTextValid = false;
            ribTxt.InvokesCommand   = true;
            ribTxt.CommandHandler   = new AdskCommandHandler();

            //create a Ribbon List Button
            Autodesk.Windows.RibbonSplitButton ribListBtn = new RibbonSplitButton();
            Autodesk.Windows.RibbonButton      ribButton1 = new RibbonButton();
            ribButton1.Text             = "长裤";
            ribButton1.ShowText         = true;
            ribButton1.CommandParameter = "LINE ";
            ribButton1.CommandHandler   = new AdskCommandHandler();
            Autodesk.Windows.RibbonButton ribButton2 = new RibbonButton();
            ribButton2.Text             = "九分裤";
            ribButton2.ShowText         = true;
            ribButton2.CommandParameter = "CIRCLE ";
            ribButton2.CommandHandler   = new AdskCommandHandler();
            ribListBtn.Text             = "Some options";
            ribListBtn.ShowText         = true;
            ribListBtn.Items.Add(ribButton1);
            ribListBtn.Items.Add(ribButton2);

            ribSourcePanel.Items.Add(ribTxt);
            ribSourcePanel.Items.Add(new RibbonRowBreak());
            ribSourcePanel.Items.Add(ribListBtn);
        }
示例#18
0
        public void Create()
        {
            RibbonTab tab = FindOrMakeTab("Add-ins"); // add to Add-Ins tab

            if (tab == null)
            {
                return;
            }
            RibbonPanelSource panel = CreateButtonPanel("Speckle 2", tab);

            if (panel == null)
            {
                return;
            }
            RibbonToolTip speckleTip = CreateToolTip("Speckle", "Speckle Connector for " + Utils.AppName);
            RibbonButton  button     = CreateButton("Connector " + Utils.AppName, "Speckle", panel, null, speckleTip, "logo");

            // DUI2
            RibbonButton button2 = CreateButton("Connector " + Utils.AppName + "New UI (alpha)!", "SpeckleNewUi", panel, null, speckleTip, "logo");

            // help and resources buttons
            RibbonSplitButton helpButton = new RibbonSplitButton();

            helpButton.Text        = "Help & Resources";
            helpButton.Image       = LoadPngImgSource("help16.png");
            helpButton.LargeImage  = LoadPngImgSource("help32.png");
            helpButton.ShowImage   = true;
            helpButton.ShowText    = true;
            helpButton.Size        = RibbonItemSize.Large;
            helpButton.Orientation = Orientation.Vertical;
            panel.Items.Add(helpButton);

            RibbonToolTip communityTip = CreateToolTip("Community", "Check out our community forum! Opens a page in your web browser.");
            RibbonToolTip tutorialsTip = CreateToolTip("Tutorials", "Check out our tutorials! Opens a page in your web browser");
            RibbonToolTip docsTip      = CreateToolTip("Docs", "Check out our documentation! Opens a page in your web browser");
            RibbonButton  community    = CreateButton("Community", "SpeckleCommunity", null, helpButton, communityTip, "forum");
            RibbonButton  tutorials    = CreateButton("Tutorials", "SpeckleTutorials", null, helpButton, tutorialsTip, "tutorials");
            RibbonButton  docs         = CreateButton("Docs", "SpeckleDocs", null, helpButton, docsTip, "docs");
        }
        public void Initialize()
        {
            Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;

            try
            {
                RibbonPanelSource panelSource = AutocadAPI.AddRibbonPanel("ID_ADDINSTAB", PluginName, PluginText);
                if (panelSource == null)
                {
                    editor.WriteMessage(ProgramMessage[KEY_ADDED]);
                }
                else
                {
                    RibbonSplitButton splitButton = AutocadAPI.AddSplitButtonToRibbonPanel(panelSource);

                    CustomizationSection custSection = panelSource.CustomizationSection;
                    MacroGroup           macroGroup  = custSection.MenuGroup.MacroGroups[0];

                    PluginCommandButton[] buttons = GetShowMessageButtons();
                    foreach (PluginCommandButton button in buttons)
                    {
                        AutocadAPI.AddCommandButtonToRibbonSplitButton(macroGroup, splitButton, button.Text, button.Command, button.SmallBitmapPath, button.LargeBitmapPath, button.Tooltip);
                    }

                    custSection.Save();

                    Application.ReloadAllMenus();

                    editor.WriteMessage(ProgramMessage[KEY_INST]);
                }
            }
            catch (System.Exception ex)
            {
                editor.WriteMessage(ProgramMessage[KEY_ERROR] + ex.Message);
            }
        }
        static private void addCusEnt(RibbonTab ribTab)
        {
            //create the panel source
            Autodesk.Windows.RibbonPanelSource ribSourcePanel = new RibbonPanelSource();
            ribSourcePanel.Title = "WT-Tools Entities";
            //now the panel
            RibbonPanel ribPanel = new RibbonPanel();

            ribPanel.Source = ribSourcePanel;
            ribTab.Panels.Add(ribPanel);

            //create button
            Autodesk.Windows.RibbonButton ribButtonGrating = new RibbonButton();
            ribButtonGrating.Orientation = System.Windows.Controls.Orientation.Vertical;
            BitmapImage bmpI = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.grating);

            ribButtonGrating.LargeImage       = bmpI;
            ribButtonGrating.Image            = bmpI;
            ribButtonGrating.Size             = RibbonItemSize.Large;
            ribButtonGrating.Text             = "Grating";
            ribButtonGrating.ShowText         = true;
            ribButtonGrating.CommandParameter = "grating ";
            ribButtonGrating.CommandHandler   = new AdskCommandHandler();

            //create button
            Autodesk.Windows.RibbonButton ribButtonRamp = new RibbonButton();
            ribButtonRamp.Orientation = System.Windows.Controls.Orientation.Vertical;
            BitmapImage bmpIRamp = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Ramp);

            ribButtonRamp.LargeImage       = bmpIRamp;
            ribButtonRamp.Image            = bmpIRamp;
            ribButtonRamp.Size             = RibbonItemSize.Large;
            ribButtonRamp.Text             = "Ramp";
            ribButtonRamp.ShowText         = true;
            ribButtonRamp.CommandParameter = "ramp ";
            ribButtonRamp.CommandHandler   = new AdskCommandHandler();

            //create button
            //create a Ribbon List Button
            Autodesk.Windows.RibbonSplitButton ribListBtn = new RibbonSplitButton();

            Autodesk.Windows.RibbonButton ribButtonQuota = new RibbonButton();
            ribButtonQuota.Orientation = System.Windows.Controls.Orientation.Vertical;
            BitmapImage bmpIQuota = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota);

            ribButtonQuota.LargeImage       = bmpIQuota;
            ribButtonQuota.Image            = bmpIQuota;
            ribButtonQuota.Size             = RibbonItemSize.Large;
            ribButtonQuota.Text             = "Arrow";
            ribButtonQuota.ShowText         = true;
            ribButtonQuota.CommandParameter = "quota arrow ";
            ribButtonQuota.CommandHandler   = new AdskCommandHandler();

            Autodesk.Windows.RibbonButton ribButtonQuota_Leader = new RibbonButton();
            ribButtonQuota_Leader.Orientation = System.Windows.Controls.Orientation.Vertical;
            BitmapImage bmpIQuota_Leader = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota_Leader);

            ribButtonQuota_Leader.LargeImage       = bmpIQuota_Leader;
            ribButtonQuota_Leader.Image            = bmpIQuota;
            ribButtonQuota_Leader.Size             = RibbonItemSize.Large;
            ribButtonQuota_Leader.Text             = "Leader";
            ribButtonQuota_Leader.ShowText         = true;
            ribButtonQuota_Leader.CommandParameter = "quota leader ";
            ribButtonQuota_Leader.CommandHandler   = new AdskCommandHandler();

            Autodesk.Windows.RibbonButton ribButtonQuota_Plane = new RibbonButton();
            ribButtonQuota_Leader.Orientation = System.Windows.Controls.Orientation.Vertical;
            BitmapImage bmpIQuota_Plane = ArCaUtils.GetBitmapImage(ArCaManaged.Properties.Resources.Quota_Plane);

            ribButtonQuota_Plane.LargeImage       = bmpIQuota_Plane;
            ribButtonQuota_Plane.Image            = bmpIQuota;
            ribButtonQuota_Plane.Size             = RibbonItemSize.Large;
            ribButtonQuota_Plane.Text             = "Plane";
            ribButtonQuota_Plane.ShowText         = true;
            ribButtonQuota_Plane.CommandParameter = "quota plane ";
            ribButtonQuota_Plane.CommandHandler   = new AdskCommandHandler();

            ribListBtn.Text     = "Quota";
            ribListBtn.Size     = RibbonItemSize.Large;
            ribListBtn.ShowText = true;
            ribListBtn.Items.Add(ribButtonQuota);
            ribListBtn.Items.Add(ribButtonQuota_Leader);
            ribListBtn.Items.Add(ribButtonQuota_Plane);

            ribSourcePanel.Items.Add(ribButtonGrating);
            ribSourcePanel.Items.Add(ribButtonRamp);
            ribSourcePanel.Items.Add(ribListBtn);
        }
示例#21
0
        /// <summary>
        /// Project Management panel creation
        /// </summary>
        /// <returns>Project Management Panel</returns>
        // TODO: Refactor first buttons to copy / clean up.
        public RibbonPanel AddProMgmtPanel()
        {
            // Tab -> RibbonPanels[] -> RibbonPanel -> RibbonPanelSource -> RibbonButton(s)
            // Establish the source control for the panel.
            RibbonPanelSource rps = new RibbonPanelSource
            {
                Title = "Project Management",
                Name  = "Project Management"
            };

            // Establish output RibbonPanel
            RibbonPanel rp = new RibbonPanel
            {
                Source = rps
            };

            // Open folders on server for project.
            // Establish the split button control to add options to.
            var OpenProjectSplit = new RibbonSplitButton
            {
                Text           = "SplitButton",
                CommandHandler = new RibbonButtonHandler(),
                ShowImage      = true,
                ShowText       = true,
                Image          = IntFunctions.BitmapToImageSource(Properties.Resources.placeholder_large),
                LargeImage     = IntFunctions.BitmapToImageSource(Properties.Resources.placeholder_large),
                IsSplit        = true,
                Size           = RibbonItemSize.Large,
                Orientation    = System.Windows.Controls.Orientation.Vertical
            };

            // Establish our individual buttons
            RibbonButton OpenProjectFolder = ButtonLarge.Clone() as RibbonButton;

            OpenProjectFolder.Text             = $"Open{Environment.NewLine}Project";
            OpenProjectFolder.CommandParameter = "._OpenProjectFolder ";
            OpenProjectFolder.LargeImage       = IntFunctions.BitmapToImageSource(Properties.Resources.Goto_Folder);

            RibbonButton OpenCompFolder = ButtonLarge.Clone() as RibbonButton;

            OpenCompFolder.Text             = $"Open Comp{Environment.NewLine}Folder";
            OpenCompFolder.CommandParameter = "._OpenCompFolder ";
            OpenCompFolder.LargeImage       = IntFunctions.BitmapToImageSource(Properties.Resources.Goto_Folder, Properties.Resources.overlay_edit);

            RibbonButton OpenSubmittalFolder = ButtonLarge.Clone() as RibbonButton;

            OpenSubmittalFolder.Text             = $"Open Submittal{Environment.NewLine}Folder";
            OpenSubmittalFolder.CommandParameter = "._OpenSubmittalFolder ";
            OpenSubmittalFolder.LargeImage       = IntFunctions.BitmapToImageSource(Properties.Resources.Goto_Folder, Properties.Resources.overlay_export);

            RibbonButton OpenFieldDataFolder = ButtonLarge.Clone() as RibbonButton;

            OpenFieldDataFolder.Text             = $"Open Field{Environment.NewLine}Data Folder";
            OpenFieldDataFolder.CommandParameter = "._OpenFieldDataFolder ";
            OpenFieldDataFolder.LargeImage       = IntFunctions.BitmapToImageSource(Properties.Resources.Goto_Folder, Properties.Resources.overlay_field);

            // Add our individual buttons to the split button container
            OpenProjectSplit.Items.Add(OpenProjectFolder);
            OpenProjectSplit.Items.Add(OpenCompFolder);
            OpenProjectSplit.Items.Add(OpenFieldDataFolder);
            OpenProjectSplit.Items.Add(OpenSubmittalFolder);

            // Add our split button to the RibbonPanelSource
            rps.Items.Add(OpenProjectSplit);

            // Return the RibbonPanel
            return(rp);
        }
示例#22
0
        public static void AddCommandButtonToRibbonSplitButton(MacroGroup macroGroup, RibbonSplitButton splitButton, string buttonText, string command, string smallBitmapPath, string largeBitmapPath, string toolTip)
        {
            MenuMacro menuMacro = macroGroup.CreateMenuMacro(command + "_Macro", "^C^C" + command, command + "_Tag", command + "_Help", MacroType.Any, smallBitmapPath, largeBitmapPath, command + "_Label_Id");

            var button = new RibbonCommandButton(splitButton);

            button.MacroID      = menuMacro.ElementID;
            button.Text         = buttonText;
            button.ButtonStyle  = RibbonButtonStyle.SmallWithoutText;
            button.KeyTip       = buttonText + " Key Tip";
            button.TooltipTitle = toolTip;

            splitButton.Items.Add(button);
        }
 /// <summary>
 ///   Initialize Automation Peer for RibbonSplitButton
 /// </summary>
 public RibbonSplitButtonAutomationPeer(RibbonSplitButton owner)
     : base(owner)
 {
 }
示例#24
0
        //------------------------------------------------------------
        #region ** command dispatcher

        // forward ribbon events to the appropriate C1XHtmlRibbonTab.
        protected override void OnRibbonEvent(RibbonEventArgs e)
        {
            RibbonItem item = e.Item as RibbonItem;

            if (item != null)
            {
                // handle clicks on non-tab items
                if (e.EventType == RibbonEventType.Click)
                {
                    // handle application menu and Qat items
                    if (item.Tab == null)
                    {
                        switch (item.ID)
                        {
                        case "New":
                            NewDocument();
                            return;

                        case "Open":
                        case "OpenQat":
                            OpenDocument();
                            return;

                        case "Save":
                        case "SaveQat":
                            SaveDocument();
                            return;

                        case "SaveAs":
                            SaveDocumentAs();
                            break;

                        case "Print":
                            PrintDocument(true, false);
                            break;

                        case "PrintPreview":
                            PrintDocument(false, true);
                            break;

                        case "QuickPrint":
                            PrintDocument(false, false);
                            break;

                        case "ExportPdf":
                            ExportDocument();
                            break;

                        case "Exit":
                            Exit();
                            break;

                        case "Undo":
                            Undo();
                            break;

                        case "Redo":
                            Redo();
                            break;

                        default:
                            break;
                        }
                    }
                }
                else if (e.EventType == RibbonEventType.DropDown)
                {
                    switch (item.ID)
                    {
                    case "Undo":
                    case "Redo":
                        bool              isUndo     = string.Compare(item.ID, "Undo", true) == 0;
                        string[]          actionList = isUndo ? _editor.Editor.History.UndoList : _editor.Editor.History.RedoList;
                        RibbonSplitButton sb         = item as RibbonSplitButton;
                        sb.Items.Clear();
                        int actionIndex = 0;
                        foreach (string action in actionList)
                        {
                            RibbonButton rb = new RibbonButton(action);
                            rb.Tag    = actionIndex;
                            rb.Click += (isUndo ? new EventHandler(UndoClick) : new EventHandler(RedoClick));
                            sb.Items.Add(rb);
                            actionIndex += 1;
                        }
                        break;

                    default:
                        break;
                    }
                }

                // delegate to tab elements
                if (!_updatingUI)
                {
                    C1TextEditorRibbonTab tab = item.Tab as C1TextEditorRibbonTab;
                    if (tab != null)
                    {
                        tab.HandleItemEvent(e);
                    }
                }

                // exit when double-clicking the app menu
                if (item.Equals(this.ApplicationMenu) &&
                    e.EventType == RibbonEventType.DoubleClick)
                {
                    Exit();
                }
            }

            // fire event as usual
            base.OnRibbonEvent(e);
        }
示例#25
0
        protected override void Initialize(IWebMatrixHost host, ExtensionInitData initData)
        {
            this.webMatrixHost = host;
            this.webMatrixHost.WebSiteChanged += new EventHandler<EventArgs>(host_WebSiteChanged);
            this.webMatrixHost.TreeItemCreated += new EventHandler<TreeItemEventArgs>(webMatrixHost_TreeItemCreated);
            this.webMatrixHost.TreeItemRemoved += new EventHandler<TreeItemEventArgs>(webMatrixHost_TreeItemRemoved);
            this.webMatrixHost.ContextMenuOpening += new EventHandler<ContextMenuOpeningEventArgs>(webMatrixHost_ContextMenuOpening);

            var list = new List<RibbonButton>{
                new RibbonButton("Initialize", this.gitInitCommand, null, Resources.git_init, Resources.git_32),
                //new RibbonButton("Clone", this.gitInitCommand, null, Resources.git_init, Resources.git_32),
                new RibbonButton("Commit Changes", this.gitCommitCommand, null, Resources.git_16, Resources.git_32),
                new RibbonButton("View Log/History", this.gitLogCommand, null, Resources.git_16, Resources.git_32),
                new RibbonButton("Refresh", this.gitRefreshCommand, null, Resources.git_16, Resources.git_32),
                new RibbonButton("Run Git Bash", this.gitBashCommand, null, Resources.git_16, Resources.git_32),
            };
            var button = new RibbonSplitButton("Git", this.gitBashCommand, null, list, Resources.git_16, Resources.git_32);
            initData.RibbonItems.Add(button);
        }
        public void RibbonSplitButton()
        {
            RibbonControl ribbonControl = ComponentManager.Ribbon;

            /////////////////////////////////////
            // create Ribbon tab
            RibbonTab Tab = new RibbonTab()
            {
                Title = "Drawing manager",
                Id    = "DRAWINGMANAGER_TAB_ID"
            };

            ribbonControl.Tabs.Add(Tab);

            #region Panels

            /////////////////////////////////////
            // create Ribbon panel
            RibbonPanelSource xRefPanel = new RibbonPanelSource()
            {
                Title = "Xrefs"
            };
            RibbonPanel xRefPane = new RibbonPanel()
            {
                Source = xRefPanel
            };
            Tab.Panels.Add(xRefPane);

            RibbonPanelSource LayerUpdatePanel = new RibbonPanelSource()
            {
                Title = "Layer Update"
            };
            RibbonPanel LayerUpdatePane = new RibbonPanel()
            {
                Source = LayerUpdatePanel
            };
            Tab.Panels.Add(LayerUpdatePane);

            RibbonPanelSource DrawingMaintenancePanel = new RibbonPanelSource()
            {
                Title = "Drawing maintenance"
            };
            RibbonPanel DrawingMaintenancePane = new RibbonPanel()
            {
                Source = DrawingMaintenancePanel
            };
            Tab.Panels.Add(DrawingMaintenancePane);

            RibbonPanelSource ViewPanel = new RibbonPanelSource()
            {
                Title = "View"
            };
            RibbonPanel ViewPane = new RibbonPanel()
            {
                Source = ViewPanel
            };
            Tab.Panels.Add(ViewPane);

            RibbonPanelSource FunctionsPanel = new RibbonPanelSource()
            {
                Title = "Functions"
            };
            RibbonPanel FunctionsPane = new RibbonPanel()
            {
                Source = FunctionsPanel
            };
            Tab.Panels.Add(FunctionsPane);

            //////////////////////////////////////////////////
            // create the buttons listed in the split button

            #endregion

            #region xRef Buttons

            RibbonButton xrefButton1 = new RibbonButton()
            {
                Text           = "Add",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton xrefButton2 = new RibbonButton()
            {
                Text           = "Unload",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton xrefButton3 = new RibbonButton()
            {
                Text           = "Detach",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };

            #endregion

            #region Update Layers Buttons

            RibbonButton UpdateLayersThisDrawingButton = new RibbonButton()
            {
                Text           = "This drawing",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton UpdateLayersMultipleDrawingsButton = new RibbonButton()
            {
                Text           = "Multiple drawings",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton addLayerFromThisDrawingButton = new RibbonButton()
            {
                Text           = "Select layer this drawing",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton addLayerFromXrefButton = new RibbonButton()
            {
                Text           = "Select layer xref",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton editLayerConfigButton = new RibbonButton()
            {
                Text           = "Edit layer config",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };

            #endregion

            #region Drawing management buttons

            RibbonButton PurgeButton = new RibbonButton()
            {
                Text           = "Purge multiple drawings",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton ChangeAttributeValueButton = new RibbonButton()
            {
                Text           = "Change attribute value",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton GenerateAttributeListButton = new RibbonButton()
            {
                Text           = "Generate Attribute List",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };

            #endregion

            #region View Buttons

            RibbonButton TopDownButton = new RibbonButton()
            {
                Text           = "Top Down",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };
            RibbonButton AdjustCableTraysButton = new RibbonButton()
            {
                Text           = "Adjust Cable Trays",
                ShowText       = true,
                CommandHandler = new MyCmdHandler()
            };

            #endregion

            ////////////////////////
            // create split buttons
            RibbonSplitButton XrefSplitButton = new RibbonSplitButton()
            {
                // Required to avoid upsetting AutoCAD when using cmd locator
                Text     = "Xref functions",
                ShowText = true
            };
            RibbonSplitButton LayerUpdateSplitButton = new RibbonSplitButton()
            {
                Text     = "Layer Update",
                ShowText = true
            };
            RibbonLabel LayerUpdateLabel = new RibbonLabel()
            {
                Text = "Update layers in:"
            };
            RibbonRowPanel DrawingMaintenanceRowPanel = new RibbonRowPanel();
            RibbonRowPanel LayerUpdateRowPanel        = new RibbonRowPanel();

            DrawingMaintenanceRowPanel.Items.Add(PurgeButton);
            DrawingMaintenanceRowPanel.Items.Add(new RibbonRowBreak());
            DrawingMaintenanceRowPanel.Items.Add(ChangeAttributeValueButton);
            DrawingMaintenanceRowPanel.Items.Add(new RibbonRowBreak());
            DrawingMaintenanceRowPanel.Items.Add(GenerateAttributeListButton);

            XrefSplitButton.Items.Add(xrefButton1);
            XrefSplitButton.Items.Add(xrefButton2);
            XrefSplitButton.Items.Add(xrefButton3);

            LayerUpdateSplitButton.Items.Add(UpdateLayersThisDrawingButton);
            LayerUpdateSplitButton.Items.Add(UpdateLayersMultipleDrawingsButton);

            LayerUpdateRowPanel.Items.Add(LayerUpdateLabel);
            LayerUpdateRowPanel.Items.Add(LayerUpdateSplitButton);
            LayerUpdateRowPanel.Items.Add(new RibbonRowBreak());
            LayerUpdateRowPanel.Items.Add(addLayerFromThisDrawingButton);
            LayerUpdateRowPanel.Items.Add(new RibbonRowBreak());
            LayerUpdateRowPanel.Items.Add(addLayerFromXrefButton);
            LayerUpdateRowPanel.Items.Add(new RibbonRowBreak());
            LayerUpdateRowPanel.Items.Add(editLayerConfigButton);

            ViewPanel.Items.Add(TopDownButton);
            FunctionsPanel.Items.Add(AdjustCableTraysButton);

            xRefPanel.Items.Add(XrefSplitButton);
            LayerUpdatePanel.Items.Add(LayerUpdateRowPanel);
            DrawingMaintenancePanel.Items.Add(DrawingMaintenanceRowPanel);

            Tab.IsActive = true;
        }
示例#27
0
        private RibbonButton CreateButton(string name, string CommandParameter, RibbonPanelSource sourcePanel = null, RibbonSplitButton sourceButton = null, RibbonToolTip tooltip = null, string imageName = "")
        {
            var button = new RibbonButton();

            // ribbon panel source info assignment
            button.Text       = name;
            button.Id         = name;
            button.ShowImage  = true;
            button.ShowText   = true;
            button.ToolTip    = tooltip;
            button.HelpSource = new System.Uri("https://speckle.guide/user/autocadcivil.html");
            button.Size       = RibbonItemSize.Large;
            button.Image      = LoadPngImgSource(imageName + "16.png");
            button.LargeImage = LoadPngImgSource(imageName + "32.png");

            // add ribbon button pannel to the ribbon panel source
            if (sourcePanel != null)
            {
                button.Orientation      = Orientation.Vertical;
                button.CommandParameter = CommandParameter;
                button.CommandHandler   = new ButtonCommandHandler(CommandParameter);
                sourcePanel.Items.Add(button);
            }
            else if (sourceButton != null)
            {
                button.Orientation      = Orientation.Horizontal;
                button.CommandParameter = CommandParameter;
                button.CommandHandler   = new ButtonCommandHandler(CommandParameter);
                sourceButton.Items.Add(button);
            }
            return(button);
        }
示例#28
0
        /// <summary>
        /// Dựng menu ribbon của hệ thống theo user đăng nhập
        /// </summary>
        /// <param name="rbMenu">Control Menu ribbon được tham chiếu, xử lý rồi trả về</param>
        public void KhoiTaoMenu(ref Ribbon rbMenu)
        {
            try
            {
                string                   toolTip;
                ChucNangDto[]            ChucNanglst = ClientInformation.ListChucNang.Select(e => e).ToArray();
                IQueryable <ChucNangDto> sItem;
                string                   pathFolderImages = ApplicationConstant.defaultImageSource;
                // Lấy danh sách menu theo tên đăng nhập và mã đơn vị
                var sTab = ChucNanglst.Where(e => e.IDChucNangCha == 0).OrderBy(e => e.STT).ToList();
                foreach (var Tab in sTab)
                {
                    if (Tab.ThuocTinh.SplitByDelimiter("#")[2] == "RibbonApplicationMenu")
                    {   // Application menu
                        RibbonApplicationMenu ram = new RibbonApplicationMenu();
                        ram.Label = Utilities.Common.LLanguage.SearchResourceByKey(Tab.TieuDe);
                        if (!Tab.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                        {
                            toolTip = Tab.ThuocTinh.SplitByDelimiter("#")[0];
                        }
                        else
                        {
                            toolTip = Tab.TieuDe;
                        }
                        ram.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                        ram.KeyTip  = Tab.ThuocTinh.SplitByDelimiter("#")[3];
                        ram.Uid     = Tab.IDChucNang.ToString();
                        if (!Tab.BieuTuong.IsNullOrEmptyOrSpace())
                        {
                            try
                            {
                                BitmapImage bmp = new BitmapImage();
                                if (Tab.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                {
                                    bmp.BeginInit();
                                    bmp.UriSource = new Uri(pathFolderImages + Tab.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                    bmp.EndInit();
                                    // RibbonMenuItem icon always small
                                    ram.SmallImageSource = bmp;
                                }
                                else
                                {   // Lagre or Small
                                    bmp.BeginInit();
                                    bmp.UriSource = new Uri(pathFolderImages + Tab.BieuTuong, UriKind.RelativeOrAbsolute);
                                    bmp.EndInit();
                                    ram.SmallImageSource = bmp;
                                }
                            }
                            catch { }
                        }
                        var sMenu = ChucNanglst.Where(e => e.IDChucNangCha == Tab.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                        foreach (var Menu in sMenu)
                        {
                            switch (Menu.ThuocTinh.SplitByDelimiter("#")[2])
                            {
                            case "RibbonApplicationSplitMenuItem":
                                if (Menu.Quyen == 0)
                                {
                                    goto case "RibbonApplicationMenuItem";
                                }
                                var rasmi = new RibbonApplicationSplitMenuItem();
                                rasmi.Name   = "ID" + Menu.IDChucNang.ToString();
                                rasmi.Header = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                {
                                    toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                }
                                else
                                {
                                    toolTip = Menu.TieuDe;
                                }
                                rasmi.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                rasmi.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                rasmi.Uid     = Menu.IDChucNang.ToString();
                                if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                {
                                    try
                                    {
                                        BitmapImage bmp = new BitmapImage();
                                        if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                        {
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            // RibbonApplicationSplitMenuItem icon always large
                                            rasmi.ImageSource = bmp;

                                            bmp = new BitmapImage();
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            // QuickAccessToolBar icon always small
                                            rasmi.QuickAccessToolBarImageSource = bmp;
                                        }
                                        else
                                        {       // Lagre or Small
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            rasmi.ImageSource = bmp;
                                            rasmi.QuickAccessToolBarImageSource = bmp;
                                        }
                                    }
                                    catch { }
                                }
                                rasmi.Tag = Menu;
                                //rasmi.IsEnabled = Menu.Quyen > 0;
                                // Items
                                sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                                foreach (var Item in sItem)
                                {
                                    var item = new RibbonApplicationMenuItem();
                                    item.Name   = "ID" + Item.IDChucNang.ToString();
                                    item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe);
                                    if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                    {
                                        toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0];
                                    }
                                    else
                                    {
                                        toolTip = Item.TieuDe;
                                    }
                                    item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                    item.KeyTip  = Item.ThuocTinh.SplitByDelimiter("#")[3];
                                    item.Uid     = Item.IDChucNang.ToString();
                                    if (!Item.BieuTuong.IsNullOrEmptyOrSpace())
                                    {
                                        try
                                        {
                                            BitmapImage bmp = new BitmapImage();
                                            if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                            {
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                // RibbonApplicationMenuItem icon always large
                                                item.ImageSource = bmp;

                                                bmp = new BitmapImage();
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                // QuickAccessToolBar icon always small
                                                item.QuickAccessToolBarImageSource = bmp;
                                            }
                                            else
                                            {       // Lagre or Small
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                item.ImageSource = bmp;
                                                item.QuickAccessToolBarImageSource = bmp;
                                            }
                                        }
                                        catch { }
                                    }
                                    item.Tag       = Item;
                                    item.IsEnabled = Item.Quyen > 0;
                                    rasmi.Items.Add(item);
                                }
                                ram.Items.Add(rasmi);
                                break;

                            case "RibbonApplicationMenuItem":
                                var rami = new RibbonApplicationMenuItem();
                                rami.Name   = "ID" + Menu.IDChucNang.ToString();
                                rami.Header = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                {
                                    toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                }
                                else
                                {
                                    toolTip = Menu.TieuDe;
                                }
                                rami.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                rami.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                rami.Uid     = Menu.IDChucNang.ToString();
                                if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                {
                                    try
                                    {
                                        BitmapImage bmp = new BitmapImage();
                                        if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                        {
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            // RibbonApplicationMenuItem icon always large
                                            rami.ImageSource = bmp;

                                            bmp = new BitmapImage();
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            // QuickAccessToolBar icon always small
                                            rami.QuickAccessToolBarImageSource = bmp;
                                        }
                                        else
                                        {       // Lagre or Small
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            rami.ImageSource = bmp;
                                            rami.QuickAccessToolBarImageSource = bmp;
                                        }
                                    }
                                    catch { }
                                }
                                if (!Menu.ChucNang.IsNullOrEmptyOrSpace())
                                {
                                    rami.Tag = Menu;
                                }
                                //rami.IsEnabled = Menu.Quyen > 0;
                                // Items
                                sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                                foreach (var Item in sItem)
                                {
                                    var item = new RibbonApplicationMenuItem();
                                    item.Name   = "ID" + Item.IDChucNang.ToString();
                                    item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe);
                                    if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                    {
                                        toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0];
                                    }
                                    else
                                    {
                                        toolTip = Item.TieuDe;
                                    }
                                    item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                    item.KeyTip  = Item.ThuocTinh.SplitByDelimiter("#")[3];
                                    item.Uid     = Item.IDChucNang.ToString();
                                    if (!Item.BieuTuong.IsNullOrEmptyOrSpace())
                                    {
                                        try
                                        {
                                            BitmapImage bmp = new BitmapImage();
                                            if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                            {
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                // RibbonApplicationMenuItem icon always large
                                                item.ImageSource = bmp;

                                                bmp = new BitmapImage();
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                // QuickAccessToolBar icon always small
                                                item.QuickAccessToolBarImageSource = bmp;
                                            }
                                            else
                                            {       // Lagre or Small
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                item.ImageSource = bmp;
                                                item.QuickAccessToolBarImageSource = bmp;
                                            }
                                        }
                                        catch { }
                                    }
                                    item.Tag       = Item;
                                    item.IsEnabled = Item.Quyen > 0;
                                    rami.Items.Add(item);
                                }
                                ram.Items.Add(rami);
                                break;

                            default:
                                Grid grid;
                                if (ram.FooterPaneContent.IsNullOrEmpty())
                                {
                                    grid = new Grid();
                                    grid.ColumnDefinitions.Add(new ColumnDefinition());
                                    ColumnDefinition cd = new ColumnDefinition();
                                    cd.Width = GridLength.Auto;
                                    grid.ColumnDefinitions.Add(cd);
                                    ram.FooterPaneContent = grid;
                                }
                                else
                                {
                                    grid = (Grid)(ram.FooterPaneContent);
                                }

                                var rb = new RibbonButton();
                                rb.Name  = "ID" + Menu.IDChucNang.ToString();
                                rb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                {
                                    toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                }
                                else
                                {
                                    toolTip = Menu.TieuDe;
                                }
                                rb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                rb.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                rb.Uid     = Menu.IDChucNang.ToString();
                                if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                {
                                    try
                                    {
                                        BitmapImage bmp = new BitmapImage();
                                        if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                        {
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            rb.LargeImageSource = bmp;

                                            bmp = new BitmapImage();
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            rb.SmallImageSource = bmp;
                                        }
                                        else
                                        {       // Lagre or Small
                                            bmp.BeginInit();
                                            bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                            bmp.EndInit();
                                            if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large")
                                            {
                                                rb.LargeImageSource = bmp;
                                            }
                                            else
                                            {
                                                rb.SmallImageSource = bmp;
                                            }
                                        }
                                    }
                                    catch { }
                                }
                                rb.Tag       = Menu;
                                rb.IsEnabled = Menu.Quyen > 0;
                                grid.Children.Add(rb);
                                Grid.SetColumn(rb, 1);
                                break;
                            }
                        }
                        rbMenu.ApplicationMenu = ram;
                    }
                    else
                    {   // Tabs
                        RibbonTab tab     = new RibbonTab();
                        Type      rthType = new RibbonTabHeader().GetType();
                        tab.Header = Utilities.Common.LLanguage.SearchResourceByKey(Tab.TieuDe);
                        if (!Tab.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                        {
                            toolTip = Tab.ThuocTinh.SplitByDelimiter("#")[0];
                        }
                        else
                        {
                            toolTip = Tab.TieuDe;
                        }
                        tab.ToolTip     = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                        tab.HeaderStyle = new Style(rthType);
                        tab.HeaderStyle.Setters.Add(new Setter(RibbonWindow.ToolTipProperty, tab.ToolTip));
                        tab.IsEnabled = Tab.Quyen > 0;
                        tab.Uid       = Tab.IDChucNang.ToString();
                        // Groups
                        var sGroup = ChucNanglst.Where(e => e.IDChucNangCha == Tab.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                        foreach (var Group in sGroup)
                        {
                            RibbonGroup group = new RibbonGroup();
                            group.Header    = Utilities.Common.LLanguage.SearchResourceByKey(Group.TieuDe);
                            group.IsEnabled = Group.Quyen > 0;
                            // Buttons
                            var sMenu = ChucNanglst.Where(e => e.IDChucNangCha == Group.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                            foreach (var Menu in sMenu)
                            {
                                switch (Menu.ThuocTinh.SplitByDelimiter("#")[2])
                                {
                                case "RibbonSplitButton":
                                    if (Menu.Quyen == 0)
                                    {
                                        goto case "RibbonMenuButton";
                                    }
                                    var rsb = new RibbonSplitButton();
                                    rsb.Name  = "ID" + Menu.IDChucNang.ToString();
                                    rsb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                    if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                    {
                                        toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                    }
                                    else
                                    {
                                        toolTip = Menu.TieuDe;
                                    }
                                    rsb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                    rsb.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                    rsb.Uid     = Menu.IDChucNang.ToString();
                                    if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                    {
                                        try
                                        {
                                            BitmapImage bmp = new BitmapImage();
                                            if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                            {
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rsb.LargeImageSource = bmp;

                                                bmp = new BitmapImage();
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rsb.SmallImageSource = bmp;
                                            }
                                            else
                                            {       // Lagre or Small
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large")
                                                {
                                                    rsb.LargeImageSource = bmp;
                                                }
                                                else
                                                {
                                                    rsb.SmallImageSource = bmp;
                                                }
                                            }
                                        }
                                        catch { }
                                    }
                                    rsb.Tag = Menu;
                                    //rsb.IsEnabled = Menu.Quyen > 0;
                                    // Items
                                    sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                                    foreach (var Item in sItem)
                                    {
                                        var item = new RibbonMenuItem();
                                        item.Name   = "ID" + Item.IDChucNang.ToString();
                                        item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe);
                                        if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                        {
                                            toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0];
                                        }
                                        else
                                        {
                                            toolTip = Item.TieuDe;
                                        }
                                        item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                        item.KeyTip  = Item.ThuocTinh.SplitByDelimiter("#")[3];
                                        item.Uid     = Item.IDChucNang.ToString();
                                        if (!Item.BieuTuong.IsNullOrEmptyOrSpace())
                                        {
                                            try
                                            {
                                                BitmapImage bmp = new BitmapImage();
                                                if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                                {
                                                    bmp.BeginInit();
                                                    bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                    bmp.EndInit();
                                                    // RibbonMenuItem icon always small
                                                    item.ImageSource = bmp;
                                                    // QuickAccessToolBar icon always small
                                                    item.QuickAccessToolBarImageSource = bmp;
                                                }
                                                else
                                                {       // Lagre or Small
                                                    bmp.BeginInit();
                                                    bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute);
                                                    bmp.EndInit();
                                                    item.ImageSource = bmp;
                                                    item.QuickAccessToolBarImageSource = bmp;
                                                }
                                            }
                                            catch { }
                                        }
                                        item.Tag       = Item;
                                        item.IsEnabled = Item.Quyen > 0;
                                        rsb.Items.Add(item);
                                    }
                                    group.Items.Add(rsb);
                                    break;

                                case "RibbonMenuButton":
                                    var rmb = new RibbonMenuButton();
                                    rmb.Name  = "ID" + Menu.IDChucNang.ToString();
                                    rmb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                    if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                    {
                                        toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                    }
                                    else
                                    {
                                        toolTip = Menu.TieuDe;
                                    }
                                    rmb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                    rmb.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                    rmb.Uid     = Menu.IDChucNang.ToString();
                                    if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                    {
                                        try
                                        {
                                            BitmapImage bmp = new BitmapImage();
                                            if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                            {
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rmb.LargeImageSource = bmp;

                                                bmp = new BitmapImage();
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rmb.SmallImageSource = bmp;
                                            }
                                            else
                                            {       // Lagre or Small
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large")
                                                {
                                                    rmb.LargeImageSource = bmp;
                                                }
                                                else
                                                {
                                                    rmb.SmallImageSource = bmp;
                                                }
                                            }
                                        }
                                        catch { }
                                    }
                                    //rmb.IsEnabled = Menu.Quyen > 0;
                                    // Items
                                    sItem = ChucNanglst.Where(e => e.IDChucNangCha == Menu.IDChucNang).OrderBy(e => e.STT).AsQueryable();
                                    foreach (var Item in sItem)
                                    {
                                        var item = new RibbonMenuItem();
                                        item.Name   = "ID" + Item.IDChucNang.ToString();
                                        item.Header = Utilities.Common.LLanguage.SearchResourceByKey(Item.TieuDe);
                                        if (!Item.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                        {
                                            toolTip = Item.ThuocTinh.SplitByDelimiter("#")[0];
                                        }
                                        else
                                        {
                                            toolTip = Item.TieuDe;
                                        }
                                        item.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                        item.KeyTip  = Item.ThuocTinh.SplitByDelimiter("#")[3];
                                        item.Uid     = Item.IDChucNang.ToString();
                                        if (!Item.BieuTuong.IsNullOrEmptyOrSpace())
                                        {
                                            try
                                            {
                                                BitmapImage bmp = new BitmapImage();
                                                if (Item.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                                {
                                                    bmp.BeginInit();
                                                    bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                    bmp.EndInit();
                                                    // RibbonMenuItem icon always small
                                                    item.ImageSource = bmp;
                                                    // QuickAccessToolBar icon always small
                                                    item.QuickAccessToolBarImageSource = bmp;
                                                }
                                                else
                                                {       // Lagre or Small
                                                    bmp.BeginInit();
                                                    bmp.UriSource = new Uri(pathFolderImages + Item.BieuTuong, UriKind.RelativeOrAbsolute);
                                                    bmp.EndInit();
                                                    item.ImageSource = bmp;
                                                    item.QuickAccessToolBarImageSource = bmp;
                                                }
                                            }
                                            catch { }
                                        }
                                        item.Tag       = Item;
                                        item.IsEnabled = Item.Quyen > 0;
                                        rmb.Items.Add(item);
                                    }
                                    group.Items.Add(rmb);
                                    break;

                                default:
                                    var rb = new RibbonButton();
                                    rb.Name  = "ID" + Menu.IDChucNang.ToString();
                                    rb.Label = Utilities.Common.LLanguage.SearchResourceByKey(Menu.TieuDe);
                                    if (!Menu.ThuocTinh.SplitByDelimiter("#")[0].IsNullOrEmptyOrSpace())
                                    {
                                        toolTip = Menu.ThuocTinh.SplitByDelimiter("#")[0];
                                    }
                                    else
                                    {
                                        toolTip = Menu.TieuDe;
                                    }
                                    rb.ToolTip = Utilities.Common.LLanguage.SearchResourceByKey(toolTip);
                                    rb.KeyTip  = Menu.ThuocTinh.SplitByDelimiter("#")[3];
                                    rb.Uid     = Menu.IDChucNang.ToString();
                                    if (!Menu.BieuTuong.IsNullOrEmptyOrSpace())
                                    {
                                        try
                                        {
                                            BitmapImage bmp = new BitmapImage();
                                            if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Both")
                                            {
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[0], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rb.LargeImageSource = bmp;

                                                bmp = new BitmapImage();
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong.SplitByDelimiter("#")[1], UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                rb.SmallImageSource = bmp;
                                            }
                                            else
                                            {       // Lagre or Small
                                                bmp.BeginInit();
                                                bmp.UriSource = new Uri(pathFolderImages + Menu.BieuTuong, UriKind.RelativeOrAbsolute);
                                                bmp.EndInit();
                                                if (Menu.ThuocTinh.SplitByDelimiter("#")[1] == "Large")
                                                {
                                                    rb.LargeImageSource = bmp;
                                                }
                                                else
                                                {
                                                    rb.SmallImageSource = bmp;
                                                }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                                        }
                                    }
                                    rb.Tag       = Menu;
                                    rb.IsEnabled = Menu.Quyen > 0;
                                    group.Items.Add(rb);
                                    break;
                                }
                            }
                            tab.Items.Add(group);
                        }
                        rbMenu.Items.Add(tab);
                    }
                }
            }
            catch (Exception ex)
            {
                // Ghi log Exception
                LLogging.WriteLog(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), LLogging.LogType.ERR, ex);
            }
        }
示例#29
0
        private static void AddBlocksPanel()
        {
            var blocksPnl = Geo7ToolsTab.AddPanel(AcConsts.Blocks);

            // Insert Point
            var blockAddButton = new RibbonSplitButton();

            blockAddButton.ShowText = false;
            blockAddButton.Size     = RibbonItemSize.Large;
            blockAddButton.Text     = "Insert Point"; //Required not to crash AutoCAD when using cmd locators

            var insertPointCommands = DwgLib.GetInsertPointCommands(Ac.Geo7Dwg);

            foreach (var cmd in insertPointCommands)
            {
                blockAddButton.Items.AddButton(cmd);
            }


            blocksPnl.Items.Add(blockAddButton);

            // Import / Export
            var blocksInOutRow = new RibbonRowPanel();

            blocksInOutRow.Items.AddButton(new ImportBlocksCommand());
            blocksInOutRow.Items.AddRowBreak();
            blocksInOutRow.Items.AddButton(new ExportBlocksCommand());
            blocksInOutRow.Items.AddRowBreak();
            blocksInOutRow.Items.AddButton(new ExportTextsCommand());

            blocksPnl.Items.Add(blocksInOutRow);

            // Block Settings
            var blocksSettingsRow = new RibbonRowPanel();

            blocksSettingsRow.Items.AddButton(new BlockSettingsCommand());
            blocksSettingsRow.Items.AddRowBreak();
            blocksSettingsRow.Items.AddButton(new FindBlockCommand());
            blocksSettingsRow.Items.AddRowBreak();

            blocksPnl.Items.Add(blocksSettingsRow);

            //var blocksFindRow = new RibbonRowPanel();
            //blocksFindRow.Items.Add(new RibbonTextBox());
            //blocksFindRow.Items.Add(new RibbonButton());
            //blocksFindRow.Items.Add(new RibbonButton());
            //blocksFindRow.Items.AddRowBreak();

            //var findResults = new RibbonGallery();
            //findResults.DisplayMode = GalleryDisplayMode.Window;
            //findResults.Size = RibbonItemSize.Standard;
            //findResults.ShowImage = false;


            //var b1 = new RibbonButton();
            //b1.Size = RibbonItemSize.Standard;
            //b1.ShowImage = false;
            //b1.Text = "aaaa";
            //b1.Orientation = Orientation.Horizontal;

            //var b2 = new RibbonButton();
            //b2.Size = RibbonItemSize.Standard;
            //b2.Text = "2222";
            //b1.ShowImage = false;
            //b2.Orientation = Orientation.Horizontal;


            //findResults.MenuItems.Add(b1);
            //findResults.MenuItems.Add(b2);
            //findResults.MenuItems.Add(b1);
            //findResults.MenuItems.Add(b2);
            //findResults.Items.Add(b1);

            //blocksFindRow.Items.AddButton("Block Settings", null, null);
        }
示例#30
0
        public void Fill()
        {
            if (_data.Rows.Count == 0)
            {
                return;
            }

            //Obtenemos un DataView filtrando todos o que tengan el tipo Tab
            //entonces el campo MenuTipoID debe ser igual a 1
            DataView dvHijos = new DataView(_data);

            dvHijos.RowFilter = "MenuTipoID=1";

            foreach (DataRowView drvHijos in dvHijos)
            {
                RibbonTab   rbTab;
                RibbonGroup rbGroup = new RibbonGroup();

                // Creamos el Tab
                rbTab = _objRibbon.Tabs.Add(drvHijos["NomMenu"].ToString().Trim());

                DataView dvGroups = new DataView(_data);
                dvGroups.RowFilter = "MenuPadreID=" + drvHijos["MenuID"].ToString().Trim();
                dvGroups.Sort      = "MenuCodigo ASC";
                foreach (DataRowView drvGroupItem in dvGroups)
                {
                    // Creamos el Grupo
                    rbGroup = rbTab.Groups.Add(drvGroupItem["NomMenu"].ToString().Trim());

                    // Busquemos sus botones para agregar
                    DataView dvItems = new DataView(_data);
                    dvItems.RowFilter = "MenuPadreID=" + drvGroupItem["MenuID"].ToString().Trim();
                    dvItems.Sort      = "MenuCodigo ASC";
                    foreach (DataRowView drvItem in dvItems)
                    {
                        if (Convert.ToInt32(drvItem["MenuTipoID"]) == 2)
                        {
                            // Creamos el Boton
                            RibbonButton rbutton;
                            rbutton         = new RibbonButton();
                            rbutton.Text    = drvItem["NomMenu"].ToString().Trim();
                            rbutton.ToolTip = drvItem["NomMenu"].ToString().Trim();
                            rbutton.ID      = drvItem["MenuCodigo"].ToString().Trim() + ";" + drvItem["Ensamblado"].ToString().Trim() + ";" + drvItem["Clase"].ToString().Trim();

                            // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                            // ResourceImage de la base de datos
                            if (drvItem["Imagen"].ToString().Trim() != "")
                            {
                                rbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvItem["Imagen"].ToString().Trim());
                                if (Convert.ToBoolean(drvItem["LargeImage"]) == true)
                                {
                                    rbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                }
                                else
                                {
                                    rbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                }
                            }
                            rbutton.Tag = drvItem["ModoCargaVentana"].ToString().Trim();

                            rbGroup.Items.Add(rbutton);
                            // Asignamos el evento para saber cuando pulsamos el boton
                            rbutton.Click += new EventHandler(rbutton_Click);
                        }
                        else if (Convert.ToInt32(drvItem["MenuTipoID"]) == 3)
                        {
                            // Creamos los Separadores
                            RibbonSeparator rbSep = new RibbonSeparator();
                            rbSep.ID = drvItem["MenuCodigo"].ToString().Trim();
                            rbGroup.Items.Add(rbSep);
                        }
                        //agregado para ver el split
                        else if (Convert.ToInt32(drvItem["MenuTipoID"]) == 5)
                        {
                            // Creamos el SplitBoton
                            RibbonSplitButton Splitrbutton;
                            Splitrbutton         = new RibbonSplitButton();
                            Splitrbutton.Text    = drvItem["NomMenu"].ToString().Trim();
                            Splitrbutton.ToolTip = drvItem["NomMenu"].ToString().Trim();

                            // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                            // ResourceImage de la base de datos
                            if (drvItem["Imagen"].ToString().Trim() != "")
                            {
                                Splitrbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvItem["Imagen"].ToString().Trim());
                                if (Convert.ToBoolean(drvItem["LargeImage"]) == true)
                                {
                                    Splitrbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                }
                                else
                                {
                                    Splitrbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                }
                            }

                            //agregado  para que el split tenga botenes hijos
                            DataView dvSplitHijos = new DataView(_data);
                            dvSplitHijos.RowFilter = "MenuPadreID=" + drvItem["MenuID"].ToString().Trim();
                            foreach (DataRowView drvSplit in dvSplitHijos)
                            {
                                if (Convert.ToInt32(drvSplit["MenuTipoID"]) == 2 && drvSplit["MenuCodigo"].ToString().Length == 10)
                                {
                                    // Creamos el Boton
                                    RibbonButton rbutton;
                                    rbutton         = new RibbonButton();
                                    rbutton.Text    = drvSplit["NomMenu"].ToString().Trim();
                                    rbutton.ToolTip = drvSplit["NomMenu"].ToString().Trim();
                                    rbutton.ID      = drvSplit["MenuCodigo"].ToString().Trim() + ";" + drvSplit["Ensamblado"].ToString().Trim() + ";" + drvSplit["Clase"].ToString().Trim();

                                    // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                                    // ResourceImage de la base de datos
                                    if (drvSplit["Imagen"].ToString().Trim() != "")
                                    {
                                        rbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvSplit["Imagen"].ToString().Trim());
                                        if (Convert.ToBoolean(drvSplit["LargeImage"]) == true)
                                        {
                                            rbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                        }
                                        else
                                        {
                                            rbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                        }
                                    }
                                    rbutton.Tag = drvSplit["ModoCargaVentana"].ToString().Trim();

                                    Splitrbutton.Items.Add(rbutton);
                                    // Asignamos el evento para saber cuando pulsamos el boton
                                    rbutton.Click += new EventHandler(rbutton_Click);
                                }
                            }
                            rbGroup.Items.Add(Splitrbutton);
                        }
                    }
                }
            }

            // poniendo el foco en el primer tab creado
            _objRibbon.Tabs[0].Selected = true;
        }
示例#31
0
 public static void SplitButtonUpdateLabel(RibbonSplitButton rbnSplitButton, string strText)
 {
     rbnSplitButton.Label = strText;
 }