File size: 2,788 Bytes
d46f4a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package net.minecraft.client.gui.components;

import javax.annotation.Nullable;
import net.minecraft.client.gui.ComponentPath;
import net.minecraft.client.gui.components.events.ContainerEventHandler;
import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.navigation.FocusNavigationEvent;
import net.minecraft.network.chat.Component;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public abstract class AbstractContainerWidget extends AbstractScrollArea implements ContainerEventHandler {
    @Nullable
    private GuiEventListener focused;
    private boolean isDragging;

    public AbstractContainerWidget(int p_310492_, int p_309402_, int p_313085_, int p_312513_, Component p_310986_) {
        super(p_310492_, p_309402_, p_313085_, p_312513_, p_310986_);
    }

    @Override
    public final boolean isDragging() {
        return this.isDragging;
    }

    @Override
    public final void setDragging(boolean p_311596_) {
        this.isDragging = p_311596_;
    }

    @Nullable
    @Override
    public GuiEventListener getFocused() {
        return this.focused;
    }

    @Override
    public void setFocused(@Nullable GuiEventListener p_312828_) {
        if (this.focused != null) {
            this.focused.setFocused(false);
        }

        if (p_312828_ != null) {
            p_312828_.setFocused(true);
        }

        this.focused = p_312828_;
    }

    @Nullable
    @Override
    public ComponentPath nextFocusPath(FocusNavigationEvent p_311207_) {
        return ContainerEventHandler.super.nextFocusPath(p_311207_);
    }

    @Override
    public boolean mouseClicked(double p_312130_, double p_311814_, int p_312053_) {
        boolean flag = this.updateScrolling(p_312130_, p_311814_, p_312053_);
        return ContainerEventHandler.super.mouseClicked(p_312130_, p_311814_, p_312053_) || flag;
    }

    @Override
    public boolean mouseReleased(double p_311513_, double p_312630_, int p_310317_) {
        super.mouseReleased(p_311513_, p_312630_, p_310317_);
        return ContainerEventHandler.super.mouseReleased(p_311513_, p_312630_, p_310317_);
    }

    @Override
    public boolean mouseDragged(double p_310748_, double p_313111_, int p_309710_, double p_312859_, double p_310378_) {
        super.mouseDragged(p_310748_, p_313111_, p_309710_, p_312859_, p_310378_);
        return ContainerEventHandler.super.mouseDragged(p_310748_, p_313111_, p_309710_, p_312859_, p_310378_);
    }

    @Override
    public boolean isFocused() {
        return ContainerEventHandler.super.isFocused();
    }

    @Override
    public void setFocused(boolean p_310891_) {
        ContainerEventHandler.super.setFocused(p_310891_);
    }
}