using System; using System.Drawing; namespace TradeIdeas.TIProGUI.Charting.Controls.ChartMenuToolBar { // SelectableMenuButton, i.e. the HeartMenu [System.ComponentModel.DesignerCategory("")] public class SelectableMenuButton : MenuButton { public Image SelectedImageDark { get; set; } public Image SelectedImageLight { get; set; } public Image NotSelectedImageDark { get; set; } public Image NotSelectedImageLight { get; set; } public bool IsSelected { get; set; } public bool IsNotSelected => !IsSelected; public SelectableMenuButton() { MouseClick += ClickEvent; } public void SetSelected(bool isSelected) { IsSelected = isSelected; if (isSelected) { Image = IsDarkTheme ? SelectedImageDark : SelectedImageLight; } else { Image = IsDarkTheme ? NotSelectedImageDark : NotSelectedImageLight; } } public override void SetTheme(Color backColor) { //Don't call the inheritted Menu SetTheme, we will handle SetTheme specifically for this meneu button type //base.SetTheme(isDarkTheme); IsDarkTheme = backColor.IsDark(); SetSelected(IsSelected); } private void ClickEvent(object sender, EventArgs e) { SetSelected(!IsSelected); } } }