///// Add Default items in Output Menu //// private void AddDefaultOutputMenuItem()//string outwindowname) { ///New Output//// DashBoardItem item = new DashBoardItem(); item.Command = new NewOutputWindow(); item.Name = "New Output Window"; item.isGroup = false; outputmenu.Items.Add(CreateItem(item)); ////Open Output///// DashBoardItem item2 = new DashBoardItem(); item2.Command = new OutputOpenCommand(); item2.Name = "Open Output"; item2.isGroup = false; outputmenu.Items.Add(CreateItem(item2)); ////Save Output/////Output menu 'll hv "Save output" option in App's Main window.Other windows will not (like Syn Edtr window) hv. //count = 0 in begining. But when App's main window is shown count will become 1. That means 1 Output menu exists and thats // in App's Main window. Later when Syntax Editor window is shown Output count is not == 1 so "Save Output" is not created. if (allOutputMenus.Count == 1) { DashBoardItem item3 = new DashBoardItem(); item3.Command = new OutputSaveAsCommand(); item3.Name = "Save Output"; item3.isGroup = false; outputmenu.Items.Add(CreateItem(item3)); } ///Adding separator//// MenuItem menuitem = new MenuItem(); menuitem.Header = new Separator(); outputmenu.Items.Add(menuitem); }
///Creating Menu Items/// private MenuItem CreateItem(DashBoardItem item) { MenuItem menuitem = new MenuItem(); menuitem.Header = item.Name; if (item.isGroup) { foreach (DashBoardItem i in item.Items) { if (i.Name.ToLower() == "---------") { MenuItem mnuitem = new MenuItem(); mnuitem.Header = new Separator(); menuitem.Items.Add(mnuitem); // menuitem.Items.Add(new Separator());// { Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0)) } } else menuitem.Items.Add(CreateItem(i)); } } else { menuitem.Command = item.Command; menuitem.CommandParameter = item.CommandParameter; } return menuitem; }
IUIController UIController;//for getting active dataset and filename. public CommandHistoryMenuHandler() //This constructor is meant to used for Main App only { //Giving error here UIController = LifetimeService.Instance.Container.Resolve<IUIController>(); DashBoardItem item = new DashBoardItem(); item.Command = null; item.CommandParameter = null; item.isGroup = true; item.Name = "History";// MenuName item.Items = new List<DashBoardItem>(); commandhistmenu = CreateItem(item); }
public OutputMenuHandler() //This constructor is meant to used for Main App only { DashBoardItem item = new DashBoardItem(); item.Command = null; item.CommandParameter = null; item.isGroup = true; item.Name = "Output";// MenuName item.Items = new List<DashBoardItem>(); outputmenu = CreateItem(item); allOutputMenus.Add(outputmenu);//adding output menu to common list AddDefaultOutputMenuItem(); if (allOutputMenus.Count > 1) // first item is the output menu from App's main window. When App launches, it is first one to create Output menu CreateClone();/// for newly opened Syntax Editor window /// }
//Add executed command per Dataset public void AddCommand(string DatasetName, UAMenuCommand Command) { //Creating a copy of command for putting it in "History" menu UAMenuCommand uamc = new UAMenuCommand(); // new obj needed, because same obj can't be child at two places. uamc.commandformat = Command.commandformat; uamc.commandoutputformat = Command.commandoutputformat; uamc.commandtemplate = Command.commandtemplate; uamc.commandtype = Command.commandtype; //29Mar2013 //If History Menu text is not present. Dont add this command to "History" menu if(Command.text == null || Command.text.Length < 1) { return; } uamc.text = Command.text;//Command name shown in "History" menu //now create menuitem for each command and add to "History" menu DashBoardItem item = new DashBoardItem(); item.Command = new AUAnalysisCommandBase(); // should point to AUAnalysisCommandBase item.CommandParameter = uamc; item.isGroup = false; item.Name = uamc.text;// MenuName MenuItem newmi = CreateItem(item); //Check if command already in history menu /// bool ExistsInHistory = false; int miIndex = 0; foreach (MenuItem mi in commandhistmenu.Items) { if (mi.Header == newmi.Header)//command already in History { ExistsInHistory = true; break; } miIndex++; } // Adding command with "latest executed on top" in menu /// if (ExistsInHistory) { commandhistmenu.Items.RemoveAt(miIndex); } commandhistmenu.Items.Insert(0, newmi);//Adding to "History" menu }
protected virtual bool OnAddDashBoardItem(DashBoardItem item) { if (AddDashBoardItem != null) { DashBoardEventArgs args = new DashBoardEventArgs(); args.DashBoardItem = item; AddDashBoardItem(this, args); return true; } else { return false; } }
private DashBoardItem CreateItem(XmlNode node) { DashBoardItem item = new DashBoardItem(); item.Name = GetAttributeString(node, "text"); item.isGroup = node.HasChildNodes; if (node.HasChildNodes) { item.Items = new List<DashBoardItem>(); foreach (XmlNode child in node.ChildNodes) item.Items.Add(CreateItem(child)); } else { UAMenuCommand cmd = new UAMenuCommand(); cmd.commandtype = GetAttributeString(node, "command"); if (string.IsNullOrEmpty(cmd.commandtype)) { cmd.commandtype = typeof(AUAnalysisCommandBase).FullName; } cmd.commandtemplate = GetAttributeString(node, "commandtemplate"); cmd.commandformat = GetAttributeString(node, "commandformat"); cmd.commandoutputformat = GetAttributeString(node, "commandoutputformat"); cmd.text = GetAttributeString(node, "text"); //04mar2013 //cmd.id = GetAttributeString(node, "id"); //04mar2013 //cmd.owner = GetAttributeString(node, "owner"); //04mar2013 item.Command = CreateCommand(cmd); item.CommandParameter = cmd; #region 11Jun2015 Set icon fullpathfilename item.iconfullpathfilename = GetAttributeString(node, "icon"); string showicon = GetAttributeString(node, "showtoolbaricon"); if(showicon==null || showicon.Trim().Length == 0 || !showicon.ToLower().Equals("true")) { item.showshortcuticon = false; } else { item.showshortcuticon = true; } #endregion } return item; }
//// Adding new output windows //// public void AddOutputMenuItem(string outwindowname) { DashBoardItem item = new DashBoardItem(); item.Command = new SelectOutputWindowCommand(); UAMenuCommand uamc = new UAMenuCommand(); //01Aug2012. There was no 'new' before uamc.commandformat = outwindowname;//window name is key. Action shud b taken on this. uamc.commandoutputformat = ""; uamc.commandtemplate = ""; uamc.commandtype = ""; item.CommandParameter = uamc; item.isGroup = false; item.Name = outwindowname;//this should also be the key foreach (MenuItem output_menu in allOutputMenus) { if (output_menu.Header.ToString() == "Output") { output_menu.Items.Add(CreateItem(item)); } } CheckOutputMenuItem(outwindowname);//putting a check or alphabet to show which one is active }
/// <summary> /// Creating clone of Output menu from App's main window. The section that shows names of each output window in current session. /// </summary> private void CreateClone()//List<DashBoardItem> di) { MenuItem output_menu=null; if (allOutputMenus.Count > 0) output_menu = allOutputMenus[0];//grab the first menu.(this should be from Apps main window) if (output_menu.Header.ToString() == "Output") { foreach (MenuItem mi in output_menu.Items)/// windownames { /// default items are already being created /// if (mi.Header.ToString().Equals("New Output Window") || mi.Header.ToString().Equals("Open Output") || mi.Header.ToString().Equals("Save Output") || mi.Header.GetType() == typeof(Separator)) continue; //////creating clone//// DashBoardItem item = new DashBoardItem(); item.Command = new SelectOutputWindowCommand(); UAMenuCommand uamc = new UAMenuCommand(); //01Aug2012. There was no 'new' before uamc.commandformat = mi.Header.ToString();//window name is key. Action shud b taken on this. uamc.commandoutputformat = ""; uamc.commandtemplate = ""; uamc.commandtype = ""; item.CommandParameter = uamc; item.isGroup = false; item.Name = mi.Header.ToString();//this should also be the key MenuItem createdmi = CreateItem(item); createdmi.Icon = mi.Icon; outputmenu.Items.Add(createdmi); } } }