Example #1
0
        public SharedParametersMain(UIControlledApplication uIControlledApplication)
        {
            string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;

            RibbonPanel sharedParametersPanel = RibbonPanelSetting.ribbonPanel(uIControlledApplication, "Shared Parameters");

            PulldownButtonData loadParameterData = new PulldownButtonData("LoadParameters", "Load Parameters");
            RibbonItem         loadParameterItem = sharedParametersPanel.AddItem(loadParameterData);
            PulldownButton     loadOptionButton  = loadParameterItem as PulldownButton;

            // Icon made by Smartline from www.flaticon.com
            loadOptionButton.ToolTip    = "To add multiple shared parameters to multiple categories within a project or family.";
            loadOptionButton.LargeImage = RibbonPanelSetting.GetEmbeddedImage("RevitHandyTools.Resources.add_img_32x32.png");

            // Load to project
            PushButtonData loadToProjectPushButtonData = new PushButtonData("LoadToProject", "Load to project", thisAssemblyPath, "RevitHandyTools.SharedParameters.LoadToProjectCommand");

            loadToProjectPushButtonData.LargeImage = RibbonPanelSetting.GetEmbeddedImage("RevitHandyTools.Resources.add_img_32x32.png");
            loadToProjectPushButtonData.ToolTip    = String.Format(
                "{0}{1}", "Add multiple shared parameters to multiple categories within a project.\n", "This feature is only available in a project for project template");
            loadToProjectPushButtonData.AvailabilityClassName = "RevitHandyTools.AvailableInProjectDocument";

            // Load to family
            PushButtonData loadToFamilyPushButtonData = new PushButtonData("LoadToFamily", "Load to family", thisAssemblyPath, "RevitHandyTools.SharedParameters.LoadToFamilyCommand");

            loadToFamilyPushButtonData.LargeImage = RibbonPanelSetting.GetEmbeddedImage("RevitHandyTools.Resources.add_img_32x32.png");
            loadToFamilyPushButtonData.ToolTip    = String.Format(
                "{0}{1}", "Add multiple shared parameters to multiple categories within a family.\n", "This feature is only available in a family");
            loadToFamilyPushButtonData.AvailabilityClassName = "RevitHandyTools.AvailableInFamilyDocument";

            // Add buttons
            loadOptionButton.AddPushButton(loadToProjectPushButtonData);
            loadOptionButton.AddSeparator();
            loadOptionButton.AddPushButton(loadToFamilyPushButtonData);
        }
Example #2
0
        public Result OnStartup(UIControlledApplication a)
        {
            m_MyFormClearInstance = null;
            m_MyFormLineStyles    = null;
            m_MyFormLinePatterns  = null; // no dialog needed yet; the command will bring it
            thisApp = this;               // static access to this application instance

            string fullPath   = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string folderPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            string myRibbon = "AECOM";

            a.CreateRibbonTab(myRibbon);

            RibbonPanel panelA = a.CreateRibbonPanel(myRibbon, "AECOM Tools");

            //Pull Down Button
            PulldownButtonData pullDownData = new PulldownButtonData("General Tools", "General Tools");

            pullDownData.Image      = new BitmapImage(new Uri(Path.Combine(folderPath, "tools_16.png"), UriKind.Absolute));
            pullDownData.LargeImage = new BitmapImage(new Uri(Path.Combine(folderPath, "tools_32.png"), UriKind.Absolute));

            PulldownButton pullDownButton = panelA.AddItem(pullDownData) as PulldownButton;

            PushButton btnClearInstancesPullDown   = pullDownButton.AddPushButton(new PushButtonData("ClearDWG", "Clear imported DWG", fullPath, "GeneralTools.CommandClearInstances"));
            PushButton btnDeleteLineStyles         = pullDownButton.AddPushButton(new PushButtonData("Line Styles", "Line Styles Descr", fullPath, "GeneralTools.CommandLineStyles"));
            PushButton btnRenameLineStylesPullDown = pullDownButton.AddPushButton(new PushButtonData("Line Patterns", "Rename Line Styles", fullPath, "GeneralTools.CommandLinePatterns"));

            return(Result.Succeeded);
        }
Example #3
0
        Stream(ArrayList data, RibbonItem ribbonItem)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(RibbonItem)));

            data.Add(new Snoop.Data.Bool("Enabled", ribbonItem.Enabled));
            data.Add(new Snoop.Data.String("Item text", ribbonItem.ItemText));
            data.Add(new Snoop.Data.String("Item type", ribbonItem.ItemType.ToString()));
            data.Add(new Snoop.Data.String("Tool tip", ribbonItem.ToolTip));

            PulldownButton pullDownBtn = ribbonItem as PulldownButton;

            if (pullDownBtn != null)
            {
                Stream(data, pullDownBtn);
                return;
            }

            PushButton pushBtn = ribbonItem as PushButton;

            if (pushBtn != null)
            {
                Stream(data, pushBtn);
                return;
            }

            //RibbonMenuItem ribMenuItem = ribbonItem as RibbonMenuItem;
            //if (ribMenuItem != null) {
            //    Stream(data, ribMenuItem);
            //    return;
            //}
        }
 internal static void AddPullDownButton(PulldownButton pulldown, LinkedScript script, LinkedScriptAssembly lsa)
 {
     if (pulldown.AddPushButton(NewScriptButton(script, lsa.FilePath)) is PushButton pushButton)
     {
         // do stuff with button?
     }
 }
