2006-03-04 18:16:49 +00:00
|
|
|
#ifndef HEADER_Header
|
|
|
|
#define HEADER_Header
|
|
|
|
/*
|
2006-06-06 20:28:42 +00:00
|
|
|
htop - Header.h
|
2011-05-26 16:35:07 +00:00
|
|
|
(C) 2004-2011 Hisham H. Muhammad
|
2021-09-22 09:33:00 +00:00
|
|
|
Released under the GNU GPLv2+, see the COPYING file
|
2006-03-04 18:16:49 +00:00
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
2021-08-24 15:27:43 +00:00
|
|
|
#include "HeaderLayout.h"
|
2006-04-10 20:40:38 +00:00
|
|
|
#include "Meter.h"
|
2020-09-19 11:55:23 +00:00
|
|
|
#include "ProcessList.h"
|
2015-01-23 05:08:21 +00:00
|
|
|
#include "Settings.h"
|
2015-01-22 01:27:31 +00:00
|
|
|
#include "Vector.h"
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2021-04-29 18:13:36 +00:00
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
typedef struct Header_ {
|
2015-01-22 01:27:31 +00:00
|
|
|
Vector** columns;
|
2015-01-23 05:08:21 +00:00
|
|
|
Settings* settings;
|
2020-11-26 05:15:09 +00:00
|
|
|
ProcessList* pl;
|
2020-12-25 15:42:35 +00:00
|
|
|
HeaderLayout headerLayout;
|
2015-01-23 05:08:21 +00:00
|
|
|
int pad;
|
|
|
|
int height;
|
2006-03-04 18:16:49 +00:00
|
|
|
} Header;
|
|
|
|
|
2021-09-10 14:34:20 +00:00
|
|
|
#define Header_forEachColumn(this_, i_) for (size_t (i_)=0, H_fEC_numColumns_ = HeaderLayout_getColumns((this_)->headerLayout); (i_) < H_fEC_numColumns_; ++(i_))
|
2015-01-22 01:27:31 +00:00
|
|
|
|
2020-12-25 15:42:35 +00:00
|
|
|
Header* Header_new(ProcessList* pl, Settings* settings, HeaderLayout hLayout);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Header_delete(Header* this);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-12-25 15:42:35 +00:00
|
|
|
void Header_setLayout(Header* this, HeaderLayout hLayout);
|
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Header_populateFromSettings(Header* this);
|
2015-01-23 05:08:21 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Header_writeBackToSettings(const Header* this);
|
2015-03-17 02:01:21 +00:00
|
|
|
|
2020-12-25 15:42:35 +00:00
|
|
|
Meter* Header_addMeterByClass(Header* this, const MeterClass* type, unsigned int param, unsigned int column);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Header_reinit(Header* this);
|
2011-03-22 20:37:08 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Header_draw(const Header* this);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2021-02-08 15:38:49 +00:00
|
|
|
void Header_updateData(Header* this);
|
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
int Header_calculateHeight(Header* this);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
|
|
|
#endif
|