kdeui Library API Documentation

qxembed.h

00001 /**************************************************************************** 00002 Definition of QXEmbed class 00003 00004 Copyright (C) 1999-2000 Troll Tech AS 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00019 Boston, MA 02111-1307, USA. 00020 *****************************************************************************/ 00021 00022 #ifndef QXEMBED_H 00023 #define QXEMBED_H 00024 00025 #include <qwidget.h> 00026 00027 #ifndef Q_WS_QWS 00028 00029 class QXEmbedData; 00030 00057 class QXEmbed : public QWidget 00058 { 00059 Q_OBJECT 00060 00061 public: 00062 00070 QXEmbed( QWidget *parent=0, const char *name=0, WFlags f = 0 ); 00071 00075 ~QXEmbed(); 00076 00084 static void initialize(); 00085 00086 enum Protocol { XEMBED, XPLAIN }; 00087 00102 void setProtocol( Protocol proto ); 00103 00110 Protocol protocol(); 00111 00124 void embed( WId w ); 00125 00132 WId embeddedWinId() const; 00133 00142 static void embedClientIntoWindow( QWidget* client, WId window ); 00143 00154 static bool processClientCmdline( QWidget* client, int& argc, char ** argv ); 00155 00163 void sendDelete( void ); 00164 00174 void setAutoDelete( bool ); 00175 00182 bool autoDelete() const; 00183 00184 /* Reimp */ 00185 QSize sizeHint() const; 00186 QSize minimumSizeHint() const; 00187 QSizePolicy sizePolicy() const; 00188 bool eventFilter( QObject *, QEvent * ); 00189 bool customWhatsThis() const; 00190 void enterWhatsThisMode(); // temporary, fix in Qt (Matthias, Mon Jul 17 15:20:55 CEST 2000 ) 00191 virtual void reparent( QWidget * parent, WFlags f, const QPoint & p, bool showIt = false ); 00192 00193 signals: 00199 // KDE4 rename to embeddedWindowLost() 00200 void embeddedWindowDestroyed(); 00201 00202 protected: 00203 bool event( QEvent * ); 00204 void keyPressEvent( QKeyEvent * ); 00205 void keyReleaseEvent( QKeyEvent * ); 00206 void focusInEvent( QFocusEvent * ); 00207 void focusOutEvent( QFocusEvent * ); 00208 void resizeEvent(QResizeEvent *); 00209 void showEvent( QShowEvent * ); 00210 bool x11Event( XEvent* ); 00211 00219 virtual void windowChanged( WId w ); 00220 00221 bool focusNextPrevChild( bool next ); 00222 00223 private: 00224 WId window; 00225 QXEmbedData* d; 00226 void checkGrab(); 00227 void sendSyntheticConfigureNotifyEvent(); 00228 }; 00229 00230 00231 #endif 00232 #endif
KDE Logo
This file is part of the documentation for kdeui Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 12 15:08:18 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003