kdeui
qxembed.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef QXEMBED_H
00023 #define QXEMBED_H
00024
00025 #include <qwidget.h>
00026 #include <kdelibs_export.h>
00027
00028 #ifdef Q_WS_X11
00029
00030 class QXEmbedData;
00031
00058 class KDEUI_EXPORT QXEmbed : public QWidget
00059 {
00060 Q_OBJECT
00061
00062 public:
00063
00071 QXEmbed( QWidget *parent=0, const char *name=0, WFlags f = 0 );
00072
00076 ~QXEmbed();
00077
00085 static void initialize();
00086
00087 enum Protocol { XEMBED, XPLAIN };
00088
00103 void setProtocol( Protocol proto );
00104
00111 Protocol protocol();
00112
00125 void embed( WId w );
00126
00133 WId embeddedWinId() const;
00134
00143 static void embedClientIntoWindow( QWidget* client, WId window );
00144
00155 static bool processClientCmdline( QWidget* client, int& argc, char ** argv );
00156
00164 void sendDelete( void );
00165
00175 void setAutoDelete( bool );
00176
00183 bool autoDelete() const;
00184
00185
00186 QSize sizeHint() const;
00187 QSize minimumSizeHint() const;
00188 QSizePolicy sizePolicy() const;
00189 bool eventFilter( QObject *, QEvent * );
00190 bool customWhatsThis() const;
00191 void enterWhatsThisMode();
00192 virtual void reparent( QWidget * parent, WFlags f, const QPoint & p, bool showIt = false );
00193
00194 signals:
00200
00201 void embeddedWindowDestroyed();
00202
00203 protected:
00204 bool event( QEvent * );
00205 void keyPressEvent( QKeyEvent * );
00206 void keyReleaseEvent( QKeyEvent * );
00207 void focusInEvent( QFocusEvent * );
00208 void focusOutEvent( QFocusEvent * );
00209 void resizeEvent(QResizeEvent *);
00210 void showEvent( QShowEvent * );
00211 bool x11Event( XEvent* );
00212
00220 virtual void windowChanged( WId w );
00221
00222 bool focusNextPrevChild( bool next );
00223
00224 private:
00225 WId window;
00226 QXEmbedData* d;
00227 void checkGrab();
00228 void sendSyntheticConfigureNotifyEvent();
00229 void handleEmbed();
00230 };
00231
00232
00233 #endif
00234 #endif