diff options
Diffstat (limited to 'tqtinterface/qt4/src/styles/tqstylefactory.cpp')
-rw-r--r-- | tqtinterface/qt4/src/styles/tqstylefactory.cpp | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/tqtinterface/qt4/src/styles/tqstylefactory.cpp b/tqtinterface/qt4/src/styles/tqstylefactory.cpp deleted file mode 100644 index 6d72738..0000000 --- a/tqtinterface/qt4/src/styles/tqstylefactory.cpp +++ /dev/null @@ -1,268 +0,0 @@ -/**************************************************************************** -** -** Implementation of TQStyleFactory class -** -** Created : 001103 -** -** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. -** -** This file is part of the widgets module of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at [email protected]. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "tqstyleinterface_p.h" // up here for GCC 2.7.* compatibility -#include "tqstylefactory.h" - -#ifndef TQT_NO_STYLE - -#include "tqapplication.h" -#include "tqwindowsstyle.h" -#include "tqmotifstyle.h" -#include "tqcdestyle.h" -#include "tqmotifplusstyle.h" -#include "tqplatinumstyle.h" -#include "tqsgistyle.h" -#include "tqcompactstyle.h" -#ifndef TQT_NO_STYLE_WINDOWSXP -#include "tqwindowsxpstyle.h" -#endif -#ifndef TQT_NO_STYLE_AQUA -#include "tqaquastyle.h" -#endif -#ifndef TQT_NO_STYLE_POCKETPC -#include "tqpocketpcstyle_wce.h" -#endif - -#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC ) -TQString p2qstring(const unsigned char *c); //qglobal.cpp -#include "tqt_mac.h" -#include "tqmacstyle_mac.h" -#endif -#include <stdlib.h> - -#include <private/tqpluginmanager_p.h> -#ifndef TQT_NO_COMPONENT -class TQStyleFactoryPrivate : public TQObject -{ -public: - TQStyleFactoryPrivate(); - ~TQStyleFactoryPrivate(); - - static TQPluginManager<TQStyleFactoryInterface> *manager; -}; - -static TQStyleFactoryPrivate *instance = 0; -TQPluginManager<TQStyleFactoryInterface> *TQStyleFactoryPrivate::manager = 0; - -TQStyleFactoryPrivate::TQStyleFactoryPrivate() -: TQObject( tqApp ) -{ - manager = new TQPluginManager<TQStyleFactoryInterface>( IID_TQStyleFactory, TQApplication::libraryPaths(), "/styles", FALSE ); -} - -TQStyleFactoryPrivate::~TQStyleFactoryPrivate() -{ - delete manager; - manager = 0; - - instance = 0; -} - -#endif //TQT_NO_COMPONENT - -/*! - \class TQStyleFactory tqstylefactory.h - \brief The TQStyleFactory class creates TQStyle objects. - - The style factory creates a TQStyle object for a given key with - TQStyleFactory::create(key). - - The styles are either built-in or dynamically loaded from a style - plugin (see \l TQStylePlugin). - - TQStyleFactory::keys() returns a list of valid keys, typically - including "Windows", "Motif", "CDE", "MotifPlus", "Platinum", - "SGI" and "Compact". Depending on the platform, "WindowsXP", - "Aqua" or "Macintosh" may be available. -*/ - -/*! - Creates a TQStyle object that matches \a key case-insensitively. - This is either a built-in style, or a style from a style plugin. - - \sa keys() -*/ -TQStyle *TQStyleFactory::create( const TQString& key ) -{ - TQStyle *ret = 0; - TQString style = key.lower(); -#ifndef TQT_NO_STYLE_WINDOWS - if ( style == "windows" ) - ret = new TQWindowsStyle; - else -#endif -#ifndef TQT_NO_STYLE_WINDOWSXP - if ( style == "windowsxp" ) - ret = new TQWindowsXPStyle; - else -#endif -#ifndef TQT_NO_STYLE_MOTIF - if ( style == "motif" ) - ret = new TQMotifStyle; - else -#endif -#ifndef TQT_NO_STYLE_CDE - if ( style == "cde" ) - ret = new TQCDEStyle; - else -#endif -#ifndef TQT_NO_STYLE_MOTIFPLUS - if ( style == "motifplus" ) - ret = new TQMotifPlusStyle; - else -#endif -#ifndef TQT_NO_STYLE_PLATINUM - if ( style == "platinum" ) - ret = new TQPlatinumStyle; - else -#endif -#ifndef TQT_NO_STYLE_SGI - if ( style == "sgi") - ret = new TQSGIStyle; - else -#endif -#ifndef TQT_NO_STYLE_COMPACT - if ( style == "compact" ) - ret = new TQCompactStyle; - else -#endif -#ifndef TQT_NO_STYLE_AQUA - if ( style == "aqua" ) - ret = new TQAquaStyle; -#endif -#ifndef TQT_NO_STYLE_POCKETPC - if ( style == "pocketpc" ) - ret = new TQPocketPCStyle; -#endif -#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC ) - if( style.left(9) == "macintosh" ) - ret = new TQMacStyle; -#endif - { } // Keep these here - they make the #ifdefery above work - -#ifndef TQT_NO_COMPONENT - if(!ret) { - if ( !instance ) - instance = new TQStyleFactoryPrivate; - - TQInterfacePtr<TQStyleFactoryInterface> iface; - TQStyleFactoryPrivate::manager->queryInterface( style, &iface ); - - if ( iface ) - ret = iface->create( style ); - } - if(ret) - TQT_TQOBJECT(ret)->setName(key); -#endif - return ret; -} - -#ifndef TQT_NO_STRINGLIST -/*! - Returns the list of keys this factory can create styles for. - - \sa create() -*/ -TQStringList TQStyleFactory::keys() -{ - TQStringList list; -#ifndef TQT_NO_COMPONENT - if ( !instance ) - instance = new TQStyleFactoryPrivate; - - list = TQStyleFactoryPrivate::manager->featureList(); -#endif //TQT_NO_COMPONENT - -#ifndef TQT_NO_STYLE_WINDOWS - if ( !list.contains( "Windows" ) ) - list << "Windows"; -#endif -#ifndef TQT_NO_STYLE_WINDOWSXP - if ( !list.contains( "WindowsXP" ) && TQWindowsXPStyle::resolveSymbols() ) - list << "WindowsXP"; -#endif -#ifndef TQT_NO_STYLE_MOTIF - if ( !list.contains( "Motif" ) ) - list << "Motif"; -#endif -#ifndef TQT_NO_STYLE_CDE - if ( !list.contains( "CDE" ) ) - list << "CDE"; -#endif -#ifndef TQT_NO_STYLE_MOTIFPLUS - if ( !list.contains( "MotifPlus" ) ) - list << "MotifPlus"; -#endif -#ifndef TQT_NO_STYLE_PLATINUM - if ( !list.contains( "Platinum" ) ) - list << "Platinum"; -#endif -#ifndef TQT_NO_STYLE_SGI - if ( !list.contains( "SGI" ) ) - list << "SGI"; -#endif -#ifndef TQT_NO_STYLE_COMPACT - if ( !list.contains( "Compact" ) ) - list << "Compact"; -#endif -#ifndef TQT_NO_STYLE_ATQUA - if ( !list.contains( "Aqua" ) ) - list << "Aqua"; -#endif -#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC ) - TQString mstyle = "Macintosh"; - Collection c = NewCollection(); - if (c) { - GetTheme(c); - Str255 str; - long int s = 256; - if(!GetCollectionItem(c, kThemeNameTag, 0, &s, &str)) - mstyle += " (" + p2qstring(str) + ")"; - } - if (!list.contains(mstyle)) - list << mstyle; - DisposeCollection(c); -#endif - - return list; -} -#endif -#endif // TQT_NO_STYLE |