private void AddFloorPlan() { var ofp = new objectsFloorplan { objects = new objectsFloorplanObjects { @object = new objectsFloorplanObjectsEntry[0] }, id = -1, image = "", height = 480, width = 640, x = Convert.ToInt32(Random.NextDouble() * 100), y = Convert.ToInt32(Random.NextDouble() * 100), name = LocRm.GetString("FloorPlan") + " " + NextFloorPlanId }; var fpc = new FloorPlanControl(ofp, this) { BackColor = Conf.BackColor.ToColor() }; _pnlCameras.Controls.Add(fpc); fpc.Location = new Point(ofp.x, ofp.y); fpc.Size = new Size(320, 240); fpc.BringToFront(); fpc.Tag = GetControlIndex(); var afp = new AddFloorPlan { Fpc = fpc, Owner = this, MainClass = this }; afp.ShowDialog(this); if (afp.DialogResult == DialogResult.OK) { UnlockLayout(); afp.Fpc.Fpobject.id = NextFloorPlanId; FloorPlans.Add(ofp); SetFloorPlanEvents(fpc); SetNewStartPosition(); fpc.Invalidate(); } else { _pnlCameras.Controls.Remove(fpc); fpc.Dispose(); } afp.Dispose(); }
private void RemoveFloorplan(FloorPlanControl fpc, bool confirm) { if (confirm && MessageBox.Show(LocRm.GetString("AreYouSure"), LocRm.GetString("Confirm"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel) return; if (fpc.Fpobject?.objects?.@object != null) { foreach (var o in fpc.Fpobject.objects.@object) { switch (o.type) { case "camera": CameraWindow cw = GetCameraWindow(o.id); if (cw != null) { //cw.Location = new Point(Location.X + e.X, Location.Y + e.Y); cw.Highlighted = false; cw.Invalidate(); } break; case "microphone": VolumeLevel vl = GetVolumeLevel(o.id); if (vl != null) { vl.Highlighted = false; vl.Invalidate(); } break; } } } _pnlCameras.Controls.Remove(fpc); if (!_closing) { objectsFloorplan ofp = FloorPlans.SingleOrDefault(p => p.id == fpc.Fpobject.id); if (ofp != null) FloorPlans.Remove(ofp); SetNewStartPosition(); NeedsSync = true; } fpc.Dispose(); }
private void RemoveFloorplan(FloorPlanControl fpc, bool confirm) { if (confirm && MessageBox.Show(LocRm.GetString("AreYouSure"), LocRm.GetString("Confirm"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel) return; _pnlCameras.Controls.Remove(fpc); if (!_closing) { objectsFloorplan ofp = FloorPlans.SingleOrDefault(p => p.id == fpc.Fpobject.id); if (ofp != null) FloorPlans.Remove(ofp); SetNewStartPosition(); NeedsSync = true; } fpc.Dispose(); }