public ButtonTooltipLogic(Widget widget, ToggleButtonWidget button) { var label = widget.Get<LabelWidget>("LABEL"); var hotkey = widget.Get<LabelWidget>("HOTKEY"); label.GetText = () => button.TooltipText; var labelWidth = Game.Renderer.Fonts[label.Font].Measure(button.TooltipText).X; label.Bounds.Width = labelWidth; var hotkeyLabel = "({0})".F(button.Key.ToUpperInvariant()); hotkey.GetText = () => hotkeyLabel; hotkey.Bounds.X = labelWidth + 2*label.Bounds.X; var panelWidth = hotkey.Bounds.X + label.Bounds.X + Game.Renderer.Fonts[label.Font].Measure(hotkeyLabel).X; widget.Bounds.Width = panelWidth; }
void SetupProductionGroupButton(ToggleButtonWidget button, string group) { Action<bool> selectTab = reverse => { if (queueTabs.QueueGroup == group) queueTabs.SelectNextTab(reverse); else queueTabs.QueueGroup = group; }; button.IsDisabled = () => queueTabs.Groups[group].Tabs.Count == 0; button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift)); button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift)); button.IsToggled = () => queueTabs.QueueGroup == group; var chromeName = group.ToLowerInvariant(); var icon = button.Get<ImageWidget>("ICON"); icon.GetImageName = () => button.IsDisabled() ? chromeName+"-disabled" : queueTabs.Groups[group].Alert ? chromeName+"-alert" : chromeName; }
public ButtonTooltipLogic(Widget widget, ToggleButtonWidget button) { var label = widget.GetWidget <LabelWidget>("LABEL"); var hotkey = widget.GetWidget <LabelWidget>("HOTKEY"); label.GetText = () => button.TooltipText; var labelWidth = Game.Renderer.Fonts[label.Font].Measure(button.TooltipText).X; label.Bounds.Width = labelWidth; var hotkeyLabel = "({0})".F(button.Key.ToUpperInvariant()); hotkey.GetText = () => hotkeyLabel; hotkey.Bounds.X = labelWidth + 2 * label.Bounds.X; var panelWidth = hotkey.Bounds.X + label.Bounds.X + Game.Renderer.Fonts[label.Font].Measure(hotkeyLabel).X; widget.Bounds.Width = panelWidth; }
void SetupProductionGroupButton(ToggleButtonWidget button, string group) { Action<bool> selectTab = reverse => { if (queueTabs.QueueGroup == group) queueTabs.SelectNextTab(reverse); else queueTabs.QueueGroup = group; }; button.IsDisabled = () => queueTabs.Groups[group].Tabs.Count == 0; button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift)); button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift)); button.IsToggled = () => queueTabs.QueueGroup == group; var chromeName = group.ToLowerInvariant(); var icon = button.GetWidget<ImageWidget>("ICON"); icon.GetImageName = () => button.IsDisabled() ? chromeName+"-disabled" : queueTabs.Groups[group].Alert ? chromeName+"-alert" : chromeName; }