示例#1
0
        /// <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();
            }
        }
示例#3
0
        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();
        }