/* KKSysGuard, the KDE System Guard Copyright (c) 1999 - 2001 Chris Schlaeger This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. KSysGuard is currently maintained by Chris Schlaeger . Please do not commit any changes without consulting me first. Thanks! */ #ifndef KSG_KSYSGUARDAPPLET_H #define KSG_KSYSGUARDAPPLET_H #include namespace KSGRD { class SensorBoard; class SensorDisplay; } class TQDragEnterEvent; class TQDropEvent; class TQPoint; class KSGAppletSettings; class KSysGuardApplet : public KPanelApplet, public KSGRD::SensorBoard { Q_OBJECT public: KSysGuardApplet( const TQString& configFile, Type type = Normal, int actions = 0, TQWidget *parent = 0, const char *name = 0 ); virtual ~KSysGuardApplet(); virtual int heightForWidth( int width ) const; virtual int widthForHeight( int height ) const; virtual void preferences(); protected: void resizeEvent( TQResizeEvent* ); void dragEnterEvent( TQDragEnterEvent* ); void dropEvent( TQDropEvent* ); void customEvent( TQCustomEvent* ); private slots: void applySettings(); void sensorDisplayModified( bool ); void preferencesFinished(); private: void layout(); void resizeDocks( uint newDockCount ); void addEmptyDisplay( TQWidget **dock, uint pos ); bool load(); bool save(); int findDock( const TQPoint& ); void removeDisplay( KSGRD::SensorDisplay* ); double mSizeRatio; uint mDockCount; KSGAppletSettings* mSettingsDlg; TQWidget** mDockList; }; #endif