summaryrefslogtreecommitdiffstats
path: root/qtinterface/tqiconset.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-21 02:35:53 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-21 02:35:53 +0000
commit32073e28f0e425c066e65f3fc6a3101feab22598 (patch)
tree7e78a6f72b314bd555a49597c38ecabfc24a8714 /qtinterface/tqiconset.cpp
parent90cbdd552d7ab58c8534b0f3d0980d5059adc422 (diff)
downloadtqtinterface-32073e28f0e425c066e65f3fc6a3101feab22598.tar.gz
tqtinterface-32073e28f0e425c066e65f3fc6a3101feab22598.zip
More TQt functionality in place for Qt4...
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/tqtinterface@1166130 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'qtinterface/tqiconset.cpp')
-rw-r--r--qtinterface/tqiconset.cpp105
1 files changed, 105 insertions, 0 deletions
diff --git a/qtinterface/tqiconset.cpp b/qtinterface/tqiconset.cpp
index 152371d..11ced75 100644
--- a/qtinterface/tqiconset.cpp
+++ b/qtinterface/tqiconset.cpp
@@ -21,3 +21,108 @@ Boston, MA 02110-1301, USA.
#include <tqt.h>
#include <tqiconset.h>
+
+#ifdef USE_QT4
+
+#include "Qt/q3cleanuphandler.h"
+
+static QIconFactory *defaultFac = 0;
+static Q3SingleCleanupHandler<QIconFactory> q_cleanup_icon_factory;
+
+/*! \class TQIconFactory
+ \ingroup advanced
+ \brief The TQIconFactory class is used to create pixmaps for a QIconSet.
+
+ By reimplementing createPixmap(), you can override QIconSet's
+ default algorithm for computing pixmaps not supplied by the user.
+
+ Call setAutoDelete(TRUE) if you want the factory to automatically
+ delete itself when it is no longer needed by QIconSet.
+
+ \sa QIconSet
+*/
+
+/*!
+ Constructs an icon factory.
+*/
+TQIconFactory::TQIconFactory()
+ : autoDel( 0 )
+{
+ count = 0;
+}
+
+/*!
+ Destroys the object and frees any allocated resources.
+*/
+TQIconFactory::~TQIconFactory()
+{
+}
+
+/*!
+ Ceates a pixmap for \a iconSet with a certain \a size, \a mode, and
+ \a state. Returns 0 if the default QIconSet algorithm should be
+ used to create a pixmap that wasn't supplied by the user.
+
+ It is the caller's responsibility to delete the returned pixmap.
+
+ The default implementation always returns 0.
+*/
+QPixmap *TQIconFactory::createPixmap( const QIconSet& /* iconSet */,
+ QIconSet::Size /* size */,
+ QIconSet::Mode /* mode */,
+ QIconSet::State /* state */ )
+{
+ return 0;
+}
+
+/*!
+ \fn void TQIconFactory::setAutoDelete( bool autoDelete )
+
+ If \a autoDelete is TRUE, sets the icon factory to automatically
+ delete itself when it is no longer referenced by any QIconSet and
+ isn't the default factory. If \a autoDelete is FALSE (the default)
+ auto-deletion is disabled.
+
+ \sa autoDelete(), defaultFactory()
+*/
+
+/*!
+ \fn bool TQIconFactory::autoDelete() const
+
+ Returns TRUE if auto-deletion is enabled; otherwise returns FALSE.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ Returns the default icon factory.
+
+ \sa installDefaultFactory()
+*/
+TQIconFactory *TQIconFactory::defaultFactory()
+{
+ if ( !defaultFac ) {
+ defaultFac = new TQIconFactory;
+ defaultFac->setAutoDelete( TRUE );
+ defaultFac->ref();
+ q_cleanup_icon_factory.set( &defaultFac );
+ }
+ return defaultFac;
+}
+
+/*!
+ Replaces the default icon factory with \a factory.
+*/
+void TQIconFactory::installDefaultFactory( TQIconFactory *factory )
+{
+ if ( !factory )
+ return;
+
+ factory->ref();
+ if ( defaultFac && defaultFac->deref() && defaultFac->autoDelete() )
+ delete defaultFac;
+ defaultFac = factory;
+ q_cleanup_icon_factory.set( &defaultFac );
+}
+
+#endif // USE_QT4 \ No newline at end of file