• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeui
 

tdeui

kguiitem.cpp
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                   many thanks to Simon
00005           
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License version 2 as published by the Free Software Foundation.
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 #include <tqregexp.h>
00022 #include <tqstring.h>
00023 #include <tqiconset.h>
00024 #include <tqpixmap.h>
00025 
00026 #include <assert.h>
00027 #include <kiconloader.h>
00028 #include <kdebug.h>
00029 
00030 #include "kguiitem.h"
00031 
00032 class KGuiItem::KGuiItemPrivate
00033 {
00034 public:
00035     KGuiItemPrivate()
00036     {
00037         m_enabled = true;
00038         m_hasIcon = false;
00039     }
00040 
00041     KGuiItemPrivate( const KGuiItemPrivate &rhs )
00042     {
00043         ( *this ) = rhs;
00044     }
00045 
00046     KGuiItemPrivate &operator=( const KGuiItemPrivate &rhs )
00047     {
00048         m_text = rhs.m_text;
00049         m_iconSet = rhs.m_iconSet;
00050         m_iconName = rhs.m_iconName;
00051         m_toolTip = rhs.m_toolTip;
00052         m_whatsThis = rhs.m_whatsThis;
00053         m_statusText = rhs.m_statusText;
00054         m_enabled = rhs.m_enabled;
00055         m_hasIcon = rhs.m_hasIcon;
00056 
00057         return *this;
00058     }
00059 
00060     TQString m_text;
00061     TQString m_toolTip;
00062     TQString m_whatsThis;
00063     TQString m_statusText;
00064     TQString m_iconName;
00065     TQIconSet m_iconSet;
00066     bool m_hasIcon : 1;
00067     bool m_enabled : 1;
00068 };
00069 
00070 
00071 KGuiItem::KGuiItem() {
00072     d = new KGuiItemPrivate;
00073 }
00074 
00075 KGuiItem::KGuiItem( const TQString &text,    const TQString &iconName,
00076                     const TQString &toolTip, const TQString &whatsThis )
00077 {
00078     d = new KGuiItemPrivate;
00079     d->m_text = text;
00080     d->m_toolTip = toolTip;
00081     d->m_whatsThis = whatsThis;
00082     setIconName( iconName );
00083 }
00084 
00085 KGuiItem::KGuiItem( const TQString &text,    const TQIconSet &iconSet,
00086                     const TQString &toolTip, const TQString &whatsThis )
00087 {
00088     d = new KGuiItemPrivate;
00089     d->m_text = text;
00090     d->m_toolTip = toolTip;
00091     d->m_whatsThis = whatsThis;
00092     setIconSet( iconSet );
00093 }
00094 
00095 KGuiItem::KGuiItem( const KGuiItem &rhs )
00096     : d( 0 )
00097 {
00098     ( *this ) = rhs;
00099 }
00100 
00101 KGuiItem &KGuiItem::operator=( const KGuiItem &rhs )
00102 {
00103     if ( d == rhs.d )
00104         return *this;
00105 
00106     assert( rhs.d );
00107 
00108     delete d;
00109     d = new KGuiItemPrivate( *rhs.d );
00110 
00111     return *this;
00112 }
00113 
00114 KGuiItem::~KGuiItem()
00115 {
00116     delete d;
00117 }
00118 
00119 TQString KGuiItem::text() const
00120 {
00121     return d->m_text;
00122 }
00123 
00124 
00125 TQString KGuiItem::plainText() const
00126 {
00127     const int len = d->m_text.length();
00128 
00129     if (len == 0)
00130         return d->m_text;
00131 
00132     //Can assume len >= 1 from now on.
00133     TQString stripped;
00134 
00135     int resultLength = 0;
00136     stripped.setLength(len);
00137 
00138     const TQChar* data    = d->m_text.unicode();
00139     for ( int pos = 0; pos < len; ++pos )
00140     {
00141         if ( data[ pos ] != '&' )
00142             stripped[ resultLength++ ] = data[ pos ];
00143         else if ( pos + 1 < len && data[ pos + 1 ] == '&' )
00144             stripped[ resultLength++ ] = data[ pos++ ];
00145     }
00146 
00147     stripped.truncate(resultLength);
00148 
00149     return stripped;
00150 }
00151 
00152 TQIconSet KGuiItem::iconSet( TDEIcon::Group group, int size, TDEInstance* instance ) const
00153 {
00154     if( d->m_hasIcon )
00155     {
00156         if( !d->m_iconName.isEmpty())
00157         {
00158             // some caching here would(?) come handy
00159             return instance->iconLoader()->loadIconSet( d->m_iconName, group, size, true, false );
00160         }
00161         else
00162         {
00163             return d->m_iconSet;
00164         }
00165     }
00166     else
00167     {
00168         return TQIconSet();
00169     }
00170 }
00171 
00172 TQString KGuiItem::iconName() const
00173 {
00174     return d->m_iconName;
00175 }
00176 
00177 TQString KGuiItem::toolTip() const
00178 {
00179     return d->m_toolTip;
00180 }
00181 
00182 TQString KGuiItem::whatsThis() const
00183 {
00184     return d->m_whatsThis;
00185 }
00186 
00187 bool KGuiItem::isEnabled() const
00188 {
00189     return d->m_enabled;
00190 }
00191 
00192 bool KGuiItem::hasIcon() const
00193 {
00194     return d->m_hasIcon;
00195 }
00196 
00197 void KGuiItem::setText( const TQString &text ) {
00198     d->m_text=text;
00199 }
00200 
00201 void KGuiItem::setIconSet( const TQIconSet &iconset )
00202 {
00203     d->m_iconSet = iconset;
00204     d->m_iconName = TQString::null;
00205     d->m_hasIcon = !iconset.isNull();
00206 }
00207 
00208 void KGuiItem::setIconName( const TQString &iconName )
00209 {
00210     d->m_iconName = iconName;
00211     d->m_iconSet = TQIconSet();
00212     d->m_hasIcon = !iconName.isEmpty();
00213 }
00214 
00215 void KGuiItem::setToolTip( const TQString &toolTip )
00216 {
00217     d->m_toolTip = toolTip;
00218 }
00219 
00220 void KGuiItem::setWhatsThis( const TQString &whatsThis )
00221 {
00222     d->m_whatsThis = whatsThis;
00223 }
00224 
00225 void KGuiItem::setEnabled( bool enabled )
00226 {
00227     d->m_enabled = enabled;
00228 }
00229 
00230 // vim: set et sw=4:
00231 

tdeui

Skip menu "tdeui"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeui

Skip menu "tdeui"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeui by doxygen 1.7.6.1
This website is maintained by Timothy Pearson.