Allow keyframe timeline cursor sync to be toggled (closes #290)

This commit is contained in:
Jonas Herzig
2020-11-06 10:39:37 +01:00
parent 214100840e
commit 6e6af1dcbb
7 changed files with 79 additions and 6 deletions

View File

@@ -10,11 +10,13 @@ import de.johni0702.minecraft.gui.container.GuiPanel;
import de.johni0702.minecraft.gui.element.GuiButton;
import de.johni0702.minecraft.gui.element.GuiElement;
import de.johni0702.minecraft.gui.element.GuiLabel;
import de.johni0702.minecraft.gui.element.GuiTooltip;
import de.johni0702.minecraft.gui.layout.CustomLayout;
import de.johni0702.minecraft.gui.layout.GridLayout;
import de.johni0702.minecraft.gui.layout.LayoutData;
import de.johni0702.minecraft.gui.utils.EventRegistrations;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.resource.language.I18n;
import java.util.Collection;
@@ -71,9 +73,25 @@ public class HotkeyButtons extends EventRegistrations implements Extra {
public void draw(GuiRenderer renderer, ReadableDimension size, RenderInfo renderInfo) {
// There doesn't seem to be an KeyBindingUpdate event, so we'll just update it every time
setLabel(keyBinding.isBound() ? keyBinding.getBoundKey() : "");
if (keyBinding.supportsAutoActivation()) {
setTooltip(new GuiTooltip().setText(new String[]{
I18n.translate("replaymod.gui.ingame.autoactivating"),
I18n.translate("replaymod.gui.ingame.autoactivating."
+ (keyBinding.isAutoActivating() ? "disable" : "enable")),
}));
setLabelColor(keyBinding.isAutoActivating() ? 0x00ff00 : 0xe0e0e0);
}
super.draw(renderer, size, renderInfo);
}
}.onClick(keyBinding::trigger);
}.onClick(() -> {
if (keyBinding.supportsAutoActivation() && Screen.hasControlDown()) {
keyBinding.setAutoActivating(!keyBinding.isAutoActivating());
} else {
keyBinding.trigger();
}
});
GuiLabel label = new GuiLabel().setI18nText(keyBinding.name);
panel.addElements(null, new GuiPanel().setLayout(new CustomLayout<GuiPanel>() {
@Override