예제 #1
0
파일: Menu.cs 프로젝트: phinoox/gwen-dotnet
        /// <summary>
        /// Adds a divider menu item.
        /// </summary>
        public virtual void AddDivider()
        {
            MenuDivider divider = new MenuDivider(this);

            divider.Dock   = Pos.Top;
            divider.Margin = new Margin(IconMarginDisabled ? 0 : 24, 0, 4, 0);
        }
예제 #2
0
        private void InitMenu(TradeController controller)
        {
            var titleDivider = new MenuDivider();

            AddMenuItem(new MenuTitle(Messages.MenuTitle, titleDivider));

            var addMenuOption = new Action <IList <string>, MenuCommand>((entry, command)
                                                                         => AddMenuItem(new MenuOption(entry[0], entry[1], command)));

            var menuOptionDivider    = new MenuDivider();
            var addMenuOptionDivider = new Action(()
                                                  => AddMenuItem(menuOptionDivider));

            MenuOptionEntries entries = Messages.MenuOptionEntries;

            addMenuOption(entries.SetTickerSymbol, controller.PromptForTickerSymbolCommand);
            addMenuOptionDivider();

            addMenuOption(entries.SetSharesFromCash, controller.PromptForCashCommand);
            addMenuOption(entries.SetShares, controller.PromptForSharesCommand);
            addMenuOption(entries.SetSharesFromPosition, controller.SetSharesFromPositionCommand);
            addMenuOptionDivider();

            addMenuOption(entries.Buy, controller.BuyCommand);
            addMenuOption(entries.Sell, controller.SellCommand);
            addMenuOption(entries.ReversePosition, controller.ReversePositionCommand);
            addMenuOption(entries.ClosePosition, controller.ClosePositionCommand);
            addMenuOptionDivider();

            addMenuOption(entries.ListPositions, controller.ListPositionsCommand);
            addMenuOptionDivider();

            addMenuOption(entries.LoadState, controller.LoadStateCommand);
            addMenuOption(entries.SaveState, controller.SaveStateCommand);
            addMenuOptionDivider();

            addMenuOption(entries.ClearScreen, controller.ClearScreenCommand);
            addMenuOption(entries.ShowMenu, controller.ShowMenuCommand);

            var menuEndDivider = new MenuDivider();

            AddMenuItem(menuEndDivider);

            int dividerLength       = GetLongestMenuEntryLength();
            var createDividerString = new Func <string, string>((charString) =>
            {
                return(!string.IsNullOrEmpty(charString)
                    ? new string(charString.First(), dividerLength)
                    : string.Empty);
            });

            titleDivider.DividerString      = createDividerString(Messages.MenuTitleDividerChar);
            menuOptionDivider.DividerString = createDividerString(Messages.MenuOptionDividerChar);
            menuEndDivider.DividerString    = createDividerString(Messages.MenuEndDividerChar);
        }
