コード例 #1
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = this;
     data.InitialState     = new DockablePaneState {
         DockPosition = DockPosition.Bottom
     };
 }
コード例 #2
0
        private System.IO.TextWriter m_textWriter;  //Used to re-route any standard IO to the WPF UI.


        #endregion

        /// <summary>
        /// Called by Revit to initialize dockable pane settings set in DockingSetupDialog.
        /// </summary>
        /// <param name="data"></param>
        public void SetupDockablePane(Autodesk.Revit.UI.DockablePaneProviderData data)
        {
            data.FrameworkElement = this as FrameworkElement;
            DockablePaneProviderData d = new DockablePaneProviderData();


            data.InitialState = new Autodesk.Revit.UI.DockablePaneState();
            data.InitialState.DockPosition = m_position;
            DockablePaneId targetPane;

            if (m_targetGuid == Guid.Empty)
            {
                targetPane = null;
            }
            else
            {
                targetPane = new DockablePaneId(m_targetGuid);
            }
            if (m_position == DockPosition.Tabbed)
            {
                data.InitialState.TabBehind = targetPane;
            }


            if (m_position == DockPosition.Floating)
            {
                data.InitialState.SetFloatingRectangle(new Autodesk.Revit.UI.Rectangle(m_left, m_top, m_right, m_bottom));
            }

            Log.Message("***Intial docking parameters***");
            Log.Message(APIUtility.GetDockStateSummary(data.InitialState));
        }
コード例 #3
0
        /// <summary>
        /// Registers Communicator Dockable Panel.
        /// </summary>
        /// <param name="application">UIControlledApp</param>
        public static void RegisterCommunicator(UIControlledApplication application)
        {
            var view = new CommunicatorView();

            AppCommand.CommunicatorWindow = view;

            var unused = new DockablePaneProviderData
            {
                FrameworkElement = AppCommand.CommunicatorWindow,
                InitialState     = new DockablePaneState
                {
                    DockPosition = DockPosition.Tabbed,
                    TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser
                }
            };

            var dpid = new DockablePaneId(new Guid(Properties.Resources.CommunicatorGuid));

            try
            {
                // (Konrad) It's possible that a dockable panel with the same id already exists
                // This ensures that we don't get an exception here.
                application.RegisterDockablePane(dpid, "Mission Control", AppCommand.CommunicatorWindow);
            }
            catch (Exception e)
            {
                Log.AppendLog(LogMessageType.EXCEPTION, e.Message);
            }
        }
コード例 #4
0
        public Result OnStartup(UIControlledApplication a)
        {
            try
            {
                // The Shared uiApp variable
                uiApp    = a;
                _thisApp = this;

                // Register the dockable pane
                if (MainDock == null)
                {
                    MainDock = new form_MainDock();
                    DockData = new DockablePaneProviderData
                    {
                        FrameworkElement = MainDock,
                        InitialState     = new DockablePaneState
                        {
                            DockPosition = DockPosition.Right
                        }
                    };
                }
                uiApp.RegisterDockablePane(GlobalHelper.MainDockablePaneId, GlobalHelper.MainPanelName(), MainDock as IDockablePaneProvider);

                // Detect when a new model is in focus
                a.ViewActivated += OnViewActivated;

                // Add the Ribbon Panel!!
                AddRibbonPanel(a);

                // Return Success
                return(Result.Succeeded);
            }
            catch { return(Result.Failed); }
        }
コード例 #5
0
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            DockablePaneProviderData data = new DockablePaneProviderData();
            MainPage MainDockableWindow   = new MainPage();

            m_MyDockableWindow = MainDockableWindow;
            //MainDockableWindow.SetupDockablePane(me);
            data.FrameworkElement          = MainDockableWindow as System.Windows.FrameworkElement;
            data.InitialState              = new DockablePaneState();
            data.InitialState.DockPosition = DockPosition.Tabbed;
            //DockablePaneId targetPane;
            //if (m_targetGuid == Guid.Empty)
            //    targetPane = null;
            //else targetPane = new DockablePaneId(m_targetGuid);
            //if (m_position == DockPosition.Tabbed)
            data.InitialState.TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser;
            DockablePaneId dpid = new DockablePaneId(new Guid("{D7C963CE-B7CA-426A-8D51-6E8254D21157}"));

            commandData.Application.RegisterDockablePane(dpid, "AEC Dockable Window", MainDockableWindow as IDockablePaneProvider);
            commandData.Application.ViewActivated += new EventHandler <ViewActivatedEventArgs>(Application_ViewActivated);
            return(Result.Succeeded);
        }