Example #5
0
        void AddPushButton(string assName,
                           string name,
                           string title,
                           string className,
                           string description,
                           string longDescription,
                           ImageSource image,
                           PulldownButton pulldownButton)
        {
            try
            {
                string path = Path.Combine(addin.DirectoryName, assName);

                PushButtonData buttonData = new PushButtonData(
                    name,
                    title,
                    path,
                    className)
                {
                    ToolTip         = description,
                    LongDescription = longDescription,
                    LargeImage      = image,
                    Image           = image
                };
                PushButton button = pulldownButton.AddPushButton(buttonData);

                //button.SetContextualHelp(help);
                button.Enabled = true;
            }
            catch (Exception ex)
            {
                TaskDialog.Show("ERROR", string.Format("Error creating button for the tool: {0}\n{1}", title, ex.ToString()));
                return;
            }
        }
Example #6
0
        private void CreateRibbonPanel(UIControlledApplication application)
        {
            string resourceDir   = CommonUtils.Utils.GetResourceDir();
            string buttonIcons32 = Path.Combine(resourceDir, CommonUtils.DefineUtils.ICONS_32_DIR);
            string buttonIcons16 = Path.Combine(resourceDir, CommonUtils.DefineUtils.ICONS_16_DIR);

            // Create a custom ribbon tab
            application.CreateRibbonTab(Define.RevitToolRibbonTab);

            #region About

            string assembly = @"C:\ProgramData\Autodesk\Revit\Addins\2019\OpeningCombiler" + @"\OpeningTools.dll";

            // Add Combine ribbon panel
            RibbonPanel combineRibbonPanel = application.CreateRibbonPanel(Define.RevitToolRibbonTab, Define.CombinePanel);
            assembly = @"C:\ProgramData\Autodesk\Revit\Addins\2019\OpeningCombiler" + @"\CommonOpeningTools.dll";

            // create pull down button for Combine opening
            PulldownButtonData combineDownButton = new PulldownButtonData("Combine Opening", "Combine \nOpening");
            PulldownButton     groupCombine      = combineRibbonPanel.AddItem(combineDownButton) as PulldownButton;
            combineDownButton.LargeImage = new BitmapImage(new Uri(Path.Combine(buttonIcons32, "Combine_Opening32x32.png"), UriKind.Absolute));
            combineDownButton.Image      = new BitmapImage(new Uri(Path.Combine(buttonIcons16, "Combine_Opening16X16.png"), UriKind.Absolute));
            groupCombine.LargeImage      = new BitmapImage(new Uri(Path.Combine(buttonIcons32, "Combine_Opening32x32.png"), UriKind.Absolute));
            groupCombine.Image           = new BitmapImage(new Uri(Path.Combine(buttonIcons16, "Combine_Opening16X16.png"), UriKind.Absolute));

            // add button for synchronize
            PushButtonData synchronoursButtonData = new PushButtonData("Synchronous", "Synchronous", assembly, "CommonTools.OpeningClient.Synchronize.Commandata");
            PushButton     synchronoursBtn        = groupCombine.AddPushButton(synchronoursButtonData) as PushButton;
            synchronoursBtn.LargeImage = new BitmapImage(new Uri(Path.Combine(buttonIcons32, "Combine_Opening_Synchronous32x32.png"), UriKind.Absolute));
            synchronoursBtn.Image      = new BitmapImage(new Uri(Path.Combine(buttonIcons16, "Combine_Opening_Synchronous16x16.png"), UriKind.Absolute));
            synchronoursBtn.ToolTip    = "Synchronous";

            #endregion About
        }
        /// <summary>
        /// Pulldown button for "Command Data", "DB Element" and "Element Filtering"
        /// </summary>
        public void AddPulldownButton(RibbonPanel panel)
        {
            // Create three push buttons for pulldown button drop down

            // #1
            PushButtonData pushButtonData1 = new PushButtonData("PulldownCommandData", "Command Data", _introLabPath, _introLabName + ".CommandData");

            pushButtonData1.LargeImage = NewBitmapImage("Basics.ico");

            // #2
            PushButtonData pushButtonData2 = new PushButtonData("PulldownDbElement", "DB Element", _introLabPath, _introLabName + ".DBElement");

            pushButtonData2.LargeImage = NewBitmapImage("Basics.ico");

            // #3
            PushButtonData pushButtonData3 = new PushButtonData("PulldownElementFiltering", "Filtering", _introLabPath, _introLabName + ".ElementFiltering");

            pushButtonData3.LargeImage = NewBitmapImage("Basics.ico");

            // Make a pulldown button now
            PulldownButtonData pulldownBtnData = new PulldownButtonData("PulldownButton", "Pulldown");
            PulldownButton     pulldownBtn     = panel.AddItem(pulldownBtnData) as PulldownButton;

            pulldownBtn.AddPushButton(pushButtonData1);
            pulldownBtn.AddPushButton(pushButtonData2);
            pulldownBtn.AddPushButton(pushButtonData3);
        }
Example #8
0
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            UIApplication      app    = commandData.Application;
            List <RibbonPanel> panels = app.GetRibbonPanels();

            foreach (RibbonPanel panel in panels)
            {
                Debug.Print(panel.Name);
                IList <RibbonItem> items = panel.GetItems();
                foreach (RibbonItem item in items)
                {
                    RibbonItemType t = item.ItemType;
                    if (RibbonItemType.PushButton == t)
                    {
                        PushButton b = item as PushButton;
                        Debug.Print("  {0} : {1}", item.ItemText, b.Name);
                    }
                    else
                    {
                        Debug.Assert(RibbonItemType.PulldownButton == t, "expected pulldown button");
                        PulldownButton b = item as PulldownButton;
                        Debug.Print("  {0} : {1}", item.ItemText, b.Name);
                        foreach (RibbonItem item2 in b.GetItems())
                        {
                            Debug.Assert(RibbonItemType.PushButton == item2.ItemType, "expected push button in pulldown menu");
                            Debug.Print("    {0} : {1}", item2.ItemText, ((PushButton)item2).Name);
                        }
                    }
                }
            }
            return(Result.Failed);
        }
