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.
knetload/knetload/knetload.h

98 lines
2.8 KiB

/***************************************************************************
* *
* KNetLoad is copyright (c) 1999-2000, Markus Gustavsson *
* (c) 2002, Ben Burton *
* *
* 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. *
* *
***************************************************************************/
#ifndef __KNETLOAD_H
#define __KNETLOAD_H
#include "statpopup.h"
#include <tqptrlist.h>
class TDEAction;
class KNetProc;
class TDEPopupMenu;
/**
* The specific pop-up window used by KNetLoad.
*/
class KNetLoad : public StatPopup {
TQ_OBJECT
public:
/**
* Constructor and destructor.
*/
KNetLoad(TQWidget *parent = 0, const char *name = 0);
~KNetLoad();
public slots:
/**
* Slots for menu items.
*/
void setDevice(const TQString& newDevice);
void setDevice(int deviceIndex);
void setScaleIn(int scale);
void setScaleOut(int scale);
protected:
/**
* Overrides from StatPopup.
*/
virtual TQString dockName(int which) const;
virtual TQColor defaultDockColor(int which) const;
virtual void setupCustomActions();
virtual void insertCustomItems(TDEPopupMenu* menu);
virtual void takeReadingInternal();
private:
/**
* Updating menus to reflect the current configuration.
*/
void updateDeviceMenu(TDEPopupMenu* menu);
void updateDeviceMenus();
void updateScaleInMenu(TDEPopupMenu* menu);
void updateScaleInMenus();
void updateScaleOutMenu(TDEPopupMenu* menu);
void updateScaleOutMenus();
private:
/**
* Reading raw network throughput information.
*/
KNetProc* proc;
/**< Used to obtain the raw information. */
float bitRateIn, bitRateOut;
/**< Temporary variables used in calculations. */
/**
* Monitor settings.
*/
int scaleIn, scaleOut;
/**< The scale for each diagram in bits per second.
If scaleOut == 0, scaleIn should be used for both directions. */
/**
* Lists of menus that must be kept up-to-date.
*/
TQPtrList<TDEPopupMenu> deviceMenus;
TQPtrList<TDEPopupMenu> scaleInMenus;
TQPtrList<TDEPopupMenu> scaleOutMenus;
TQStringList stockDevice;
TQStringList stockDeviceIconOn;
TQStringList stockDeviceIconOff;
};
#endif