コード例 #6
0
ファイル: MpFaceOptions.xaml.cs プロジェクト: sunjini/eZRvt
 /// <summary>
 /// 此函数由uiApp.RegisterDockablePane时自动被调用。
 /// </summary>
 /// <param name="data"> 通过给此 data 实例的属性赋值,来确定要注册的 DockablePane 的样式 </param>
 void IDockablePaneProvider.SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = (FrameworkElement)this;
     data.InitialState     = new DockablePaneState();
     data.InitialState.SetFloatingRectangle(new Rectangle(100, 100, 200, 200));
     data.InitialState.DockPosition = DockPosition.Floating;
 }
コード例 #7
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument    uidoc = uiapp.ActiveUIDocument;

            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;

            DockablePaneProviderData dpData = new DockablePaneProviderData();
            DockPanel browser = new DockPanel();

            dpData.FrameworkElement = browser as System.Windows.FrameworkElement;

            List <RibbonPanel> ribbon = uiapp.GetRibbonPanels();

            foreach (var item in ribbon)
            {
                TaskDialog.Show("ribbon", item.ToString());
            }

            //FilteredElementCollector col
            //  = new FilteredElementCollector(doc)
            //    .WhereElementIsNotElementType()
            //    .OfCategory(BuiltInCategory.INVALID)
            //    .OfClass(typeof(Wall));

            return(Result.Succeeded);
        }
コード例 #8
0
        private MainPage RegisterDockableWindow(UIControlledApplication application)
        {
            #region Register DockableDialog
            DockablePaneProviderData data = new DockablePaneProviderData();

            MainPage MainDockableWindow = new MainPage();

            m_MyDockableWindow = MainDockableWindow;

            //MainDockableWindow.SetupDockablePane(me);

            data.FrameworkElement = MainDockableWindow as System.Windows.FrameworkElement;
            data.InitialState     = new DockablePaneState();

            data.InitialState.DockPosition = DockPosition.Tabbed;


            data.InitialState.TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser;

            DockablePaneId dpid = new DockablePaneId(new Guid("{4f3caa71-44fa-4329-9c9c-687956834eac}"));

            application.RegisterDockablePane(dpid, "NFPA 130 Simulator", MainDockableWindow as IDockablePaneProvider);


            return(MainDockableWindow);

            #endregion
        }
コード例 #9
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement          = this;
     data.InitialState              = new DockablePaneState();
     data.InitialState.DockPosition = DockPosition.Left;
     data.InitialState.TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser;
 }
コード例 #10
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement          = this as FrameworkElement;
     data.InitialState              = new DockablePaneState();
     data.InitialState.DockPosition = DockPosition.Floating;
     data.InitialState.SetFloatingRectangle(new Autodesk.Revit.DB.Rectangle(100, 100, 300, 500));
 }
