*
* The MIT License (MIT)
*
- * Copyright (C) 2017 Kevin Lamonte
+ * Copyright (C) 2019 Kevin Lamonte
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* @see TButton
*/
public abstract class TAction {
+
+ /**
+ * The widget that called this action's DO() method. Note that this
+ * field could be null, for example if executed as a timer action.
+ */
+ public TWidget source;
+
+ /**
+ * An optional bit of data associated with this action.
+ */
+ public Object data;
+
+ /**
+ * Call DO() with source widget set.
+ *
+ * @param source the source widget
+ */
+ public final void DO(final TWidget source) {
+ this.source = source;
+ DO();
+ }
+
+ /**
+ * Call DO() with source widget and data set.
+ *
+ * @param source the source widget
+ * @param data the data
+ */
+ public final void DO(final TWidget source, final Object data) {
+ this.source = source;
+ this.data = data;
+ DO();
+ }
+
/**
* Various classes will call DO() when they are clicked/selected.
*/
public abstract void DO();
}
-