// qfontdatabase.sip generated by MetaSIP on Fri Sep 28 17:07:47 2007 // // This file is part of the QtGui Python extension module. // // Copyright (c) 2007 // Phil Thompson // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License version 2 as published by // the Free Software Foundation and appearing in the file LICENSE included in the // packaging of this file. // // PyQt is supplied 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 // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. class QFontDatabase { %TypeHeaderCode #include %End public: enum WritingSystem { Any, Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Georgian, Khmer, SimplifiedChinese, TraditionalChinese, Japanese, Korean, Vietnamese, Other, %If (Qt_4_2_0 -) Symbol, %End %If (Qt_4_2_0 -) Ogham, %End %If (Qt_4_2_0 -) Runic, %End }; static QList standardSizes(); QFontDatabase(); QList writingSystems() const; %If (Qt_4_2_0 -) QList writingSystems(const QString &family) const; %End QStringList families(QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any) const; QStringList styles(const QString &family) const; QList pointSizes(const QString &family, const QString &style = QString()); QList smoothSizes(const QString &family, const QString &style); QString styleString(const QFont &font); QString styleString(const QFontInfo &fontInfo); QFont font(const QString &family, const QString &style, int pointSize) const; bool isBitmapScalable(const QString &family, const QString &style = QString()) const; bool isSmoothlyScalable(const QString &family, const QString &style = QString()) const; bool isScalable(const QString &family, const QString &style = QString()) const; bool isFixedPitch(const QString &family, const QString &style = QString()) const; bool italic(const QString &family, const QString &style) const; bool bold(const QString &family, const QString &style) const; int weight(const QString &family, const QString &style) const; static QString writingSystemName(QFontDatabase::WritingSystem writingSystem); static QString writingSystemSample(QFontDatabase::WritingSystem writingSystem); %If (Qt_4_2_0 -) static int addApplicationFont(const QString &fileName); %End %If (Qt_4_2_0 -) static int addApplicationFontFromData(const QByteArray &fontData); %End %If (Qt_4_2_0 -) static QStringList applicationFontFamilies(int id); %End %If (Qt_4_2_0 -) static bool removeApplicationFont(int id); %End %If (Qt_4_2_0 -) static bool removeAllApplicationFonts(); %End }; // QList is implemented as a Python list. %MappedType QList { %TypeHeaderCode #include #include %End %ConvertFromTypeCode // Create the list. PyObject *l; if ((l = PyList_New(sipCpp->size())) == NULL) return NULL; // Set the list elements. for (int i = 0; i < sipCpp->size(); ++i) { QFontDatabase::WritingSystem ws = sipCpp->at(i); PyObject *wsobj; if ((wsobj = sipConvertFromNamedEnum(ws, sipEnum_QFontDatabase_WritingSystem)) == NULL) { Py_DECREF(l); return NULL; } PyList_SET_ITEM(l, i, wsobj); } return l; %End %ConvertToTypeCode // Check the type if that is all that is required. if (sipIsErr == NULL) { if (!PyList_Check(sipPy)) return 0; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) if (!PyObject_TypeCheck(PyList_GET_ITEM(sipPy, i), sipEnum_QFontDatabase_WritingSystem)) return 0; return 1; } QList *ql = new QList; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) { QFontDatabase::WritingSystem ws = (QFontDatabase::WritingSystem)PyInt_AsLong(PyList_GET_ITEM(sipPy, i)); ql->append(ws); } *sipCppPtr = ql; return sipGetState(sipTransferObj); %End };