コード例 #11
0
        public static void RegisterPalette(UIControlledApplication app)
        {
            var view = new PaletteMainView()
            {
                DataContext = new PaletteViewModel(EventInstance.Instance.EventAggregator)
            };

            App.PaletteWindow = view;
            var unused = new DockablePaneProviderData
            {
                FrameworkElement = App.PaletteWindow,
                InitialState     = new DockablePaneState
                {
                    DockPosition = DockPosition.Tabbed,
                    TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser
                }
            };
            var dpid = new DockablePaneId(new Guid(Properties.Resources.PaletteGuid));

            try
            {
                // It's possible that a dockable panel with the same id already exists
                // This ensures that we don't get an exception here.
                app.RegisterDockablePane(dpid, "Home", App.PaletteWindow);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
コード例 #12
0
ファイル: Form.xaml.cs プロジェクト: mokhtarawwad/Csharp
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement          = this as FrameworkElement;
     data.InitialState              = new DockablePaneState();
     data.InitialState.MinimumWidth = 20;
     data.InitialState.DockPosition = DockPosition.Right;
     data.VisibleByDefault          = true;
 }
コード例 #13
0
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            data.FrameworkElement = this as FrameworkElement;
            DockablePaneProviderData d = new DockablePaneProviderData();

            data.InitialState = new Autodesk.Revit.UI.DockablePaneState();
            data.InitialState.DockPosition = Autodesk.Revit.UI.DockPosition.Tabbed;
        }
コード例 #14
0
        /// <summary>
        /// IDockablePaneProvider Implementation
        /// </summary>
        /// <param name="data"></param>
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            data.FrameworkElement = this;
            DockablePaneProviderData d = new DockablePaneProviderData();

            data.InitialState = new DockablePaneState();
            data.InitialState.DockPosition = DockPosition.Right;
        }
コード例 #15
0
 /// <summary>
 /// Set Presets for DockablePane
 /// </summary>
 /// <param name="data"></param>
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = this as FrameworkElement;
     data.InitialState     = new DockablePaneState();
     //Set DockablePane Window as Tab in Properties Palette
     data.InitialState.DockPosition = DockPosition.Tabbed;
     data.InitialState.TabBehind    = DockablePanes.BuiltInDockablePanes.PropertiesPalette;
 }
コード例 #16
0
ファイル: DockExtensions.cs プロジェクト: Redbolts/R14Tests
    public static void RegisterDockablePane(this UIControlledApplication application,
        Guid id, string title,FrameworkElement dockElement, DockablePaneState state )
    {
        var dPid = new DockablePaneId(id);

        var dataProvider = new DockablePaneProviderData {FrameworkElement = dockElement,InitialState = state};
        IDockablePaneProvider provider = new DockPageProvider(dataProvider);
        application.RegisterDockablePane(dPid, title, provider);
    }
コード例 #17
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement          = this as FrameworkElement;
     data.InitialState              = new DockablePaneState();
     data.InitialState.MinimumWidth = 300;
     data.VisibleByDefault          = true;
     data.InitialState.DockPosition = DockPosition.Tabbed;
     data.InitialState.TabBehind    = Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.ProjectBrowser;
 }
コード例 #18
0
        /// <summary>
        /// Setups the dockable pane.
        /// </summary>
        /// <param name="data">The data.</param>
        /// <exception cref="NotImplementedException"></exception>
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            data.FrameworkElement = this as FrameworkElement;

            // Define initial pane position in Revit ui.
            data.InitialState = new DockablePaneState
            {
                DockPosition = DockPosition.Right,
            };
        }
コード例 #19
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = this;
     data.VisibleByDefault = true;
     data.InitialState     = new DockablePaneState
     {
         DockPosition = DockPosition.Tabbed,
         TabBehind    = DockablePanes.BuiltInDockablePanes.PropertiesPalette
     };
 }
コード例 #20
0
ファイル: App.cs プロジェクト: songohu30/DockPanelButton
        private void RegisterDockPanel(UIControlledApplication app)
        {
            DockablePaneProviderData data          = new DockablePaneProviderData();
            DockPanelPage            dockPanelPage = new DockPanelPage();

            dockPanelPage.SetupDockablePane(data);
            DockablePaneId dpid = new DockablePaneId(new Guid("{C38746CB-C632-4C88-9556-4DAEDB1A6E97}"));

            app.RegisterDockablePane(dpid, "MyDockPanel", dockPanelPage as IDockablePaneProvider);
        }
コード例 #21
0
 // IDockablePaneProvider abstrat method
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     // wpf object with pane's interface
     data.FrameworkElement = this as FrameworkElement;
     // initial state position
     data.InitialState = new DockablePaneState
     {
         DockPosition = DockPosition.Tabbed,
         TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser
     };
 }