Example #9
0
        private void AddMenu(UIControlledApplication app)
        {
            //菜单栏
            RibbonPanel        rvtRibbonPanel = app.CreateRibbonPanel("Revit Lookup");
            PulldownButtonData data           = new PulldownButtonData("Options", "Revit Lookup");
            RibbonItem         item           = rvtRibbonPanel.AddItem(data);

            //下拉框
            PulldownButton optionsBtn = item as PulldownButton;

            // Add Icons to main RevitLookup Menu
            optionsBtn.Image      = GetEmbeddedImage("RevitLookup.Resources.RLookup-16.png");
            optionsBtn.LargeImage = GetEmbeddedImage("RevitLookup.Resources.RLookup-32.png");
            //去掉HelloWorld的命令
            //optionsBtn.AddPushButton(new PushButtonData("HelloWorld", "Hello World...", ExecutingAssemblyPath, "RevitLookup.HelloWorld"));
            optionsBtn.AddPushButton(new PushButtonData("查看数据库...", "查看数据库...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopDb"));
            optionsBtn.AddPushButton(new PushButtonData("查看当前选择...", "查看当前选择...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopModScope"));
            optionsBtn.AddPushButton(new PushButtonData("查看活动视图...", "查看活动视图...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopActiveView"));
            optionsBtn.AddPushButton(new PushButtonData("查看应用...", "查看应用...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopApp"));
            optionsBtn.AddPushButton(new PushButtonData("按ID查看...", "按ID查看...", ExecutingAssemblyPath, "RevitLookup.CmdSearchBy"));
            //optionsBtn.AddPushButton(new PushButtonData("Test Framework...", "Test Framework...", ExecutingAssemblyPath, "RevitLookup.CmdTestShell"));

            var pushbutton = rvtRibbonPanel.AddItem(new PushButtonData("快速查看", "快速查看", ExecutingAssemblyPath, "RevitLookup.CmdSnoopModScope")) as PushButton;

            pushbutton.Image      = GetEmbeddedImage("RevitLookup.Resources.RLookup-16.png");
            pushbutton.LargeImage = GetEmbeddedImage("RevitLookup.Resources.RLookup-32.png");

            var pushbuttonSearch = rvtRibbonPanel.AddItem(new PushButtonData("按ID查看", "按ID查看", ExecutingAssemblyPath, "RevitLookup.CmdSearchBy")) as PushButton;

            pushbuttonSearch.Image      = GetEmbeddedImage("RevitLookup.Resources.RLookup-16.png");
            pushbuttonSearch.LargeImage = GetEmbeddedImage("RevitLookup.Resources.RLookup-32.png");
        }
Example #10
0
        public Result OnStartup(UIControlledApplication uic_app)
        {
            // get existing SOM Ribbon Tab
            var panels = uic_app.GetRibbonPanels("SOM Tools");

            if (null == panels)
            {
                uic_app.CreateRibbonTab("SOM Tools");
            }
            // get or create panel
            RibbonPanel panel = panels.Where(x => x.Name == "SOM-NY").FirstOrDefault();

            if (null == panel)
            {
                panel = uic_app.CreateRibbonPanel("SOM Tools", "SOM NY");
            }

            // pull down button
            PulldownButtonData pdBtnData  = new PulldownButtonData("SOMNY_Utils", "UTILITIES");
            RibbonItem         ribbonItem = panel.AddItem(pdBtnData);
            PulldownButton     pdBtn      = ribbonItem as PulldownButton;

            // get assembly
            string ExecutingAssemblyPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string ExecutingAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;

            string ExecutingAssemblyDirectory = Path.GetDirectoryName(ExecutingAssemblyPath);


            // add items
            pdBtn.AddPushButton(new PushButtonData("RenumberAreasByPickSeq", "Re-Number Areas By Pick Order", Path.Combine(ExecutingAssemblyDirectory, "RenumberAreasByPickSeq.dll"), "RenumberAreasByPickSeq.Cmd_PickAreasBySeq"));

            return(Result.Succeeded);
        }
Example #11
0
        Stream(ArrayList data, PulldownButton pullDownBt)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(PulldownButton)));

            data.Add(new Snoop.Data.Object("Image", pullDownBt.Image));
            data.Add(new Snoop.Data.Enumerable("Items", pullDownBt.GetItems()));
            data.Add(new Snoop.Data.String("Name", pullDownBt.Name));
        }
