public FloorPlanControl(objectsFloorplan ofp, MainForm mainForm) { MainClass = mainForm; InitializeComponent(); SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); Margin = new Padding(0, 0, 0, 0); Padding = new Padding(0, 0, 5, 5); BorderStyle = BorderStyle.None; BackColor = MainForm.BackgroundColor; Fpobject = ofp; MouseClick += FloorPlanControlClick; _toolTipFp = new ToolTip { AutomaticDelay = 500, AutoPopDelay = 1500 }; }
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(); }
internal void EditFloorplan(objectsFloorplan ofp, IWin32Window owner = null) { FloorPlanControl fpc = null; for (int index = 0; index < _pnlCameras.Controls.Count; index++) { Control c = _pnlCameras.Controls[index]; if (c.GetType() != typeof(FloorPlanControl)) continue; var fp = (FloorPlanControl)c; if (fp.Fpobject.id != ofp.id) continue; fpc = fp; break; } if (fpc != null) { var afp = new AddFloorPlan { Fpc = fpc, MainClass = this }; afp.ShowDialog(owner ?? this); afp.Dispose(); fpc.Invalidate(); } }
internal void DisplayFloorPlan(objectsFloorplan ofp) { var fpControl = new FloorPlanControl(ofp, this); SetFloorPlanEvents(fpControl); fpControl.BackColor = Conf.BackColor.ToColor(); _pnlCameras.Controls.Add(fpControl); fpControl.Location = new Point(ofp.x, ofp.y); fpControl.Size = new Size(ofp.width, ofp.height); fpControl.BringToFront(); fpControl.Tag = GetControlIndex(); }