[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: QXEmbed now in libkdeui
From: Matthias Ettrich <ettrich () troll ! no>
Date: 1999-05-25 1:56:09
[Download RAW message or body]
On Tue, 25 May 1999, Mosfet wrote:
> It's already in kdelibs/corba/parts ;-)
But not this vastly improved version :-)
>
> I would prefer it in kdeui tho, since I could use it for non-OP stuff I am
> doing (I am using XReparentWindow currently).
Great. One usage tip (the documentation is not yet finished): Use qxembed from
the client side and not from the server side. That means: not the embedding
widget does the reparenting but vice versa: the client-module embeds itself.
This is trivial with qxembed. Here's a tiny example of a standalone qxembed
widget that will embed a qmultilineedit as client.
First the server:
#include <qapplication.h>
#include <qtextstream.h>
#include <qxembed.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QXEmbed qx;
a.setMainWidget( &qx );
qx.show();
QApplication::flushX();
if ( !fork() )
execlp("client_program", "client_program",
"-embed", QString::number(qx.winId()).latin1(),
0);
return a.exec();
}
If you wonder about the flushX(), that's to avoid Xlib getting out of sync with
two processes. Unlikely but might happen.
And here's the applet, a simple qmultlineedit:
#include <qapplication.h>
#include <qmultilineedit.h>
#include "qxembed.h"
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QMultiLineEdit me;
a.setMainWidget( &me );
if ( !QXEmbed::processClientCmdline( &me, argc, argv ) )
me.show();
return a.exec();
}
Cute, isn't it? :-)
Note that you *need* tomorrows Qt-2.0 snapshot to get this working properly.
The public Qt CVS will be updated in a few hours, to be precise.
Matthias
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic