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
}