// Variables --------------------------------------------------------------
// ------------------------------------------------------------------------
+ /**
+ * Background character for unfilled-in text.
+ */
+ protected char backgroundChar = GraphicsChars.HATCH;
+
/**
* Field text.
*/
*/
protected TAction updateAction;
+ /**
+ * The color to use when this field is active.
+ */
+ private String activeColorKey = "tfield.active";
+
+ /**
+ * The color to use when this field is not active.
+ */
+ private String inactiveColorKey = "tfield.inactive";
+
// ------------------------------------------------------------------------
// Constructors -----------------------------------------------------------
// ------------------------------------------------------------------------
CellAttributes fieldColor;
if (isAbsoluteActive()) {
- fieldColor = getTheme().getColor("tfield.active");
+ fieldColor = getTheme().getColor(activeColorKey);
} else {
- fieldColor = getTheme().getColor("tfield.inactive");
+ fieldColor = getTheme().getColor(inactiveColorKey);
}
int end = windowStart + getWidth();
if (end > text.length()) {
end = text.length();
}
- hLineXY(0, 0, getWidth(), GraphicsChars.HATCH, fieldColor);
+ hLineXY(0, 0, getWidth(), backgroundChar, fieldColor);
putStringXY(0, 0, text.substring(windowStart, end), fieldColor);
// Fix the cursor, it will be rendered by TApplication.drawAll().
// TField -----------------------------------------------------------------
// ------------------------------------------------------------------------
+ /**
+ * Get field background character.
+ *
+ * @return background character
+ */
+ public final char getBackgroundChar() {
+ return backgroundChar;
+ }
+
+ /**
+ * Set field background character.
+ *
+ * @param backgroundChar the background character
+ */
+ public void setBackgroundChar(final char backgroundChar) {
+ this.backgroundChar = backgroundChar;
+ }
+
/**
* Get field text.
*
normalizeWindowStart();
}
+ /**
+ * Set the active color key.
+ *
+ * @param activeColorKey ColorTheme key color to use when this field is
+ * active
+ */
+ public void setActiveColorKey(final String activeColorKey) {
+ this.activeColorKey = activeColorKey;
+ }
+
+ /**
+ * Set the inactive color key.
+ *
+ * @param inactiveColorKey ColorTheme key color to use when this field is
+ * inactive
+ */
+ public void setInactiveColorKey(final String inactiveColorKey) {
+ this.inactiveColorKey = inactiveColorKey;
+ }
+
+ /**
+ * Set the action to perform when the user presses enter.
+ *
+ * @param action the action to perform when the user presses enter
+ */
+ public void setEnterAction(final TAction action) {
+ enterAction = action;
+ }
+
+ /**
+ * Set the action to perform when the field is updated.
+ *
+ * @param action the action to perform when the field is updated
+ */
+ public void setUpdateAction(final TAction action) {
+ updateAction = action;
+ }
+
}