WFA_psychometric_chart.Form_handler.NodeSelectionAndRelease C# (CSharp) Method

NodeSelectionAndRelease() private method

private NodeSelectionAndRelease ( MouseEventArgs e ) : void
e MouseEventArgs
return void
        private void NodeSelectionAndRelease(MouseEventArgs e)
        {
            //this is used to select the partciular id values..

            if (readyForMouseClick == 1)
            {

                if (oneTimeClick == 1)
                {

                    //this is for dissabling insert node when a node is selected
                  CMSinsertNode.Enabled = false;

                    setItemSelectedID = idSelected;
                    //  MessageBox.Show("Node grabbed - id=" + setItemSelectedID);
                    Cursor = Cursors.Cross;
                    oneTimeClick = 0;
                    //MessageBox.Show("one time click");
                    mouseClickAction = 1;
                }

                else
                {

                    //this is for re-enabling insert node when a node is selected
                    //insertNodeToolStripMenuItem.Enabled = true;
                    CMSinsertNode.Enabled = true;
                    mouseClickAction = 0;
                    //two time click
                    oneTimeClick = 1;//again reset to oneTimeClick
                    Cursor = Cursors.Arrow;
                    //MessageBox.Show("Node released by second click");

                    if (Control.ModifierKeys == Keys.Alt)
                    {
                        //--This alter key is for moving along constant x-axis ...
                        //MessageBox.Show(" alt is pressed for x axis constant");

                        //menuStripNodeInfoValues[idSelected].xVal = xAxis1;
                        menuStripNodeInfoValues[idSelected].yVal = yAxis1;

                        //label5.Text = "click past x =" + menuStripNodeInfoValues[idSelected].xVal + " y " + menuStripNodeInfoValues[idSelected].yVal;

                        series1.Points.Clear();
                        for (int i = 0; i < menuStripNodeLineInfoValues.Count; i++)//-- this -1 is done because for three points we have two line series..
                        {
                            //chart1.Series.Remove(menuStripNodeLineInfoValues[i].lineSeriesID);
                            menuStripNodeLineInfoValues[i].lineSeriesID.Points.Clear();
                        }
                        //--this is redraw functionality
                        //foreach(var values in menuStripNodeInfoValues)
                        for (int x = 0; x < menuStripNodeInfoValues.Count; x++)
                        {
                            string labelValue;
                            if (menuStripNodeInfoValues[x].showItemText == "Label")
                            {
                                labelValue = menuStripNodeInfoValues[x].label;
                            }
                            else if (menuStripNodeInfoValues[x].showItemText == "Name")
                            {
                                labelValue = menuStripNodeInfoValues[x].name;
                            }
                            else
                            {
                                labelValue = menuStripNodeInfoValues[x].source;
                            }

                            ReDrawPoints(series1, menuStripNodeInfoValues[x].xVal, menuStripNodeInfoValues[x].yVal, menuStripNodeInfoValues[x].colorValue, menuStripNodeInfoValues[x].source, menuStripNodeInfoValues[x].name, menuStripNodeInfoValues[x].label, labelValue);
                            incrementIndex++;

                        }
                        //--resetting incrementIndex
                        incrementIndex = 0;
                        if (menuStripNodeLineInfoValues.Count > 0)
                        {

                            for (int x = 0; x < menuStripNodeLineInfoValues.Count; x++)
                            {
                                incrementIndex++;

                                ReDrawLines(menuStripNodeLineInfoValues[x].ID, menuStripNodeLineInfoValues[x].prevNodeId, menuStripNodeLineInfoValues[x].nextNodeId, menuStripNodeLineInfoValues[x].lineSeriesID, menuStripNodeLineInfoValues[x].lineColorValue);

                            }

                        }

                        chart1.Invalidate();
                        incrementIndex = 0;//reset the values again..

                    }
                    else if (Control.ModifierKeys == Keys.Shift)
                    {
                        //--This ctrl key is for moving along the y-  axis...

                        //MessageBox.Show("shift  is pressed for y  axis constant");

                        menuStripNodeInfoValues[idSelected].xVal = xAxis1;
                        //menuStripNodeInfoValues[idSelected].yVal = yAxis1;

                        //label5.Text = "click past x =" + menuStripNodeInfoValues[idSelected].xVal + " y " + menuStripNodeInfoValues[idSelected].yVal;

                        series1.Points.Clear();
                        for (int i = 0; i < menuStripNodeLineInfoValues.Count; i++)//-- this -1 is done because for three points we have two line series..
                        {
                            //chart1.Series.Remove(menuStripNodeLineInfoValues[i].lineSeriesID);
                            menuStripNodeLineInfoValues[i].lineSeriesID.Points.Clear();
                        }

                        //--this is redraw functionality
                        //foreach(var values in menuStripNodeInfoValues)
                        for (int x = 0; x < menuStripNodeInfoValues.Count; x++)
                        {
                            string labelValue;
                            if (menuStripNodeInfoValues[x].showItemText == "Label")
                            {
                                labelValue = menuStripNodeInfoValues[x].label;
                            }
                            else if (menuStripNodeInfoValues[x].showItemText == "Name")
                            {
                                labelValue = menuStripNodeInfoValues[x].name;
                            }
                            else
                            {
                                labelValue = menuStripNodeInfoValues[x].source;
                            }

                            ReDrawPoints(series1, menuStripNodeInfoValues[x].xVal, menuStripNodeInfoValues[x].yVal, menuStripNodeInfoValues[x].colorValue, menuStripNodeInfoValues[x].source, menuStripNodeInfoValues[x].name, menuStripNodeInfoValues[x].label, labelValue);
                            incrementIndex++;

                        }
                        //--resetting incrementIndex
                        incrementIndex = 0;
                        if (menuStripNodeLineInfoValues.Count > 0)
                        {

                            for (int x = 0; x < menuStripNodeLineInfoValues.Count; x++)
                            {
                                incrementIndex++;

                                // ReDrawLines(menuStripNodeInfoValues[x].id, menuStripNodeInfoValues[x].xVal, menuStripNodeInfoValues[x].yVal, menuStripNodeInfoValues[x].colorValue);
                                ReDrawLines(menuStripNodeLineInfoValues[x].ID, menuStripNodeLineInfoValues[x].prevNodeId, menuStripNodeLineInfoValues[x].nextNodeId, menuStripNodeLineInfoValues[x].lineSeriesID, menuStripNodeLineInfoValues[x].lineColorValue);

                            }

                        }

                        chart1.Invalidate();
                        incrementIndex = 0;//reset the values again..

                    }
                    else
                    {

                        menuStripNodeInfoValues[idSelected].xVal = xAxis1;
                        menuStripNodeInfoValues[idSelected].yVal = yAxis1;

                        //label5.Text = "click past x =" + menuStripNodeInfoValues[idSelected].xVal + " y " + menuStripNodeInfoValues[idSelected].yVal;

                        series1.Points.Clear();
                        if (menuStripNodeLineInfoValues.Count > 0)
                        {
                            for (int i = 0; i < menuStripNodeLineInfoValues.Count; i++)//-- this -1 is done because for three points we have two line series..
                            {
                                //chart1.Series.Remove(menuStripNodeLineInfoValues[i].lineSeriesID);
                                menuStripNodeLineInfoValues[i].lineSeriesID.Points.Clear();
                            }
                        }
                        //--this is redraw functionality
                        //foreach(var values in menuStripNodeInfoValues)
                        for (int x = 0; x < menuStripNodeInfoValues.Count; x++)
                        {
                            string labelValue;
                            if (menuStripNodeInfoValues[x].showItemText == "Label")
                            {
                                labelValue = menuStripNodeInfoValues[x].label;
                            }
                            else if (menuStripNodeInfoValues[x].showItemText == "Name")
                            {
                                labelValue = menuStripNodeInfoValues[x].name;
                            }
                            else
                            {
                                labelValue = menuStripNodeInfoValues[x].source;
                            }

                            ReDrawPoints(series1, menuStripNodeInfoValues[x].xVal, menuStripNodeInfoValues[x].yVal, menuStripNodeInfoValues[x].colorValue, menuStripNodeInfoValues[x].source, menuStripNodeInfoValues[x].name, menuStripNodeInfoValues[x].label, labelValue);
                            incrementIndex++;

                        }
                        //--resetting incrementIndex
                        incrementIndex = 0;
                        if (menuStripNodeLineInfoValues.Count > 0)
                        {

                            for (int x = 0; x < menuStripNodeLineInfoValues.Count; x++)
                            {

                                incrementIndex++;

                                // ReDrawLines(menuStripNodeInfoValues[x].id, menuStripNodeInfoValues[x].xVal, menuStripNodeInfoValues[x].yVal, menuStripNodeInfoValues[x].colorValue);
                                ReDrawLines(menuStripNodeLineInfoValues[x].ID, menuStripNodeLineInfoValues[x].prevNodeId, menuStripNodeLineInfoValues[x].nextNodeId, menuStripNodeLineInfoValues[x].lineSeriesID, menuStripNodeLineInfoValues[x].lineColorValue);

                            }

                        }

                        chart1.Invalidate();
                        incrementIndex = 0;//reset the values again..
                    }//closing of key else part
                }//closing of second click

            }//closing of else block
        }