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
|
// bbppp.hh for bbppp - a ppp connection manager for Blackbox
//
// 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 __MAIN_HH
#define __MAIN_HH
#include "Image.hh"
#include "Basewindow.hh"
#include "resource.hh"
#include "pppstat.hh"
#define LEFT_BUTTON 1
#define MIDDLE_BUTTON 2
#define RIGHT_BUTTON 3
class Resource;
class BaseResource;
class Basewindow;
class PPPStat;
struct PIXMAP
{
Pixmap frame;
Pixmap pppUpLabel;
Pixmap thruputLabel;
Pixmap button;
Pixmap button_pressed;
};
struct GEOM
{
int height;
int width;
int x;
int y;
};
class ToolWindow :public Basewindow
{
public:
ToolWindow(int argc,char **argv,struct CMDOPTIONS *options);
~ToolWindow(void);
XGCValues gcv;
GC frameGC;
GC switchGC;
GC txGC;
GC rxGC;
Window framewin; // the main window holding it all together
Window pppUpLabelwin; // displays uptime for ppp link
Window thruputLabelwin; // displays aggregate throughput rate over link in kb/s
Window switchwin; // button to push that brings ppp up or takes it down
Window txwin; // lights up when transmitting over link
Window rxwin; // ditto for receiving
Resource *resource; // basic info on windows, textures, etc
int hour,minute,sec; // uptime, displayed in pppUpLabelwin
float tpRate; // thruput rate, displayed in thruputLabelwin
void MakeWindow(bool);
void CheckDate(bool);
void EventLoop(void);
void reconfigure(void);
void Redraw(void);
protected:
virtual void process_event(XEvent *);
private:
bool raised;
PIXMAP pixmap;
GEOM frame;
GEOM pppUpLabel;
GEOM thruputLabel;
GEOM button;
GEOM switchlight,txlight,rxlight;
bool ppp_up;
PPPStat *pppstatus;
int numButtons; // number of buttons in window (compact=1, normal=3)
}
;
#endif /* __MAIN_HH */
|