Example #12
0
        public static void SetPushDownButton(PulldownButton group, PushButtonData pushButtonData, string toolTip, string uri)
        {
            PushButton pushButton = group.AddPushButton(pushButtonData) as PushButton;

            pushButton.ToolTip = toolTip;
            BitmapImage bitmapImage = new BitmapImage(new Uri(uri));

            pushButton.LargeImage = bitmapImage;
        }
        private void AddMenu(UIControlledApplication app)
        {
            RibbonPanel        ribbonPanel = app.CreateRibbonPanel("Revit Family Utilities");
            PulldownButtonData data        = new PulldownButtonData("Options", "Revit Family Utilities");

            RibbonItem     item = ribbonPanel.AddItem(data);
            PulldownButton opt  = item as PulldownButton;

            opt.AddPushButton(new PushButtonData("File Upgrade", "File Upgrade", ExecutingAssemblyPath, "FamilyUtilities.FileUpgrade"));
            opt.AddPushButton(new PushButtonData("Parameter Manager", "Parameter Manager", ExecutingAssemblyPath, "FamilyUtilities.ParameterManager"));
        }
        /// <summary>
        /// Stacked Buttons - combination of: push button, dropdown button, combo box and text box.
        /// (no radio button group, split buttons).
        /// Here we define 6 buttons, make grouping of 1, 3, 2 items, and stack them in three layer:
        /// (1) simple push button with "Hello World"
        /// (2) pull down with 3 items: "Command Data", "DB Element" and "Element Filtering".
        /// (3) pull down with 2 items: "Element Modification" and "Model Creation"
        /// </summary>
        public void AddStackedButtons_Complex(RibbonPanel panel)
        {
            // Create six push buttons to group for pull down and stack up

            // #0
            PushButtonData pushButtonData0 = new PushButtonData("StackComplexHelloWorld", "Hello World", _introLabPath, _introLabName + ".HelloWorld");

            pushButtonData0.Image = NewBitmapImage("Basics.ico");

            // #1
            PushButtonData pushButtonData1 = new PushButtonData("StackComplexCommandData", "Command Data", _introLabPath, _introLabName + ".CommandData");

            pushButtonData1.Image = NewBitmapImage("Basics.ico");

            // #2
            PushButtonData pushButtonData2 = new PushButtonData("StackComplexDbElement", "DB Element", _introLabPath, _introLabName + ".DBElement");

            // #3
            PushButtonData pushButtonData3 = new PushButtonData("StackComplexElementFiltering", "Filtering", _introLabPath, _introLabName + ".ElementFiltering");

            // #4
            PushButtonData pushButtonData4 = new PushButtonData("StackComplexElementModification", "Modify", _introLabPath, _introLabName + ".ElementModification");

            // #5
            PushButtonData pushButtonData5 = new PushButtonData("StackComplexModelCreation", "Create", _introLabPath, _introLabName + ".ModelCreation");

            // Make two sets of pull down

            PulldownButtonData pulldownBtnData1 = new PulldownButtonData("StackComplePulldownButton1", "DB Basics");
            PulldownButtonData pulldownBtnData2 = new PulldownButtonData("StackComplePulldownButton2", "Modeling");

            // Create three item stack.
            IList <RibbonItem> stackedItems = panel.AddStackedItems(pushButtonData0, pulldownBtnData1, pulldownBtnData2);
            PulldownButton     pulldownBtn2 = stackedItems[1] as PulldownButton;
            PulldownButton     pulldownBtn3 = stackedItems[2] as PulldownButton;

            pulldownBtn2.Image = NewBitmapImage("Basics.ico");
            pulldownBtn3.Image = NewBitmapImage("House.ico");

            // Add each sub items
            PushButton button1 = pulldownBtn2.AddPushButton(pushButtonData1);
            PushButton button2 = pulldownBtn2.AddPushButton(pushButtonData2);
            PushButton button3 = pulldownBtn2.AddPushButton(pushButtonData3);
            PushButton button4 = pulldownBtn3.AddPushButton(pushButtonData4);
            PushButton button5 = pulldownBtn3.AddPushButton(pushButtonData5);

            // Note: we need to set the image later. if we do in button data, it won't show in the Ribbon.
            button1.Image = NewBitmapImage("Basics.ico");
            button2.Image = NewBitmapImage("Basics.ico");
            button3.Image = NewBitmapImage("Basics.ico");
            button4.Image = NewBitmapImage("Basics.ico");

            button5.Image = NewBitmapImage("Basics.ico");
        }
Example #15
0
        /// <summary>
        /// 附加按钮
        /// </summary>
        /// <param name="b1"></param>
        /// <param name="plugins"></param>
        private static void AppendPullButton(PulldownButton b1, List <IFangCommand> plugins)
        {
            foreach (var plugin in plugins)
            {
                PushButtonData data = new PushButtonData(plugin.AlaisName, plugin.AlaisName, plugin.GetType().Assembly.Location, plugin.ModelName);
                PushButton     ps   = b1.AddPushButton(data);

                ps.LargeImage = plugin.ImageURI;
                ps.Image      = plugin.ImageURI;
                ps.SetShortCut(plugin.ShortCutKey);
            }
        }
Example #16
0
        internal static void AddPushButton(this PulldownButton pullDownButton, Type commandType, string text, string tooltip = default(string), Type availability = null)
        {
            // Create a push button to trigger a command and add it to the pull down button.
            var thisAssembly = Assembly.GetExecutingAssembly();
            var buttonData   = new PushButtonData("cmdRhinoInside." + commandType.Name, text, thisAssembly.Location, commandType.FullName);

            if (pullDownButton.AddPushButton(buttonData) is PushButton pushButton)
            {
                pushButton.ToolTip = tooltip;
                pushButton.AvailabilityClassName = availability?.FullName ?? string.Empty;
            }
        }
Example #17
0
 /// <summary>
 /// Add samples to corresponding pulldown button
 /// </summary>
 /// <param name="buttons">pulldown buttons</param>
 private void AddSamplesToStackedButtons(IList <RibbonItem> buttons)
 {
     foreach (RibbonItem rItem in buttons)
     {
         PulldownButton    button      = rItem as PulldownButton;
         List <SampleItem> sampleItems = m_customizedMenus.Values[m_customizedMenus.IndexOfKey(button.Name)];
         foreach (SampleItem item in sampleItems)
         {
             AddSampleToPulldownMenu(button, item);
         }
     }
 }
