X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fevent%2FTCommandEvent.java;h=fb3050b1dcc71dc2fbb99977f116f5f29dcbd616;hb=8dc20d387df1c9344e324d6b8a0d0d7939a47940;hp=09304d3b5a3d27e6e5d08bf77f83b7a18ffd7e9d;hpb=7b5261bc5b641e0769902f014e3b21f61050b02b;p=nikiroo-utils.git diff --git a/src/jexer/event/TCommandEvent.java b/src/jexer/event/TCommandEvent.java index 09304d3..fb3050b 100644 --- a/src/jexer/event/TCommandEvent.java +++ b/src/jexer/event/TCommandEvent.java @@ -37,7 +37,7 @@ import jexer.TCommand; * generated by menu actions, keyboard accelerators, and other UI elements. * Commands can operate on both the application and individual widgets. */ -public class TCommandEvent extends TInputEvent { +public final class TCommandEvent extends TInputEvent { /** * Command dispatched. @@ -49,7 +49,7 @@ public class TCommandEvent extends TInputEvent { * * @return the TCommand */ - public final TCommand getCmd() { + public TCommand getCmd() { return cmd; } @@ -62,13 +62,37 @@ public class TCommandEvent extends TInputEvent { this.cmd = cmd; } + /** + * Comparison check. All fields must match to return true. + * + * @param rhs another TCommandEvent or TCommand instance + * @return true if all fields are equal + */ + @Override + public boolean equals(final Object rhs) { + if (!(rhs instanceof TCommandEvent) + && !(rhs instanceof TCommand) + ) { + return false; + } + + if (rhs instanceof TCommandEvent) { + TCommandEvent that = (TCommandEvent) rhs; + return (cmd.equals(that.cmd) + && (getTime().equals(that.getTime()))); + } + + TCommand that = (TCommand) rhs; + return (cmd.equals(that)); + } + /** * Make human-readable description of this TCommandEvent. * * @return displayable String */ @Override - public final String toString() { + public String toString() { return String.format("CommandEvent: %s", cmd.toString()); } }