diff options
author | Walter Harms <wharms@bfs.de> | 2023-05-12 23:03:32 +0200 |
---|---|---|
committer | Walter Harms <wharms@bfs.de> | 2023-05-12 23:03:32 +0200 |
commit | 2f99a415913b6be4ed2955a3e30694c2216aafbd (patch) | |
tree | f7edfa31d631eaa30bd5258d40c1b3902c13239f /examples/pane.c | |
parent | 324358180ddeaae482c5f66bb5647a4918710296 (diff) | |
download | xorg-lib-libXaw-2f99a415913b6be4ed2955a3e30694c2216aafbd.tar.gz |
add examples
provide some examples to support the documentation
Diffstat (limited to 'examples/pane.c')
-rw-r--r-- | examples/pane.c | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/examples/pane.c b/examples/pane.c new file mode 100644 index 0000000..4ec01de --- /dev/null +++ b/examples/pane.c @@ -0,0 +1,84 @@ +#include <stdlib.h> +#include <stdio.h> +#include <X11/StringDefs.h> +#include <Xaw/Box.h> +#include <Xaw/Label.h> +#include <Xaw/Paned.h> +#include <Xaw/Command.h> + +static void +quit_cb(Widget w, XtPointer client_data, XtPointer call_data) +{ + XtAppSetExitFlag(XtWidgetToApplicationContext(w)); +} + +static void +getnumsub_cb(Widget w, XtPointer client_data, XtPointer call_data) +{ + Widget p=XtParent(w); + char buf[80]; + int min,max; + XawPanedGetMinMax(w,&min,&max); + + sprintf(buf,"%d number\n%d min %d max\n",XawPanedGetNumSub(p),min,max); + XtVaSetValues(w,XtNlabel,buf,NULL); + +} +static void +refigure_cb(Widget w, XtPointer client_data, XtPointer call_data) +{ + Widget p=XtParent(w); + XawPanedSetRefigureMode(p,False); +} + +int main(int argc, char **argv) +{ + Widget toplevel,pane,label,command; + XtAppContext app_con; + toplevel = XtAppInitialize(&app_con, "demo", NULL, 0, + &argc, argv, NULL, + NULL, 0); + + pane=XtVaCreateManagedWidget( "paned", panedWidgetClass, toplevel, + NULL); + + label = XtVaCreateManagedWidget("Label", + labelWidgetClass, + pane, XtNlabel, "quick", NULL); + + XawPanedAllowResize(label,False); + + label = XtVaCreateManagedWidget("Label", + labelWidgetClass, + pane, XtNlabel, "brown", NULL); + + label = XtVaCreateManagedWidget("Label", + labelWidgetClass, + pane, XtNlabel, "fox", NULL); + + command = XtVaCreateManagedWidget("cmd", + commandWidgetClass, pane, + XtNlabel, "stop resize", + NULL); + + XtAddCallback(command, XtNcallback,refigure_cb, NULL); + + command = XtVaCreateManagedWidget("cmd", + commandWidgetClass, pane, + XtNlabel, "getnumsub", + NULL); + + XtAddCallback(command, XtNcallback,getnumsub_cb, NULL); + XawPanedSetMinMax(command,50,100); + + command = XtVaCreateManagedWidget("cmd", + commandWidgetClass, pane, + XtNlabel, "EXIT", + NULL); + XtAddCallback(command, XtNcallback, quit_cb, NULL); + + XtRealizeWidget(toplevel); + + XtAppMainLoop(app_con); + exit(0); +} |