private void addCountryStructures(string rootNodeText_, CountryGroupNodeMode mode_) { var otrTop = new CountryGroupNode(rootNodeText_, LiveMarkets.Markets, StructureGrouping.Outrights | StructureGrouping.Butterflies | StructureGrouping.Curves, mode_); otrTop.LeftImages.Add(BSAResources.folder_icon_16black); ultraTree1.Nodes.Add(otrTop); foreach (var market in LiveMarkets.Markets) { var marketNode = new CountryGroupNode(market.ToString(), new[] { market }, StructureGrouping.Outrights | StructureGrouping.Butterflies | StructureGrouping.Curves, mode_); marketNode.LeftImages.Add(BSAResources.folder_icon_16black); otrTop.Nodes.Add(marketNode); foreach (var group in new[] { StructureGrouping.Outrights, StructureGrouping.Curves, StructureGrouping.Butterflies }) { var marketGroupNode = new CountryGroupNode(group.ToString(), new[] { market }, group,mode_); marketGroupNode.LeftImages.Add(BSAResources.folder_arrow_icon_16); marketNode.Nodes.Add(marketGroupNode); } { var topXMarketNode = new CountryGroupNode("X-Mkt Spreads", new[] { BondMarket.None }, StructureGrouping.None, mode_); topXMarketNode.LeftImages.Add(BSAResources.globe_1_icon_16); marketNode.Nodes.Add(topXMarketNode); for (int i = 0; i < LiveMarkets.Markets.Length; ++i) { if (LiveMarkets.Markets[i] == market) continue; var xmktNode = new CountryGroupNode(string.Format("{0}.{1}", market, LiveMarkets.Markets[i]), new[] { market, LiveMarkets.Markets[i] }, StructureGrouping.XMarketSpreads, mode_); xmktNode.LeftImages.Add(BSAResources.globe_2_icon_16); topXMarketNode.Nodes.Add(xmktNode); } } { var topXMarketNode = new CountryGroupNode("X-Mkt Boxes", new[] { BondMarket.None }, StructureGrouping.None, mode_); topXMarketNode.LeftImages.Add(BSAResources.globe_1_icon_16); marketNode.Nodes.Add(topXMarketNode); for (int i = 0; i < LiveMarkets.Markets.Length; ++i) { if (LiveMarkets.Markets[i] == market) continue; var xmktNode = new CountryGroupNode(string.Format("{0}.{1}", market, LiveMarkets.Markets[i]), new[] { market, LiveMarkets.Markets[i] }, StructureGrouping.XMarketBoxes,mode_); xmktNode.LeftImages.Add(BSAResources.globe_2_icon_16); topXMarketNode.Nodes.Add(xmktNode); } } } // outrights { var outrightNode = new CountryGroupNode("Outrights", LiveMarkets.Markets, StructureGrouping.None, mode_, -1); outrightNode.LeftImages.Add(BSAResources.folder_icon_16black); otrTop.Nodes.Add(outrightNode); var allPoints = CMTLine.DisplayPoints; for (int index = 0; index < allPoints.Length; ++index) { var node = new CountryGroupNode(string.Format("{0}", allPoints[index]), LiveMarkets.Markets, StructureGrouping.Outrights, mode_, index); node.LeftImages.Add(BSAResources.folder_icon_16black); outrightNode.Nodes.Add(node); } } // curves { var curvesNode = new CountryGroupNode("Curves", LiveMarkets.Markets, StructureGrouping.None, mode_, -1); curvesNode.LeftImages.Add(BSAResources.folder_icon_16black); otrTop.Nodes.Add(curvesNode); var allPoints = StructureConfigs.IntraCountryCurves; for (int index = 0; index < allPoints.Count; ++index) { var node = new CountryGroupNode(string.Format("{0} {1}", allPoints[index][0], allPoints[index][1]), LiveMarkets.Markets, StructureGrouping.Curves, mode_, index); node.LeftImages.Add(BSAResources.folder_icon_16black); curvesNode.Nodes.Add(node); } } // butterflies { var bflyNode = new CountryGroupNode("Butterflies", LiveMarkets.Markets, StructureGrouping.None, mode_, -1); bflyNode.LeftImages.Add(BSAResources.folder_icon_16black); otrTop.Nodes.Add(bflyNode); var allPoints = StructureConfigs.IntraCountryButterflies; for (int index = 0; index < allPoints.Count; ++index) { var node = new CountryGroupNode(string.Format("{0} {1} {2}", allPoints[index][0], allPoints[index][1], allPoints[index][2]), LiveMarkets.Markets, StructureGrouping.Butterflies, mode_, index); node.LeftImages.Add(BSAResources.folder_icon_16black); bflyNode.Nodes.Add(node); } } // boxes { var boxesNode = new CountryGroupNode("Boxes", LiveMarkets.Markets, StructureGrouping.None, mode_, -1); boxesNode.LeftImages.Add(BSAResources.folder_icon_16black); otrTop.Nodes.Add(boxesNode); var allPoints = StructureConfigs.InterCountryBoxSides; for (int index = 0; index < allPoints.Count; ++index) { var node = new CountryGroupNode(string.Format("Boxes {0} {1}", allPoints[index][0], allPoints[index][1]), LiveMarkets.Markets, StructureGrouping.XMarketBoxes, mode_, index); node.LeftImages.Add(BSAResources.folder_icon_16black); boxesNode.Nodes.Add(node); } } ultraTree1.RefreshSort(otrTop.Nodes, true); }
private void collectStatLineCreatorsFromFolder(CountryGroupNode node_, IList<IStatLineCreator> addToThis_) { var toAdd = BondStructureCountryGroupHelper.GetItems(node_.Markets, node_.Grouping, node_.Mode, node_.StructureIndex); if(toAdd!=null) foreach (var v in toAdd) addToThis_.Add(v); }