public void RemoveItem(OverlayItem item) { foreach (OverlayItem child in (this.Content as Canvas).Children) { if (child.Identifier == item.Identifier) { (this.Content as Canvas).Children.Remove(child); return; } } }
private void Overlay_MouseDown(object sender, MouseHookEventArgs e) { if (Keyboard.IsKeyDown(Key.LeftShift)) { foreach (OverlayItem item in (this.Content as Canvas).Children) { if (item.IsPointOver(e.MouseXPos, e.MouseYPos)) { _moving = true; _selectedItem = item; _relativeMousePos = Mouse.GetPosition(_selectedItem); return; // Only want to move 1 at a time for overlapping elements } } } }
private void Overlay_MouseUp(object sender, MouseHookEventArgs e) { _moving = false; _selectedItem = null; _relativeMousePos = default(Point); // Save settings var config = ConfigManager.GetPingConfig(); if (config.OverlayEnabled) // Make sure the overlay is enabled so we don't end up clearing the list { config.ServersEnabled.Clear(); foreach (var server in (this.Content as Canvas).Children.OfType <PingItem>()) { config.ServersEnabled.Add(new Server(server.Identifier, server.XPos, server.YPos)); } } ConfigManager.SaveConfig(); }
public void AddItem(OverlayItem item) { (this.Content as Canvas).Children.Add(item); item.MoveTo(item.XPos, item.YPos); }