diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
commit | bd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch) | |
tree | 7a520322212d48ebcb9fbe1087e7fca28b76185c /doc/html/motif-dialog-example.html | |
download | qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip |
Add Qt3 development HEAD version
Diffstat (limited to 'doc/html/motif-dialog-example.html')
-rw-r--r-- | doc/html/motif-dialog-example.html | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/doc/html/motif-dialog-example.html b/doc/html/motif-dialog-example.html new file mode 100644 index 0000000..238058c --- /dev/null +++ b/doc/html/motif-dialog-example.html @@ -0,0 +1,237 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/examples/dialog/dialog.doc:1 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>A Motif Dialog</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Motif Dialog</h1> + + +<p> +<p> +<p> <hr> +<p> Header +<p> <pre>#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include <<a href="qmotifwidget-h.html">qmotifwidget.h</a>> + + +class MainWindow : public <a href="qmotifwidget.html">QMotifWidget</a> +{ +public: + MainWindow(); + + void showMotifDialog(); + void showQtDialog(); +}; + +#endif // MAINWINDOW_H +</pre> + +<p> <hr> +<p> Implementation: +<p> <pre>#include <<a href="qapplication-h.html">qapplication.h</a>> +#include <<a href="qmotif-h.html">qmotif.h</a>> + +#include "mainwindow.h" + + +int main( int argc, char **argv ) +{ + XtSetLanguageProc( NULL, NULL, NULL ); + + <a href="qmotif.html">QMotif</a> integrator( "dialog" ); + <a href="qapplication.html">QApplication</a> app( argc, argv ); + + MainWindow *mainwindow = new MainWindow; + app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( mainwindow ); + mainwindow-><a href="qwidget.html#show">show</a>(); + + return app.<a href="qapplication.html#exec">exec</a>(); +} +</pre> + +<p> <pre>#include "mainwindow.h" +#include "dialog.h" + +#include <Xm/MainW.h> +#include <Xm/RowColumn.h> +#include <Xm/CascadeB.h> +#include <Xm/PushB.h> +#include <Xm/PushBG.h> +#include <Xm/SeparatoG.h> +#include <Xm/Text.h> +#include <Xm/MessageB.h> +#include <Xm/Form.h> +#include <Xm/LabelG.h> + +#include <<a href="qapplication-h.html">qapplication.h</a>> + + +static void motifDialogCallback( Widget, XtPointer client_data, XtPointer ) +{ + MainWindow *mw = (MainWindow *) client_data; + mw->showMotifDialog(); +} + +static void qtDialogCallback( Widget, XtPointer client_data, XtPointer ) +{ + MainWindow *mw = (MainWindow *) client_data; + mw->showQtDialog(); +} + +static void quitCallback( Widget, XtPointer client_data, XtPointer ) +{ + MainWindow *mw = (MainWindow *) client_data; +<a name="x2708"></a> mw-><a href="qwidget.html#close">close</a>(); +} + + +<a name="f560"></a>MainWindow::MainWindow() + : <a href="qmotifwidget.html">QMotifWidget</a>( 0, xmMainWindowWidgetClass, NULL, 0, "mainwindow" ) +{ + Widget menubar = XmCreateMenuBar( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "menubar", NULL, 0 ); + Widget filemenu = XmCreatePulldownMenu( menubar, "filemenu", NULL, 0 ); + Widget item; + + item = XtVaCreateManagedWidget( "Motif Dialog...", + xmPushButtonGadgetClass, filemenu, + XmNmnemonic, 'C', + NULL ); + XtAddCallback( item, XmNactivateCallback, motifDialogCallback, this ); + + item = XtVaCreateManagedWidget( "Qt Dialog...", + xmPushButtonGadgetClass, filemenu, + XmNmnemonic, 'Q', + NULL ); + XtAddCallback( item, XmNactivateCallback, qtDialogCallback, this ); + + item = XtVaCreateManagedWidget( "sep", + xmSeparatorGadgetClass, filemenu, + NULL ); + + item = XtVaCreateManagedWidget( "Exit", + xmPushButtonGadgetClass, filemenu, + XmNmnemonic, 'x', + NULL ); + XtAddCallback( item, XmNactivateCallback, quitCallback, this ); + + XmString str = XmStringCreateLocalized( "File" ); + item = XtVaCreateManagedWidget( "File", + xmCascadeButtonWidgetClass, menubar, + XmNlabelString, str, + XmNmnemonic, 'F', + XmNsubMenuId, filemenu, + NULL ); + XmStringFree( str ); + + Arg args[2]; + XtSetArg( args[0], XmNeditMode, XmMULTI_LINE_EDIT ); + Widget texteditor = + XmCreateScrolledText( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "texteditor", + args, 1 ); + + XtManageChild( menubar ); + XtManageChild( texteditor ); + + // pick a nice default size + XtVaSetValues( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), + XmNwidth, 400, + XmNheight, 300, + NULL ); + + <a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>("QMotif Dialog Example") ); + +} + +void <a name="f561"></a>MainWindow::showMotifDialog() +{ + <a href="qmotifdialog.html">QMotifDialog</a> dialog( this, "custom dialog", TRUE ); + dialog.<a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>("Custom <a href="motif-extension.html#Motif">Motif</a> Dialog") ); + +<a name="x2707"></a> Widget form = XmCreateForm( dialog.<a href="qmotifdialog.html#shell">shell</a>(), "custom motif dialog", NULL, 0 ); + + XmString str; + Arg args[9]; + + str = XmStringCreateLocalized( "Close" ); + XtSetArg( args[0], XmNlabelString, str ); + XtSetArg( args[1], XmNshowAsDefault, True ); + XtSetArg( args[2], XmNleftAttachment, XmATTACH_POSITION ); + XtSetArg( args[3], XmNleftPosition, 40 ); + XtSetArg( args[4], XmNrightAttachment, XmATTACH_POSITION ); + XtSetArg( args[5], XmNrightPosition, 60 ); + XtSetArg( args[7], XmNbottomAttachment, XmATTACH_FORM ); + XtSetArg( args[6], XmNtopOffset, 10 ); + XtSetArg( args[8], XmNbottomOffset, 10 ); + Widget button = XmCreatePushButton( form, "Close", args, 9 ); + XmStringFree( str ); + + str = + XmStringCreateLocalized( "This is a custom Motif-based dialog using\n" + "QMotifDialog with a QWidget-based parent." ); + XtSetArg( args[0], XmNlabelString, str ); + XtSetArg( args[1], XmNleftAttachment, XmATTACH_FORM ); + XtSetArg( args[2], XmNrightAttachment, XmATTACH_FORM ); + XtSetArg( args[3], XmNtopAttachment, XmATTACH_FORM ); + XtSetArg( args[4], XmNbottomAttachment, XmATTACH_WIDGET ); + XtSetArg( args[5], XmNbottomWidget, button ); + XtSetArg( args[6], XmNtopOffset, 10 ); + XtSetArg( args[7], XmNbottomOffset, 10 ); + Widget label = XmCreateLabelGadget( form, "label", args, 8 ); + XmStringFree( str ); + + XtManageChild( button ); + XtManageChild( label ); + XtManageChild( form ); + + XtAddCallback( button, XmNactivateCallback, + (XtCallbackProc) QMotifDialog::acceptCallback, &dialog ); + +<a name="x2706"></a> dialog.<a href="qdialog.html#exec">exec</a>(); +} + +void <a name="f562"></a>MainWindow::showQtDialog() +{ + // custom Qt-based dialog using a Motif-based parent + CustomDialog customdialog( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "custom dialog", TRUE ); + customdialog.<a href="qdialog.html#exec">exec</a>(); +} +</pre> + +<p> <p>See also <a href="motif-examples.html">QMotif Support Extension</a>. + +<!-- eof --> +<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>Qt 3.3.8</div> +</table></div></address></body> +</html> |