qcomboview.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef QCOMBOVIEW_H
00017 #define QCOMBOVIEW_H
00018
00019 #ifndef QT_H
00020 #include "qwidget.h"
00021 #endif // QT_H
00022
00023 #ifndef QT_NO_COMBOBOX
00024
00025
00026 class QStrList;
00027 class QStringList;
00028 class QLineEdit;
00029 class QValidator;
00030 class QListView;
00031 class QListViewItem;
00032 class QComboViewData;
00033
00034 class Q_EXPORT QComboView : public QWidget
00035 {
00036 Q_OBJECT
00037 Q_ENUMS( Policy )
00038 Q_PROPERTY( bool editable READ editable WRITE setEditable )
00039
00040 Q_PROPERTY( QString currentText READ currentText WRITE setCurrentText DESIGNABLE false )
00041
00042 Q_PROPERTY( bool autoResize READ autoResize WRITE setAutoResize DESIGNABLE false )
00043 Q_PROPERTY( int sizeLimit READ sizeLimit WRITE setSizeLimit )
00044
00045 Q_PROPERTY( Policy insertionPolicy READ insertionPolicy WRITE setInsertionPolicy )
00046 Q_PROPERTY( bool autoCompletion READ autoCompletion WRITE setAutoCompletion )
00047 Q_PROPERTY( bool duplicatesEnabled READ duplicatesEnabled WRITE setDuplicatesEnabled )
00048 Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
00049
00050 public:
00051
00052 QComboView( bool rw, QWidget* parent=0, const char* name=0 );
00053 ~QComboView();
00054
00055 int childCount() const;
00056
00057 QListViewItem *currentItem() const;
00058 virtual void setCurrentItem( QListViewItem * );
00059 virtual void setCurrentActiveItem( QListViewItem * );
00060
00061 bool autoResize() const;
00062 virtual void setAutoResize( bool );
00063 QSize sizeHint() const;
00064
00065 void setPalette( const QPalette & );
00066 void setFont( const QFont & );
00067 void setEnabled( bool );
00068
00069 virtual void setSizeLimit( int );
00070 int sizeLimit() const;
00071
00072
00073
00074
00075 enum Policy { NoInsertion, AtTop, AtCurrent, AtBottom,
00076 AfterCurrent, BeforeCurrent };
00077
00078 virtual void setInsertionPolicy( Policy policy );
00079 Policy insertionPolicy() const;
00080
00081 virtual void setValidator( const QValidator * );
00082 const QValidator * validator() const;
00083
00084 virtual void setListView( QListView * );
00085 QListView * listView() const;
00086
00087 virtual void setLineEdit( QLineEdit *edit );
00088 QLineEdit* lineEdit() const;
00089
00090 virtual void setAutoCompletion( bool );
00091 bool autoCompletion() const;
00092
00093 bool eventFilter( QObject *object, QEvent *event );
00094
00095 void setDuplicatesEnabled( bool enable );
00096 bool duplicatesEnabled() const;
00097
00098 bool editable() const;
00099 void setEditable( bool );
00100
00101 virtual void popup();
00102
00103 QString currentText() const;
00104 void setCurrentText( const QString& );
00105
00106 public slots:
00107 virtual void clear();
00108 void clearValidator();
00109 void clearEdit();
00110 virtual void setEditText( const QString &);
00111
00112 signals:
00113 void activated( QListViewItem * item );
00114 void highlighted( QListViewItem * item );
00115 void activated( const QString &);
00116 void highlighted( const QString &);
00117 void textChanged( const QString &);
00118 void focusGranted();
00119 void focusLost();
00120
00121 private slots:
00122 void internalActivate( QListViewItem * );
00123 void internalHighlight( QListViewItem * );
00124 void internalClickTimeout();
00125 void returnPressed();
00126 void checkState(QListViewItem*);
00127
00128 protected:
00129 void paintEvent( QPaintEvent * );
00130 void resizeEvent( QResizeEvent * );
00131 void mousePressEvent( QMouseEvent * );
00132 void mouseMoveEvent( QMouseEvent * );
00133 void mouseReleaseEvent( QMouseEvent * );
00134 void mouseDoubleClickEvent( QMouseEvent * );
00135 void keyPressEvent( QKeyEvent *e );
00136 void focusInEvent( QFocusEvent *e );
00137 void focusOutEvent( QFocusEvent *e );
00138 void wheelEvent( QWheelEvent *e );
00139 void styleChange( QStyle& );
00140
00141 void updateMask();
00142
00143 private:
00144 void setUpListView();
00145 void setUpLineEdit();
00146 void popDownListView();
00147 void reIndex();
00148 void currentChanged();
00149 QListViewItem *completionIndex( const QString &, QListViewItem * ) const;
00150
00151 QComboViewData *d;
00152
00153 private:
00154 #if defined(Q_DISABLE_COPY)
00155 QComboView( const QComboView & );
00156 QComboView &operator=( const QComboView & );
00157 #endif
00158 };
00159
00160
00161 #endif // QT_NO_COMBOBOX
00162
00163 #endif // QCOMBOVIEW_H
This file is part of the documentation for KDevelop Version 3.1.2.