kguiitem.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2001 Holger Freyther (freyher@yahoo.com) 00003 based on ideas from Martijn and Simon 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 version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 00019 Many thanks to Simon tronical Hausmann 00020 */ 00021 00022 #ifndef __kguiitem_h__ 00023 #define __kguiitem_h__ 00024 00025 #include <tqstring.h> 00026 #include <tqiconset.h> 00027 #include <tqpixmap.h> 00028 #include <tqvaluelist.h> 00029 #include <kicontheme.h> 00030 #include <kglobal.h> 00031 00038 class KDEUI_EXPORT KGuiItem 00039 { 00040 public: 00041 KGuiItem(); 00042 00043 // ### This should probably be explicit in KDE 4; it's easy to get 00044 // subtle bugs otherwise - the icon name, tooltip and whatsthis text 00045 // get changed behind your back if you do 'setButtonFoo( "Bar" );' 00046 // It gives the wrong impression that you just change the text. 00047 KGuiItem( const TQString &text, 00048 const TQString &iconName = TQString::null, 00049 const TQString &toolTip = TQString::null, 00050 const TQString &whatsThis = TQString::null ); 00051 00052 KGuiItem( const TQString &text, const TQIconSet &iconSet, 00053 const TQString &toolTip = TQString::null, 00054 const TQString &whatsThis = TQString::null ); 00055 00056 KGuiItem( const KGuiItem &rhs ); 00057 KGuiItem &operator=( const KGuiItem &rhs ); 00058 00059 ~KGuiItem(); 00060 00061 TQString text() const; 00062 TQString plainText() const; 00063 #ifndef KDE_NO_COMPAT 00064 TQIconSet iconSet( KIcon::Group, int size = 0, KInstance* instance = KGlobal::instance()) const; 00065 TQIconSet iconSet() const { return iconSet( KIcon::Small ); } 00066 #else 00067 TQIconSet iconSet( KIcon::Group=KIcon::Small, int size = 0, KInstance* instance = KGlobal::instance()) const; 00068 #endif 00069 00070 TQString iconName() const; 00071 TQString toolTip() const; 00072 TQString whatsThis() const; 00073 bool isEnabled() const; 00077 bool hasIcon() const; 00078 #ifndef KDE_NO_COMPAT 00079 bool hasIconSet() const { return hasIcon(); } 00080 #endif 00081 00082 void setText( const TQString &text ); 00083 void setIconSet( const TQIconSet &iconset ); 00084 void setIconName( const TQString &iconName ); 00085 void setToolTip( const TQString &tooltip ); 00086 void setWhatsThis( const TQString &whatsThis ); 00087 void setEnabled( bool enable ); 00088 00089 private: 00090 class KGuiItemPrivate; 00091 KGuiItemPrivate *d; 00092 }; 00093 00094 /* vim: et sw=4 00095 */ 00096 00097 #endif 00098