From cfc602e2408bf90cce7be62f3f1e940cd5af7172 Mon Sep 17 00:00:00 2001 From: jestin Date: Fri, 25 Jun 2004 18:26:19 +0000 Subject: j'ajoute des exemples de code dans le CVS. il faudra les intégrer à la doc... --- examples/motifButtonIvy.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 examples/motifButtonIvy.c (limited to 'examples/motifButtonIvy.c') diff --git a/examples/motifButtonIvy.c b/examples/motifButtonIvy.c new file mode 100644 index 0000000..f4336aa --- /dev/null +++ b/examples/motifButtonIvy.c @@ -0,0 +1,37 @@ +#include +#include +#include +#include +#include +#include + +void myMotifCallback(Widget w,XtPointer client_d,XtPointer call_d){ + // sends the string on the bus + IvySendMsg (*((char**)client_d)); +} + +void textCallback(IvyClientPtr app, void *user_data, int argc, char *argv[]){ + printf("%s sent %s\n",IvyGetApplicationName(app),argv[0]); + // updates the string we want to send + *((char **)user_data)=argv[0]; +} + +void DieCallback (IvyClientPtr app, void *data, int id){ exit(0); } + +int main(int argc,char *argv[]){ + Widget toplevel,pushb; + XtAppContext app_context; + Arg myargs[10]; + char *bus=getenv("IVYBUS"); + char *tosend="foo"; + toplevel=XtAppInitialize(&app_context,"Ivy Button",NULL,0,&argc,argv,NULL,myargs,0); + pushb=XmCreatePushButton(toplevel,"send message",myargs,1); + XtManageChild(pushb); + XtAddCallback(pushb,XmNactivateCallback,myMotifCallback,&tosend); + XtRealizeWidget(toplevel); + IvyXtChannelAppContext(app_context); + IvyInit("IvyMotif","IvyMotif connected",NULL,NULL,DieCallback,NULL); + IvyBindMsg(textCallback,&tosend,"^Ivy Button text=(.*)"); + IvyStart(bus); + XtAppMainLoop(app_context); +} -- cgit v1.1