/// <summary> /// Handler for the TreeView AfterSelect event /// </summary> private void treeView_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { // Check if a demo module node is selected. Demo module is attached to the node // as the Tag property DemoModule demo = (DemoModule)e.Node.Tag; if (demo != null) { // Display the title title.Text = demo.getName(); // Clear all ChartViewers for (int i = 0; i < chartViewers.Length; ++i) { chartViewers[i].Visible = false; } // Each demo module can display a number of charts int noOfCharts = demo.getNoOfCharts(); for (int i = 0; i < noOfCharts; ++i) { demo.createChart(chartViewers[i], i); chartViewers[i].Visible = true; } // Now perform flow layout of the charts (viewers) layoutCharts(); // Add current node to the history array to support Back/Forward browsing addHistory(e.Node); } // Update the state of the buttons, status bar, etc. updateControls(); }
/// <summary> /// Handler for the TreeView AfterSelect event /// </summary> private void treeView_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { if (e.Action == TreeViewAction.ByMouse || e.Action == TreeViewAction.ByKeyboard) { DateTime fromDate = dtpFromDate.Value; DateTime toDate = dtpToDate.Value; // Check if a demo module node is selected. Demo module is attached to the node // as the Tag property DemoModule demo = (DemoModule)e.Node.Tag; if (demo != null) { // Display the title title.Text = demo.getName(); // Clear all ChartViewers for (int i = 0; i < chartViewers.Length; ++i) { chartViewers[i].Visible = false; } // Each demo module can display a number of charts int noOfCharts = demo.getNoOfCharts(); for (int i = 0; i < noOfCharts; ++i) { int chartWidth = rightPanel.Width - 50; int chartHeighth = rightPanel.Height - 110; demo.createChart(chartViewers[i], "" + i, Int32.Parse(tickerSymbol.SelectedValue.ToString()), Int32.Parse(timeFramePeriod.SelectedValue.ToString()), fromDate, toDate, (int)trbSize.Value, chartWidth, chartHeighth, priceTypeCombo.SelectedIndex); chartViewers[i].Visible = true; } // Now perform flow layout of the charts (viewers) layoutCharts(); // Add current node to the history array to support Back/Forward browsing addHistory(e.Node); } // Update the state of the buttons, status bar, etc. updateControls(); } }
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { var selectedItem = e.NewValue as TreeViewItem; if (null != selectedItem) { DemoModule demo = selectedItem.Tag as DemoModule; if (demo != null) { // Display the title title.Text = demo.getName(); // Clear all ChartViewers for (int i = 0; i < chartViewers.Length; ++i) { chartViewers[i].Visibility = Visibility.Collapsed; } // Each demo module can display a number of charts int noOfCharts = demo.getNoOfCharts(); for (int i = 0; i < noOfCharts; ++i) { demo.createChart(chartViewers[i], i); chartViewers[i].Visibility = Visibility.Visible; } // Add current node to the history array to support Back/Forward browsing addHistory(selectedItem); // Make sure the selected item is visible selectedItem.BringIntoView(); } // Update the state of the navigation buttons BackPB.IsEnabled = (currentHistoryIndex > 0); ForwardPB.IsEnabled = (lastHistoryIndex > currentHistoryIndex); NextPB.IsEnabled = (getNextNode() != null); PreviousPB.IsEnabled = (getPrevNode() != null); } }
private void chartViewer1_ViewPortChanged(object sender, ChartDirector.WinViewPortEventArgs e) { DemoModule demo = (DemoModule)treeView.SelectedNode.Tag; if (demo != null) { bool updated = false; DateTime fromDate = dtpFromDate.Value; DateTime toDate = dtpToDate.Value; if (demo.getChartGroup() == 1) { var volQuotes = (from q in dataContext.volquotes where q.stock == Int32.Parse(tickerSymbol.SelectedValue.ToString()) && q.datetime >= fromDate && q.datetime <= toDate.AddDays(1) //&& q.TimeFrame == Int32.Parse(timeFramePeriod.SelectedValue.ToString()) && q.timeframe == 1 // поменяли в связи с тем, что в графиках последняя свеча суммируется по таймфрейму 1, т.е. каждую минуту даже если график таймфреймом более 1 минуты. select q).Count(); if (lastVolCount != volQuotes) { updated = true; lastVolCount = volQuotes; } } if (demo.getChartGroup() == 2) { var settingQuotes = (from sq in dataContext.settingquotes where sq.stock == Int32.Parse(tickerSymbol.SelectedValue.ToString()) && sq.datetime >= fromDate && sq.datetime <= toDate.AddDays(1) //&& sq.TimeFrame == Int32.Parse(timeFramePeriod.SelectedValue.ToString()) && sq.timeframe == 1 // поменяли в связи с тем, что в графиках последняя свеча суммируется по таймфрейму 1, т.е. каждую минуту даже если график таймфреймом более 1 минуты. select sq).Count(); if (lastSettingsCount != settingQuotes) { updated = true; lastSettingsCount = settingQuotes; } } if (updated) { // Check if a demo module node is selected. Demo module is attached to the node // as the Tag property // Clear all ChartViewers for (int i = 0; i < chartViewers.Length; ++i) { chartViewers[i].Visible = false; } // Each demo module can display a number of charts int noOfCharts = demo.getNoOfCharts(); for (int i = 0; i < noOfCharts; ++i) { int chartWidth = rightPanel.Width - 50; int chartHeighth = rightPanel.Height - 110; demo.createChart(chartViewers[i], "" + i, Int32.Parse(tickerSymbol.SelectedValue.ToString()), Int32.Parse(timeFramePeriod.SelectedValue.ToString()), fromDate, toDate, (int)trbSize.Value, chartWidth, chartHeighth, priceTypeCombo.SelectedIndex); chartViewers[i].Visible = true; } } } }
// ********************************************************************** private void btnUpdateChart_Click(object sender, EventArgs e) { if (treeView.SelectedNode == null) { return; } //+ Int64 tickerID = (Int64)tickerSymbol.SelectedValue; int timeFrameID = Int32.Parse(timeFramePeriod.SelectedValue.ToString()); this.timeFramesTableAdapter.FillByActive(this.cONSOLEDB2DataSet.timeframes); this.stocksTableAdapter.FillByActive(this.cONSOLEDB2DataSet.stocks); if (tickerID >= 0) { tickerSymbol.SelectedValue = tickerID; } if (timeFrameID >= 0) { timeFramePeriod.SelectedValue = timeFrameID; } //- DateTime fromDate = dtpFromDate.Value; DateTime toDate = dtpToDate.Value; // Check if a demo module node is selected. Demo module is attached to the node // as the Tag property DemoModule demo = (DemoModule)treeView.SelectedNode.Tag; if (demo != null) { // Display the title title.Text = demo.getName(); // Clear all ChartViewers for (int i = 0; i < chartViewers.Length; ++i) { chartViewers[i].Visible = false; } // Each demo module can display a number of charts int noOfCharts = demo.getNoOfCharts(); for (int i = 0; i < noOfCharts; ++i) { int chartWidth = rightPanel.Width - 50; int chartHeighth = rightPanel.Height - 110; demo.createChart(chartViewers[i], "" + i, Int32.Parse(tickerSymbol.SelectedValue.ToString()), Int32.Parse(timeFramePeriod.SelectedValue.ToString()), fromDate, toDate, (int)trbSize.Value, chartWidth, chartHeighth, priceTypeCombo.SelectedIndex); chartViewers[i].Visible = true; } // Now perform flow layout of the charts (viewers) layoutCharts(); // Add current node to the history array to support Back/Forward browsing addHistory(treeView.SelectedNode); } // Update the state of the buttons, status bar, etc. updateControls(); }