X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTCheckBox.java;h=84c2e41adf7a13d086e704b6490a13a0eccd5359;hb=978a5d8f650488c8840d54ccc3032599ca50a084;hp=2b35843d92632d1c8ba3473ddcbbc31aa67ae3dc;hpb=051e29138b18fb4b731a72f8727475b10e4c74e4;p=fanfix.git diff --git a/src/jexer/TCheckBox.java b/src/jexer/TCheckBox.java index 2b35843..84c2e41 100644 --- a/src/jexer/TCheckBox.java +++ b/src/jexer/TCheckBox.java @@ -3,7 +3,7 @@ * * 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"), @@ -44,7 +44,7 @@ public class TCheckBox extends TWidget { // ------------------------------------------------------------------------ /** - * Checkbox state, true means checked. + * CheckBox state, true means checked. */ private boolean checked = false; @@ -53,6 +53,11 @@ public class TCheckBox extends TWidget { */ private String label; + /** + * If true, use the window's background color. + */ + private boolean useWindowBackground = false; + // ------------------------------------------------------------------------ // Constructors ----------------------------------------------------------- // ------------------------------------------------------------------------ @@ -89,7 +94,7 @@ public class TCheckBox extends TWidget { * @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) @@ -106,7 +111,7 @@ public class TCheckBox extends TWidget { */ @Override public void onMouseDown(final TMouseEvent mouse) { - if ((mouseOnCheckbox(mouse)) && (mouse.isMouse1())) { + if ((mouseOnCheckBox(mouse)) && (mouse.isMouse1())) { // Switch state checked = !checked; } @@ -144,15 +149,19 @@ public class TCheckBox extends TWidget { } 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); } // ------------------------------------------------------------------------