You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeaddons/kicker-applets/ktimemon/timemon.h

109 lines
3.0 KiB

/* -*- C++ -*- */
/**********************************************************************/
/* TimeMon (c) 1994 Helmut Maierhofer */
/* KDE-ified M. Maierhofer 1998 */
/* maintained by Dirk A. Mueller <mueller@kde.org */
/**********************************************************************/
/*
* timemon.h
*
* Definitions for the timemon widget.
*/
#ifndef TIMEMON_H
#define TIMEMON_H
#include <tqtooltip.h>
#include <kiconloader.h>
#include <kpanelapplet.h>
// -- global constants ---------------------------------------------------
const int MAX_MOUSE_ACTIONS = 3; // event handlers for the three buttons only
// -- forward declaration ------------------------------------------------
class KSample;
class KConfDialog;
class TQPaintEvent;
class TQMouseEvent;
class TQPainter;
class TDEProcess;
class KShellProcess;
class KHelpMenu;
class TDEPopupMenu;
// -- KTimeMon declaration -----------------------------------------------
/*
* KTimeMon
*
* This is the main widget of the application. It handles the configuration
* dialog and may have an associated KTimeMonWidget in the panel (in which
* case it hides itself).
*/
class KTimeMon : public KPanelApplet, TQToolTip {
Q_OBJECT
public:
enum MouseAction { NOTHING, SWITCH, MENU, COMMAND };
KTimeMon(const TQString& configFile, Type t = Normal, int actions = 0,
TQWidget *parent = 0, const char *name = 0);
virtual ~KTimeMon();
void writeConfiguration(); // write back the configuration data
// reimplemented from KPanelApplet
virtual int widthForHeight(int height) const;
virtual int heightForWidth(int width) const;
virtual void preferences();
void stop();
void cont();
public slots:
void timeout(); // timer expired
void save(); // session management callback
void apply(); // apply configuration information
protected:
virtual void maybeTip(const TQPoint&);
virtual void mousePressEvent(TQMouseEvent *event);
virtual void updateConfig(KConfDialog *d);
virtual void paintEvent(TQPaintEvent *event);
private slots: // called from the menu
void configure(); // show the configuration dialog
void orientation(); // switch vertical/horizontal orientation
void commandStderr(TDEProcess *proc, char *buffer, int length);
private:
void runCommand(int index);
void paintRect(int x, int y, int w, int h, TQColor c, TQPainter *p);
unsigned interval;
bool autoScale;
unsigned pageScale, swapScale, ctxScale;
TDEPopupMenu* menu;
KHelpMenu* hmenu;
TQTimer* timer;
KConfDialog *configDialog;
MouseAction mouseAction[MAX_MOUSE_ACTIONS];
TQString mouseActionCommand[MAX_MOUSE_ACTIONS];
KShellProcess *bgProcess;
KSample *sample;
TQColor kernelColour, userColour, niceColour, iowaitColour;
TQColor usedColour, buffersColour, cachedColour, mkernelColour;
TQColor swapColour, bgColour;
bool vertical, tooltip;
friend class KConfDialog;
};
#endif // TIMEMON_H