aboutsummaryrefslogtreecommitdiffstats
path: root/Panel.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2020-09-15 08:00:00 +0200
committerDaniel Lange <DLange@git.local>2020-09-15 08:00:00 +0200
commitf80394a20254938142011855f2954b3f63fe5909 (patch)
treeb777de460977f21a6257540d6a687c86882850dc /Panel.c
parent59eeadec918a955b40427a1b012992161050c939 (diff)
downloaddebian_htop-f80394a20254938142011855f2954b3f63fe5909.tar.gz
debian_htop-f80394a20254938142011855f2954b3f63fe5909.tar.bz2
debian_htop-f80394a20254938142011855f2954b3f63fe5909.zip
New upstream version 3.0.2upstream/3.0.2
Diffstat (limited to 'Panel.c')
-rw-r--r--Panel.c86
1 files changed, 10 insertions, 76 deletions
diff --git a/Panel.c b/Panel.c
index 348fd23..b77483d 100644
--- a/Panel.c
+++ b/Panel.c
@@ -19,72 +19,6 @@ in the source distribution for its full text.
#include <string.h>
#include <assert.h>
-//#link curses
-
-/*{
-#include "Object.h"
-#include "Vector.h"
-#include "FunctionBar.h"
-
-typedef struct Panel_ Panel;
-
-typedef enum HandlerResult_ {
- HANDLED = 0x01,
- IGNORED = 0x02,
- BREAK_LOOP = 0x04,
- REDRAW = 0x08,
- RESCAN = 0x10,
- SYNTH_KEY = 0x20,
-} HandlerResult;
-
-#define EVENT_SET_SELECTED -1
-
-#define EVENT_HEADER_CLICK(x_) (-10000 + x_)
-#define EVENT_IS_HEADER_CLICK(ev_) (ev_ >= -10000 && ev_ <= -9000)
-#define EVENT_HEADER_CLICK_GET_X(ev_) (ev_ + 10000)
-
-typedef HandlerResult(*Panel_EventHandler)(Panel*, int);
-
-typedef struct PanelClass_ {
- const ObjectClass super;
- const Panel_EventHandler eventHandler;
-} PanelClass;
-
-#define As_Panel(this_) ((PanelClass*)((this_)->super.klass))
-#define Panel_eventHandlerFn(this_) As_Panel(this_)->eventHandler
-#define Panel_eventHandler(this_, ev_) As_Panel(this_)->eventHandler((Panel*)(this_), ev_)
-
-struct Panel_ {
- Object super;
- int x, y, w, h;
- WINDOW* window;
- Vector* items;
- int selected;
- int oldSelected;
- int selectedLen;
- void* eventHandlerState;
- int scrollV;
- short scrollH;
- bool needsRedraw;
- FunctionBar* currentBar;
- FunctionBar* defaultBar;
- RichString header;
- int selectionColor;
-};
-
-#define Panel_setDefaultBar(this_) do{ (this_)->currentBar = (this_)->defaultBar; }while(0)
-
-}*/
-
-#ifndef MIN
-#define MIN(a,b) ((a)<(b)?(a):(b))
-#endif
-#ifndef MAX
-#define MAX(a,b) ((a)>(b)?(a):(b))
-#endif
-
-#define KEY_CTRL(l) ((l)-'A'+1)
-
PanelClass Panel_class = {
.super = {
.extends = Class(Object),
@@ -290,7 +224,7 @@ void Panel_draw(Panel* this, bool focus) {
mvhline(y, x, ' ', this->w);
if (scrollH < headerLen) {
RichString_printoffnVal(this->header, y, x, scrollH,
- MIN(headerLen - scrollH, this->w));
+ MINIMUM(headerLen - scrollH, this->w));
}
attrset(CRT_colors[RESET_COLOR]);
y++;
@@ -301,7 +235,7 @@ void Panel_draw(Panel* this, bool focus) {
this->scrollV = 0;
this->needsRedraw = true;
} else if (this->scrollV >= size) {
- this->scrollV = MAX(size - 1, 0);
+ this->scrollV = MAXIMUM(size - 1, 0);
this->needsRedraw = true;
}
// ensure selection is on screen
@@ -314,7 +248,7 @@ void Panel_draw(Panel* this, bool focus) {
}
int first = this->scrollV;
- int upTo = MIN(first + h, size);
+ int upTo = MINIMUM(first + h, size);
int selectionColor = focus
? this->selectionColor
@@ -328,7 +262,7 @@ void Panel_draw(Panel* this, bool focus) {
RichString_begin(item);
Object_display(itemObj, &item);
int itemLen = RichString_sizeVal(item);
- int amt = MIN(itemLen - scrollH, this->w);
+ int amt = MINIMUM(itemLen - scrollH, this->w);
bool selected = (i == this->selected);
if (selected) {
attrset(selectionColor);
@@ -363,13 +297,13 @@ void Panel_draw(Panel* this, bool focus) {
mvhline(y+ this->oldSelected - first, x+0, ' ', this->w);
if (scrollH < oldLen)
RichString_printoffnVal(old, y+this->oldSelected - first, x,
- scrollH, MIN(oldLen - scrollH, this->w));
+ scrollH, MINIMUM(oldLen - scrollH, this->w));
attrset(selectionColor);
mvhline(y+this->selected - first, x+0, ' ', this->w);
RichString_setAttr(&new, selectionColor);
if (scrollH < newLen)
RichString_printoffnVal(new, y+this->selected - first, x,
- scrollH, MIN(newLen - scrollH, this->w));
+ scrollH, MINIMUM(newLen - scrollH, this->w));
attrset(CRT_colors[RESET_COLOR]);
RichString_end(new);
RichString_end(old);
@@ -404,7 +338,7 @@ bool Panel_onKey(Panel* this, int key) {
case KEY_LEFT:
case KEY_CTRL('B'):
if (this->scrollH > 0) {
- this->scrollH -= MAX(CRT_scrollHAmount, 0);
+ this->scrollH -= MAXIMUM(CRT_scrollHAmount, 0);
this->needsRedraw = true;
}
break;
@@ -415,12 +349,12 @@ bool Panel_onKey(Panel* this, int key) {
break;
case KEY_PPAGE:
this->selected -= (this->h - 1);
- this->scrollV = MAX(0, this->scrollV - this->h + 1);
+ this->scrollV = MAXIMUM(0, this->scrollV - this->h + 1);
this->needsRedraw = true;
break;
case KEY_NPAGE:
this->selected += (this->h - 1);
- this->scrollV = MAX(0, MIN(Vector_size(this->items) - this->h,
+ this->scrollV = MAXIMUM(0, MINIMUM(Vector_size(this->items) - this->h,
this->scrollV + this->h - 1));
this->needsRedraw = true;
break;
@@ -452,7 +386,7 @@ bool Panel_onKey(Panel* this, int key) {
break;
case KEY_CTRL('E'):
case '$':
- this->scrollH = MAX(this->selectedLen - this->w, 0);
+ this->scrollH = MAXIMUM(this->selectedLen - this->w, 0);
this->needsRedraw = true;
break;
default:

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