Example #18
0
        private void AddMenu(UIControlledApplication app)
        {
            // get the ribbon tab
            try
            {
                app.CreateRibbonTab(RIBBON_TAB);
            }
            catch (Exception) { } // tab already exists

            // get or create panel
            RibbonPanel        panel  = null;
            List <RibbonPanel> panels = app.GetRibbonPanels(RIBBON_TAB);

            foreach (RibbonPanel pnl in panels)
            {
                if (pnl.Name == RIBBON_PANEL)
                {
                    panel = pnl;
                    break;
                }
            }

            // couldn find the panel
            if (panel == null)
            {
                panel = app.CreateRibbonPanel(RIBBON_TAB, RIBBON_PANEL);
            }

            PulldownButtonData data       = new PulldownButtonData("Options", RIBBON_PANEL);
            RibbonItem         item       = panel.AddItem(data);
            PulldownButton     optionsBtn = item as PulldownButton;

            // get the image for the button
            Image       img    = Properties.Resources.location32x32;
            ImageSource imgSrc = GetImageSources(img);

            // create button data

            PushButtonData btnData = new PushButtonData(
                "CursorCoord", "Cursor" + "\n" + "Coordinates", ExecutingAssemblyPath,
                "Coord.Revit.RibbonButton.Command")
            {
                ToolTip         = "Click to save the cursor coordinates",
                LongDescription = "This button makes you save the coordinates of the cursor while you hover over the screen.",
                Image           = imgSrc,
                LargeImage      = imgSrc
            };
            // add the button to the ribbon
            PushButton button = panel.AddItem(btnData) as PushButton;

            button.Enabled = true;
        }
Example #19
0
        static void AddRibbonPanel(UIControlledApplication application)
        {
            // Create a custom ribbon panel
            String tabName = "Archilizer";
            String version = "1.0.1";

            try
            {
                application.CreateRibbonTab(tabName);
            }
            catch (Exception)
            {
            }
            RibbonPanel ribbonPanel = application.CreateRibbonPanel(tabName, "Purge +");

            // Get dll assembly path
            string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;

            PushButtonData delBackupsBtn = CreatePushButton("Delete Backups", "1. Delete Backups", thisAssemblyPath, "Archilizer_Purge.CommandDeleteBackups",
                                                            "Deletes those pesky .00??.rvt files.", "purge.png", "purge_small.png");

            PushButtonData dwgBtn = CreatePushButton("Imported DWG Files", "2. Imported DWG Files", thisAssemblyPath, "Archilizer_Purge.PurgeImportedDWG",
                                                     "Purges imported (but not linked) DWG files in the current project.", "purge.png", "purge_small.png");

            PushButtonData dwgLinesBtn = CreatePushButton("DWG Line Patterns", "3. DWG Line Patterns", thisAssemblyPath, "Archilizer_Purge.PurgeImportedLinePatterns",
                                                          "Purges line patterns brought by imported DWG files.", "purge.png", "purge_small.png");

            PushButtonData viewsBtn = CreatePushButton("Views not on Sheets", "4. Views not on Sheets", thisAssemblyPath, "Archilizer_Purge.CommandViewsNotOnSheets",
                                                       "Purges Views not placed on Sheets. Use at your own risk!", "purge.png", "purge_small.png");

            PushButtonData vtemplateBtn = CreatePushButton("Unused View Templates", "5. Unused View Templates", thisAssemblyPath, "Archilizer_Purge.PurgeUnusedTemplates",
                                                           "Purges Unused View Templates.", "purge.png", "purge_small.png");

            PushButtonData filtersBtn = CreatePushButton("Unused Filters", "6. Unused Filters", thisAssemblyPath, "Archilizer_Purge.PurgeFilters",
                                                         "Purges Unused Filters (Filters that have never been assigned to a View or a View Template).", "purge.png", "purge_small.png");

            PulldownButtonData pd1 = new PulldownButtonData("purgeButton", "Purge");

            pd1.ToolTip = String.Format("v{0}", version);
            BitmapImage pdImage = new BitmapImage(new Uri(String.Format("pack://application:,,,/Archilizer_Purge;component/Resources/{0}", "purge.png")));

            pd1.LargeImage = pdImage;
            pd1.Image      = pdImage;
            PulldownButton pd = ribbonPanel.AddItem(pd1) as PulldownButton;

            pd.AddPushButton(delBackupsBtn);
            pd.AddPushButton(dwgBtn);
            pd.AddPushButton(dwgLinesBtn);
            pd.AddPushButton(viewsBtn);
            pd.AddPushButton(vtemplateBtn);
            pd.AddPushButton(filtersBtn);
        }
        public override void BuildPanelButtons()
        {
            PushButtonMaker buttonMaker = new PushButtonMaker(new Info());

            buttonMaker.BuildPushButtonData();
            PushButtonData buttonData = buttonMaker.GetPushButtonData();
            PushButton     button     = Panel.AddItem(buttonData) as PushButton;

            #region Visual
            PulldownButtonData visualPulldownButtonData = new PulldownButtonData("Visual", "Visual");
            visualPulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/visibility.png");
            PulldownButton visualPulldownButton = Panel.AddItem(visualPulldownButtonData) as PulldownButton;


            #endregion

            PulldownButtonData selectionPulldownButtonData = new PulldownButtonData("Selection", "Selection");
            selectionPulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/hands-and-gestures.png");
            PulldownButton selectionPulldownButton = Panel.AddItem(selectionPulldownButtonData) as PulldownButton;

            #region Parameters
            PulldownButtonData parametersPulldownButtonData = new PulldownButtonData("Parameters", "Parameters");
            parametersPulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/controls.png");
            PulldownButton parametersPulldownButton = Panel.AddItem(parametersPulldownButtonData) as PulldownButton;

            buttonMaker = new PushButtonMaker(new ShowParameterEditor());
            buttonMaker.BuildPushButtonData();
            buttonData = buttonMaker.GetPushButtonData();
            button     = parametersPulldownButton.AddPushButton(buttonData) as PushButton;

            #endregion

            PulldownButtonData viewsPulldownButtonData = new PulldownButtonData("Views", "Views");
            viewsPulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/crop.png");
            PulldownButton viewsPulldownButton = Panel.AddItem(viewsPulldownButtonData) as PulldownButton;


            PulldownButtonData worksharingPulldownButtonData = new PulldownButtonData("Worksharing", "Worksharing");
            worksharingPulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/network.png");
            PulldownButton worksharingPulldownButton = Panel.AddItem(worksharingPulldownButtonData) as PulldownButton;


            PulldownButtonData analyzePulldownButtonData = new PulldownButtonData("Analyze", "Analyze");
            analyzePulldownButtonData.LargeImage =
                AssemblyResourceUtils.GetImageFromResource("Commands/Images/Large/blue/analytics.png");
            PulldownButton analyzePulldownButton = Panel.AddItem(analyzePulldownButtonData) as PulldownButton;
        }
