This is xtApplication.m in view mode; [Download] [Up]
/* Category ToolKit of Application class * * Copyright (C) 1994 The Board of Trustees of * The Leland Stanford Junior University. All Rights Reserved. * * Authors: Scott Francis, Fred Harris, Paul Kunz, Tom Pavel, * Imran Qureshi, and Libing Wang * * This file is part of an Objective-C class library for X-Windows * * WARNING: All WidgetSets that use this ToolKit category must use the * same definition of XWContext in dpsclient/xwfriends.h. FIXME. * * xtApplication.m,v 1.12 1995/12/13 22:33:33 fedor Exp */ #include "Application.h" #include "Window.h" #include "dpsclient/XtDrawContext.h" #include <objc/List.h> #include "stdmacros.h" #ifdef sgi #include <malloc.h> /* although you might need to edit malloc.h */ #endif /* sgi */ void appMainLoop( void *app_con ) { XtAppMainLoop((XtAppContext) app_con); return; } void * createApplicationContext( void ) { XtToolkitInitialize(); return XtCreateApplicationContext(); } void destroyApplicationContext( void *app_con) { XtDestroyApplicationContext((XtAppContext)app_con); return; } void * openDisplay( void *app_con, char *appName, int ac, char **av) { void *display = XtOpenDisplay((XtAppContext)app_con, 0, NULL, appName, NULL, 0, &ac, av); if ( !display) { XtWarning("cannot open display"); exit(1); } return display; } @implementation Application(ToolKit) - (int)_runModalFor:theWindow { XEvent event; Widget dlog = [theWindow _widget]; _modalReturnCode = X_RUNNINGMODAL; XtAddGrab( dlog, True, True ); while ((XtIsManaged(dlog)) && (_modalReturnCode == X_RUNNINGMODAL)) { XtAppNextEvent(app_con, &event); XtDispatchEvent(&event); } XtRemoveGrab( dlog ); return _modalReturnCode; } /* Open the X-Windows display */ - _displayInitArgc:(int)ac argv:(char**)av { XtDrawContext *ctxt; _X_display = openDisplay( app_con, appName, ac, av); if (!_X_display) { XtWarning("cannot open display"); return nil; } /* Create a context */ /* FIXME: Hide this behind a DPSCreateContext call */ ctxt = [[XtDrawContext allocWithZone: [self zone]] initWithDisplay:_X_display]; _context = (DPSContext)[ctxt XWContext]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.