Blame demos/programs/Exm/app_in_uil/exm_in_uil.c

Packit b099d7
/* $XConsortium: exm_in_uil.c /main/5 1995/07/15 20:44:21 drk $ */
Packit b099d7
/*
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 * 
Packit b099d7
 */
Packit b099d7
/*
Packit b099d7
 * HISTORY
Packit b099d7
 */
Packit b099d7
Packit b099d7
/*******************************************************************************
Packit b099d7
 *
Packit b099d7
 * exm_in_uil.c - main routine and C callbacks for exm_in_uil program.
Packit b099d7
 *
Packit b099d7
 ******************************************************************************/
Packit b099d7
Packit b099d7
#include <stdio.h>
Packit b099d7
#include <Xm/Xm.h>
Packit b099d7
#include <Xm/MessageB.h>
Packit b099d7
#include <Mrm/MrmPublic.h>
Packit b099d7
#include <Exm/ExmMrm.h>
Packit b099d7
Packit b099d7
static void ManageCb(Widget, String, XtPointer);
Packit b099d7
static void ExitCb(Widget, XtPointer, XtPointer);
Packit b099d7
Packit b099d7
static MrmHierarchy mrmId;
Packit b099d7
static MrmCode mrmClass;
Packit b099d7
static char *mrmFiles[]={"exm_in_uil.uid"};
Packit b099d7
static MRMRegisterArg mrmNames[] = {
Packit b099d7
        {"ManageCb", (caddr_t)ManageCb },
Packit b099d7
        {"ExitCb", (caddr_t)ExitCb }
Packit b099d7
};
Packit b099d7
Packit b099d7
static Display *display;
Packit b099d7
static Widget shell;
Packit b099d7
Packit b099d7
int 
Packit b099d7
main(int argc,
Packit b099d7
     char **argv)
Packit b099d7
{
Packit b099d7
Widget appMain;
Packit b099d7
XtAppContext appContext;
Packit b099d7
Packit b099d7
    MrmInitialize();
Packit b099d7
    ExmMrmInitialize();	/* register Exm widgets with Mrm */
Packit b099d7
    XtToolkitInitialize();
Packit b099d7
    appContext = XtCreateApplicationContext();
Packit b099d7
    display = XtOpenDisplay(appContext, NULL, "exmdemo", "ExmDemo", NULL, 0,
Packit b099d7
                            &argc, argv);
Packit b099d7
    if (display == NULL) {
Packit b099d7
	fprintf(stderr, "Can't open display\n");
Packit b099d7
	exit(1);
Packit b099d7
    }
Packit b099d7
    shell = XtAppCreateShell("demo", NULL, applicationShellWidgetClass,
Packit b099d7
						display, NULL, 0);
Packit b099d7
    if (MrmOpenHierarchy (1, mrmFiles, NULL, &mrmId) != MrmSUCCESS) 
Packit b099d7
      exit(1);
Packit b099d7
    MrmRegisterNames(mrmNames, XtNumber(mrmNames));
Packit b099d7
    MrmFetchWidget (mrmId, "appMain", shell, &appMain, &mrmClass);
Packit b099d7
    XtManageChild(appMain);
Packit b099d7
    XtRealizeWidget(shell);
Packit b099d7
    XtAppMainLoop(appContext);
Packit b099d7
    exit(0);
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * ManageCb - Manage widget passed as client_data.
Packit b099d7
 */
Packit b099d7
static void 
Packit b099d7
ManageCb(Widget w,
Packit b099d7
	 String id,
Packit b099d7
	 XtPointer cb)
Packit b099d7
{
Packit b099d7
    XtManageChild (XtNameToWidget(shell, id));
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * ExitCb - Exit application.
Packit b099d7
 */
Packit b099d7
static void 
Packit b099d7
ExitCb(Widget w,
Packit b099d7
       XtPointer cd,
Packit b099d7
       XtPointer cb)
Packit b099d7
{
Packit b099d7
    exit(0);
Packit b099d7
}