예제 #3
0
        /// <summary>
        /// Constructor that instantiats the contextMenu.
        /// </summary>
        /// <param name="controlName"></param>
        /// <param name="StrataList"></param>
        /// <param name="selectedGadget"></param>
        /// <param name="canvas"></param>
        /// <returns></returns>
        public Menu CreateContextMenu(string controlName, Point mouseButtonCoords,
                                      List <Grid> StrataList, IGadget selectedGadget, Canvas canvas,
                                      Grid LayoutRoot, GridCells gc, GadgetParameters gp)
        {
            contextMenuRightClickCoords = mouseButtonCoords;

            cmnClass              = new ClientCommon.Common();
            popupMenu             = new Menu();
            this.StrataGridList   = StrataList;
            this.SelectedGadget   = selectedGadget;
            this.Root             = canvas;
            this.DgRoot           = (DragCanvas)canvas;
            this.ControlName      = controlName;
            this.GridCells        = gc;
            this.Gadgetparameters = gp;

            Ewav.ContextMenu.MenuItem mnuCopy;
            Ewav.ContextMenu.MenuItem mnuSendDataToHTML;
            Ewav.ContextMenu.MenuItem mnuSendToBack;
            Ewav.ContextMenu.MenuItem mnuClose;

            switch (controlName.ToUpper())
            {
            case "FREQUENCYCONTROL":
            case "MEANSCONTROL":
            case "MXNTABLECONTROL":
            case "TWOXTWOTABLECONTROL":
                mnuCopy = new Ewav.ContextMenu.MenuItem("Copy data to clipboard", "Images/clipboard.png");
                mnuCopy.MouseLeftButtonDown           += new MouseButtonEventHandler(mnuCopy_MouseLeftButtonDown);
                mnuSendDataToHTML                      = new Ewav.ContextMenu.MenuItem("Send data to web browser", "Images/webexport.png");
                mnuSendDataToHTML.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendDataToHTML_MouseLeftButtonDown);
                mnuSendToBack = new Ewav.ContextMenu.MenuItem("Send gadget to back", "Images/sendback.png");
                mnuSendToBack.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendToBack_MouseLeftButtonDown);
                mnuClose = new Ewav.ContextMenu.MenuItem("Close this gadget", "Images/closegadget.png");
                mnuClose.MouseLeftButtonDown += new MouseButtonEventHandler(mnuClose_MouseLeftButtonDown);
                popupMenu.Items.Add(mnuCopy);
                popupMenu.Items.Add(mnuSendDataToHTML);
                popupMenu.Items.Add(mnuSendToBack);
                popupMenu.Items.Add(mnuClose);
                break;

            case "COMBINEDFREQUENCY":
                mnuSendDataToHTML = new Ewav.ContextMenu.MenuItem("Send data to web browser", "Images/webexport.png");
                mnuSendDataToHTML.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendDataToHTML_MouseLeftButtonDown);
                mnuSendToBack = new Ewav.ContextMenu.MenuItem("Send gadget to back", "Images/sendback.png");
                mnuSendToBack.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendToBack_MouseLeftButtonDown);
                mnuClose = new Ewav.ContextMenu.MenuItem("Close this gadget", "Images/closegadget.png");
                mnuClose.MouseLeftButtonDown += new MouseButtonEventHandler(mnuClose_MouseLeftButtonDown);
                popupMenu.Items.Add(mnuSendDataToHTML);
                popupMenu.Items.Add(mnuSendToBack);
                popupMenu.Items.Add(mnuClose);
                break;

            case "ABERRATIONCONTROL":
            case "STATCALC2X2":
            case "BINOMIAL":
            case "COHORT":
            case "POPULATION":
            case "UNMATCHED":
            case "CHISQUARE":
            case "POISSON":
            case "LINELIST":
            case "MAPCONTROL":
            case "LOGISTICREGRESSION":
            case "LINEARREGRESSION":
                mnuSendToBack = new Ewav.ContextMenu.MenuItem("Send gadget to back", "Images/sendback.png");
                mnuSendToBack.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendToBack_MouseLeftButtonDown);
                mnuClose = new Ewav.ContextMenu.MenuItem("Close this gadget", "Images/closegadget.png");
                mnuClose.MouseLeftButtonDown += new MouseButtonEventHandler(mnuClose_MouseLeftButtonDown);
                popupMenu.Items.Add(mnuSendToBack);
                popupMenu.Items.Add(mnuClose);
                break;

            case "TEXTCONTROL":
                Ewav.ContextMenu.MenuItem mnuCloseTextControl = new Ewav.ContextMenu.MenuItem("Close this gadget", "Images/closegadget.png");
                mnuCloseTextControl.MouseLeftButtonDown += new MouseButtonEventHandler(mnuClose_MouseLeftButtonDown);
                Ewav.ContextMenu.MenuItem mnuStopEdit = new Ewav.ContextMenu.MenuItem("Show/Hide Tool Bar", "");
                mnuStopEdit.MouseLeftButtonDown += new MouseButtonEventHandler(mnuStopEdit_MouseLeftButtonDown);
                popupMenu.Items.Add(mnuStopEdit);
                popupMenu.Items.Add(mnuCloseTextControl);
                break;

            case "EPICURVE":
            case "SCATTER":
            case "XYCHARTCONTROL":
                Ewav.ContextMenu.MenuItem mnuSetChartTitle = new ContextMenu.MenuItem("Set Diplay options", "Images/title.png");
                mnuSetChartTitle.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSetChartTitle_MouseLeftButtonDown);
                Ewav.ContextMenu.MenuItem munSaveAsImage = new ContextMenu.MenuItem("Save as Image", "Images/save1.png");
                munSaveAsImage.MouseLeftButtonDown += new MouseButtonEventHandler(munSaveAsImage_MouseLeftButtonDown);
                mnuSendToBack = new Ewav.ContextMenu.MenuItem("Send gadget toback", "Images/sendback.png");
                mnuSendToBack.MouseLeftButtonDown += new MouseButtonEventHandler(mnuSendToBack_MouseLeftButtonDown);
                mnuClose = new Ewav.ContextMenu.MenuItem("Close this gadget", "Images/closegadget.png");
                mnuClose.MouseLeftButtonDown += new MouseButtonEventHandler(mnuClose_MouseLeftButtonDown);
                if (SelectedGadget is IChartControl)
                {
                    if (((IChartControl)SelectedGadget).GetChartTypeEnum() != ClientCommon.XYControlChartTypes.Pie)
                    {
                        popupMenu.Items.Add(mnuSetChartTitle);
                    }
                }
                popupMenu.Items.Add(munSaveAsImage);
                popupMenu.Items.Add(mnuSendToBack);
                popupMenu.Items.Add(mnuClose);
                break;

            default:

                Ewav.ContextMenu.MenuItem GadgetSel = new Ewav.ContextMenu.MenuItem("", "");
                GadgetSel.IsEnabled  = false;
                GadgetSel.FontSize   = 0.2;
                GadgetSel.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
                Ewav.ContextMenu.MenuItem Gadget = new Ewav.ContextMenu.MenuItem("Add Gadgets", "Images/gadget.png");
                Gadget.IsEnabled            = !DisplayWithOutDSSelected;
                Gadget.MouseLeftButtonDown += new MouseButtonEventHandler(MouseLeftButtonDown);
                Ewav.ContextMenu.MenuItem Chart = new Ewav.ContextMenu.MenuItem("Add Charts", "Images/chart.png");
                Chart.IsEnabled            = !DisplayWithOutDSSelected;;
                Chart.MouseLeftButtonDown += new MouseButtonEventHandler(MouseLeftButtonDown);

                Ewav.ContextMenu.MenuDivider MD       = new MenuDivider();
                Ewav.ContextMenu.MenuItem    StatCalc = new Ewav.ContextMenu.MenuItem("Add StatCalc Calculator", "Images/calculator.png");
                StatCalc.MouseLeftButtonDown += new MouseButtonEventHandler(MouseLeftButtonDown);

                Ewav.ContextMenu.Menu subMenuGadget   = new Ewav.ContextMenu.Menu();
                Ewav.ContextMenu.Menu subMenuChart    = new Ewav.ContextMenu.Menu();
                Ewav.ContextMenu.Menu subMenuStatCalc = new Ewav.ContextMenu.Menu();

                List <EwavContextMenuItem> listOfItems = new List <EwavContextMenuItem>();
                listOfItems = applicationViewModel.MefEwavContextMenuItems;
                if (applicationViewModel.MefOrderDictionary != null)
                {
                    listOfItems.Clear();
                    var sortedList = from q in applicationViewModel.MefOrderDictionary orderby q.Key ascending select q;
                    foreach (var item in sortedList)
                    {
                        listOfItems.Add(((EwavContextMenuItem)item.Value));
                    }
                }

                foreach (EwavContextMenuItem ewavMenuItem in listOfItems)
                {
                    Ewav.ContextMenu.MenuItem gadgetItem = new ContextMenu.MenuItem(ewavMenuItem);
                    gadgetItem.MouseLeftButtonDown += new MouseButtonEventHandler(AddGadget);

                    switch (ewavMenuItem.Type)
                    {
                    case "chart":
                        subMenuChart.Items.Add(gadgetItem);
                        break;

                    case "gadget":
                        subMenuGadget.Items.Add(gadgetItem);
                        break;

                    case "statcalc":
                        subMenuStatCalc.Items.Add(gadgetItem);
                        break;

                    default:
                        break;
                    }
                }

                Gadget.Content   = subMenuGadget;
                Chart.Content    = subMenuChart;
                StatCalc.Content = subMenuStatCalc;

                foreach (Ewav.ContextMenu.MenuItem item in popupMenu.Items)
                {
                    if (item.Text == "Add Gadgets")
                    {
                        popupMenu.Items.Remove(item);
                    }
                }

                popupMenu.Items.Add(GadgetSel);
                popupMenu.Items.Add(Gadget);
                popupMenu.Items.Add(Chart);
                popupMenu.Items.Add(MD);
                popupMenu.Items.Add(StatCalc);
                break;
            }

            PopupMenu = popupMenu;

            return(popupMenu);
        }