/******************************************************************************** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).** All rights reserved.** Contact: Nokia Corporation (qt-info@nokia.com)**** This file is part of the tools applications of the Qt Toolkit.**** $QT_BEGIN_LICENSE:LGPL$** No Commercial Usage** This file contains pre-release code and may not be distributed.** You may use this file in accordance with the terms and conditions** contained in the Technology Preview License Agreement accompanying** this package.**** GNU Lesser General Public License Usage** Alternatively, this file may be used under the terms of the GNU Lesser** General Public License version 2.1 as published by the Free Software** Foundation and appearing in the file LICENSE.LGPL included in the** packaging of this file. Please review the following information to** ensure the GNU Lesser General Public License version 2.1 requirements** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.**** In addition, as a special exception, Nokia gives you certain additional** rights. These rights are described in the Nokia Qt LGPL Exception** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.**** If you have questions regarding the use of this file, please contact** Nokia at qt-info@nokia.com.****************** $QT_END_LICENSE$******************************************************************************///// W A R N I N G// -------------//// This file is not part of the Qt API. It exists for the convenience// of Qt Designer. This header// file may change from version to version without notice, or even be removed.//// We mean it.//#ifndef QTPROPERTYBROWSERUTILS_H#define QTPROPERTYBROWSERUTILS_H#include <QtCore/QMap>#include <QtGui/QIcon>#include <QtGui/QWidget>#include <QtCore/QStringList>QT_BEGIN_NAMESPACEclass QMouseEvent;class QCheckBox;class QLineEdit;class QtCursorDatabase{public: QtCursorDatabase(); void clear(); QStringList cursorShapeNames() const; QMap<int, QIcon> cursorShapeIcons() const; QString cursorToShapeName(const QCursor &cursor) const; QIcon cursorToShapeIcon(const QCursor &cursor) const; int cursorToValue(const QCursor &cursor) const;#ifndef QT_NO_CURSOR QCursor valueToCursor(int value) const;#endifprivate: void appendCursor(Qt::CursorShape shape, const QString &name, const QIcon &icon); QStringList m_cursorNames; QMap<int, QIcon> m_cursorIcons; QMap<int, Qt::CursorShape> m_valueToCursorShape; QMap<Qt::CursorShape, int> m_cursorShapeToValue;};class QtPropertyBrowserUtils{public: static QPixmap brushValuePixmap(const QBrush &b); static QIcon brushValueIcon(const QBrush &b); static QString colorValueText(const QColor &c); static QPixmap fontValuePixmap(const QFont &f); static QIcon fontValueIcon(const QFont &f); static QString fontValueText(const QFont &f); static QString dateFormat(); static QString timeFormat(); static QString dateTimeFormat();};class QtBoolEdit : public QWidget { Q_OBJECTpublic: QtBoolEdit(QWidget *parent = 0); bool textVisible() const { return m_textVisible; } void setTextVisible(bool textVisible); Qt::CheckState checkState() const; void setCheckState(Qt::CheckState state); bool isChecked() const; void setChecked(bool c); bool blockCheckBoxSignals(bool block);Q_SIGNALS: void toggled(bool);protected: void mousePressEvent(QMouseEvent * event);private: QCheckBox *m_checkBox; bool m_textVisible;};class QtKeySequenceEdit : public QWidget{ Q_OBJECTpublic: QtKeySequenceEdit(QWidget *parent = 0); QKeySequence keySequence() const; bool eventFilter(QObject *o, QEvent *e);public Q_SLOTS: void setKeySequence(const QKeySequence &sequence);Q_SIGNALS: void keySequenceChanged(const QKeySequence &sequence);protected: void focusInEvent(QFocusEvent *e); void focusOutEvent(QFocusEvent *e); void keyPressEvent(QKeyEvent *e); void keyReleaseEvent(QKeyEvent *e); bool event(QEvent *e);private slots: void slotClearShortcut();private: void handleKeyEvent(QKeyEvent *e); int translateModifiers(Qt::KeyboardModifiers state, const QString &text) const; int m_num; QKeySequence m_keySequence; QLineEdit *m_lineEdit;};QT_END_NAMESPACE#endif