Ejemplo n.º 1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            ribbonControl1.Pages.Clear();
            navBarControl1.Groups.Clear();

            _application.MainWorkspace = new MdiWorkspace(tabbedView1, this);

            RibbonManager.AddItemsToMenu(ribbonControl1, _application, "/Workbench/MainMenu", null);
            NavItemManager.AddItemsToNavigation(navBarControl1, _application, "/Workbench/Navigation");

            var startCommands = AddInTree.BuildItems <ICommand>("/Workbench/StartCommands", null);

            startCommands.ForEach(command => command.Run());

            LoadingFormManager.EndLoading();
            WindowState = FormWindowState.Maximized;
            Activate();
            //restore layout
            this._Config.RestoreFormLayout(ConfigKey.Main_Form_Layout, this);
            this._Config.RestoreRibbonLayOut(this.ribbonControl1, ConfigKey.Main_Form_Ribbon);
            this._Config.RestoreNavBarLayout(this.navBarControl1, ConfigKey.Main_Form_Navbar);

            InitLoginUser();
            InitApplicationButton();
        }
Ejemplo n.º 2
0
        public void RibbonManagerWithTransactions()
        {
            IRibbonManager manager = new RibbonManager();

              IRibbonPage page1 = manager.DefaultCategory.Add("Page1");
              IRibbonGroup group1 = page1.Add("Group1");
              IRibbonButton button1 = group1.Add("Button1", null, RibbonButtonType.Large);

              Assert.AreEqual(1, manager.Categories.Count);
              Assert.AreEqual(1, manager.DefaultCategory.Pages.Count);
              Assert.AreEqual(1, page1.Groups.Count);
              Assert.AreEqual(1, group1.Buttons.Count);

              // Начинаем транзакцию.
              manager.BeginTransaction("Level 1");

              IRibbonCategory category2 = manager.Add("Category2");
              IRibbonPage page2 = manager.DefaultCategory.Add("Page2");
              IRibbonGroup group2 = page1.Add("Group2");
              IRibbonButton button2 = group1.Add("Button2", null, RibbonButtonType.Large);

              Assert.AreEqual(2, manager.Categories.Count);
              Assert.AreEqual(2, manager.DefaultCategory.Pages.Count);
              Assert.AreEqual(2, page1.Groups.Count);
              Assert.AreEqual(2, group1.Buttons.Count);

              // Отменяем транзакцию.
              manager.RollbackTransaction("Level 1");

              Assert.AreEqual(1, manager.Categories.Count);
              Assert.AreEqual(1, manager.DefaultCategory.Pages.Count);
              Assert.AreEqual(1, page1.Groups.Count);
              Assert.AreEqual(1, group1.Buttons.Count);
        }
 public DeckBuilderCreationManager(Action <Deck> OnDeckChange, RibbonManager ribbonManager)
 {
     this.OnDeckChange  = OnDeckChange;
     this.ribbonManager = ribbonManager;
     isEditing          = false;
     isDirty            = false;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Implement this method to execute some tasks when Autodesk Revit starts.
        /// </summary>
        public Result OnStartup(UIControlledApplication application)
        {
            var containerGuid = ContainerProviderReflector.GetContainerGuid(this);

            var container = new TContainer();

            this.InjectContainerToItself(container);

            this.HookUpContainer(container, containerGuid);
            this.HookupRevitContext(application, container);

            this.AddRevitUI(container, application);

            try
            {
                // Calls the client's Startup
                var result = OnStartup(container, application);
                if (result != Result.Succeeded)
                {
                    return(result);
                }

                // Calls the client's CreateRibbon
                var imageManager  = new ImageManager();
                var ribbonManager = new RibbonManager(application, imageManager);
                OnCreateRibbon(ribbonManager);

                return(result);
            }
            catch
            {
                // If an exception the client's code, throw the exception to the stack
                throw;
            }
        }
Ejemplo n.º 5
0
        public void RibbonManagerDefaultCategory()
        {
            IRibbonManager manager = new RibbonManager();

              // По умолчанию категория должна быть.
              Assert.IsNotNull(manager.DefaultCategory);
              Assert.AreEqual(1, manager.Categories.Count);
              Assert.IsInstanceOfType(manager.DefaultCategory, typeof(RibbonDefaultCategory));
        }
    private void Start()
    {
        CardDisplay cardDisplay = cardCollectionVisualManager.CreateCardDisplayForRibbon(canvas);

        ribbonManagerUI.SetCardDisplay(cardDisplay);
        ribbonManager = new RibbonManager(ribbonManagerUI);
        deckBuilderCreationManager = new DeckBuilderCreationManager(OnDeckChange, ribbonManager);
        deckBuilderUserDeckManager = new DeckBuilderUserDeckManager(deckBuilderUserDeckUI, this, gameMenuManager);
        CardCollectionManager.OnCardCollectionLoad += deckBuilderUserDeckManager.LoadUserDecks;
    }
Ejemplo n.º 7
0
        private void LoadMainView(string dockPath, ActionParameters parameters)
        {
            var viewDescriptors = AddInTree.BuildItems <object>(dockPath, this, false).OfType <ViewDescriptor>().ToList();

            if (!viewDescriptors.Any())
            {
                throw new Exception(string.Format("{0} doesn't contains any view, please check it", dockPath));
            }
            if (viewDescriptors.Count > 1 && !viewDescriptors.Any(c => c.Codon.Properties.Contains("MainView")))
            {
                throw new Exception(string.Format("One screen only supprt one view, {0} contains more then one view, please check it", dockPath));
            }
            var mainViewDescriptor = viewDescriptors[0];

            if (viewDescriptors.Any(c => c.Codon.Properties.Contains("MainView")))
            {
                mainViewDescriptor = viewDescriptors.Where(c => c.Codon.Properties.Contains("MainView")).First();
            }
            if (!mainViewDescriptor.Codon.Properties.Contains("controller"))
            {
                throw new Exception(string.Format("{0}/{1} doesn't contains controller property, please check it", dockPath, mainViewDescriptor.Id));
            }
            _mainController             = ControllerFactory.CreateController(mainViewDescriptor.Codon.Properties["controller"]);
            _mainController.WorkSpaceID = this.ID;
            _mainController.Context     = this._workspaceContext;
            this.LoadCommands();

            var ribbonPath = BasePath + "/Ribbon";

            if (AddInTree.ExistsTreeNode(ribbonPath))
            {
                RibbonManager.AddItemsToMenu(ribbon, _mainController, ribbonPath, this._commandManager);
            }
            parameters.Add("ribbonControl", this.ribbon);
            ActionResult = new ActionInvoker().Invoke(_mainController, null, parameters) as IActionResult;
            var result = ActionResult as IPartialViewResult;

            if (result == null)
            {
                return;
            }
            result.View.ViewName = mainViewDescriptor.Codon.Id;
            var mainControl = (Control)result.View;

            if (viewDescriptors.Count > 1)
            {
                LoadSubViews(viewDescriptors.Where(c => !c.Codon.Properties.Contains("MainView")).ToList(), dockPath, parameters, mainControl);
            }
            mainControl.Dock = DockStyle.Fill;
            AddView(result.View);
            this.Controls.Add(mainControl);
            ActiveView = result.View;
        }
Ejemplo n.º 8
0
        public Shell(AppEnvironment environment, DialogService dialog, ViewService views)
        {
            InitializeComponent();
            AppTitle = "K-water MapMaker v2.0";

            Dialog         = dialog;
            Views          = views;
            appEnvironment = environment;
            DockManager    = new DockManager(dockingManager, this);
            RibbonManager  = new RibbonManager(ribbonControlAdv1);
            Appearances.MainRibbon(ribbonControlAdv1);
            Load += async(s, e) => await Initialize();
        }
Ejemplo n.º 9
0
 void OnEnable()
 {
     if (Data != null)
     {
         RibbonType ribbonType;
         if (RibbonManager.Highlighted.TryGetValue(Data.Name, out ribbonType))
         {
             _Ribbon.SetupRibbon(ribbonType);
             RibbonManager.OnRibbonObserved(Data.Name);
             return;
         }
     }
     _Ribbon.SetupRibbon(RibbonType.None);
 }
Ejemplo n.º 10
0
        public void AddPrefixToBarItems()
        {
            if (barItemsPrefixAdded)
            {
                return;
            }
            barItemsPrefixAdded = true;
            var grid = Content as Grid;

            if (grid == null)
            {
                return;
            }
            var barManager    = (BarManager)grid.Children[0];
            var ribbonControl = (RibbonControl)barManager.Child;

            foreach (var item in barManager.Items)
            {
                item.Name = string.Format("{0}_{1}", Id, item.Name);
                RibbonManager.SetFocusingElement(item, this);
                if (!(item is BarSubItem))
                {
                    continue;
                }
                foreach (BarItemLink link in ((BarSubItem)item).ItemLinks)
                {
                    link.BarItemName = string.Format("{0}_{1}", Id, link.BarItemName);
                }
            }
            foreach (var rpcb in ribbonControl.Categories)
            {
                foreach (var page in rpcb.Pages)
                {
                    page.Name = string.Format("{0}_{1}", Id, page.Name);
                    foreach (var group in page.Groups)
                    {
                        foreach (var itemLinkBase in group.ItemLinks)
                        {
                            AddPrefixToBarItemLink(itemLinkBase);
                        }
                    }
                }
            }
            foreach (var itemLinkBase in ribbonControl.PageHeaderItemLinks)
            {
                AddPrefixToBarItemLink(itemLinkBase);
            }
        }
Ejemplo n.º 11
0
        public void RibbonManagerSimple()
        {
            IRibbonManager manager = new RibbonManager();

              IRibbonCategory customCategory = manager.Add("Custom Category");
              IRibbonPage page = customCategory.Add("Page");
              IRibbonGroup group = page.Add("Group");
              IRibbonButton button = group.Add("Button", null, RibbonButtonType.Large);

              Assert.AreEqual(2, manager.Categories.Count);
              Assert.AreEqual(1, customCategory.Pages.Count);
              Assert.AreEqual(1, page.Groups.Count);
              Assert.AreEqual(1, group.Buttons.Count);

              Assert.IsInstanceOfType(manager.Categories[0], typeof(RibbonDefaultCategory));
              Assert.IsInstanceOfType(manager.Categories[1], typeof(RibbonCustomCategory));
        }
Ejemplo n.º 12
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            RibbonManager rm = RibbonManager.Instance;

            try
            {
                rm.FormIcon  = Resources.TestIcon;
                rm.FormTitle = "测试窗体";
                rm.FormStyle = eStyle.Office2010Blue;

                Application.Run(rm.MainRibbonForm);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                rm.Dispose();
            }
        }
