X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FQtx%2FQtxComboBox.h;h=8043d5552d4e8adf6228c506e4cd2b96e5ebbc58;hb=2400f3659b65727d5a776dccd3d5dd506d755a88;hp=82c8989e0a48a89990bb28b9aafa008f19b03b16;hpb=399155730966dfc225fbb24f66204b05664385f2;p=modules%2Fgui.git diff --git a/src/Qtx/QtxComboBox.h b/src/Qtx/QtxComboBox.h index 82c8989e0..8043d5552 100755 --- a/src/Qtx/QtxComboBox.h +++ b/src/Qtx/QtxComboBox.h @@ -1,31 +1,35 @@ -// Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D -// +// 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. -// -// 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 +// 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 +// 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 ) @@ -33,45 +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; + + 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