summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog/cmCursesBoolWidget.cxx
diff options
context:
space:
mode:
authorSylvain Joubert <joubert.sy@gmail.com>2019-10-27 17:25:41 (GMT)
committerSylvain Joubert <joubert.sy@gmail.com>2019-11-04 17:59:20 (GMT)
commit93b66735ac2092675eec7a636625df84ff306fdc (patch)
treeb58c050ad714fa7ea5467f90d26873e764bfa7ea /Source/CursesDialog/cmCursesBoolWidget.cxx
parentdbd14ecacf9b85dcdf5f566538167261dba224fe (diff)
downloadCMake-93b66735ac2092675eec7a636625df84ff306fdc.zip
CMake-93b66735ac2092675eec7a636625df84ff306fdc.tar.gz
CMake-93b66735ac2092675eec7a636625df84ff306fdc.tar.bz2
ccmake: Use type-based colors to display cache values
The colors are based on the entry type (or value for booleans), paths and filepaths sharing the same color.
Diffstat (limited to 'Source/CursesDialog/cmCursesBoolWidget.cxx')
-rw-r--r--Source/CursesDialog/cmCursesBoolWidget.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/CursesDialog/cmCursesBoolWidget.cxx b/Source/CursesDialog/cmCursesBoolWidget.cxx
index 97b0811..c4dbed8 100644
--- a/Source/CursesDialog/cmCursesBoolWidget.cxx
+++ b/Source/CursesDialog/cmCursesBoolWidget.cxx
@@ -4,6 +4,7 @@
#include <string>
+#include "cmCursesColor.h"
#include "cmCursesWidget.h"
#include "cmStateTypes.h"
@@ -12,8 +13,10 @@ cmCursesBoolWidget::cmCursesBoolWidget(int width, int height, int left,
: cmCursesWidget(width, height, left, top)
{
this->Type = cmStateEnums::BOOL;
- set_field_fore(this->Field, A_NORMAL);
- set_field_back(this->Field, A_STANDOUT);
+ if (!cmCursesColor::HasColors()) {
+ set_field_fore(this->Field, A_NORMAL);
+ set_field_back(this->Field, A_STANDOUT);
+ }
field_opts_off(this->Field, O_STATIC);
this->SetValueAsBool(false);
}
@@ -42,8 +45,16 @@ void cmCursesBoolWidget::SetValueAsBool(bool value)
{
if (value) {
this->SetValue("ON");
+ if (cmCursesColor::HasColors()) {
+ set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::BoolOn));
+ set_field_back(this->Field, COLOR_PAIR(cmCursesColor::BoolOn));
+ }
} else {
this->SetValue("OFF");
+ if (cmCursesColor::HasColors()) {
+ set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::BoolOff));
+ set_field_back(this->Field, COLOR_PAIR(cmCursesColor::BoolOff));
+ }
}
}