コード例 #22
0
 /// <summary>
 /// Method to set initial dock panel state
 /// </summary>
 /// <param name="data"></param>
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     // WPF window as dockable pane
     data.FrameworkElement = this as FrameworkElement;
     // Set initial state
     data.InitialState = new DockablePaneState
     {
         DockPosition = DockPosition.Tabbed,
         TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser
     };
 }
コード例 #23
0
        /// <summary>
        /// IDockablePaneProvider interface method
        /// </summary>
        /// <param name="data"></param>
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            data.FrameworkElement = this as FrameworkElement;

            //Set visibility to false so that dockablePane is not shown on launch
            //data.VisibleByDefault = false;

            data.InitialState = new DockablePaneState
            {
                DockPosition = DockPosition.Right
            };
        }
コード例 #24
0
    public static void RegisterDockablePane(this UIControlledApplication application,
                                            Guid id, string title, FrameworkElement dockElement, DockablePaneState state)
    {
        var dPid = new DockablePaneId(id);

        var dataProvider = new DockablePaneProviderData {
            FrameworkElement = dockElement, InitialState = state
        };
        IDockablePaneProvider provider = new DockPageProvider(dataProvider);

        application.RegisterDockablePane(dPid, title, provider);
    }
コード例 #25
0
        /// <summary>
        /// Method that is executed when Command is fired
        /// </summary>
        /// <param name="uiapp"></param>
        /// <returns></returns>
        public Result Execute(UIApplication uiapp)
        {
            this.MainDockableWindow = new MainPage();
            DockablePaneProviderData data = new DockablePaneProviderData();

            dpid = new DockablePaneId(new Guid("{D7C963CE-B7CA-426A-8D51-6E8254D21157}"));

            MainDockableWindow.SetupDockablePane(data);
            uiapp.RegisterDockablePane(dpid, "SampleTool-Revisions", this.MainDockableWindow as IDockablePaneProvider);

            Registered = true;
            return(Result.Succeeded);
        }
