klineedit.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _KLINEEDIT_H
00031 #define _KLINEEDIT_H
00032
00033 #include <qlineedit.h>
00034 #include <kcompletion.h>
00035 #include <kdemacros.h>
00036
00037 class QPopupMenu;
00038
00039 class KCompletionBox;
00040 class KURL;
00041
00146 class KLineEdit : public QLineEdit, public KCompletionBase
00147 {
00148 friend class KComboBox;
00149
00150 Q_OBJECT
00151 Q_PROPERTY( bool contextMenuEnabled READ isContextMenuEnabled WRITE setContextMenuEnabled )
00152 Q_PROPERTY( bool urlDropsEnabled READ isURLDropsEnabled WRITE setURLDropsEnabled )
00153 Q_PROPERTY( bool trapEnterKeyEvent READ trapReturnKey WRITE setTrapReturnKey )
00154 Q_PROPERTY( bool enableSqueezedText READ isSqueezedTextEnabled WRITE setEnableSqueezedText )
00155
00156 public:
00157
00166 KLineEdit( const QString &string, QWidget *parent, const char *name = 0 );
00167
00174 KLineEdit ( QWidget *parent=0, const char *name=0 );
00175
00179 virtual ~KLineEdit ();
00180
00185 void setURL( const KURL& url );
00186
00196 void cursorAtEnd() { end( false ); }
00197
00206 virtual void setCompletionMode( KGlobalSettings::Completion mode );
00207
00222 virtual void setContextMenuEnabled( bool showMenu ) { m_bEnableMenu = showMenu; }
00223
00227 bool isContextMenuEnabled() const { return m_bEnableMenu; }
00228
00236 void setURLDropsEnabled( bool enable );
00237
00241 bool isURLDropsEnabled() const;
00242
00253 void setTrapReturnKey( bool trap );
00254
00261 bool trapReturnKey() const;
00262
00267 virtual bool eventFilter( QObject *, QEvent * );
00268
00277 KCompletionBox * completionBox( bool create = true );
00278
00282 virtual void setCompletionObject( KCompletion *, bool hsig = true );
00283
00287 virtual void copy() const;
00288
00299 void setEnableSqueezedText( bool enable );
00300
00307 bool isSqueezedTextEnabled() const;
00308
00316 QString originalText() const;
00317
00318 signals:
00319
00324 void completionBoxActivated (const QString &);
00325
00333 void returnPressed( const QString& );
00334
00342 void completion( const QString& );
00343
00347 void substringCompletion( const QString& );
00348
00360 void textRotation( KCompletionBase::KeyBindingType );
00361
00366 void completionModeChanged( KGlobalSettings::Completion );
00367
00380 void aboutToShowContextMenu( QPopupMenu * p );
00381
00382 public slots:
00383
00387 virtual void setReadOnly(bool);
00388
00399 void rotateText( KCompletionBase::KeyBindingType type );
00400
00404 virtual void setCompletedText( const QString& );
00405
00412 void setCompletedItems( const QStringList& items );
00413
00424 void setCompletedItems( const QStringList& items, bool autoSuggest );
00425
00430 virtual void clear();
00431
00437 void setSqueezedText( const QString &text);
00438
00442 virtual void setText ( const QString& );
00443
00444
00445 protected slots:
00446
00451 virtual void makeCompletion( const QString& );
00452
00456 void slotAboutToShow() {}
00457
00461 void slotCancelled() {}
00462
00468 void userCancelled(const QString & cancelText);
00469
00470 protected:
00471
00477 virtual void resizeEvent( QResizeEvent * );
00478
00484 virtual void keyPressEvent( QKeyEvent * );
00485
00491 virtual void mousePressEvent( QMouseEvent * );
00492
00498 virtual void mouseDoubleClickEvent( QMouseEvent * );
00499
00505 virtual QPopupMenu *createPopupMenu();
00506
00512 virtual void dropEvent( QDropEvent * );
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522 virtual void setCompletedText( const QString& , bool );
00523
00524
00529 void setUserSelection( bool userSelection );
00530
00534 virtual void create( WId = 0, bool initializeWindow = true,
00535 bool destroyOldWindow = true );
00536
00537 private slots:
00538 void completionMenuActivated( int id );
00539 void tripleClickTimeout();
00540 void slotRestoreSelectionColors();
00541 void setTextWorkaround( const QString& text );
00542
00543 private:
00544
00545
00546 enum MenuID
00547 {
00548 Default = 42,
00549 NoCompletion,
00550 AutoCompletion,
00551 ShellCompletion,
00552 PopupCompletion,
00553 ShortAutoCompletion,
00554 PopupAutoCompletion
00555 };
00556
00560 void init();
00561
00565 void makeCompletionBox();
00566
00571 bool overrideAccel (const QKeyEvent* e);
00572
00577 void setSqueezedText ();
00578
00579 bool m_bEnableMenu;
00580
00581 bool possibleTripleClick;
00582
00583 protected:
00584 virtual void virtual_hook( int id, void* data );
00585 private:
00586 class KLineEditPrivate;
00587 KLineEditPrivate *d;
00588 };
00589
00590 #endif
This file is part of the documentation for kdeui Library Version 3.3.0.