* @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();
}
-