aboutsummaryrefslogtreecommitdiffstats
path: root/CheckItem.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-04-11 13:00:15 +0200
committerDaniel Lange <DLange@git.local>2016-04-11 13:00:15 +0200
commitd3c9975943df58e293359b87905d19ff1fd52061 (patch)
treee416378879f60e8d538b1b25963904f767d30ff4 /CheckItem.c
downloaddebian_htop-d3c9975943df58e293359b87905d19ff1fd52061.tar.gz
debian_htop-d3c9975943df58e293359b87905d19ff1fd52061.tar.bz2
debian_htop-d3c9975943df58e293359b87905d19ff1fd52061.zip
Imported Upstream version 0.5upstream/0.5
Diffstat (limited to 'CheckItem.c')
-rw-r--r--CheckItem.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/CheckItem.c b/CheckItem.c
new file mode 100644
index 0000000..0c42867
--- /dev/null
+++ b/CheckItem.c
@@ -0,0 +1,56 @@
+/*
+htop
+(C) 2004 Hisham H. Muhammad
+Released under the GNU GPL, see the COPYING file
+in the source distribution for its full text.
+*/
+
+#include "CheckItem.h"
+#include "Object.h"
+#include "CRT.h"
+
+#include "debug.h"
+
+/*{
+
+typedef struct CheckItem_ {
+ Object super;
+ char* text;
+ bool* value;
+} CheckItem;
+
+extern char* CHECKITEM_CLASS;
+}*/
+
+/* private property */
+char* CHECKITEM_CLASS = "CheckItem";
+
+CheckItem* CheckItem_new(char* text, bool* value) {
+ CheckItem* this = malloc(sizeof(CheckItem));
+ ((Object*)this)->class = CHECKITEM_CLASS;
+ ((Object*)this)->display = CheckItem_display;
+ ((Object*)this)->delete = CheckItem_delete;
+ this->text = text;
+ this->value = value;
+ return this;
+}
+
+void CheckItem_delete(Object* cast) {
+ CheckItem* this = (CheckItem*)cast;
+ assert (this != NULL);
+
+ free(this->text);
+ free(this);
+}
+
+void CheckItem_display(Object* cast, RichString* out) {
+ CheckItem* this = (CheckItem*)cast;
+ assert (this != NULL);
+ RichString_write(out, CRT_colors[CHECK_BOX], "[");
+ if (*(this->value))
+ RichString_append(out, CRT_colors[CHECK_MARK], "x");
+ else
+ RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ RichString_append(out, CRT_colors[CHECK_BOX], "] ");
+ RichString_append(out, CRT_colors[CHECK_TEXT], this->text);
+}

© 2014-2024 Faster IT GmbH | imprint | privacy policy