X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FQtx%2FQtxComboBox.h;h=8043d5552d4e8adf6228c506e4cd2b96e5ebbc58;hb=2400f3659b65727d5a776dccd3d5dd506d755a88;hp=0c797e6a7c9cc41d6193140549a395da5839dc27;hpb=2e750f9ded92337bc3c44e9d7388180974cc4a43;p=modules%2Fgui.git diff --git a/src/Qtx/QtxComboBox.h b/src/Qtx/QtxComboBox.h index 0c797e6a7..8043d5552 100755 --- a/src/Qtx/QtxComboBox.h +++ b/src/Qtx/QtxComboBox.h @@ -1,13 +1,35 @@ +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + // File: QtxComboBox.h // Author: Sergey TELKOV - +// #ifndef QTXCOMBOBOX_H #define QTXCOMBOBOX_H #include "Qtx.h" -#include -#include +#include +#include #ifdef WIN32 #pragma warning( disable:4251 ) @@ -15,50 +37,46 @@ class QTX_EXPORT QtxComboBox : public QComboBox { - Q_OBJECT + Q_OBJECT - typedef QMap IndexIdMap; + class Model; + class ClearEvent; public: - QtxComboBox( QWidget* = 0, const char* = 0 ); - QtxComboBox( bool, QWidget* = 0, const char* = 0 ); - virtual ~QtxComboBox(); + QtxComboBox( QWidget* = 0 ); + virtual ~QtxComboBox(); - bool isCleared() const; - void setCleared( const bool ); + bool isCleared() const; + void setCleared( const bool ); - virtual void setCurrentItem( int ); - virtual void setCurrentText( const QString& ); + int currentId() const; + void setCurrentId( int ); - int currentId() const; - void setCurrentId( int ); + int id( const int ) const; + int index( const int ) const; - void insertItem( const int, const QString&, int = -1 ); - void insertItem( const int, const QPixmap&, int = -1 ); - void insertItem( const int, const QPixmap&, const QString&, int = -1 ); -// void insertStringList( const QIntList&, const QStringList&, int = -1 ); + bool hasId( const int ) const; + void setId( const int, const int ); signals: - void activatedId( int ); - void highlightedId( int ); + void activatedId( int ); private slots: - void onActivated( int ); - void onActivated( const QString& ); + void onCurrentChanged( int ); protected: - virtual void paintEvent( QPaintEvent* ); + virtual void paintEvent( QPaintEvent* ); + virtual void childEvent( QChildEvent* ); + virtual void customEvent( QEvent* ); private: - int id( const int ) const; - int index( const int ) const; + void resetClear(); - void resetClear(); - void paintClear( QPaintEvent* ); +private: + enum { IdRole = Qt::UserRole + 10 }; private: - bool myCleared; - IndexIdMap myIndexId; + bool myCleared; //!< "cleared" state }; #ifdef WIN32