Annotation of rpl/modules/motif/XtAppInitialize.rplc, revision 1.8
1.1 bertrand 1: #include "src/rplexternals.h"
2: #include "motif.h"
3:
4: declareExternalFunction(XtAppInitialize)
5: int argc;
6: String *argv;
7: char *name;
8:
9: declareObject(appObject);
10: declareObject(nameObject);
11: declareObject(widgetObject);
12:
13: HEADER
14: declareHelpString("Initialize application context\n"
15: " 1: \"application name\"\n"
16: " -> 2: AppContext\n"
17: " 1: Widget\n");
18: numberOfArguments(1);
19: FUNCTION
20: pullFromStack(nameObject, string);
21: returnOnError(freeObject(nameObject));
22: getString(nameObject, name);
23:
24: argc = 0;
25: nullify(argv);
26:
27: createExternalObject(appObject, APPCONTEXT);
28: createExternalObject(widgetObject, WIDGET);
29:
1.4 bertrand 30: objectOf(appObject) = allocate(size(sXtAppContext));
31: objectOf(widgetObject) = allocate(size(Widget));
1.1 bertrand 32:
1.7 bertrand 33: XtSetLanguageProc(NULL, NULL, NULL);
34:
1.4 bertrand 35: target(objectContainer(Widget, widgetObject)) =
36: XtVaAppInitialize(address(target(
37: objectContainer(sXtAppContext, appObject)).context),
1.1 bertrand 38: name, NULL, 0, address(argc), argv, NULL, NULL);
1.4 bertrand 39: target(objectContainer(sXtAppContext, appObject)).widget =
40: target(objectContainer(Widget, widgetObject));
1.1 bertrand 41:
1.8 ! bertrand 42: XtVaSetValues(target(objectContainer(Widget, widgetObject)),
! 43: XmNtitle, name,
! 44: NULL);
1.1 bertrand 45: freeObject(nameObject);
46:
1.4 bertrand 47: if (nullified(objectOf(appObject))) then
1.1 bertrand 48: executionError("Nullified XtAppContext");
49: freeObject(appObject);
50: freeObject(widgetObject);
51: returnOnError();
52: endIf
53:
54: pushOnStack(appObject);
55: pushOnStack(widgetObject);
56:
57: setFalse(exitMainLoop);
58: setTrue(initializationDone);
59: END
60: endExternalFunction
1.2 bertrand 61:
62: // vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>