awips2/ncep/gov.noaa.nws.ncep.ui.nsharp/nsharp_c/acars_status.c
root 9f19e3f712 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 64fa9254b946eae7e61bbc3f513b7c3696c4f54f
2012-01-06 08:55:05 -06:00

125 lines
4.8 KiB
C

#include "gui.h"
#include "sharp95.h"
void statusdialog_clear_cb ( Widget, XtPointer, XtPointer );
extern Widget toplevel;
static Widget status_dialog=NULL;
static Widget statusfield;
static int statuspos;
XFontStruct *xfstruct = NULL;
/*==========================================================================*/
void show_status ( char *stn, char *auxinfo )
/********************************************************************************
** *
* T. Piper/SAIC 1/02 Freed xfle, xmfl, & xfstruct as necessary *
********************************************************************************/
{
static Widget statuspane, statusform, statusdialog_cancel, statusdialog_clear, statusbutton_form;
XmString tstr;
XmFontList xmfl;
XmFontListEntry xfle;
char line[512];
Arg args[10];
Cardinal argcnt;
if( ! status_dialog)
{
status_dialog = XmCreateBulletinBoardDialog(toplevel, "statusdialog_panel", NULL, 0);
tstr = XmStringCreateLocalized( "ACARS Data" );
XtVaSetValues( status_dialog, XmNdialogTitle, tstr, NULL);
XmStringFree(tstr);
statuspane = XtVaCreateManagedWidget("status_pane",
xmPanedWindowWidgetClass,
status_dialog,
XmNsashWidth, 1,
XmNsashHeight, 1,
NULL);
statusform = XtVaCreateWidget("statusform", xmFormWidgetClass,
statuspane, XmNwidth, 650, XmNheight, 400,
XmNfractionBase, 10, NULL );
argcnt = 0;
XtSetArg(args[argcnt],XmNscrollBarDisplayPolicy,XmAS_NEEDED); argcnt++;
XtSetArg(args[argcnt],XmNscrollingPolicy,XmAUTOMATIC); argcnt++;
XtSetArg(args[argcnt],XmNheight,400); argcnt++;
XtSetArg(args[argcnt],XmNwidth,650); argcnt++;
statusfield = XmCreateScrolledText(statusform,"statusform_text",
args, argcnt);
if ( xfstruct ) XFreeFont ( XtDisplay(toplevel), xfstruct );
xfstruct = XLoadQueryFont(XtDisplay(toplevel),"-adobe-courier-bold-r-normal--14-100-100-100-m-90-iso8859-1");
xfle = XmFontListEntryCreate(XmFONTLIST_DEFAULT_TAG, XmFONT_IS_FONT, (XtPointer)xfstruct);
xmfl = XmFontListAppendEntry(NULL, xfle);
XtFree ( (XtPointer)xfle );
XtVaSetValues(statusfield, XmNeditMode, XmMULTI_LINE_EDIT,
XmNeditable, False,
XmNfontList, xmfl,
NULL );
XmFontListFree ( xmfl );
XtManageChild ( statusfield );
XtManageChild ( statusform );
statusbutton_form = XtVaCreateWidget("statusbuttonform", xmFormWidgetClass,
statuspane, XmNwidth, 650, XmNfractionBase, 10, NULL );
statusdialog_cancel = XtVaCreateManagedWidget ("CLOSE",
xmPushButtonWidgetClass, statusbutton_form,
XmNleftAttachment, XmATTACH_POSITION,
XmNleftPosition, 3,
XmNtopAttachment, XmATTACH_FORM,
XmNbottomAttachment, XmATTACH_FORM,
XmNrightAttachment, XmATTACH_POSITION,
XmNrightPosition, 5,
NULL );
XtAddCallback(statusdialog_cancel, XmNactivateCallback,
(XtCallbackProc)popdown_cb, status_dialog );
statusdialog_clear = XtVaCreateManagedWidget ("CLEAR",
xmPushButtonWidgetClass, statusbutton_form,
XmNleftAttachment, XmATTACH_POSITION,
XmNleftPosition, 6,
XmNtopAttachment, XmATTACH_FORM,
XmNbottomAttachment, XmATTACH_FORM,
XmNrightAttachment, XmATTACH_POSITION,
XmNrightPosition, 8,
NULL );
XtAddCallback(statusdialog_clear, XmNactivateCallback,
(XtCallbackProc)statusdialog_clear_cb, NULL);
XtManageChild ( statusbutton_form );
XtManageChild ( statuspane );
XtManageChild ( status_dialog );
line[0] = '\0';
sprintf(line,"Station Time Dept Dest Rept PRES HGHT TMPC DWPC SPED DRCT\n");
XtVaSetValues(statusfield,XmNvalue,line,NULL);
statuspos = (int)strlen(line);
}
else
XtManageChild ( status_dialog );
/*sprintf(line,"%s\n",stn);
XmTextInsert(statusfield,statuspos,line); statuspos += (int)strlen(line);*/
sprintf(line,"%s\n",auxinfo);
XmTextInsert(statusfield,statuspos,line); statuspos += (int)strlen(line);
}
/*=============================================================================*/
/* ARGSUSED */
void statusdialog_clear_cb ( Widget w, XtPointer clnt, XtPointer call )
{
char line[128];
line[0] = '\0';
sprintf(line,"Station Time Dept Dest Rept PRES HGHT TMPC DWPC SPED DRCT\n");
XtVaSetValues(statusfield,XmNvalue,line,NULL);
statuspos = strlen(line);
}