Example #21
0
        private void CreatePythonCommandButtonsOnRibbon()
        {
            Dictionary <string, PulldownButton> pulldownButtons = GetDictionaryWithPulldownButtons();

            foreach (var commandSetting in _settingsInterpreter.PythonCommandSettings)
            {
                PushButtonData dynamicCommandPushButton =
                    CreatePythonPushButtonDataFromSetting(commandSetting);

                PulldownButton parentPulldownButton = pulldownButtons[commandSetting.ParentButton];
                parentPulldownButton.AddPushButton(dynamicCommandPushButton);
            }
        }
        /// <summary>
        /// Add buttons for the commands we define in this labs.
        /// Here we stack three push buttons and repeat it as we get more.
        /// </summary>
        public void AddUILabsCommandButtons(RibbonPanel panel)
        {
            // Get the location of this dll.
            string assembly = GetType().Assembly.Location;

            // Create three push buttons to stack up
            // #1
            PushButtonData pushButtonData1 = new PushButtonData("UILabsSelection", "Pick Sampler", assembly, _uiLabName + ".UISelection");

            pushButtonData1.Image = NewBitmapImage("basics.ico");

            // #2
            PushButtonData pushButtonData2 = new PushButtonData("UILabsCreateHouse", "Create House Pick", assembly, _uiLabName + ".UICreateHouse");

            pushButtonData2.Image = NewBitmapImage("House.ico");

            // #3
            PushButtonData pushButtonData3 = new PushButtonData("UILabsTaskDialog", "Dialog Sampler", assembly, _uiLabName + ".UITaskDialog");

            pushButtonData3.Image = NewBitmapImage("basics.ico");

            // #4
            PushButtonData pushButtonData4 = new PushButtonData("UILabsCreateHouseDialog", "Create House Dialog", assembly, _uiLabName + ".UICreateHouseDialog");

            pushButtonData4.Image = NewBitmapImage("House.ico");

            // #5
            // Make three sets of pull down
            PulldownButtonData pulldownBtnData1 = new PulldownButtonData("UILabsPulldownButton1", "Selection");
            PulldownButtonData pulldownBtnData2 = new PulldownButtonData("UILabsPulldownButton2", "Task Dialog");

            // Create three item stack.
            IList <RibbonItem> stackedItems = panel.AddStackedItems(pulldownBtnData1, pulldownBtnData2);
            PulldownButton     pulldownBtn1 = stackedItems[0] as PulldownButton;
            PulldownButton     pulldownBtn2 = stackedItems[1] as PulldownButton;

            pulldownBtn1.Image = NewBitmapImage("Basics.ico");
            pulldownBtn2.Image = NewBitmapImage("Basics.ico");

            // Add each sub items
            PushButton button1 = pulldownBtn1.AddPushButton(pushButtonData1);
            PushButton button2 = pulldownBtn1.AddPushButton(pushButtonData2);
            PushButton button3 = pulldownBtn2.AddPushButton(pushButtonData3);
            PushButton button4 = pulldownBtn2.AddPushButton(pushButtonData4);

            // Note: we need to set the image later. if we do in button data, it won't show in the Ribbon.
            button1.Image = NewBitmapImage("Basics.ico");
            button2.Image = NewBitmapImage("Basics.ico");
            button3.Image = NewBitmapImage("Basics.ico");
            button4.Image = NewBitmapImage("Basics.ico");
        }
        internal static PushButton AddPushButton <CommandType, AvailabilityType>(PulldownButton pullDownButton, string text, string tooltip)
            where CommandType : IExternalCommand
            where AvailabilityType : IExternalCommandAvailability
        {
            var buttonData = NewPushButtonData <CommandType, AvailabilityType>(text);

            if (pullDownButton.AddPushButton(buttonData) is PushButton pushButton)
            {
                pushButton.ToolTip = tooltip;
                return(pushButton);
            }

            return(null);
        }
Example #24
0
        public void PullDown(RibbonPanel panel)
        {
            //creates a Push button for the get selection command
            PushButtonData bgetselect = new PushButtonData("getselec", "Get Selection", assemblyloca, "Application.getSelection");
            //creates a Push button for the get Collection command
            PushButtonData bgetCollect = new PushButtonData("getcoll", "Get Collection", assemblyloca, "Application.getCollection");
            //creates a pull down menu
            PulldownButtonData pdb1 = new PulldownButtonData("WallsSelection", "Wall Selector");
            //assigns the pulldown menu to our panel
            PulldownButton pdb = panel.AddItem(pdb1) as PulldownButton;

            //adds the buttons above to the pulldown menu
            pdb.AddPushButton(bgetselect);
            pdb.AddPushButton(bgetCollect);
        }
