1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex,noarchive"><title>
Qt Toolkit - mainlyMotif/editor.cpp example file
</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 15%; text-indent: -15%; }
a:link { text-decoration: none; }
--></style>
</head><body bgcolor="#ffffff">
<a href=index.html><img width=122 height=65 src=qtlogo.jpg alt="Qt logo" align=left border=0></a>
<center><img src=dochead.gif width=472 height=27></center>
<br clear=all>
<h1 align=center>Editor Example</h1>
<p>
This example shows two simple text editors, with most of the
program written in Motif. One editor is a Qt QMultiLineEdit, the
other is a Motif text widget. They are bound together
in a Motif form widget.
<pre>#include "<a name="qxt.h"></a><a href="qxt-h.html">qxt.h</a>"
#include <<a name="qmultilinedit.h"></a><a href="qmultilinedit-h.html">qmultilinedit.h</a>>
#include <<a name="qpainter.h"></a><a href="qpainter-h.html">qpainter.h</a>>
#include <<a name="qmessagebox.h"></a><a href="qmessagebox-h.html">qmessagebox.h</a>>
#include <X11/Shell.h>
#include <X11/StringDefs.h>
#include <Xm/Form.h>
#include <Xm/Text.h>
static const char* QTEDMSG =
"This is a Qt widget.\nIt is a QMultiLineEdit.";
static const char* XTEDMSG =
"This is an Xt widget.\nIt is an xmTextWidgetClass.";
class EncapsulatedQtWidget : public QXtWidget {
<a name="QMultiLineEdit"></a><a href="qmultilineedit.html">QMultiLineEdit</a>* mle;
public:
EncapsulatedQtWidget(Widget parent) :
<a name="QXtWidget"></a><a href="qxtwidget.html">QXtWidget</a>("editor", parent, TRUE)
{
mle = new <a href="qmultilineedit.html">QMultiLineEdit</a>(this);
mle-><a name="setText"></a><a href="qmultilineedit.html#c1">setText</a>(QTEDMSG);
}
void resizeEvent(<a name="QResizeEvent"></a><a href="qresizeevent.html">QResizeEvent</a>*)
{
mle-><a name="resize"></a><a href="qwidget.html#l4">resize</a>(width(),height());
}
};
main(int argc, char** argv)
{
XtAppContext app;
Widget toplevel = XtAppInitialize(
&app, "Editors",
0, 0, &argc, argv, 0, 0, 0);
<a name="QXtApplication"></a><a href="qxtapplication.html">QXtApplication</a> qapp(XtDisplay(toplevel));
Widget form = XtVaCreateManagedWidget("form",
xmFormWidgetClass, toplevel, 0);
EncapsulatedQtWidget qtchild(form);
const int marg=10;
Arg args[20];
Cardinal nargs=0;
XtSetArg(args[nargs], XmNwidth, 200); nargs++;
XtSetArg(args[nargs], XmNheight, 200); nargs++;
XtSetArg(args[nargs], XmNleftOffset, marg); nargs++;
XtSetArg(args[nargs], XmNtopOffset, marg); nargs++;
XtSetArg(args[nargs], XmNbottomOffset, marg); nargs++;
XtSetArg(args[nargs], XmNtopAttachment, XmATTACH_FORM); nargs++;
XtSetArg(args[nargs], XmNbottomAttachment, XmATTACH_FORM); nargs++;
XtSetArg(args[nargs], XmNleftAttachment, XmATTACH_FORM); nargs++;
/*
*/
XtSetValues(qtchild.<a name="xtWidget"></a><a href="qxtwidget.html#a5">xtWidget</a>(), args, nargs);
nargs=0;
XtSetArg(args[nargs], XmNstring, XTEDMSG); nargs++;
XtSetArg(args[nargs], XmNwidth, 200); nargs++;
XtSetArg(args[nargs], XmNheight, 200); nargs++;
XtSetArg(args[nargs], XmNtopOffset, marg); nargs++;
XtSetArg(args[nargs], XmNbottomOffset, marg); nargs++;
XtSetArg(args[nargs], XmNrightOffset, marg); nargs++;
XtSetArg(args[nargs], XmNtopAttachment, XmATTACH_FORM); nargs++;
XtSetArg(args[nargs], XmNbottomAttachment, XmATTACH_FORM); nargs++;
XtSetArg(args[nargs], XmNrightAttachment, XmATTACH_FORM); nargs++;
/*
XtSetArg(args[nargs], XmNleftAttachment, XmATTACH_WIDGET); nargs++;
XtSetArg(args[nargs], XmNleftWidget, qtchild.<a href="qxtwidget.html#a5">xtWidget</a>()); nargs++;
*/
Widget xtchild = XtCreateManagedWidget("editor", xmTextWidgetClass,
form, args, nargs);
XtRealizeWidget(toplevel);
XtAppMainLoop(app);
}
</pre>
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 1999 Troll Tech<td><a href="trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 1.45</div>
</table></div></address></body></html>
|