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 };
00230
00231
00232
#endif
00233
#endif