kstatusbar.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1997 Mark Donohoe (donohoe@kde.org) 00003 Copyright (C) 1997, 1998 1998 Sven Radej (sven@lisa.exp.univie.ac.at) 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef __KSTATUSBAR_H__ 00022 #define __KSTATUSBAR_H__ 00023 00024 #include <tqstatusbar.h> 00025 #include <tqintdict.h> 00026 #include <tqlabel.h> 00027 #include <tdelibs_export.h> 00028 00029 class KStatusBar; 00030 00035 class TDEUI_EXPORT KStatusBarLabel : public TQLabel 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 00041 00042 KStatusBarLabel( const TQString& text, int _id, KStatusBar* parent = 0L, const char *name=0L ); 00043 ~KStatusBarLabel () {} 00044 00045 protected: 00046 00047 void mousePressEvent (TQMouseEvent* _event); 00048 void mouseReleaseEvent (TQMouseEvent* _event); 00049 00050 private: 00051 00052 int id; 00053 00054 signals: 00055 00056 void itemPressed (int id); 00057 void itemReleased (int id); 00058 }; 00059 00087 class TDEUI_EXPORT KStatusBar : public TQStatusBar 00088 { 00089 Q_OBJECT 00090 00091 public: 00097 enum BarStatus{ Toggle, Show, Hide }; 00098 00102 KStatusBar( TQWidget* parent = 0L, const char* name = 0L ); 00103 00109 ~KStatusBar(); 00110 00127 void insertItem(const TQString& text, int id, int stretch=0, bool permanent=false ); 00128 00138 inline void insertFixedItem(const TQString& text, int id, bool permanent=false) 00139 { insertItem(text, id, 0, permanent); setItemFixed(id); } 00140 00146 void removeItem( int id ); 00147 00156 bool hasItem( int id ) const; 00157 00167 void changeItem( const TQString& text, int id ); 00168 00174 void setItemAlignment(int id, int align); 00175 00183 void setItemFixed(int id, int width=-1); 00184 00185 signals: 00186 00193 void pressed( int ); 00194 00200 void released( int ); 00201 00202 private: 00203 TQIntDict<KStatusBarLabel> items; 00204 class KStatusBarPrivate* d; 00205 }; 00206 00207 #endif // __KSTATUSBAR_H__ 00208