public void InitializeFormatter() { string formatterPath = formatingStrategyPath + "/" + Document.HighlightingStrategy.Name; if (AddInTree.ExistsTreeNode(formatterPath)) { IFormattingStrategy[] formatter = (IFormattingStrategy[])(AddInTree.GetTreeNode(formatterPath).BuildChildItems(this)).ToArray(typeof(IFormattingStrategy)); if (formatter != null && formatter.Length > 0) { Document.FormattingStrategy = formatter[0]; } } }
public static List <SearchItem> BuildSearchItems() { List <SearchItem> result = new List <SearchItem>(); if (!AddInTree.ExistsTreeNode(SDSearchPath)) { return(result); } List <SearchPathDescriptor> descriptors = AddInTree.BuildItems <SearchPathDescriptor>(SDSearchPath, null); foreach (SearchPathDescriptor descriptor in descriptors) { List <SearchItem> descriptorList = BuildSearchItems(descriptor); result.AddRange(descriptorList); } return(result); }
public ProjectBrowserPanel() { projectBrowserControl = new ProjectBrowserControl(); projectBrowserControl.Dock = DockStyle.Fill; Controls.Add(projectBrowserControl); if (AddInTree.ExistsTreeNode("/SharpDevelop/Pads/ProjectBrowser/ToolBar/Standard")) { toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/Pads/ProjectBrowser/ToolBar/Standard"); toolStrip.ShowItemToolTips = true; toolStrip.Dock = DockStyle.Top; toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; toolStrip.Stretch = true; standardItems = new ToolStripItem[toolStrip.Items.Count]; toolStrip.Items.CopyTo(standardItems, 0); Controls.Add(toolStrip); } projectBrowserControl.TreeView.BeforeSelect += TreeViewBeforeSelect; }
private void ActivateView(ActivateViewMessage message) { var viewName = message.ViewName; if (_views.ContainsKey(viewName)) { var view = (Control)_views[viewName]; if (Controls.Contains(view)) { view.BringToFront(); ActiveView = _views[viewName]; UpdateRibbonItems(); } } else { var viewPath = BasePath + "/DockPanels/" + viewName; if (!AddInTree.ExistsTreeNode(viewPath)) { return; } var viewDescriptor = (DockPanelDescriptor)AddInTree.BuildItem(viewPath, null); if (viewDescriptor == null) { throw new Exception(string.Format("{0} doesn't exist in addin file, please check it.", viewPath)); } var controller = ControllerFactory.CreateController(viewDescriptor.ControllerId); this._controllers[viewDescriptor.ControllerId] = controller; var result = new ActionInvoker().Invoke(controller, null, message.Parameters) as IPartialViewResult; if (result != null) { result.View.ViewName = viewDescriptor.Codon.Id; AddView(result.View); var view = (Control)result.View; view.Dock = DockStyle.Fill; this.Controls.Add(view); view.BringToFront(); ActiveView = result.View; InitObjectWidget(controller); UpdateRibbonItems(); } } }
public void LoadViews(ActionParameters parameters) { var dockPath = BasePath + "/DockPanels"; if (AddInTree.ExistsTreeNode(dockPath)) { LoadMainView(dockPath, parameters); var descriptors = AddInTree.BuildItems <object>(dockPath, this, false).OfType <DockPanelDescriptor>().ToList(); foreach (var descriptor in descriptors) { bool isLazy = false; bool.TryParse(descriptor.Codon.Properties["lazy"], out isLazy); if (isLazy) { continue; } var controller = ControllerFactory.CreateController(descriptor.ControllerId); controller.WorkSpaceID = this.ID; controller.Context = this._workspaceContext; _controllers[descriptor.ControllerId] = controller; InitObjectWidget(controller); var result = new ActionInvoker().Invoke(controller, null, parameters) as IPartialViewResult; if (result != null) { result.View.ViewName = descriptor.Codon.Id; AddView(result.View); CreateDockPanel(descriptor, result.View); } } } else { throw new Exception("Config path not found:" + dockPath); } WorkSpaceTextLoader txtLoader = new WorkSpaceTextLoader(); string mainText = string.Empty; Title = txtLoader.GetListWorkSpaceTitle(ObjectName, out mainText); this.UpdateRibbonItems(); }
public void InitializeAdvancedHighlighter() { if (advancedHighlighter != null) { advancedHighlighter.Dispose(); advancedHighlighter = null; } string highlighterPath = advancedHighlighterPath + "/" + Document.HighlightingStrategy.Name; if (AddInTree.ExistsTreeNode(highlighterPath)) { IList <IAdvancedHighlighter> highlighter = AddInTree.BuildItems <IAdvancedHighlighter>(highlighterPath, this); if (highlighter != null && highlighter.Count > 0) { advancedHighlighter = highlighter[0]; advancedHighlighter.Initialize(this); Document.HighlightingStrategy = new AdvancedHighlightingStrategy((DefaultHighlightingStrategy)Document.HighlightingStrategy, advancedHighlighter); } } }
public static void SwitchToMenu(System.Collections.ICollection menus, System.Collections.ICollection toolBars, string[] addInTreePaths) { foreach (object obj in menus) { if (obj is RibbonPage) { RibbonPage page = obj as RibbonPage; bool bHave = false; foreach (string addInTreePath in addInTreePaths) { if (AddInTree.ExistsTreeNode(addInTreePath + "/" + page.Name)) { page.Visible = true; if (page.Text.Contains("temp")) { page.Text = page.Text.Substring(0, page.Text.Count() - 4); } bHave = true; break; } } if (!bHave) { page.Visible = false; if (!page.Text.Contains("temp")) { page.Text = page.Text + "temp"; } } SwitchToMenu(page.Groups, toolBars, addInTreePaths); } else if (obj is RibbonPageGroup) { RibbonPageGroup pageGroup = obj as RibbonPageGroup; bool bHave = false; foreach (string addInTreePath in addInTreePaths) { if (AddInTree.ExistsTreeNode(addInTreePath + "/" + pageGroup.Page.Name + "/" + pageGroup.Name)) { pageGroup.Visible = true; foreach (object obj2 in toolBars) { if (!(obj2 is BarItemLink)) { continue; } BarItemLink bil = obj2 as BarItemLink; for (int i = 0; i < pageGroup.ItemLinks.Count; i++) { BarItemLink itemLink = pageGroup.ItemLinks.GetRecentLink(i); if (itemLink.Item.Name == bil.Item.Name) { bil.Visible = true; break; } } } bHave = true; break; } } if (!bHave) { pageGroup.Visible = false; } } } }
private void InitApplicationButton() { string notificationPath = "/Notification/StartNotification"; if (AddInTree.ExistsTreeNode(notificationPath)) { var descriptor = AddInTree.BuildItems <IReceiveNotification>(notificationPath, null); if (descriptor != null && descriptor.Count() > 0) { descriptor.First().StartReceiveNotification(this); } } //send sys msg var sysMsgItem = new BarButtonItem(); sysMsgItem.Caption = StringParser.Parse("SendSysMessage"); sysMsgItem.Glyph = (Bitmap)WinFormsResourceService.GetIcon("notification1").ToBitmap(); Ribbon.Items.Add(sysMsgItem); sysMsgItem.ItemClick += (s, e) => { var parameters = new ActionParameters(string.Empty, Guid.Empty, ViewShowType.Show); _application.Invoke("NotificationDetail", "NotificationAction", parameters); }; //??CLEAR SET var clearSettingButton = new BarButtonItem(); clearSettingButton.Caption = StringParser.Parse("ClearSetting"); clearSettingButton.Glyph = (Bitmap)WinFormsResourceService.GetBitmap("clear"); Ribbon.Items.Add(clearSettingButton); clearSettingButton.ItemClick += delegate { string message = StringParser.Parse("ClearSettingConfirm"); var result = XtraMessageBox.Show(message, StringParser.Parse("Katrin"), MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.OK) { //restore default layout. var oldParameter = PropertyService.Get <UserLoginParameter>("Document.ParameterSettingName", null); this._application.ViewManager.RestoreAllViewDefaultLayout(); PropertyService.Clean(); PropertyService.Set <UserLoginParameter>("Document.ParameterSettingName", oldParameter); PropertyService.Save(); } }; //set language BarSubItem languageSettingButton = new BarSubItem(); languageSettingButton.Caption = StringParser.Parse("languageSetting"); languageSettingButton.Glyph = WinFormsResourceService.GetIcon("edit").ToBitmap(); Ribbon.Items.Add(languageSettingButton); //CMP Lista de Lenguajes Hardcodeado List <string> languages = new List <string>(); languages.Add("zh-CN"); languages.Add("en-US"); languages.Add("es-ES"); foreach (string language in languages) { BarButtonItem itemLanguage = new BarButtonItem(); itemLanguage.Caption = StringParser.Parse(language); itemLanguage.ItemClick += itemZh_ItemClick; languageSettingButton.ItemLinks.Add(itemLanguage); itemLanguage.Tag = language; Ribbon.Items.Add(itemLanguage); } pmAppMain.ItemLinks.AddRange(new BarItem[] { sysMsgItem, clearSettingButton, languageSettingButton }); }
private static List <SearchItem> HandleMenuCodon(SearchPathDescriptor descriptor, Codon codon, string path, List <string> pathChain) { List <SearchItem> result = new List <SearchItem>(); if (codon.Name != "MenuItem") { return(result); } List <string> nextPathChain = new List <string>(pathChain); string nextPath = string.Format("{0}/{1}", path, codon.Id); if (codon.Properties.Contains("type") && codon.Properties["type"] == "Menu") { nextPathChain.Add(AddNextPathChainString(codon)); if (AddInTree.ExistsTreeNode(nextPath)) { AddInTreeNode node = AddInTree.GetTreeNode(nextPath); foreach (Codon innerCodon in node.Codons) { result.AddRange(HandleMenuCodon(descriptor, innerCodon, nextPath, nextPathChain)); } } } if (!codon.Properties.Contains("type") || (codon.Properties.Contains("type") && (codon.Properties["type"] == "Item" || codon.Properties["type"] == "Command"))) { HandleItemMenuType(descriptor, codon, nextPath, nextPathChain, result); } if (codon.Properties.Contains("type") && codon.Properties["type"] == "Builder") { try { IMenuItemBuilder builder = codon.AddIn.CreateObject(codon.Properties["class"]) as IMenuItemBuilder; if (builder == null) { return(result); } ICollection collection = builder.BuildItems(codon, null); foreach (MenuItem menuItem in collection) { SearchItem item = GenerateSearchItem(descriptor, codon, nextPath, nextPathChain); item.Label = menuItem.Header.ToString(); item.Command = menuItem.Command; item.CommandParameter = menuItem.CommandParameter; item.Shortcut = menuItem.InputGestureText; if (String.IsNullOrWhiteSpace(item.CommandTypeString) && item.Command == null) { continue; } item.Id = path + "/" + item.Label; result.Add(item); } } catch (Exception ex) { LoggingService.Warn(String.Format("Could not load search item from builder at {0} - {1}", codon.Id, codon.AddIn.FileName), ex); } } return(result); }