File: resource.hh

package info (click to toggle)
bbsload 0.2.5-5
  • links: PTS
  • area: main
  • in suites: woody
  • size: 484 kB
  • ctags: 740
  • sloc: cpp: 5,111; sh: 327; makefile: 81
file content (140 lines) | stat: -rw-r--r-- 3,178 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// resource.hh for bbsload - an tool to display new mail in X11.
//
//  this program is free software; you can redistribute it and/or modify
//  it under the terms of the gnu general public license as published by
//  the free software foundation; either version 2 of the license, or
//  (at your option) any later version.
//
//  this program is distributed in the hope that it will be useful,
//  but without any warranty; without even the implied warranty of
//  merchantability or fitness for a particular purpose.  see the
//  gnu general public license for more details.
//
//  you should have received a copy of the gnu general public license
//  along with this program; if not, write to the free software
//  foundation, inc., 675 mass ave, cambridge, ma 02139, usa.
//
// (see the included file copying / gpl-2.0)
//


#ifndef __RESOURCE_HH
#define __RESOURCE_HH

#include "bbsload.hh"
#include "Baseresource.hh"

class BaseResource;

struct FRAME {
    int width;
    int height;
    BTexture texture;
    int bevelWidth;
    XFontStruct *font;
};

struct POSITION {
    int x;
    int y;
    int mask;
};

struct LABEL {
    int width;
    int width0, width1, width2, width3;
    int height;
    BTexture texture;
    bool transparent;
    XFontStruct *font;
    BColor running_textColor;
    BColor task_textColor;
    BColor seperator_textColor;
    BColor task_boring_textColor;
    BColor load1m_textColor;
    BColor load5m_textColor;
    BColor load15m_textColor;
    BColor memUsed_textColor;
    BColor swapUsed_textColor;
    BColor totalUsed_textColor;
};

struct GAUGE {
    int width;
    BTexture active_texture;
    BTexture inactive_texture;
    BTexture background_texture;
    int left_step_width;
    int right_step_width;
    double ratio;
    int number_of_bars;
    bool background;
    float max_load;
    bool tickmarks;
    bool use_simple_color;
    bool levels_defined;
    float *level;
    BTexture *segment_texture;
    
};

struct SHOW {
    bool running_counter;
    bool task_counter;
    bool label;
    bool loadbar;
    bool load1m;
    bool load5m;
    bool load15m;
    bool usercpu;
    bool nicecpu;
    bool systemcpu;
    bool idlecpu;
    bool label_load1m;
    bool label_load5m;
    bool label_load15m;
    bool label_usercpu;
    bool label_nicecpu;
    bool label_systemcpu;
    bool label_idlecpu;
    bool totalused;
    bool swapused;
    bool memused;
    bool label_totalused;
    bool label_swapused;
    bool label_memused;
    bool vertical;
};

struct REPORT {
    unsigned int check_delay;
};

class Resource : public BaseResource
{

public:
    Resource::Resource(ToolWindow *);
    Resource::~Resource(void);

    struct FRAME frame;
    struct LABEL label;
    struct POSITION position;
    struct GAUGE gauge;
    struct SHOW show;
    struct REPORT report;
 protected:
  	virtual void  LoadBBToolResource(void);

private:
    void Frame(void);
    void SizeAndPosition(void);
    void CheckSettings(void);
    void Label(void);
    void Show(void);
    void LoadBar(void);
    bool showLabel(char *,char *,bool);
    bool showGauge(char *,char *,bool);
    void Clean(void);
};
#endif /* __RESOURCE_HH */