Ejemplo n.º 1
0
        private Menu createMenu()
        {
            var menu = new Menu();
            var mi   = new Gtk.RadioMenuItem("Alphabetically");
            var g    = mi.Group;

            mi.Active     = groupMethod == InstrumentGroupMethod.Alphabetically;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.Alphabetically;
            };
            menu.Insert(mi, -1);

            mi            = new Gtk.RadioMenuItem(g, "By Currency");
            mi.Active     = groupMethod == InstrumentGroupMethod.ByCurrency;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.ByCurrency;
            };
            menu.Insert(mi, -1);

            mi            = new Gtk.RadioMenuItem(g, "By Exchange");
            mi.Active     = groupMethod == InstrumentGroupMethod.ByExchange;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.ByExchange;
            };
            menu.Insert(mi, -1);

            mi            = new Gtk.RadioMenuItem(g, "By Instrument Type");
            mi.Active     = groupMethod == InstrumentGroupMethod.ByInstrumentType;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.ByInstrumentType;
            };
            menu.Insert(mi, -1);

            mi            = new Gtk.RadioMenuItem(g, "By Maturity");
            mi.Active     = groupMethod == InstrumentGroupMethod.ByMaturity;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.ByMaturity;
            };
            menu.Insert(mi, -1);

            mi            = new Gtk.RadioMenuItem(g, "No Group");
            mi.Active     = groupMethod == InstrumentGroupMethod.NoGroup;
            mi.Activated += (sender, e) =>
            {
                groupMethod = InstrumentGroupMethod.NoGroup;
            };
            menu.Insert(mi, -1);
            menu.ShowAll();
            return(menu);
        }
Ejemplo n.º 2
0
        public override void Initialize(NodeBuilder[] builders, TreePadOption[] options, string contextMenuPath)
        {
            base.Initialize(builders, options, contextMenuPath);
            var topToolbar = Window.GetToolbar(PositionType.Top);

            // Group button
            buttonGroup             = new MenuButton();
            buttonGroup.StockImage  = MonoDevelop.Ide.Gui.Stock.GroupByCategory;
            buttonGroup.ArrowType   = ArrowType.Down;
            buttonGroup.TooltipText = GettextCatalog.GetString("Group instruments");
            buttonGroup.MenuCreator = delegate
            {
                var menu = new Menu();
                var mi   = new Gtk.RadioMenuItem("Alphabetically");
                var g    = mi.Group;
                mi.Active     = groupMethod == InstrumentGroupMethod.Alphabetically;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.Alphabetically;
                };
                menu.Insert(mi, -1);

                mi            = new Gtk.RadioMenuItem(g, "By Currency");
                mi.Active     = groupMethod == InstrumentGroupMethod.ByCurrency;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.ByCurrency;
                };
                menu.Insert(mi, -1);

                mi            = new Gtk.RadioMenuItem(g, "By Exchange");
                mi.Active     = groupMethod == InstrumentGroupMethod.ByExchange;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.ByExchange;
                };
                menu.Insert(mi, -1);

                mi            = new Gtk.RadioMenuItem(g, "By Instrument Type");
                mi.Active     = groupMethod == InstrumentGroupMethod.ByInstrumentType;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.ByInstrumentType;
                };
                menu.Insert(mi, -1);

                mi            = new Gtk.RadioMenuItem(g, "By Maturity");
                mi.Active     = groupMethod == InstrumentGroupMethod.ByMaturity;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.ByMaturity;
                };
                menu.Insert(mi, -1);

                mi            = new Gtk.RadioMenuItem(g, "No Group");
                mi.Active     = groupMethod == InstrumentGroupMethod.NoGroup;
                mi.Activated += (sender, e) =>
                {
                    groupMethod = InstrumentGroupMethod.NoGroup;
                };
                menu.Insert(mi, -1);
                menu.ShowAll();
                return(menu);
            };

            topToolbar.Add(buttonGroup);

            // Refresh button
            buttonrefresh             = new Button();
            buttonrefresh.Image       = new Gtk.Image(Gtk.Stock.Refresh, IconSize.SmallToolbar);
            buttonrefresh.TooltipText = GettextCatalog.GetString("Refresh instruments");
            topToolbar.Add(buttonrefresh);

            menuTool = new MenuToolButton(Gtk.Stock.Cdrom);
            topToolbar.Add(menuTool);

            topToolbar.ShowAll();

            // Tree
            TreeView.Tree.Selection.Mode = SelectionMode.Single;
            LoadTree();

            Control.ShowAll();

            var f = Framework.Current;

            f.EventManager.Dispatcher.InstrumentAdded   += OnInstrumentAdded;
            f.EventManager.Dispatcher.InstrumentDeleted += OnInstrumentDeleted;

            foreach (var instrument in Framework.Current.InstrumentManager.Instruments)
            {
                instrumentNodes.Add(new InstrumentNode(instrument));
            }

            var byExchange = from instrumentNode in instrumentNodes
                             group instrumentNode by instrumentNode.Instrument.CurrencyId;

            foreach (var customerGroup in byExchange)
            {
                Console.WriteLine(customerGroup.Key);
                foreach (var customer in customerGroup)
                {
                    Console.WriteLine("    {0}", customer.Instrument.Symbol);
                }
            }

            var byAlpha = from instrumentNode in instrumentNodes
                          group instrumentNode by instrumentNode.Instrument.Symbol[0];

            foreach (var customerGroup in byAlpha)
            {
                Console.WriteLine(customerGroup.Key);
                foreach (var customer in customerGroup)
                {
                    Console.WriteLine("    {0}", customer.Instrument.Symbol);
                }
            }

            var byCurrency = from instrumentNode in instrumentNodes
                             group instrumentNode by instrumentNode.Instrument.CurrencyId;

            foreach (var customerGroup in byCurrency)
            {
                Console.WriteLine(customerGroup.Key);
                foreach (var customer in customerGroup)
                {
                    Console.WriteLine("    {0}", customer.Instrument.Symbol);
                }
            }

            var byType = from instrumentNode in instrumentNodes
                         group instrumentNode by instrumentNode.Instrument.Type;

            foreach (var customerGroup in byType)
            {
                Console.WriteLine(customerGroup.Key);
                foreach (var customer in customerGroup)
                {
                    Console.WriteLine("    {0}", customer.Instrument.Symbol);
                }
            }

            var byMaturity = from instrumentNode in instrumentNodes
                             group instrumentNode by instrumentNode.Instrument.Maturity;

            foreach (var customerGroup in byMaturity)
            {
                Console.WriteLine(customerGroup.Key);
                foreach (var customer in customerGroup)
                {
                    Console.WriteLine("    {0}", customer.Instrument.Symbol);
                }
            }
        }
Ejemplo n.º 3
0
 private object[] GetInstrumentRootNodes(InstrumentGroupMethod method)
 {
     return(GetRootNodesNoGroup());
 }