44 #ifndef QT_NO_WIN_ACTIVEQT 61 #define Q_REQUIRED_RPCNDR_H_VERSION 475 84 bool hadQApp =
qApp != 0;
142 qWarning(
"qAxInit/qAxCleanup mismatch");
195 if (classInfoIdx != -1) {
222 TLIBATTR *libAttr = 0;
226 return SELFREG_E_TYPELIB;
228 DWORD major = libAttr->wMajorVerNum;
229 DWORD minor = libAttr->wMinorVerNum;
235 UnRegisterTypeLib(libAttr->guid, libAttr->wMajorVerNum, libAttr->wMinorVerNum, libAttr->lcid, libAttr->syskind);
247 keyPath =
QLatin1String(
"HKEY_CURRENT_USER\\Software\\Classes");
252 bool delete_qApp =
false;
276 if (classVersion.
isNull())
279 bool control =
object->isWidgetType();
281 uint olemisc = OLEMISC_SETCLIENTSITEFIRST
282 |OLEMISC_ACTIVATEWHENVISIBLE
284 |OLEMISC_CANTLINKINSIDE
285 |OLEMISC_RECOMPOSEONRESIZE;
287 olemisc |= OLEMISC_INVISIBLEATRUNTIME;
289 olemisc |= OLEMISC_WANTSTOMENUMERGE;
324 for (
int m = 0; m < mimeTypes.
count(); ++m) {
325 mime = mimeTypes.
at(m);
333 extension = extension.
trimmed();
367 if (classVersion.
isNull())
402 for (
int m = 0; m < mimeTypes.
count(); ++m) {
403 mime = mimeTypes.
at(m);
411 extension = extension.
trimmed();
436 return SELFREG_E_CLASS;
450 {
"QString",
"BSTR" },
451 {
"QCString",
"BSTR" },
452 {
"bool",
"VARIANT_BOOL" },
454 {
"uint",
"unsigned int" },
455 {
"double",
"double" },
456 {
"QColor",
"OLE_COLOR" },
459 {
"QDateTime",
"DATE" },
460 {
"QFont",
"IFontDisp*" },
461 {
"QPixmap",
"IPictureDisp*" },
462 {
"QVariant",
"VARIANT" },
463 {
"QVariantList",
"SAFEARRAY(VARIANT)" },
464 {
"QList<QVariant>",
"SAFEARRAY(VARIANT)" },
467 {
"qulonglong",
"CY" },
468 {
"qlonglong",
"CY" },
469 {
"QByteArray",
"SAFEARRAY(BYTE)" },
470 {
"QStringList",
"SAFEARRAY(BSTR)" },
472 {
"QCursor",
"enum MousePointer" },
473 {
"Qt::FocusPolicy",
"enum FocusPolicy" },
475 # if __REQUIRED_RPCNDR_H_VERSION__ >= Q_REQUIRED_RPCNDR_H_VERSION 476 {
"QRect",
"struct QRect" },
477 {
"QSize",
"struct QSize" },
478 {
"QPoint",
"struct QPoint" },
484 {
"OLE_COLOR",
"OLE_COLOR" },
486 {
"VARIANT",
"VARIANT" },
487 {
"IDispatch",
"IDispatch*" },
488 {
"IUnknown",
"IUnknown*" },
489 {
"IDispatch*",
"IDispatch*" },
490 {
"IUnknown*",
"IUnknown*" },
511 return "enum " + qtype;
522 return cleanType +
'*';
531 {
"aggregatable",
"aggregating" },
532 {
"allocate",
"alloc" },
533 {
"appobject",
"appObject" },
534 {
"arrays",
"array" },
535 {
"async",
"asynchronous" },
536 {
"bindable",
"binding" },
537 {
"Boolean",
"boolval" },
538 {
"boolean",
"boolval" },
539 {
"broadcast",
"broadCast" },
540 {
"callback",
"callBack" },
541 {
"decode",
"deCode" },
542 {
"default",
"defaulted" },
543 {
"defaultbind",
"defaultBind" },
544 {
"defaultvalue",
"defaultValue" },
545 {
"encode" "enCode" },
546 {
"endpoint",
"endPoint" },
547 {
"hidden",
"isHidden" },
548 {
"ignore",
"ignore_" },
549 {
"local",
"local_" },
550 {
"notify",
"notify_" },
551 {
"object",
"object_" },
552 {
"optimize",
"optimize_" },
553 {
"optional",
"optional_" },
556 {
"proxy",
"proxy_" },
557 {
"ptr",
"pointer" },
558 {
"readonly",
"readOnly" },
559 {
"small",
"small_" },
560 {
"source",
"source_" },
561 {
"string",
"string_" },
583 int n = mapping.
value(name);
585 int n = mapping.
value(name);
587 mapping.
insert(name, n+1);
660 static bool ignore(
const char *test,
const char *
const *table)
666 if (!strcmp(test, table[i]))
683 #define STRIPCB(x) x = x.mid(1, x.length()-2) 689 for (
int p = 0; p < parameterTypes.
count() && *ok; ++p) {
694 if (
type.endsWith(
'&')) {
697 }
else if (
type.endsWith(
"**")) {
703 if (
type.isEmpty()) {
709 prototype +=
"[in] " +
type +
' ';
711 prototype +=
"[in,out] " +
type +
' ';
720 if (p < parameterTypes.
count() - 1)
730 if (!numDefArgs || prototype.
contains(
"/**"))
737 ptype.
replace(in, 1,
",optional]");
738 in = ptype.
indexOf(
' ', in) + 1;
741 type +=
' ' + ptype.
mid(in + 5, ptype.
indexOf(
' ', in + 5) - in - 5);
773 bool control =
false;
804 out <<
"\tenum " << enumerator.
name() <<
" {" <<
endl;
806 for (
int j = 0; j < enumerator.
keyCount(); ++j) {
813 key =
key.leftJustified(20);
814 out <<
"\t\t" <<
key <<
"\t= ";
827 if (!enums.
contains(
"MousePointer")) {
828 enums.
append(
"MousePointer");
829 out <<
"\tenum MousePointer {" <<
endl;
847 out <<
"\t};" << endl <<
endl;
849 if (!enums.
contains(
"FocusPolicy")) {
850 enums.
append(
"FocusPolicy");
851 out <<
"\tenum FocusPolicy {" <<
endl;
857 out <<
"\t};" << endl <<
endl;
861 out <<
"\t[" <<
endl;
862 out <<
"\t\tuuid(" << interfaceID <<
")," <<
endl;
863 out <<
"\t\thelpstring(\"" << cleanClassName <<
" Interface\")" <<
endl;
864 out <<
"\t]" <<
endl;
865 out <<
"\tdispinterface I" << cleanClassName <<
endl;
866 out <<
"\t{" <<
endl;
868 out <<
"\tproperties:" <<
endl;
883 out <<
"\t/****** Property is of unsupported datatype" <<
endl;
885 out <<
"\t\t[id(" <<
id <<
')';
888 if (isBindable &&
property.isScriptable(o))
891 out <<
", nonbrowsable";
893 out <<
", requestedit";
895 out <<
", uidefault";
896 out <<
"] " << type <<
' ' << name <<
';' <<
endl;
899 out <<
"\t******/" <<
endl;
903 out <<
"\tmethods:" <<
endl;
927 signature = signature.mid(name.length() + 1);
928 signature.truncate(signature.length() - 1);
945 outBuffer +=
"\t/****** Slot parameter uses unsupported datatype\n";
950 outBuffer +=
"\t******/\n";
959 out <<
"\t};" << endl <<
endl;
965 out <<
"\t[" <<
endl;
966 out <<
"\t\tuuid(" << eventsID <<
")," <<
endl;
967 out <<
"\t\thelpstring(\"" << cleanClassName <<
" Events Interface\")" <<
endl;
968 out <<
"\t]" <<
endl;
969 out <<
"\tdispinterface I" << cleanClassName <<
"Events" <<
endl;
970 out <<
"\t{" <<
endl;
971 out <<
"\tproperties:" <<
endl;
972 out <<
"\tmethods:" <<
endl;
974 if (hasStockEvents) {
975 out <<
"\t/****** Stock events ******/" <<
endl;
976 out <<
"\t\t[id(DISPID_CLICK)] void Click();" <<
endl;
977 out <<
"\t\t[id(DISPID_DBLCLICK)] void DblClick();" <<
endl;
978 out <<
"\t\t[id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);" <<
endl;
979 out <<
"\t\t[id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);" <<
endl;
980 out <<
"\t\t[id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);" <<
endl;
981 out <<
"\t\t[id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);" <<
endl;
982 out <<
"\t\t[id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);" <<
endl;
983 out <<
"\t\t[id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);" << endl <<
endl;
993 signature = signature.mid(name.length() + 1);
994 signature.truncate(signature.length() - 1);
1009 out <<
"\t/****** Signal parameter uses unsupported datatype" <<
endl;
1011 out <<
"\t\t[id(" <<
id <<
')';
1013 out <<
", uidefault";
1014 out <<
"] void " << name <<
'(' << ptype <<
");" <<
endl;
1017 out <<
"\t******/" <<
endl;
1020 out <<
"\t};" << endl <<
endl;
1023 out <<
"\t[" <<
endl;
1026 out <<
"\t\taggregatable," <<
endl;
1028 out <<
"\t\tappobject," <<
endl;
1030 out <<
"\t\tlicensed," << endl;
1033 out <<
"\t\thelpstring(\"" << helpString <<
"\")," <<
endl;
1035 out <<
"\t\thelpstring(\"" << cleanClassName <<
" Class\")," <<
endl;
1038 out <<
"\t\tversion(" << classVersion <<
")," <<
endl;
1039 out <<
"\t\tuuid(" << classID <<
')';
1041 out <<
", " <<
endl;
1042 out <<
"\t\tcontrol";
1044 out <<
", " <<
endl;
1045 out <<
"\t\tnoncreatable";
1048 out <<
"\t]" <<
endl;
1049 out <<
"\tcoclass " << cleanClassName <<
endl;
1050 out <<
"\t{" <<
endl;
1051 out <<
"\t\t[default] dispinterface I" << cleanClassName <<
';' <<
endl;
1053 out <<
"\t\t[default, source] dispinterface I" << cleanClassName <<
"Events;" <<
endl;
1054 out <<
"\t};" <<
endl;
1059 #if defined(Q_CC_BOR) 1072 QFile file(outfile);
1096 version = version.left(lastdot) + version.right(version.length() - lastdot - 1);
1098 if (version.isEmpty())
1108 out <<
"/****************************************************************************" <<
endl;
1109 out <<
"** Interface definition generated for ActiveQt project" <<
endl;
1110 out <<
"**" <<
endl;
1112 out <<
"**" <<
endl;
1114 out <<
"**" <<
endl;
1115 out <<
"** WARNING! All changes made in this file will be lost!" <<
endl;
1116 out <<
"****************************************************************************/" << endl <<
endl;
1118 out <<
"import \"ocidl.idl\";" <<
endl;
1119 out <<
"#include <olectl.h>" << endl <<
endl;
1122 bool delete_qApp =
false;
1130 out <<
"\tuuid(" << typeLibID <<
")," <<
endl;
1131 out <<
"\tversion(" << version <<
")," <<
endl;
1132 out <<
"\thelpstring(\"" << typelib <<
' ' << version <<
" Type Library\")" <<
endl;
1134 out <<
"library " << typelib <<
"Lib" <<
endl;
1136 out <<
"\timportlib(\"stdole32.tlb\");" <<
endl;
1137 out <<
"\timportlib(\"stdole2.tlb\");" << endl <<
endl;
1142 out <<
"\t/************************************************************************" <<
endl;
1143 out <<
"\t** If this causes a compile error in MIDL you need to upgrade the" <<
endl;
1144 out <<
"\t** Platform SDK you are using. Download the SDK from msdn.microsoft.com" <<
endl;
1145 out <<
"\t** and make sure that both the system and the Visual Studio environment" <<
endl;
1146 out <<
"\t** use the correct files." <<
endl;
1147 out <<
"\t**" <<
endl;
1150 #if __REQUIRED_RPCNDR_H_VERSION__ < Q_REQUIRED_RPCNDR_H_VERSION 1151 out <<
"\t** Required version of MIDL could not be verified. QRect, QSize and QPoint" <<
endl;
1152 out <<
"\t** support needs an updated Platform SDK to be installed." <<
endl;
1153 out <<
"\t*************************************************************************" <<
endl;
1155 out <<
"\t************************************************************************/" <<
endl;
1159 out <<
"\t[uuid(" << idQRect <<
")]" <<
endl;
1160 out <<
"\tstruct QRect {" <<
endl;
1161 out <<
"\t\tint left;" <<
endl;
1162 out <<
"\t\tint top;" <<
endl;
1163 out <<
"\t\tint right;" <<
endl;
1164 out <<
"\t\tint bottom;" <<
endl;
1165 out <<
"\t};" << endl <<
endl;
1167 out <<
"\t[uuid(" << idQSize <<
")]" <<
endl;
1168 out <<
"\tstruct QSize {" <<
endl;
1169 out <<
"\t\tint width;" <<
endl;
1170 out <<
"\t\tint height;" <<
endl;
1171 out <<
"\t};" << endl <<
endl;
1173 out <<
"\t[uuid(" << idQPoint <<
")]" <<
endl;
1174 out <<
"\tstruct QPoint {" <<
endl;
1175 out <<
"\t\tint x;" <<
endl;
1176 out <<
"\t\tint y;" <<
endl;
1177 out <<
"\t};" <<
endl;
1178 #if __REQUIRED_RPCNDR_H_VERSION__ < Q_REQUIRED_RPCNDR_H_VERSION 1179 out <<
"\t*/" <<
endl;
1182 out <<
"\t** Custom data types not supported with Borland." <<
endl;
1183 out <<
"\t*************************************************************************" <<
endl;
1187 out <<
"\t/* Forward declaration of classes that might be used as parameters */" << endl <<
endl;
1190 for (key = keys.
begin(); key != keys.
end(); ++
key) {
1196 out <<
"\tcoclass " << cleanType <<
';' <<
endl;
1197 subtypes.
append(cleanType);
1200 subtypes.
append(cleanType);
1206 for (key = keys.
begin(); key != keys.
end(); ++
key) {
1223 for (key = keys.
begin(); key != keys.
end(); ++
key) {
1230 bool isBindable = bind != 0;
1233 subtypes.
append(cleanType);
1234 subtypes.
append(cleanType +
'*');
1241 out <<
"};" <<
endl;
1257 #endif // QT_NO_WIN_ACTIVEQT static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
The QVariant class acts like a union for the most common Qt data types.
static QString fromWCharArray(const wchar_t *, int size=-1)
Returns a copy of the string, where the encoding of string depends on the size of wchar...
The QDir class provides access to directory structures and their contents.
static HRESULT classIDL(QObject *o, const QMetaObject *mo, const QString &className, bool isBindable, QTextStream &out)
QBool contains(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
bool mkpath(const QString &dirPath) const
Creates the directory path dirPath.
virtual QUuid typeLibID() const
Reimplement this function to return the ActiveX server's type library identifier. ...
QTextStream & endl(QTextStream &stream)
Writes ' ' to the stream and flushes the stream.
The QApplication class manages the GUI application's control flow and main settings.
void setValue(const QString &key, const QVariant &value)
Sets the value of setting key to value.
void setDevice(QIODevice *device)
Sets the current device to device.
static CRITICAL_SECTION qAxModuleSection
QIntegerForSizeof< void * >::Unsigned quintptr
QAxFactory * qax_instantiate()
#define QT_END_NAMESPACE
This macro expands to.
static const char *const type_map[][2]
bool ignoreProps(const char *test)
bool isWritable() const
Returns true if settings can be written using this QSettings object; returns false otherwise...
The QAxBindable class provides an interface between a QWidget and an ActiveX client.
bool open(OpenMode flags)
Opens the file using OpenMode mode, returning true if successful; otherwise false.
unsigned long qAxLockCount()
QString qax_clean_type(const QString &type, const QMetaObject *mo)
The QSettings class provides persistent platform-independent application settings.
QByteArray rightJustified(int width, char fill=' ', bool truncate=false) const
Returns a byte array of size width that contains the fill character followed by this byte array...
QString & replace(int i, int len, QChar after)
The QByteArray class provides an array of bytes.
int length() const
Returns the number of characters in this string.
QString & prepend(QChar c)
QString toUpper() const Q_REQUIRED_RESULT
Returns an uppercase copy of the string.
iterator begin()
Returns an STL-style iterator pointing to the first item in the list.
unsigned long qAxUnlock()
static bool ignore(const char *test, const char *const *table)
static const QMetaObject staticMetaObject
This variable stores the meta-object for the class.
The QAxFactory class defines a factory for the creation of COM components.
static QByteArray addDefaultArguments(const QByteArray &prototype, int numDefArgs)
static QString keyPath(const QString &rKey)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
static const char *const ignore_slots[]
int count(const T &t) const
Returns the number of occurrences of value in the list.
static const char *const ignore_props[]
ITypeLib * qAxTypeLibrary
The QString class provides a Unicode character string.
static const char *const keyword_map[][2]
The QObject class is the base class of all Qt objects.
virtual QStringList featureList() const =0
Reimplement this function to return a list of the widgets (class names) supported by this factory...
QString toString() const
Returns the string representation of this QUuid.
QString toString(Qt::DateFormat f=Qt::TextDate) const
Returns the datetime as a string in the format given.
bool isNull() const
Returns true if this is the null UUID {00000000-0000-0000-0000-000000000000}; otherwise returns false...
iterator Iterator
Qt-style synonym for QList::iterator.
virtual QString exposeToSuperClass(const QString &key) const
Reimplement this function to return the name of the super class of key up to which methods and proper...
static QString toString(Register *reg, int type, bool *ok=0)
void append(const T &t)
Inserts value at the end of the list.
#define QT_BEGIN_NAMESPACE
This macro expands to.
QBool contains(const T &t) const
Returns true if the list contains an occurrence of value; otherwise returns false.
int lastIndexOf(char c, int from=-1) const
Returns the index position of the last occurrence of character ch in the byte array, searching backward from index position from.
Status status() const
Returns a status code indicating the first error that was met by QSettings, or QSettings::NoError if ...
HRESULT UpdateRegistry(BOOL bRegister)
QString left(int n) const Q_REQUIRED_RESULT
Returns a substring that contains the n leftmost characters of the string.
QString trimmed() const Q_REQUIRED_RESULT
Returns a string that has whitespace removed from the start and the end.
const QChar * unicode() const
Returns a '\0'-terminated Unicode representation of the string.
virtual bool hasStockEvents(const QString &key) const
Reimplement this function to return true if the ActiveX control key should support the standard Activ...
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
iterator end()
Returns an STL-style iterator pointing to the imaginary item after the last item in the list...
const T value(const Key &key) const
Returns the value associated with the key key.
wchar_t qAxModuleFilename[MAX_PATH]
const T & at(int i) const
Returns the item at index position i in the list.
The QStringList class provides a list of strings.
static QByteArray replaceKeyword(const QByteArray &name)
Q_CORE_EXPORT void qWarning(const char *,...)
static QByteArray renameOverloads(const QByteArray &name)
virtual QUuid appID() const
Reimplement this function to return the ActiveX server's application identifier.
int indexOf(QChar c, int from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal...
T findChild(const QString &aName=QString()) const
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object.
virtual QUuid interfaceID(const QString &key) const
Reimplement this function to return the interface identifier for each key returned by the featureList...
QString right(int n) const Q_REQUIRED_RESULT
Returns a substring that contains the n rightmost characters of the string.
QByteArray toLatin1() const Q_REQUIRED_RESULT
Returns a Latin-1 representation of the string as a QByteArray.
QByteArray left(int len) const
Returns a byte array that contains the leftmost len bytes of this byte array.
QByteArray mid(int index, int len=-1) const
Returns a byte array containing len bytes from this byte array, starting at position pos...
virtual QUuid eventsID(const QString &key) const
Reimplement this function to return the identifier of the event interface for each key returned by th...
int indexOf(char c, int from=0) const
Returns the index position of the first occurrence of the character ch in the byte array...
int qstricmp(const char *str1, const char *str2)
A safe stricmp() function.
bool ignoreSlots(const char *test)
int length() const
Same as size().
const char * constData() const
Returns a pointer to the data stored in the byte array.
bool isNull() const
Returns true if this string is null; otherwise returns false.
static QByteArray prototype(const QList< QByteArray > ¶meterTypes, const QList< QByteArray > ¶meterNames, bool *ok)
QString mid(int position, int n=-1) const Q_REQUIRED_RESULT
Returns a string that contains n characters of this string, starting at the specified position index...
bool isWidgetType() const
Returns true if the object is a widget; otherwise returns false.
HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
virtual void unregisterClass(const QString &key, QSettings *) const
Unregisters any additional values for the class key from the system registry using the settings objec...
The QFile class provides an interface for reading from and writing to files.
void remove(const QString &key)
Removes the setting key and any sub-settings of key.
static unsigned long qAxModuleRef
The QTextStream class provides a convenient interface for reading and writing text.
int lastIndexOf(QChar c, int from=-1, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
static QString fromLatin1(const char *, int size=-1)
Returns a QString initialized with the first size characters of the Latin-1 string str...
iterator insert(const Key &key, const T &value)
Inserts a new item with the key key and a value of value.
static QByteArray convertTypes(const QByteArray &qtype, bool *ok)
static QMap< QByteArray, int > mapping
const_iterator ConstIterator
Qt-style synonym for QList::const_iterator.
QString toLower() const Q_REQUIRED_RESULT
Returns a lowercase copy of the string.
static QDateTime currentDateTime()
Returns the current datetime, as reported by the system clock, in the local time zone.
bool contains(const Key &key) const
Returns true if the map contains an item with key key; otherwise returns false.
static QList< QByteArray > enums
bool remove()
Removes the file specified by fileName().
void flush()
Flushes any buffered data waiting to be written to the device.
bool qax_disable_inplaceframe
QByteArray & replace(int index, int len, const char *s)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QList< QByteArray > enumValues
bool isEmpty() const
Returns true if the byte array has size 0; otherwise returns false.
QStringList split(const QString &sep, SplitBehavior behavior=KeepEmptyParts, Qt::CaseSensitivity cs=Qt::CaseSensitive) const Q_REQUIRED_RESULT
Splits the string into substrings wherever sep occurs, and returns the list of those strings...
static QAxFactory * qax_factory
static QList< QByteArray > subtypes
virtual const QMetaObject * metaObject(const QString &key) const =0
Reimplement this function to return the QMetaObject corresponding to key, or 0 if this factory doesn'...
virtual QObject * createObject(const QString &key)=0
Reimplement this function to return a new object for key, or 0 if this factory doesn't support the va...
bool endsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Returns true if the string ends with s; otherwise returns false.
QAxFactory * qAxFactory()
virtual void close()
Calls QFile::flush() and closes the file.
static QByteArray number(int, int base=10)
Returns a byte array containing the string equivalent of the number n to base base (10 by default)...
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
void clear()
Removes all items from the map.
virtual const QMetaObject * metaObject() const
Returns a pointer to the meta-object of this object.
The QUuid class stores a Universally Unique Identifier (UUID).
static bool isNull(const QVariant::Private *d)
virtual QUuid classID(const QString &key) const
Reimplement this function to return the class identifier for each key returned by the featureList() i...
bool endsWith(const QByteArray &a) const
Returns true if this byte array ends with byte array ba; otherwise returns false. ...
QBool contains(char c) const
Returns true if the byte array contains the character ch; otherwise returns false.
const ushort * utf16() const
Returns the QString as a '\0\'-terminated array of unsigned shorts.
virtual void registerClass(const QString &key, QSettings *) const
Registers additional values for the class key in the system registry using the settings object...