kdeui Library API Documentation

QXEmbed Class Reference

A QXEmbed widget serves as an embedder that can manage one single embedded X-window. The QXEmbed widget is a graphical socket that can embed an external X-Window. More...

#include <qxembed.h>

Inheritance diagram for QXEmbed:

Inheritance graph
[legend]
Collaboration diagram for QXEmbed:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Protocol { XEMBED, XPLAIN }

Signals

void embeddedWindowDestroyed ()
 This signal is emitted when the embedded window has been destroyed.


Public Member Functions

 QXEmbed (QWidget *parent=0, const char *name=0, WFlags f=0)
 Constructs a xembed widget.

 ~QXEmbed ()
 Destructor.

void setProtocol (Protocol proto)
 Sets the protocol used for embedding windows.

Protocol protocol ()
 Returns the protocol used for embedding the current window.

void embed (WId w)
 Embeds the window with the identifier w into this xembed widget.

WId embeddedWinId () const
 Returns the window identifier of the embedded window, or 0 if no window is embedded yet.

QSize sizeHint () const
 Returns a size sufficient for the embedded window.

QSize minimumSizeHint () const
 Returns the minimum size specified by the embedded window.

QSizePolicy sizePolicy () const
 Specifies that this widget can use additional space, and that it can survive on less than sizeHint().

bool eventFilter (QObject *, QEvent *)
void setAutoDelete (bool)
bool autoDelete () const
bool customWhatsThis () const
void enterWhatsThisMode ()

Static Public Member Functions

void initialize ()
 Embedded applications should call this function to make sure they support the XEMBED protocol.

void embedClientIntoWindow (QWidget *client, WId window)
 A function for clients that embed themselves. processClientCmdline().

bool processClientCmdline (QWidget *client, int &argc, char **argv)
 A utility function for clients that embed theirselves.


Protected Member Functions

bool event (QEvent *)
void keyPressEvent (QKeyEvent *)
void keyReleaseEvent (QKeyEvent *)
void focusInEvent (QFocusEvent *)
void focusOutEvent (QFocusEvent *)
void resizeEvent (QResizeEvent *)
void showEvent (QShowEvent *)
bool x11Event (XEvent *)
virtual void windowChanged (WId w)
 A change handler that indicates that the embedded window has been changed.

bool focusNextPrevChild (bool next)

Detailed Description

A QXEmbed widget serves as an embedder that can manage one single embedded X-window. The QXEmbed widget is a graphical socket that can embed an external X-Window.

These so-called client windows can be arbitrary QWidgets.

There are two different ways of using QXEmbed, from the embedder's or from the client's side. When using it from the embedder's side, you already know the window identifier of the window that should be embedded. Simply call embed() with this identifier as parameter.

Embedding from the client's side requires that the client knows the window identifier of the respective embedder widget. Use either embedClientIntoWindow() or the high-level wrapper processClientCmdline().

If a window has been embedded succesfully, embeddedWinId() returns its id.

Reimplement the change handler windowChanged() to catch embedding or the destruction of embedded windows. In the latter case, the embedder also emits a signal embeddedWindowDestroyed() for convenience.

Definition at line 61 of file qxembed.h.


Constructor & Destructor Documentation

QXEmbed::QXEmbed QWidget parent = 0,
const char *  name = 0,
WFlags  f = 0
 

Constructs a xembed widget.

The parent, name and f arguments are passed to the QFrame constructor.

QXEmbed::~QXEmbed  ) 
 

Destructor.

Cleans up the focus if necessary.


Member Function Documentation

void QXEmbed::initialize  )  [static]
 

Embedded applications should call this function to make sure they support the XEMBED protocol.

It is called automatically when you use embedClientIntoWindow() or processClientCmdline(). Clients might have to call it manually when you use embed().

void QXEmbed::setProtocol Protocol  proto  ) 
 

Sets the protocol used for embedding windows.

This function must be called before embedding a window. Protocol XEMBED provides maximal functionality (focus, tabs, etc) but requires explicit cooperation from the embedded window. Protocol XPLAIN provides maximal compatibility with embedded applications that do not support the XEMBED protocol. The default is XEMBED.

Future work: Create a protocol AUTO that selects the best option. This will be possible with the XEMBED v2 specification.

Protocol QXEmbed::protocol  ) 
 

Returns the protocol used for embedding the current window.

Returns:
the protocol used by QXEmbed.

void QXEmbed::embed WId  w  ) 
 

Embeds the window with the identifier w into this xembed widget.

This function is useful if the server knows about the client window that should be embedded. Often it is vice versa: the client knows about its target embedder. In that case, it is not necessary to call embed(). Instead, the client will call the static function embedClientIntoWindow().

Parameters:
w the identifier of the window to embed
proto is the embedding protocol to use
See also:
embeddedWinId()

WId QXEmbed::embeddedWinId  )  const
 

Returns the window identifier of the embedded window, or 0 if no window is embedded yet.

Returns:
the id of the embedded window (0 if no window is embedded)

void QXEmbed::embedClientIntoWindow QWidget client,
WId  window
[static]
 

A function for clients that embed themselves. processClientCmdline().

The widget client will be embedded in the window window. The application has to ensure that window is the handle of the window identifier of an QXEmbed widget.

bool QXEmbed::processClientCmdline QWidget client,
int &  argc,
char **  argv
[static]
 

A utility function for clients that embed theirselves.

The widget client will be embedded in the window that is passed as -embed command line argument.

The function returns TRUE on sucess or FALSE if no such command line parameter is specified.

See also:
embedClientIntoWindow()

QSize QXEmbed::sizeHint  )  const
 

Returns a size sufficient for the embedded window.

Reimplemented from QWidget.

QSize QXEmbed::minimumSizeHint  )  const
 

Returns the minimum size specified by the embedded window.

Reimplemented from QWidget.

QSizePolicy QXEmbed::sizePolicy  )  const
 

Specifies that this widget can use additional space, and that it can survive on less than sizeHint().

Reimplemented from QWidget.

void QXEmbed::embeddedWindowDestroyed  )  [signal]
 

This signal is emitted when the embedded window has been destroyed.

See also:
embeddedWinId()

virtual void QXEmbed::windowChanged WId  w  )  [protected, virtual]
 

A change handler that indicates that the embedded window has been changed.

The window handle can also be retrieved with embeddedWinId().

Parameters:
w the handle of the window that changed


The documentation for this class was generated from the following file:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:04:11 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001