Example #25
0
        private void AddMenu(UIControlledApplication app)
        {
            RibbonPanel rvtRibbonPanel = app.CreateRibbonPanel(name);

#if Pulldown
            PulldownButton btn = rvtRibbonPanel.AddItem(new PulldownButtonData("Options", "Revit to XObject")) as PulldownButton;

            btn.AddPushButton(new PushButtonData("HelloWorld", "Hello World...", location, "RevitToXObject.Command"));
#else
            PushButton btn = rvtRibbonPanel.AddItem(new PushButtonData("Revit To XObject", "Revit to XObject", location, "RevitToXObject.Command")) as PushButton;
#endif
            btn.Image               = GetEmbeddedImage("RevitToXObject.Resources.XObject_16.png");
            btn.LargeImage          = GetEmbeddedImage("RevitToXObject.Resources.XObject_32.png");
            UIControlledApplication = app;
        }
Example #26
0
        private void AddMenu(UIControlledApplication app)
        {
            Autodesk.Revit.UI.RibbonPanel rvtRibbonPanel = app.CreateRibbonPanel("Revit Lookup");
            PulldownButtonData            data           = new PulldownButtonData("Options", "Revit Lookup");

            RibbonItem     item       = rvtRibbonPanel.AddItem(data);
            PulldownButton optionsBtn = item as PulldownButton;

            optionsBtn.AddPushButton(new PushButtonData("HelloWorld", "Hello World...", ExecutingAssemblyPath, "RevitLookup.HelloWorld"));
            optionsBtn.AddPushButton(new PushButtonData("Snoop Db..", "Snoop DB...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopDb"));
            optionsBtn.AddPushButton(new PushButtonData("Snoop Current Selection...", "Snoop Current Selection...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopModScope"));
            optionsBtn.AddPushButton(new PushButtonData("Snoop Application...", "Snoop Application...", ExecutingAssemblyPath, "RevitLookup.CmdSnoopApp"));
            optionsBtn.AddPushButton(new PushButtonData("Test Framework...", "Test Framework...", ExecutingAssemblyPath, "RevitLookup.CmdTestShell"));
            optionsBtn.AddPushButton(new PushButtonData("Events...", "Events...", ExecutingAssemblyPath, "RevitLookup.CmdEvents"));
        }
Example #27
0
        private void CreateVisibilitySwitcherCommandsOnRibbonAsSlideOut()
        {
            _ribbonPanel.AddSlideOut();
            PulldownButtonData pdbd =
                new PulldownButtonData("VisibiitySwitcher", "VisibiitySwitcher");
            PulldownButton pulldownButton = _ribbonPanel.AddItem(pdbd) as PulldownButton;

            foreach (var commandSetting in _settingsInterpreter.VisibilitySwitcherCommandSettings)
            {
                PushButtonData dynamicCommandPushButton =
                    CreateVisibilitySwitcherPushButtonDataFromSetting(commandSetting);
                dynamicCommandPushButton.ToolTip = commandSetting.VisibilityNameRegex;

                pulldownButton.AddPushButton(dynamicCommandPushButton);
            }
        }
Example #28
0
        //设置PulldownButton类型的介绍信息
        public void SetPulldownButtonAttribute(ref RibbonPanel ribbon, string assembly, string className, PulldownButtonData pdb, string largeImageuri, string toolTip, string longDescription)
        {
            PushButtonData p1 = new PushButtonData("Pillar1", "圆柱", assembly, className);
            PushButtonData p2 = new PushButtonData("Pillar2", "方柱", assembly, className);

            SetCommonAttribute(ref p1, @"D:\workfile\Bridge\Img\Pillar1.png", "圆柱", "圆柱");
            SetCommonAttribute(ref p2, @"D:\workfile\Bridge\Img\Pillar1.png", "方柱", "方柱");
            pdb.LargeImage      = new BitmapImage(new Uri(largeImageuri));
            pdb.ToolTip         = toolTip;
            pdb.LongDescription = longDescription;
            PulldownButton pulldown = ribbon.AddItem(pdb) as PulldownButton;

            //在PulldownButton中添加PushButton
            pulldown.AddPushButton(p1);
            pulldown.AddPushButton(p2);
        }
