private void pbPipeline_MouseClick(object sender, MouseEventArgs e) { Point pt = new Point(e.X - Component.Size / 2, e.Y - Component.Size / 2); if (buttonPump.Checked) { changes = pg.AddPump(Convert.ToDouble(numCurrentFlow.Value), Convert.ToDouble(numCapacity.Value), pt); } else if (buttonSink.Checked) { changes = pg.AddSink(pt, Convert.ToDouble(numCapacity.Value)); } else if (buttonMerger.Checked) { changes = pg.AddMerger(pt); } else if (buttonDelete.Checked) { changes = pg.DeleteElementFromGround(new Point(e.X, e.Y)); } else if (buttonSplitter.Checked) { changes = pg.AddSplitter(pt); } else if (buttonAdjSplitter.Checked) { changes = pg.AddAdjustableSplitter(pt, Convert.ToDouble(numPercentage.Value / 100)); } else if (buttonEdit.Checked) { EditComponent(new Point(e.X, e.Y)); } else if (buttonPipe.Checked) { pg.AddPipe(new Point(e.X, e.Y), (double)numCapacity.Value); } pbPipeline.Invalidate(); }