Ejemplo n.º 13
0
 void CreateRibbonManager()
 {
     this.ribbonManager = new RibbonManager(this.barManager, this.ribbonControl);
 }
Ejemplo n.º 14
0
        private void CreateRibbon()
        {
            RibbonManager = new RibbonManager();
              IRibbonPage pageMain = RibbonManager.DefaultCategory.Add("Главная");

              // Не работает дизайнер с привязкой со split-кнопками. В run-time все впорядке.
              // Проблема изветная в DevExpress, они ссылаются на внутреннюю работу Visual Studio:
              // https://www.devexpress.com/Support/Center/Question/Details/B158154
              // https://www.devexpress.com/Support/Center/Question/Details/Q451319
              // https://www.devexpress.com/Support/Center/Question/Details/T164384
              // В последней ссылке есть решение проблемы с помощью сеттеров.
              // Пока не будем создавать в design-time эти кнопки.
            #if DEBUG
              if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            #endif
              {
            IRibbonGroup groupFile = pageMain.Add("Файл");

            IRibbonSplitButton btnNew = groupFile.AddSplit("Создать MSI", CreateMsiCommand, RibbonButtonType.Large);
            btnNew.SetImage(MenusImagesTypes.New);
            btnNew.Add("Создать MSI", CreateMsiCommand).SetImage(MenusImagesTypes.New);
            btnNew.Add("Создать MSP", CreateMspCommand).SetImage(MenusImagesTypes.New);

            groupFile.Add("Открыть", OpenCommand, RibbonButtonType.Large).SetImage(MenusImagesTypes.Open);

            IRibbonSplitButton btnSave = groupFile.AddSplit("Сохранить", SaveCommand, RibbonButtonType.Large);
            btnSave.SetImage(MenusImagesTypes.Save);
            btnSave.Add("Сохранить", SaveCommand).SetImage(MenusImagesTypes.Save);
            btnSave.Add("Сохранить как...", SaveAsCommand).SetImage(MenusImagesTypes.Save);
              }

              IRibbonGroup groupAssembly = pageMain.Add("Сборка");
              groupAssembly.Add("Проверить", CheckCommand, RibbonButtonType.Large).SetImage(MenusImagesTypes.Check);
              groupAssembly.Add("Построить", BuildCommand, RibbonButtonType.Large).SetImage(MenusImagesTypes.Build);
        }
Ejemplo n.º 15
0
        //refresh ribbon for view
        private void LoadRibbon(IView view)
        {
            string ribbonPath = "/Lead/List/Ribbon";// = view.RibbonPath

            RibbonManager.AddItemsToMenu(this.ribbonMain, this, ribbonPath);
        }
Ejemplo n.º 16
0
 public override void EndInit()
 {
     this.ribbonManager = new RibbonManager(BarManager, Ribbon);
     this.ribbonManager.AddItemsToToolbar(DefaultToolbarItems);
     base.EndInit();
 }