This is xpert.c in view mode; [Download] [Up]
#if ( !defined(lint) && !defined(SABER)) static char PCN_rcsid[] = "$Header: /tmp_mnt/Net/alriga/alriga1/alriga1/kessel/IF/Xpert/RCS/xpert.c,v 1.13 1992/01/23 00:08:54 kessel Exp $"; #endif /****************************************************************************** * * * Copyright (C) The Aerospace Corporation 1991 * * * * This software was developed by The Aerospace Corporation as a * * research endeavor for the United States Air Force * * Space Systems Division. The current version of the Gauge * * computer program is available for release to you for * * educational and research purposes only. It is not * * to be used for commercial purposes. * * * * In addition, the following conditions shall apply. * * * * 1) The computer software and documentation were designed to * * satisfy internal Aerospace requirements only. * * The software is provided ``as is,'' and The Aerospace Corporation * * makes no warranty, expressed or implied, as to it accuracy, * * functioning, or fitness for a particular purpose. * * * * 2) The Aerospace Corporation and its personnel are not * * responsible for providing technical support or general assistance * * with respect to the software. * * * * 3) Neither The Aerospace Corporation nor its personnel shall be * * liable for claims, losses, or damages arising out of or connected * * with the use of this software. * * Your sole and exclusive remedy shall be to request a replacement * * copy of the program. * * * ******************************************************************************/ #include <stdio.h> #include <Xsw/Xsw.h> #include <X11/Xaw/Viewport.h> #include <X11/Xaw/Box.h> #include <X11/Xaw/Paned.h> #include <X11/Xaw/Label.h> #include <Xsw/Dir.h> #include <Xsw/Help.h> #include <Xsw/QuerySet.h> #include "xpcn_icon.h" /*ARGSUSED*/ int UpdateButton(w, client_data, ret_val) Widget w; caddr_t client_data; caddr_t ret_val; { XswDirUpdate((Widget)client_data); } void main(argc, argv) int argc; char *argv[]; { Widget pane, box, directory, top_level, label, q_set, help; XtAppContext context; Display *dpy; Atom wm_delete_window; Cardinal arg_cnt; Arg args[20]; void EditIt(); void CompileIt(); void RunIt(); void GaugeIt(); void GenericCallback(); void ProfileCallback(); void PCNCallback(); void CosmicPCNCallback(); void ChangePCNDir(); void HelpButton(); void QuitXpert(), QuitXpertAction(); void XpcnAckAction(); Pixmap icon_pixmap = (Pixmap) 0; static XtActionsRec window_actions[] = { { "QuitXpert", QuitXpertAction }, { "XpcnAck", XpcnAckAction }, }; top_level = XtAppInitialize(&context, "Xpcn", NULL, 0, &argc, argv, NULL, NULL, 0); XtSetArg(args[0], XtNiconPixmap, &icon_pixmap); XtGetValues(top_level, args, 1); if (icon_pixmap == (Pixmap) 0) { XtSetArg(args[0], XtNiconPixmap, XCreateBitmapFromData(XtDisplay(top_level), XtScreen(top_level)->root, xpcn_bits, xpcn_width, xpcn_height)); XtSetValues(top_level, args, 1); } XtAugmentTranslations(top_level, XtParseTranslationTable("<Prop>XPCN_ACK:XpcnAck()")); XtAppAddActions(context, window_actions, XtNumber(window_actions)); XswInitialize(top_level); pane = XtCreateManagedWidget("pcnPane", panedWidgetClass, top_level, NULL, 0); help = XtCreatePopupShell("pcnHelp", helpWidgetClass, pane, NULL, 0); XswRegisterCallback("EditIt",EditIt,top_level); XswRegisterCallback("CompileIt",CompileIt,top_level); XswRegisterCallback("GaugeIt",GaugeIt, top_level); XswRegisterCallback("EditCallback",GenericCallback,EditIt); XswRegisterCallback("CompileCallback",GenericCallback,CompileIt); XswRegisterCallback("RunCallback",GenericCallback,RunIt); XswRegisterCallback("GaugeCallback",GenericCallback,GaugeIt); XswRegisterCallback("ProfileCallback",ProfileCallback,NULL); XswRegisterCallback("PCNCallback",PCNCallback,NULL); XswRegisterCallback("CosmicPCNCallback",CosmicPCNCallback,NULL); XswRegisterCallback("HelpButton",HelpButton,help); XswRegisterCallback("QuitXpert",QuitXpert,NULL); XswRegisterCallback("ChangePCNDir",ChangePCNDir,NULL); box = XtCreateManagedWidget("pcnBox", boxWidgetClass, pane, NULL, 0); arg_cnt = 0; /*********************** if (*argv) { XtSetArg(args[arg_cnt], XtNcurrentDirectory, *argv); arg_cnt++; } ************************/ XtSetArg(args[arg_cnt], XtNselectType, Single); arg_cnt++; directory = XtCreateManagedWidget("pcnDirectory", dirWidgetClass, pane, args, arg_cnt); label = XtCreateWidget("XGauge", labelWidgetClass, pane, (ArgList)NULL, (Cardinal)0); arg_cnt = 0; XtSetArg(args[arg_cnt], XtNdirectory, directory); arg_cnt++; XtSetArg(args[arg_cnt], XtNhelp, help); arg_cnt++; q_set = XtCreateWidget("querySet", querySetClass, label, args, arg_cnt); InitPCNbuttons(box, directory, q_set); /*SetDirIconName(CurrentDirectory);*/ XtRealizeWidget(top_level); dpy = XtDisplay(top_level); wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False); (void) XSetWMProtocols(dpy, XtWindow(top_level), &wm_delete_window, 1); XswAppMainLoop(context); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.