[Motiftools-xmt-cvs] CVS: xmt/examples/BackgroundWorker worker.c,NONE,1.1
Brought to you by:
motiftools
From: Grant M. <grm...@us...> - 2004-12-14 19:36:46
|
Update of /cvsroot/motiftools/xmt/examples/BackgroundWorker In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18105 Added Files: worker.c Log Message: Example for new background/parallel utility function --- NEW FILE --- #include <stdio.h> #include <Xmt/Xmt.h> #include <Xmt/ExtButton.h> #include <Xmt/WorkingBox.h> #include <Xmt/BackgroundWorker.h> static void worker(void *workerInstance, void *myData) { int i; printf("Worker begins\n"); for (i = 0; i < 100; i += 4) { sleep(1); XmtWorkerSetPercent(workerInstance, i); } printf("Worker ends\n"); } static void doBg(Widget w, XtPointer a, XtPointer b) { XmtBackgroundWorkingBox(w, worker, "Processing", True, NULL, NULL); } int main(argc,argv) int argc; char **argv; { XtAppContext app; Widget toplevel, layout, button; toplevel = XtAppInitialize(&app, "BgWorker", NULL, 0, &argc, argv, NULL, NULL, 0); layout = XmtCreateLayout(toplevel, "layout", NULL, 0); XtManageChild(layout); button = XtVaCreateManagedWidget("pushMe", xmtExtButtonWidgetClass, layout, NULL); XtAddCallback(button, XmNactivateCallback, doBg, NULL); XtRealizeWidget(toplevel); XtAppMainLoop(app); } |