コード例 #26
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     try
     {
         data.FrameworkElement          = this as FrameworkElement;
         data.InitialState              = new Autodesk.Revit.UI.DockablePaneState();
         data.InitialState.DockPosition = DockPosition.Bottom;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
コード例 #27
0
        private void RegisterDocablePanelToRevit(UIControlledApplication application)
        {
            DockablePaneProviderData dockablePaneProviderData = new DockablePaneProviderData();

            dockablePaneProviderData.FrameworkElement          = _parameterEditorWPFPage as System.Windows.FrameworkElement;
            dockablePaneProviderData.InitialState              = new DockablePaneState();
            dockablePaneProviderData.InitialState.DockPosition = DockPosition.Bottom;
            DockablePaneId dpid = new DockablePaneId(
                new Guid("{F1D5DCB2-DB78-483C-8A77-C7BD7CBC6557}"));

            application.RegisterDockablePane(
                dpid, "DKTools: Parameter Editor", _parameterEditorWPFPage
                as IDockablePaneProvider);
        }
コード例 #28
0
        public void SetupDockablePane(DockablePaneProviderData data)
        {
            data.FrameworkElement = new Main_View();

            data.InitialState = new DockablePaneState()
            {
                DockPosition = DockPosition.Tabbed,
                TabBehind    = DockablePanes.BuiltInDockablePanes.PropertiesPalette,
            };

#if !REVIT2016
            data.EditorInteraction = new EditorInteraction(EditorInteractionType.KeepAlive);
#endif
        }
コード例 #29
0
 private void ApplicationOnIdling(object sender, IdlingEventArgs e)
 {
     if (sender is UIApplication uiApp)
     {
         DockablePaneProviderData data         = new DockablePaneProviderData();
         PanelContent             panelContent = new PanelContent();
         data.InitialState = new DockablePaneState();
         DockablePaneId dockablePaneId = new DockablePaneId(Guid.Parse("0f0f25f5-712d-4b37-ac50-45ed901e77fc"));
         uiApp.RegisterDockablePane(dockablePaneId, "Test Dockable Panel", (IDockablePaneProvider)panelContent);
     }
     else
     {
         _application.Idling -= ApplicationOnIdling;
     }
 }
コード例 #30
0
        public Result OnStartup(UIControlledApplication application)
        {
            string        tabName  = "IFC";
            RibbonControl myRibbon = ComponentManager.Ribbon;
            RibbonTab     ggTab    = null;

            foreach (RibbonTab tab in myRibbon.Tabs)
            {
                if (string.Compare(tab.Id, tabName, true) == 0)
                {
                    ggTab = tab;
                    break;
                }
            }
            if (ggTab == null)
            {
                application.CreateRibbonTab(tabName);
            }
            Autodesk.Revit.UI.RibbonPanel rp = application.CreateRibbonPanel(tabName, "Browser");
            PushButtonData pbd = new PushButtonData("propBrowser", "Ifc Property Browser", Assembly.GetExecutingAssembly().Location, "RevitIfcPropertyBrowser.ShowBrowser");

            pbd.ToolTip = "Show Property Browser";

            rp.AddItem(pbd);
            DockablePaneProviderData data = new DockablePaneProviderData();
            Browser browser = new Browser();

            data.FrameworkElement          = browser as System.Windows.FrameworkElement;
            data.InitialState              = new DockablePaneState();
            data.InitialState.DockPosition = DockPosition.Tabbed;

            mPropertyPanel = new DockablePaneId(new Guid("{C7C70722-1B9B-4454-A054-DFD142F23580}"));
            application.RegisterDockablePane(mPropertyPanel, "IFC Properties", browser);

            foreach (RibbonTab tab in ComponentManager.Ribbon.Tabs)
            {
                if (tab.Id == "Modify")
                {
                    tab.PropertyChanged += PanelEvent;
                    break;
                }
            }
            RequestHandler handler = new RequestHandler(browser);

            mExEvent = ExternalEvent.Create(handler);
            application.ControlledApplication.DocumentChanged += handler.ControlledApplication_DocumentChanged;
            return(Result.Succeeded);
        }
コード例 #31
0
        private void RegisterWindow(UIControlledApplication app)
        {
            EventLoadfamily          eventLoadfamily          = new EventLoadfamily();
            ExternalEvent            exEvent                  = ExternalEvent.Create(eventLoadfamily);
            DockablePaneProviderData dockablePaneProviderData = new DockablePaneProviderData();
            DockablePage             dockablePage             = new DockablePage(exEvent, eventLoadfamily);

            this.m_window = dockablePage;
            dockablePaneProviderData.FrameworkElement          = dockablePage;
            dockablePaneProviderData.InitialState              = new DockablePaneState();
            dockablePaneProviderData.InitialState.DockPosition = DockPosition.Left;;
            dockablePaneProviderData.InitialState.TabBehind    = DockablePanes.BuiltInDockablePanes.ProjectBrowser;;
            DockablePaneId dockablePaneId = new DockablePaneId(Application.paneGuid);

            app.RegisterDockablePane(dockablePaneId, "BIM-Library", dockablePage);
            app.ViewActivated += new EventHandler <ViewActivatedEventArgs>(this.Application_ViewActivated);
        }
コード例 #32
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = this;
     data.InitialState.DockPosition = DockPosition.Tabbed;
     data.InitialState.TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser;
 }
コード例 #33
0
ファイル: DockExtensions.cs プロジェクト: Redbolts/R14Tests
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = _data.FrameworkElement;
     data.InitialState = _data.InitialState;
 }
コード例 #34
0
ファイル: DockExtensions.cs プロジェクト: Redbolts/R14Tests
 public DockPageProvider(DockablePaneProviderData data)
 {
     _data = data;
 }
コード例 #35
0
 public void SetupDockablePane(DockablePaneProviderData data)
 {
     data.FrameworkElement = this;
 }