Example #29
0
        public Result OnStartup(UIControlledApplication application)
        {
            try
            {
                RibbonPanel ribbonPanel      = application.CreateRibbonPanel("Tools");
                string      thisAssemblyPath = Assembly.GetExecutingAssembly().Location;

                //Pulldownbutton
                PulldownButtonData group1Data = new PulldownButtonData("pullDownButton1", "Room number");
                PulldownButton     group1     = ribbonPanel.AddItem(group1Data) as PulldownButton;

                //Button (Change selected rooms number)
                PushButtonData pushButtonData1 = new PushButtonData("pushButtonData1", "Changes room number", thisAssemblyPath, "FinalniZadatak._1.zadatak.ChangeRoomNumber");
                string         uri1            = "pack://application:,,,/FinalniZadatak;component/Resources/changeRoomNum.png";
                string         tooltip1        = "Changes number of selected rooms from list of all rooms in model";
                SetPushDownButton(group1, pushButtonData1, tooltip1, uri1);

                // Button ( Change all rooms numbers in model)
                PushButtonData pushButtonData2 = new PushButtonData("pushButtonData2", "Changes rooms numbers", thisAssemblyPath, "FinalniZadatak._1.zadatak.AutoChangeRoomsNumbers");
                string         uri2            = "pack://application:,,,/FinalniZadatak;component/Resources/changeRoomsNums.png";
                string         tooltip2        = "Changes numbers of all rooms in model automatically";
                SetPushDownButton(group1, pushButtonData2, tooltip2, uri2);

                group1.LargeImage = new BitmapImage(new Uri(uri1));


                //Button (List of furniture)
                PushButtonData pushButtonData3 = new PushButtonData("pushButtonData3", "Furniture", thisAssemblyPath, "FinalniZadatak._2.zadatak.Furniture");
                string         uri3            = "pack://application:,,,/FinalniZadatak;component/Resources/furnitureList.png";
                string         tooltip3        = "Show all parameters of furniture in active view sorted by type";
                SetPushButton(ribbonPanel, pushButtonData3, tooltip3, uri3);


                //Button (Change element parameter)
                PushButtonData pushButtonData4 = new PushButtonData("pushButtonData4", "Parameters", thisAssemblyPath, "FinalniZadatak._3.zadatak.ChangeElParam");
                string         uri4            = "pack://application:,,,/FinalniZadatak;component/Resources/changeElemParam.png";
                string         tooltip4        = "Allows user to select one element from model and change element parameter with string storage type and if parameter is not read-only.";
                tooltip4 += "This command will change same parameter to all elements in model with same type as selected element";
                SetPushButton(ribbonPanel, pushButtonData4, tooltip4, uri4);
            }
            catch (Exception ex)
            {
                TaskDialog.Show("Excepton", ex.Message);
            }

            return(Result.Succeeded);
        }
Example #30
0
        public Result OnStartup(UIControlledApplication application)
        {
            application.CreateRibbonTab("UCD场地工具");
            RibbonPanel panel1 = application.CreateRibbonPanel("UCD场地工具", "欢迎页");

            PushButtonData pbd = new PushButtonData("UCD场地工具", "欢迎使用", @"D:\Studay\CSharp\Work\Revit\HelloRevit\bin\Debug\HelloRevit.dll", "HelloRevit.Class1");
            PushButton     pb  = panel1.AddItem(pbd) as PushButton;

            RibbonPanel     panel2    = application.CreateRibbonPanel("UCD场地工具", "工具");
            SplitButtonData splitData = new SplitButtonData("我的集合", "创建工具");
            SplitButton     sb        = panel2.AddItem(splitData) as SplitButton;

            PushButtonData spd = new PushButtonData("UCD场地工具", "创建", @"D:\Studay\CSharp\Work\Revit\Create2\bin\Debug\Create2.dll", "Create2.CreateBox")
            {
                LargeImage = new BitmapImage(new Uri(@"D:\Studay\CSharp\Work\Revit\Ribbon1\img\sign_road.png"))
            };

            sb.AddPushButton(spd);
            panel2.AddSeparator();

            PulldownButtonData pdbd    = new PulldownButtonData("UCD场地工具", "检查");
            PushButtonData     pushbtn = new PushButtonData("UCD场地工具", "碰撞检查", @"D:\Studay\CSharp\Work\Revit\Collision\bin\Debug\Collision.dll", "Collision.Class1");
            PulldownButton     btn     = panel2.AddItem(pushbtn) as PulldownButton;

            btn.LongDescription = "检查当前物体是否碰撞";
            btn.AddPushButton(pushbtn);

            RibbonPanel  panel3 = application.CreateRibbonPanel("UCD场地工具", "文件");
            ComboBoxData cbd    = new ComboBoxData("选项");
            ComboBox     cBox   = panel3.AddItem(cbd) as ComboBox;

            if (cBox != null)
            {
                cBox.ItemText        = "选择操作";
                cBox.ToolTip         = "请选择想要进行的操作";
                cBox.LongDescription = "选择一直接关闭,选择二关闭并修改";
                ComboBoxMemberData cbmd  = new ComboBoxMemberData("A", "关闭");
                ComboBoxMemberData cbmd2 = new ComboBoxMemberData("B", "关闭并修改");
                cbmd.GroupName = "编辑操作";
                cBox.AddItem(cbmd);
                cBox.AddItem(cbmd2);
            }

            cBox.CurrentChanged += Change;
            cBox.CurrentChanged += Closed;
            return(Result.Succeeded);
        }
Example #31
0
        /// <summary>
        /// Add sample item to pulldown menu
        /// </summary>
        /// <param name="pullDownButton">Pulldown menu</param>
        /// <param name="item">Sample item to be added</param>
        private void AddSampleToPulldownMenu(PulldownButton pullDownButton, SampleItem item)
        {
            PushButtonData pushButtonData = new PushButtonData(item.DisplayName, item.DisplayName, item.Assembly, item.ClassName);
            PushButton pushButton = pullDownButton.AddPushButton(pushButtonData);
            if (!string.IsNullOrEmpty(item.LargeImage))
            {
                BitmapImage largeImageSource = new BitmapImage(new Uri(item.LargeImage, UriKind.Absolute));
                pushButton.LargeImage = largeImageSource;
            }
            if (!string.IsNullOrEmpty(item.Image))
            {
                BitmapImage imageSource = new BitmapImage(new Uri(item.Image, UriKind.Absolute));
                pushButton.Image = imageSource;
            }

            pushButton.ToolTip = item.Description;
        }
        private void Stream(ArrayList data, PulldownButton pullDownBt)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(PulldownButton)));

             data.Add(new Snoop.Data.Object("Image", pullDownBt.Image));
             data.Add(new Snoop.Data.Enumerable("Items", pullDownBt.GetItems()));
             data.Add(new Snoop.Data.String("Name", pullDownBt.Name));
        }