*
* 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"),
// ------------------------------------------------------------------------
/**
- * Checkbox state, true means checked.
+ * CheckBox state, true means checked.
*/
private boolean checked = false;
*/
private String label;
+ /**
+ * If true, use the window's background color.
+ */
+ private boolean useWindowBackground = false;
+
// ------------------------------------------------------------------------
// Constructors -----------------------------------------------------------
// ------------------------------------------------------------------------
* @param mouse mouse event
* @return true if the mouse is currently on the checkbox
*/
- private boolean mouseOnCheckbox(final TMouseEvent mouse) {
+ private boolean mouseOnCheckBox(final TMouseEvent mouse) {
if ((mouse.getY() == 0)
&& (mouse.getX() >= 0)
&& (mouse.getX() <= 2)
*/
@Override
public void onMouseDown(final TMouseEvent mouse) {
- if ((mouseOnCheckbox(mouse)) && (mouse.isMouse1())) {
+ if ((mouseOnCheckBox(mouse)) && (mouse.isMouse1())) {
// Switch state
checked = !checked;
}
} else {
checkboxColor = getTheme().getColor("tcheckbox.inactive");
}
+ if (useWindowBackground) {
+ CellAttributes background = getWindow().getBackground();
+ checkboxColor.setBackColor(background.getBackColor());
+ }
- getScreen().putCharXY(0, 0, '[', checkboxColor);
+ putCharXY(0, 0, '[', checkboxColor);
if (checked) {
- getScreen().putCharXY(1, 0, GraphicsChars.CHECK, checkboxColor);
+ putCharXY(1, 0, GraphicsChars.CHECK, checkboxColor);
} else {
- getScreen().putCharXY(1, 0, ' ', checkboxColor);
+ putCharXY(1, 0, ' ', checkboxColor);
}
- getScreen().putCharXY(2, 0, ']', checkboxColor);
- getScreen().putStringXY(4, 0, label, checkboxColor);
+ putCharXY(2, 0, ']', checkboxColor);
+ putStringXY(4, 0, label, checkboxColor);
}
// ------------------------------------------------------------------------