X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtcheckcombobox_p.h;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtcheckcombobox_p.h;h=d8c6561886cb35c6791b7a44c5da028d5e65ebab;hp=0000000000000000000000000000000000000000;hb=a634acadbcf6017474f68a3eaf7cb632660e9e49;hpb=cd122ca8e0d2c0ffc5397e0a813c75d791a7e6e3 diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h new file mode 100644 index 00000000..d8c65618 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtcheckcombobox_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#ifndef QXTCHECKCOMBOBOX_P_H +#define QXTCHECKCOMBOBOX_P_H + +#include +#include +#include "qxtcheckcombobox.h" +#include "qxtpimpl.h" + +class QxtCheckComboView : public QListView +{ + Q_OBJECT + +public: + explicit QxtCheckComboView(QWidget* parent = 0); + ~QxtCheckComboView(); + + virtual bool eventFilter(QObject* object, QEvent* event); + QxtCheckComboBox::CheckMode mode; + bool handleIndicatorRelease(QMouseEvent* event, const QModelIndex& index); + bool handleItemRelease(QMouseEvent* event, const QModelIndex& index); + +signals: + void hideRequested(); +}; + +class QxtCheckComboModel : public QStandardItemModel +{ + Q_OBJECT + +public: + explicit QxtCheckComboModel(QObject* parent = 0); + ~QxtCheckComboModel(); + + virtual Qt::ItemFlags flags(const QModelIndex& index) const; + virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + +signals: + void checkStateChanged(); +}; + +class QxtCheckComboBoxPrivate : public QObject, public QxtPrivate +{ + Q_OBJECT + +public: + QXT_DECLARE_PUBLIC(QxtCheckComboBox); + QxtCheckComboBoxPrivate(); + QString separator; + QString defaultText; + QStringList checkedItems; + QxtCheckComboView* view; + +public slots: + void hidePopup(); + void updateCheckedItems(); +}; + +#endif // QXTCHECKCOMBOBOX_P_H