diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-09-18 20:19:47 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-09-18 20:39:48 +0900 |
commit | a80a494efee7979c28ab1090734270e5c0515352 (patch) | |
tree | 1cdaee39e3e5a2b32c171f8389b29b15c519c607 /src/UiGuiSettings.cpp | |
parent | 14f7e49438caa24af81a0d7d7864ce71d96791e4 (diff) | |
download | universal-indent-gui-tqt-a80a494efee7979c28ab1090734270e5c0515352.tar.gz universal-indent-gui-tqt-a80a494efee7979c28ab1090734270e5c0515352.zip |
Added main window menubar GUI. The logic of each action has not been implemented yet.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/UiGuiSettings.cpp')
-rw-r--r-- | src/UiGuiSettings.cpp | 933 |
1 files changed, 0 insertions, 933 deletions
diff --git a/src/UiGuiSettings.cpp b/src/UiGuiSettings.cpp deleted file mode 100644 index 11cc4c2..0000000 --- a/src/UiGuiSettings.cpp +++ /dev/null @@ -1,933 +0,0 @@ -/*************************************************************************** -* Copyright (C) 2006-2012 by Thomas Schweitzer * -* thomas-schweitzer(at)arcor.de * -* * -* This program is free software; you can redistribute it and/or modify * -* it under the terms of the GNU General Public License version 2.0 as * -* published by the Free Software Foundation. * -* * -* This program is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* You should have received a copy of the GNU General Public License * -* along with this program in the file LICENSE.GPL; if not, write to the * -* Free Software Foundation, Inc., * -* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * -***************************************************************************/ - -#include "UiGuiSettings.h" - -#include "SettingsPaths.h" - -#include <tntqsettings.h> -#include <tntqpoint.h> -#include <tntqsize.h> -#include <tntqdir.h> -#include <tqdate.h> -#include <tntqstringlist.h> -#include <tqcoreapplication.h> -#include <tqmetamethod.h> -#include <tqmetaproperty.h> -#include <tntqwidget.h> - -//! \defgroup grp_Settings All concerning the settings. - -/*! - \class UiGuiSettings - \ingroup grp_Settings - \brief Handles the settings of the program. Reads them on startup and saves them on exit. - Is a singleton class and can only be accessed via getInstance(). -*/ - -// Inits the single class instance pointer. -TQWeakPointer<UiGuiSettings> UiGuiSettings::_instance; - - -/*! - \brief The constructor for the settings. -*/ -UiGuiSettings::UiGuiSettings() : - TQObject() -{ - // Create the main application settings object from the UniversalIndentGUI.ini file. - _qsettings = new TQSettings( - SettingsPaths::getSettingsPath() + "/UniversalIndentGUI.ini", TQSettings::IniFormat, this); - - _indenterDirctoryStr = SettingsPaths::getGlobalFilesPath() + "/indenters"; - readAvailableTranslations(); - initSettings(); -} - -/*! - \brief Returns the instance of the settings class. If no instance exists, ONE will be created. - */ -TQSharedPointer<UiGuiSettings> UiGuiSettings::getInstance() -{ - TQSharedPointer<UiGuiSettings> sharedInstance = _instance.toStrongRef(); - if (sharedInstance.isNull()) - { - // Create the settings object, which loads all UiGui settings from a file. - sharedInstance = TQSharedPointer<UiGuiSettings>(new UiGuiSettings()); - _instance = sharedInstance.toWeakRef(); - } - - return sharedInstance; -} - -/*! - \brief The destructor saves the settings to a file. - */ -UiGuiSettings::~UiGuiSettings() -{ - // Convert the language setting from an integer index to a string. - int index = _qsettings->value("UniversalIndentGUI/language", 0).toInt(); - if (index < 0 || index >= _availableTranslations.size()) - { - index = 0; - } - - _qsettings->setValue("UniversalIndentGUI/language", _availableTranslations.at(index)); -} - -/*! - \brief Scans the translations directory for available translation files and - stores them in the TQList \a _availableTranslations. - */ -void UiGuiSettings::readAvailableTranslations() -{ - TQString languageShort; - TQStringList languageFileList; - - // English is the default language. A translation file does not exist but to have a menu entry, - // added here. - languageFileList << "universalindent_en.qm"; - - // Find all translation files in the "translations" directory. - TQDir translationDirectory = TQDir(SettingsPaths::getGlobalFilesPath() + "/translations"); - languageFileList << translationDirectory.entryList(TQStringList("universalindent_*.qm")); - - // Loop for each found translation file - foreach(languageShort, languageFileList) - { - // Remove the leading string "universalindent_" from the filename. - languageShort.remove(0, 16); - // Remove trailing file extension ".qm". - languageShort.chop(3); - - _availableTranslations.append(languageShort); - } -} - -/*! - \brief Returns a list of the mnemonics of the available translations. - */ -TQStringList UiGuiSettings::getAvailableTranslations() -{ - return _availableTranslations; -} - -/*! - \brief Returns the value of the by \a settingsName defined setting as TQVariant. - - If the named setting does not exist, 0 is being returned. -*/ -TQVariant UiGuiSettings::getValueByName(TQString settingName) -{ - return _qsettings->value("UniversalIndentGUI/" + settingName); -} - -/*! - \brief Loads the settings for the main application. - - Settings are for example last selected indenter, last loaded source code file and so on. -*/ -bool UiGuiSettings::initSettings() -{ - // Read the version string saved in the settings file. - _qsettings->setValue("UniversalIndentGUI/version", - _qsettings->value("UniversalIndentGUI/version", "")); - - // Read windows last size and position from the settings file. - _qsettings->setValue("UniversalIndentGUI/maximized", - _qsettings->value("UniversalIndentGUI/maximized", false)); - _qsettings->setValue("UniversalIndentGUI/position", - _qsettings->value("UniversalIndentGUI/position", TQPoint(50, 50))); - _qsettings->setValue("UniversalIndentGUI/size", - _qsettings->value("UniversalIndentGUI/size", TQSize(800, 600))); - - // Read last selected encoding for the opened source code file. - _qsettings->setValue("UniversalIndentGUI/encoding", - _qsettings->value("UniversalIndentGUI/encoding", "UTF-8")); - - // Read maximum length of list for recently opened files. - _qsettings->setValue("UniversalIndentGUI/recentlyOpenedListSize", - _qsettings->value("UniversalIndentGUI/recentlyOpenedListSize", 5)); - - // Read if last opened source code file should be loaded on startup. - _qsettings->setValue("UniversalIndentGUI/loadLastSourceCodeFileOnStartup", - _qsettings->value("UniversalIndentGUI/loadLastSourceCodeFileOnStartup", true)); - - // Read last opened source code file from the settings file. - _qsettings->setValue("UniversalIndentGUI/lastSourceCodeFile", - _qsettings->value("UniversalIndentGUI/lastSourceCodeFile", - _indenterDirctoryStr + "/example.cpp")); - - // Read last selected indenter from the settings file. - int selectedIndenter = _qsettings->value("UniversalIndentGUI/selectedIndenter", 0).toInt(); - if (selectedIndenter < 0) - { - selectedIndenter = 0; - } - _qsettings->setValue("UniversalIndentGUI/selectedIndenter", selectedIndenter); - - // Read if syntax highlighting is enabled. - _qsettings->setValue("UniversalIndentGUI/SyntaxHighlightingEnabled", - _qsettings->value("UniversalIndentGUI/SyntaxHighlightingEnabled", true)); - - // Read if white space characters should be displayed. - _qsettings->setValue("UniversalIndentGUI/whiteSpaceIsVisible", - _qsettings->value("UniversalIndentGUI/whiteSpaceIsVisible", false)); - - // Read if indenter parameter tool tips are enabled. - _qsettings->setValue("UniversalIndentGUI/indenterParameterTooltipsEnabled", - _qsettings->value("UniversalIndentGUI/indenterParameterTooltipsEnabled", true)); - - // Read the tab width from the settings file. - _qsettings->setValue("UniversalIndentGUI/tabWidth", - _qsettings->value("UniversalIndentGUI/tabWidth", 4)); - - // Read the last selected language and stores the index it has in the list of available - // translations. - _qsettings->setValue("UniversalIndentGUI/language", - _availableTranslations.indexOf(_qsettings->value("UniversalIndentGUI/language", - "").toString())); - - // Read the update check settings from the settings file. - _qsettings->setValue("UniversalIndentGUI/CheckForUpdate", - _qsettings->value("UniversalIndentGUI/CheckForUpdate", false)); - _qsettings->setValue("UniversalIndentGUI/LastUpdateCheck", - _qsettings->value("UniversalIndentGUI/LastUpdateCheck", TQDate(1900, 1, 1))); - - // Read the main window state. - _qsettings->setValue("UniversalIndentGUI/MainWindowState", - _qsettings->value("UniversalIndentGUI/MainWindowState", TQByteArray())); - - return true; -} - -/*! - \brief Register the by \a propertyName defined property of \a obj to be connected to the setting defined by \a settingName. - - The \a propertyName must be one of those that are listed in the TQt "Properties" documentation section of a TQt Object. - All further needed info is retrieved via the \a obj's MetaObject, like the to the property bound signal. - */ -bool UiGuiSettings::registerObjectProperty(TQObject *obj, const TQString &propertyName, - const TQString &settingName) -{ - const TQMetaObject *metaObject = obj->metaObject(); - bool connectSuccess = false; - - // Connect to the objects destroyed signal, so that it will be correctly unregistered. - connectSuccess = - connect(obj, SIGNAL(destroyed(TQObject*)), this, - SLOT(unregisterObjectProperty(TQObject*))); - - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (connectSuccess && indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - - // Connect to the property's value changed signal. - if (mProp.hasNotifySignal()) - { - TQMetaMethod signal = mProp.notifySignal(); - //TQString teststr = qPrintable(SIGNAL() + TQString(signal.signature())); - // The command "SIGNAL() + TQString(signal.signature())" assembles the signal methods - // signature to a valid TQt SIGNAL. - connectSuccess = - connect(obj, qPrintable(SIGNAL() + TQString(signal.signature())), this, - SLOT(handleObjectPropertyChange())); - } - - if (connectSuccess) - { - _registeredObjectProperties[obj] = TQStringList() << propertyName << settingName; - } - else - { - //TODO: Write a debug warning to the log. - disconnect(obj, SIGNAL(destroyed(TQObject*)), this, - SLOT(unregisterObjectProperty(TQObject*))); - return false; - } - - // If setting already exists, set the objects property to the setting value. - if (_qsettings->contains("UniversalIndentGUI/" + settingName)) - { - mProp.write(obj, _qsettings->value("UniversalIndentGUI/" + settingName)); - } - // Otherwise add the setting and set it to the value of the objects property. - else - { - _qsettings->setValue("UniversalIndentGUI/" + settingName, mProp.read(obj)); - } - } - else - { - //TODO: Write a debug warning to the log. - disconnect(obj, SIGNAL(destroyed(TQObject*)), this, SLOT(unregisterObjectProperty(TQObject*))); - return false; - } - - return true; -} - -/*! - \brief Searches the child TQObjects of \a obj for a property name and setting name definition within - their custom properties and registers this property name to that setting name if both were found. - - The custom properties, for which are searched, are "connectedPropertyName" and "connectedSettingName", - where "connectedPropertyName" is the name of a TQObject property as it is documented in the TQtDocs, and - "connectedSettingName" is the name of a setting here within UiGuiSettings. If the mentioned setting - name doesn't exist, it will be created. - - Returns true, if all found property and setting definitions could be successfully registered. - Returns false, if any of those registrations fails. - */ -bool UiGuiSettings::registerObjectPropertyRecursive(TQObject *obj) -{ - return checkCustomPropertiesAndCallFunction(obj, &UiGuiSettings::registerObjectProperty); -} - -/*! - \brief Assigns the by \a settingName defined setting value to the by \a propertyName defined property of \a obj. - - Returns true, if the value could be assigned, otherwise returns false, which is the case if settingName doesn't exist - within the settings or if the mentioned propertyName wasn't found for the \a obj. - */ -bool UiGuiSettings::setObjectPropertyToSettingValue(TQObject *obj, const TQString &propertyName, - const TQString &settingName) -{ - const TQMetaObject *metaObject = obj->metaObject(); - - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - - // If setting already exists, set the objects property to the setting value. - if (_qsettings->contains("UniversalIndentGUI/" + settingName)) - { - mProp.write(obj, _qsettings->value("UniversalIndentGUI/" + settingName)); - } - // The setting didn't exist so return that setting the objects property failed. - else - { - //TODO: Write a debug warning to the log. - return false; - } - } - else - { - //TODO: Write a debug warning to the log. - return false; - } - - return true; -} - -/*! - \brief Searches the child TQObjects of \a obj for a property name and setting name definition within - their custom properties and sets each property to settings value. - - The custom properties, for which are searched, are "connectedPropertyName" and "connectedSettingName", - where "connectedPropertyName" is the name of a TQObject property as it is documented in the TQtDocs, and - "connectedSettingName" is the name of a setting here within UiGuiSettings. - - Returns true, if all found property and setting definitions could be successfully registered. - Returns false, if any of those registrations fails. - */ -bool UiGuiSettings::setObjectPropertyToSettingValueRecursive(TQObject *obj) -{ - return checkCustomPropertiesAndCallFunction(obj, &UiGuiSettings::setObjectPropertyToSettingValue); -} - -/*! - \brief Assigns the by \a propertyName defined property's value of \a obj to the by \a settingName defined setting. - - If the \a settingName didn't exist yet, it will be created. - - Returns true, if the value could be assigned, otherwise returns false, which is the case if the mentioned - propertyName wasn't found for the \a obj. - */ -bool UiGuiSettings::setSettingToObjectPropertyValue(TQObject *obj, const TQString &propertyName, - const TQString &settingName) -{ - const TQMetaObject *metaObject = obj->metaObject(); - - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - - setValueByName(settingName, mProp.read(obj)); - } - else - { - //TODO: Write a debug warning to the log. - return false; - } - - return true; -} - -/*! - \brief Searches the child TQObjects of \a obj for a property name and setting name definition within - their custom properties and sets each setting to the property value. - - The custom properties, for which are searched, are "connectedPropertyName" and "connectedSettingName", - where "connectedPropertyName" is the name of a TQObject property as it is documented in the TQtDocs, and - "connectedSettingName" is the name of a setting here within UiGuiSettings. If the settingName - didn't exist yet, it will be created. - - Returns true, if all found property and setting definitions could be successfully registered. - Returns false, if any of those registrations fails. - */ -bool UiGuiSettings::setSettingToObjectPropertyValueRecursive(TQObject *obj) -{ - return checkCustomPropertiesAndCallFunction(obj, &UiGuiSettings::setSettingToObjectPropertyValue); -} - -/*! - \brief Iterates over all \a objs child TQObjects and checks whether they have the custom properties - "connectedPropertyName" and "connectedSettingName" set. If both are set, it invokes the \a callBackFunc - with both. - */ -bool UiGuiSettings::checkCustomPropertiesAndCallFunction(TQObject *obj, bool (UiGuiSettings::*callBackFunc)( - TQObject *obj, const TQString &propertyName, - const TQString &settingName)) -{ - bool success = true; - - // Find all widgets that have PropertyName and SettingName defined in their style sheet. - TQList<TQObject*> allObjects = obj->findChildren<TQObject*>(); - foreach(TQObject * object, allObjects) - { - TQString propertyName = object->property("connectedPropertyName").toString(); - TQString settingName = object->property("connectedSettingName").toString(); - - // If property and setting name were found, register that widget with the settings. - if (!propertyName.isEmpty() && !settingName.isEmpty()) - { - success &= (this->*callBackFunc)(object, propertyName, settingName); - } - } - - return success; -} - -/*! - \brief The with a certain property registered \a obj gets unregistered. - */ -void UiGuiSettings::unregisterObjectProperty(TQObject *obj) -{ - if (_registeredObjectProperties.contains(obj)) - { - const TQMetaObject *metaObject = obj->metaObject(); - TQString propertyName = _registeredObjectProperties[obj].first(); - TQString settingName = _registeredObjectProperties[obj].last(); - - bool connectSuccess = false; - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - - // Disconnect to the property's value changed signal. - if (mProp.hasNotifySignal()) - { - TQMetaMethod signal = mProp.notifySignal(); - // The command "SIGNAL() + TQString(signal.signature())" assembles the signal methods - // signature to a valid TQt SIGNAL. - connectSuccess = disconnect(obj, qPrintable(SIGNAL() + TQString( - signal.signature())), this, SLOT(handleObjectPropertyChange())); - } - } - _registeredObjectProperties.remove(obj); - } -} - -/*! - \brief Registers a slot form the \a obj by its \a slotName to be invoked, if the by \a settingName defined - setting changes. - - The registered slot may have no parameters or exactly one. If it accepts one parameter, whenever the setting - \a settingName changes the slot gets tried to be invoked with the settings value as parameter. This only works, - if the slot parameter is of the same type as the setting. - */ -bool UiGuiSettings::registerObjectSlot(TQObject *obj, const TQString &slotName, - const TQString &settingName) -{ - const TQMetaObject *metaObject = obj->metaObject(); - - bool connectSuccess = false; - // Connect to the objects destroyed signal, so that it will be correctly unregistered. - connectSuccess = - connect(obj, SIGNAL(destroyed(TQObject*)), this, SLOT(unregisterObjectSlot(TQObject*))); - - TQString normalizedSlotName = TQMetaObject::normalizedSignature(qPrintable(slotName)); - int indexOfMethod = metaObject->indexOfMethod(qPrintable(normalizedSlotName)); - if (connectSuccess && indexOfMethod > -1) - { - TQMetaMethod mMethod = metaObject->method(indexOfMethod); - //TQMetaMethod::Access access = mMethod.access(); - //TQMetaMethod::MethodType methType = mMethod.methodType(); - - // Since the method can at maximum be invoked with the setting value as argument, - // only methods taking max one argument are allowed. - if (mMethod.parameterTypes().size() <= 1) - { - _registeredObjectSlots.insert(obj, TQStringList() << normalizedSlotName << settingName); - } - else - { - //TODO: Write a debug warning to the log. - disconnect(obj, SIGNAL(destroyed(TQObject*)), this, SLOT(unregisterObjectSlot(TQObject*))); - return false; - } - } - else - { - //TODO: Write a debug warning to the log. - disconnect(obj, SIGNAL(destroyed(TQObject*)), this, SLOT(unregisterObjectSlot(TQObject*))); - return false; - } - - return true; -} - -/*! - \brief If \a obj, \a slotName and \a settingName are given, that certain connection is unregistered. - If only \a obj is given, all to this object registered slot-setting connections are unregistered. - */ -void UiGuiSettings::unregisterObjectSlot(TQObject *obj, const TQString &slotName, - const TQString &settingName) -{ - //const TQMetaObject *metaObject = obj->metaObject(); - TQString normalizedSlotName = TQMetaObject::normalizedSignature(qPrintable(slotName)); - TQMutableMapIterator<TQObject*, TQStringList> it(_registeredObjectSlots); - while (it.hasNext()) - { - it.next(); - if (it.key() == obj && slotName.isEmpty() && settingName.isEmpty()) - { - it.remove(); - } - else if (it.key() == obj && it.value().first() == slotName && it.value().last() == settingName) - { - it.remove(); - } - } -} - -/*! - \brief This private slot gets invoked whenever a registered objects property changes - and distributes the new value to all other to the same settingName registered objects. - */ -void UiGuiSettings::handleObjectPropertyChange() -{ - TQObject *obj = TQObject::sender(); - TQString className = obj->metaObject()->className(); - const TQMetaObject *metaObject = obj->metaObject(); - TQString propertyName = _registeredObjectProperties[obj].first(); - TQString settingName = _registeredObjectProperties[obj].last(); - - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - setValueByName(settingName, mProp.read(obj)); - } -} - -/*! - \brief Sets the setting defined by \a settingName to \a value. - - When setting a changed value, all to this settingName registered objects get - the changed value set too. - If the \a settingName didn't exist yet, it will be created. - */ -void UiGuiSettings::setValueByName(const TQString &settingName, const TQVariant &value) -{ - // Do the updating only, if the setting was really changed. - if (_qsettings->value("UniversalIndentGUI/" + settingName) != value) - { - _qsettings->setValue("UniversalIndentGUI/" + settingName, value); - - // Set the new value for all registered object properties for settingName. - for (TQMap<TQObject*, TQStringList>::ConstIterator it = _registeredObjectProperties.begin(); - it != _registeredObjectProperties.end(); ++it) - { - if (it.value().last() == settingName) - { - TQObject *obj = it.key(); - const TQMetaObject *metaObject = obj->metaObject(); - TQString propertyName = it.value().first(); - - int indexOfProp = metaObject->indexOfProperty(qPrintable(propertyName)); - if (indexOfProp > -1) - { - TQMetaProperty mProp = metaObject->property(indexOfProp); - mProp.write(obj, value); - } - } - } - - // Invoke all registered object methods for settingName. - for (TQMap<TQObject*, TQStringList>::ConstIterator it = _registeredObjectSlots.begin(); - it != _registeredObjectSlots.end(); ++it) - { - if (it.value().last() == settingName) - { - TQObject *obj = it.key(); - const TQMetaObject *metaObject = obj->metaObject(); - TQString slotName = it.value().first(); - - int indexOfMethod = metaObject->indexOfMethod(qPrintable(slotName)); - if (indexOfMethod > -1) - { - TQMetaMethod mMethod = metaObject->method(indexOfMethod); - //TQMetaMethod::Access access = mMethod.access(); - //TQMetaMethod::MethodType methType = mMethod.methodType(); - - bool success = false; - - // Handle registered slots taking one parameter. - if (mMethod.parameterTypes().size() == 1) - { - if (mMethod.parameterTypes().first() == value.typeName()) - { - success = invokeMethodWithValue(obj, mMethod, value); - } - } - // Handle registered slots taking zero parameters. - else - { - success = mMethod.invoke(obj, TQt::DirectConnection); - } - - if (success == false) - { - // TODO: Write a warning to the log if no success. - } - } - } - } - } -} - -#include <tntqbitarray.h> -#include <tntqbitmap.h> -#include <tntqbrush.h> -#include <tntqcursor.h> -#include <tntqdatetime.h> -#include <tntqfont.h> -#include <tqicon.h> -#include <tntqkeysequence.h> -#include <tntqlocale.h> -#include <tntqpalette.h> -#include <tntqpen.h> -#include <tntqsizepolicy.h> -#include <tqtextformat.h> -#include <tqtextlength.h> -#include <tntqurl.h> -#if TQT_VERSION >= 0x040600 - #include <tqmatrix4x4.h> - #include <tqvector2d.h> -#endif - -bool UiGuiSettings::invokeMethodWithValue(TQObject *obj, TQMetaMethod mMethod, TQVariant value) -{ - switch (value.type()) - { - case TQVariant::BitArray: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQBitArray, value.toBitArray())); - } - - case TQVariant::Bitmap: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQBitmap, value.value<TQBitmap>())); - } - - case TQVariant::Bool: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(bool, value.toBool())); - } - - case TQVariant::Brush: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQBrush, value.value<TQBrush>())); - } - - case TQVariant::ByteArray: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQByteArray, value.toByteArray())); - } - - case TQVariant::Char: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQChar, value.toChar())); - } - - case TQVariant::Color: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQColor, value.value<TQColor>())); - } - - case TQVariant::Cursor: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQCursor, value.value<TQCursor>())); - } - - case TQVariant::Date: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQDate, value.toDate())); - } - - case TQVariant::DateTime: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQDateTime, value.toDateTime())); - } - - case TQVariant::Double: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(double, value.toDouble())); - } - - case TQVariant::Font: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQFont, value.value<TQFont>())); - } - - case TQVariant::Hash: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQVariantHash, value.toHash())); - } - - case TQVariant::Icon: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQIcon, value.value<TQIcon>())); - } - - case TQVariant::Image: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQImage, value.value<TQImage>())); - } - - case TQVariant::Int: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(int, value.toInt())); - } - - case TQVariant::KeySequence: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQKeySequence, - value.value<TQKeySequence>())); - } - - case TQVariant::Line: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQLine, value.toLine())); - } - - case TQVariant::LineF: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQLineF, value.toLineF())); - } - - case TQVariant::List: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQVariantList, value.toList())); - } - - case TQVariant::Locale: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQLocale, value.toLocale())); - } - - case TQVariant::LongLong: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(qlonglong, value.toLongLong())); - } - - case TQVariant::Map: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQVariantMap, value.toMap())); - } - - case TQVariant::Matrix: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQMatrix, value.value<TQMatrix>())); - } - - case TQVariant::Transform: - { - return mMethod.invoke(obj, TQt::DirectConnection, - Q_ARG(TQTransform, value.value<TQTransform>())); - } - -#if TQT_VERSION >= 0x040600 - case TQVariant::Matrix4x4: - { - return mMethod.invoke(obj, TQt::DirectConnection, - Q_ARG(TQMatrix4x4, value.value<TQMatrix4x4>())); - } - -#endif - case TQVariant::Palette: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPalette, value.value<TQPalette>())); - } - - case TQVariant::Pen: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPen, value.value<TQPen>())); - } - - case TQVariant::Pixmap: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPixmap, value.value<TQPixmap>())); - } - - case TQVariant::Point: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPoint, value.toPoint())); - } - - // case TQVariant::PointArray : - // return Q_ARG(TQPointArray, value.value<TQPointArray>()) ); - case TQVariant::PointF: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPointF, value.toPointF())); - } - - case TQVariant::Polygon: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQPolygon, value.value<TQPolygon>())); - } - -#if TQT_VERSION >= 0x040600 - case TQVariant::Quaternion: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQQuaternion, - value.value<TQQuaternion>())); - } - -#endif - case TQVariant::Rect: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQRect, value.toRect())); - } - - case TQVariant::RectF: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQRectF, value.toRectF())); - } - - case TQVariant::RegExp: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQRegExp, value.toRegExp())); - } - - case TQVariant::Region: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQRegion, value.value<TQRegion>())); - } - - case TQVariant::Size: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQSize, value.toSize())); - } - - case TQVariant::SizeF: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQSizeF, value.toSizeF())); - } - - case TQVariant::SizePolicy: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQSizePolicy, - value.value<TQSizePolicy>())); - } - - case TQVariant::String: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQString, value.toString())); - } - - case TQVariant::StringList: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQStringList, value.toStringList())); - } - - case TQVariant::TextFormat: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQTextFormat, - value.value<TQTextFormat>())); - } - - case TQVariant::TextLength: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQTextLength, - value.value<TQTextLength>())); - } - - case TQVariant::Time: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQTime, value.toTime())); - } - - case TQVariant::UInt: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(uint, value.toUInt())); - } - - case TQVariant::ULongLong: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(qulonglong, value.toULongLong())); - } - - case TQVariant::Url: - { - return mMethod.invoke(obj, TQt::DirectConnection, Q_ARG(TQUrl, value.toUrl())); - } - -#if TQT_VERSION >= 0x040600 - case TQVariant::Vector2D: - { - return mMethod.invoke(obj, TQt::DirectConnection, - Q_ARG(TQVector2D, value.value<TQVector2D>())); - } - - case TQVariant::Vector3D: - { - return mMethod.invoke(obj, TQt::DirectConnection, - Q_ARG(TQVector3D, value.value<TQVector3D>())); - } - - case TQVariant::Vector4D: - { - return mMethod.invoke(obj, TQt::DirectConnection, - Q_ARG(TQVector4D, value.value<TQVector4D>())); - } - -#endif - default: - { - return false; - } - } -} |