1490 lines
43 KiB
C
1490 lines
43 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $TOG: xmcvt.c /main/8 1999/09/16 13:42:47 mgreess $ */
|
|
|
|
/* Copyright (c) 1991, 1992 UNIX System Laboratories, Inc. */
|
|
/* All Rights Reserved */
|
|
|
|
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
|
|
/* UNIX System Laboratories, Inc. */
|
|
/* The copyright notice above does not evidence any */
|
|
/* actual or intended publication of such source code. */
|
|
|
|
|
|
#include "shell.h"
|
|
#undef access
|
|
#include <X11/Xauth.h>
|
|
#include <signal.h>
|
|
#include <fcntl.h>
|
|
#include <X11/X.h>
|
|
#include <X11/Intrinsic.h>
|
|
#include <X11/IntrinsicP.h>
|
|
#include <X11/CoreP.h>
|
|
#include <X11/StringDefs.h>
|
|
#include <Xm/XmStrDefs.h>
|
|
#include <Xm/List.h>
|
|
#include <Xm/MwmUtil.h>
|
|
#include <setjmp.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
#include <Xm/Xm.h>
|
|
#include <Xm/Protocols.h>
|
|
#include <Dt/Service.h>
|
|
#include <Dt/Wsm.h>
|
|
#include <Dt/HourGlass.h>
|
|
#include <Dt/Help.h>
|
|
#include <Dt/EnvControlP.h>
|
|
#include <Tt/tttk.h>
|
|
#include "hash.h"
|
|
#include "stdio.h"
|
|
#include "dtksh.h"
|
|
#include "xmksh.h"
|
|
#include "XtCvtrs.h"
|
|
#include "dtkcmds.h"
|
|
#include "xmcvt.h"
|
|
#include "widget.h"
|
|
#include "extra.h"
|
|
#include "xmwidgets.h"
|
|
#include "msgs.h"
|
|
#include <Dt/Help.h>
|
|
|
|
|
|
typedef struct {
|
|
char * modifierName;
|
|
unsigned int modifier;
|
|
} ModifierState;
|
|
|
|
|
|
/*
|
|
* Converters for DTKSH
|
|
*/
|
|
|
|
char *
|
|
XmStringToString(
|
|
XmString string )
|
|
{
|
|
static char *buf = NULL;
|
|
XmStringContext context;
|
|
XmStringCharSet charset;
|
|
XmStringDirection dir;
|
|
char *text;
|
|
Boolean separator = FALSE;
|
|
|
|
if (string == NULL)
|
|
return(NULL);
|
|
|
|
XmStringInitContext(&context, string);
|
|
XtFree(buf);
|
|
buf = NULL;
|
|
while (!separator) {
|
|
if (XmStringGetNextSegment(context, &text, &charset, &dir,
|
|
&separator)) {
|
|
if (buf) {
|
|
buf = XtRealloc(buf, strlen(buf) + strlen(text) + 2);
|
|
strcat(buf, text);
|
|
} else
|
|
buf = strdup(text);
|
|
XtFree(text);
|
|
} else
|
|
break;
|
|
}
|
|
XmStringFreeContext(context);
|
|
return(buf);
|
|
}
|
|
|
|
void
|
|
DtkshCvtXmStringToString(
|
|
Display *dpy,
|
|
XrmValuePtr args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval,
|
|
XtPointer data )
|
|
{
|
|
XmString string = ((XmString *)fval->addr)[0];
|
|
char *buf;
|
|
|
|
buf = XmStringToString(string);
|
|
toval->addr = (caddr_t)buf;
|
|
toval->size = buf ? strlen(buf) + 1 : 0;
|
|
}
|
|
|
|
void
|
|
DtkshCvtKeySymToString(
|
|
XrmValuePtr args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval )
|
|
{
|
|
static char buf[2];
|
|
|
|
buf[0] = (char) (((KeySym *)(fval->addr))[0]);
|
|
buf[1] = '\0';
|
|
toval->addr = (caddr_t)buf;
|
|
toval->size = 2;
|
|
}
|
|
|
|
/*
|
|
* Convert an XmStringTable to a String.
|
|
* In keeping with the standard CvtStringToStringTable function provided
|
|
* by Motif, we will separate each item by a comma. This of course does not
|
|
* work properly if there is a comma in the data, but what can we do?
|
|
*/
|
|
|
|
char *
|
|
_CvtXmStringTableToString(
|
|
XmStringTable stringtable,
|
|
int itemCount )
|
|
{
|
|
static char *buf = NULL;
|
|
XmStringContext context;
|
|
XmStringCharSet charset;
|
|
XmStringDirection dir;
|
|
char *text;
|
|
Boolean separator = FALSE;
|
|
XmString string;
|
|
int i;
|
|
char * ptr;
|
|
char * nextComma;
|
|
|
|
XtFree(buf);
|
|
buf = XtMalloc(3);
|
|
buf[0] = '\0';
|
|
|
|
for (i = 0; i < itemCount; i++)
|
|
{
|
|
if (i > 0)
|
|
strcat(buf, ",");
|
|
|
|
XmStringInitContext(&context, stringtable[i]);
|
|
while (!separator)
|
|
{
|
|
if (XmStringGetNextSegment(context, &text, &charset, &dir, &separator))
|
|
{
|
|
/*
|
|
* To be consistent with the Motif converter, which will take
|
|
* a comma-separated string, and convert it to an XmStringTable,
|
|
* we need to escape any ',' characters contained within a list
|
|
* item.
|
|
*/
|
|
|
|
ptr = text;
|
|
while (nextComma = strchr(ptr, ','))
|
|
{
|
|
*nextComma = '\0';
|
|
buf = XtRealloc(buf, strlen(buf) + strlen(ptr) + 5);
|
|
strcat(buf, ptr);
|
|
strcat(buf, "\\,");
|
|
*nextComma = ',';
|
|
ptr = nextComma + 1;
|
|
}
|
|
buf = XtRealloc(buf, strlen(buf) + strlen(ptr) + 3);
|
|
strcat(buf, ptr);
|
|
|
|
XtFree(text);
|
|
}
|
|
else
|
|
break;
|
|
}
|
|
XmStringFreeContext(context);
|
|
}
|
|
|
|
return(buf);
|
|
}
|
|
|
|
void
|
|
DtkshCvtListItemsToString(
|
|
Display *dpy,
|
|
XrmValuePtr args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval,
|
|
XtPointer data )
|
|
{
|
|
char *buf;
|
|
XmStringTable stringtable = *((XmStringTable *)fval->addr);
|
|
int itemCount = *((int *) args[0].addr);
|
|
|
|
buf = _CvtXmStringTableToString(stringtable, itemCount);
|
|
|
|
toval->addr = (caddr_t)buf;
|
|
toval->size = buf ? strlen(buf) + 1 : 0;
|
|
}
|
|
|
|
|
|
/*
|
|
* There are a number of resources in motif that consist of a few
|
|
* named integer values. Most such resources only have 2 to 4 values,
|
|
* none have more than 7. Because there are so few values, it's not
|
|
* really worth the memory overhead to hash them. Also, these kinds
|
|
* of resources are rarely read by programmers (most are written but
|
|
* not read). So, we decided to go with a simple linear search converter
|
|
* that takes as its first argument a table of the values allowed, and
|
|
* as its second argument the number of items in the table.
|
|
*
|
|
* Note that we could not go with a simple indexing scheme because:
|
|
* (1) the values are not guaranteed to be contiguous and (2) some
|
|
* of the tables start with -1 instead of 0.
|
|
*
|
|
* If there are in the future many more items added to these lists, we
|
|
* might want to convert to a hashing scheme or a binary search.
|
|
*/
|
|
|
|
void
|
|
DtkshCvtNamedValueToString(
|
|
XrmValue *args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval )
|
|
{
|
|
/*
|
|
* same buffer will get used each time
|
|
*/
|
|
static char *ret = NULL;
|
|
struct named_integer *table;
|
|
int numtable;
|
|
long value;
|
|
int i;
|
|
char * errmsg;
|
|
|
|
switch(fval->size)
|
|
{
|
|
case sizeof(char):
|
|
{
|
|
value = (long)*((char *)fval->addr);
|
|
break;
|
|
}
|
|
|
|
case sizeof(short):
|
|
{
|
|
value = (long)*((short *)fval->addr);
|
|
break;
|
|
}
|
|
|
|
case sizeof(long):
|
|
{
|
|
value = (long)*((long *)fval->addr);
|
|
break;
|
|
}
|
|
|
|
default:
|
|
if (fval->size == sizeof(int))
|
|
{
|
|
value = (long)*((int *)fval->addr);
|
|
break;
|
|
}
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
|
|
if (*nargs != 1)
|
|
{
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
table = (struct named_integer *)args[0].addr;
|
|
numtable = args[0].size/sizeof(struct named_integer);
|
|
|
|
for (i = 0; i < numtable; i++) {
|
|
if (value == table[i].value) {
|
|
toval->addr = (caddr_t)table[i].name;
|
|
toval->size = strlen(table[i].name) + 1;
|
|
return;
|
|
}
|
|
}
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
|
|
/*************************************************************************/
|
|
|
|
void
|
|
DtkshCvtStringToNamedValue(
|
|
XrmValue *args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval )
|
|
{
|
|
/*
|
|
* same buffer will get used each time
|
|
*/
|
|
static int ret;
|
|
struct named_integer *table;
|
|
int numtable;
|
|
char *value;
|
|
int i;
|
|
char * errbuf;
|
|
char * errmsg;
|
|
|
|
value = (String)fval->addr;
|
|
|
|
if (*nargs != 1) {
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
table = (struct named_integer *)args[0].addr;
|
|
numtable = args[0].size/sizeof(struct named_integer);
|
|
|
|
for (i = 0; i < numtable; i++) {
|
|
if (DtCompareISOLatin1(value, (char *)(table[i].name))) {
|
|
toval->addr = (caddr_t)&table[i].value;
|
|
toval->size = sizeof(table[i].value);
|
|
return;
|
|
}
|
|
}
|
|
errmsg =strdup(GETMESSAGE(
|
|
"DtkshCvtStringToNamedValue: Unable to convert the string '%s'"));
|
|
errbuf = XtMalloc(strlen(errmsg) + strlen(value) + 10);
|
|
sprintf(errbuf, errmsg, value);
|
|
XtWarning(errbuf);
|
|
free(errmsg);
|
|
XtFree(errbuf);
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
|
|
struct named_integer NI_TraversalDirection[] = {
|
|
{ "TRAVERSE_CURRENT", XmTRAVERSE_CURRENT },
|
|
{ "TRAVERSE_DOWN", XmTRAVERSE_DOWN },
|
|
{ "TRAVERSE_HOME", XmTRAVERSE_HOME },
|
|
{ "TRAVERSE_LEFT", XmTRAVERSE_LEFT },
|
|
{ "TRAVERSE_NEXT", XmTRAVERSE_NEXT },
|
|
{ "TRAVERSE_NEXT_TAB_GROUP", XmTRAVERSE_NEXT_TAB_GROUP },
|
|
{ "TRAVERSE_PREV", XmTRAVERSE_PREV },
|
|
{ "TRAVERSE_PREV_TAB_GROUP", XmTRAVERSE_PREV_TAB_GROUP },
|
|
{ "TRAVERSE_PREV_TAB_GROUP", XmTRAVERSE_PREV_TAB_GROUP },
|
|
{ "TRAVERSE_RIGHT", XmTRAVERSE_RIGHT },
|
|
{ "TRAVERSE_UP", XmTRAVERSE_UP },
|
|
};
|
|
|
|
struct named_integer NI_VisibilityType[] = {
|
|
{ "VISIBILITY_UNOBSCURED", XmVISIBILITY_UNOBSCURED },
|
|
{ "VISIBILITY_PARTIALLY_OBSCURED",XmVISIBILITY_PARTIALLY_OBSCURED },
|
|
{ "VISIBILITY_FULLY_OBSCURED", XmVISIBILITY_FULLY_OBSCURED },
|
|
};
|
|
|
|
struct named_integer NI_CommandChild[] = {
|
|
{ "DIALOG_COMMAND_TEXT", XmDIALOG_COMMAND_TEXT },
|
|
{ "DIALOG_PROMPT_LABEL", XmDIALOG_PROMPT_LABEL },
|
|
{ "DIALOG_HISTORY_LIST", XmDIALOG_HISTORY_LIST },
|
|
{ "DIALOG_WORK_AREA", XmDIALOG_WORK_AREA },
|
|
};
|
|
|
|
struct named_integer NI_MessageBoxChild[] = {
|
|
{ "DIALOG_CANCEL_BUTTON", XmDIALOG_CANCEL_BUTTON },
|
|
{ "DIALOG_DEFAULT_BUTTON", XmDIALOG_DEFAULT_BUTTON },
|
|
{ "DIALOG_HELP_BUTTON", XmDIALOG_HELP_BUTTON },
|
|
{ "DIALOG_MESSAGE_LABEL", XmDIALOG_MESSAGE_LABEL },
|
|
{ "DIALOG_OK_BUTTON", XmDIALOG_OK_BUTTON },
|
|
{ "DIALOG_SEPARATOR", XmDIALOG_SEPARATOR },
|
|
{ "DIALOG_SYMBOL_LABEL", XmDIALOG_SYMBOL_LABEL },
|
|
};
|
|
|
|
struct named_integer NI_FileSelChild[] = {
|
|
{ "DIALOG_APPLY_BUTTON", XmDIALOG_APPLY_BUTTON },
|
|
{ "DIALOG_CANCEL_BUTTON", XmDIALOG_CANCEL_BUTTON },
|
|
{ "DIALOG_DEFAULT_BUTTON", XmDIALOG_DEFAULT_BUTTON },
|
|
{ "DIALOG_DIR_LIST", XmDIALOG_DIR_LIST },
|
|
{ "DIALOG_DIR_LIST_LABEL", XmDIALOG_DIR_LIST_LABEL },
|
|
{ "DIALOG_FILTER_LABEL", XmDIALOG_FILTER_LABEL },
|
|
{ "DIALOG_FILTER_TEXT", XmDIALOG_FILTER_TEXT },
|
|
{ "DIALOG_HELP_BUTTON", XmDIALOG_HELP_BUTTON },
|
|
{ "DIALOG_LIST", XmDIALOG_LIST },
|
|
{ "DIALOG_LIST_LABEL", XmDIALOG_LIST_LABEL },
|
|
{ "DIALOG_OK_BUTTON", XmDIALOG_OK_BUTTON },
|
|
{ "DIALOG_SELECTION_LABEL", XmDIALOG_SELECTION_LABEL },
|
|
{ "DIALOG_SEPARATOR", XmDIALOG_SEPARATOR },
|
|
{ "DIALOG_TEXT", XmDIALOG_TEXT },
|
|
{ "DIALOG_WORK_AREA", XmDIALOG_WORK_AREA },
|
|
};
|
|
|
|
struct named_integer NI_SelBoxChild[] = {
|
|
{ "DIALOG_APPLY_BUTTON", XmDIALOG_APPLY_BUTTON },
|
|
{ "DIALOG_CANCEL_BUTTON", XmDIALOG_CANCEL_BUTTON },
|
|
{ "DIALOG_DEFAULT_BUTTON", XmDIALOG_DEFAULT_BUTTON },
|
|
{ "DIALOG_HELP_BUTTON", XmDIALOG_HELP_BUTTON },
|
|
{ "DIALOG_LIST", XmDIALOG_LIST },
|
|
{ "DIALOG_LIST_LABEL", XmDIALOG_LIST_LABEL },
|
|
{ "DIALOG_OK_BUTTON", XmDIALOG_OK_BUTTON },
|
|
{ "DIALOG_SELECTION_LABEL", XmDIALOG_SELECTION_LABEL },
|
|
{ "DIALOG_SEPARATOR", XmDIALOG_SEPARATOR },
|
|
{ "DIALOG_TEXT", XmDIALOG_TEXT },
|
|
{ "DIALOG_WORK_AREA", XmDIALOG_WORK_AREA },
|
|
};
|
|
|
|
/************************************************************************/
|
|
|
|
struct named_integer NI_ArrowDirection[] = {
|
|
{ "ARROW_UP", XmARROW_UP },
|
|
{ "ARROW_DOWN", XmARROW_DOWN },
|
|
{ "ARROW_LEFT", XmARROW_LEFT },
|
|
{ "ARROW_RIGHT",XmARROW_RIGHT },
|
|
};
|
|
|
|
struct named_integer NI_MultiClick[] = {
|
|
{ "MULTICLICK_DISCARD", XmMULTICLICK_DISCARD },
|
|
{ "MULTICLICK_KEEP", XmMULTICLICK_KEEP },
|
|
};
|
|
|
|
struct named_integer NI_DialogStyle[] = {
|
|
{ "DIALOG_SYSTEM_MODAL", XmDIALOG_SYSTEM_MODAL },
|
|
{"DIALOG_PRIMARY_APPLICATION_MODAL",XmDIALOG_PRIMARY_APPLICATION_MODAL},
|
|
{ "DIALOG_APPLICATION_MODAL", XmDIALOG_APPLICATION_MODAL },
|
|
{ "DIALOG_FULL_APPLICATION_MODAL", XmDIALOG_FULL_APPLICATION_MODAL },
|
|
{ "DIALOG_MODELESS", XmDIALOG_MODELESS },
|
|
{ "DIALOG_WORK_AREA", XmDIALOG_WORK_AREA },
|
|
};
|
|
|
|
struct named_integer NI_MWMInputMode[] = {
|
|
{ "-1", -1 },
|
|
{ "MWM_INPUT_MODELESS", MWM_INPUT_MODELESS},
|
|
{ "MWM_INPUT_PRIMARY_APPLICATION_MODAL",
|
|
MWM_INPUT_PRIMARY_APPLICATION_MODAL },
|
|
{ "MWM_INPUT_SYSTEM_MODAL", MWM_INPUT_SYSTEM_MODAL },
|
|
{ "MWM_INPUT_FULL_APPLICATION_MODAL",
|
|
MWM_INPUT_FULL_APPLICATION_MODAL },
|
|
};
|
|
|
|
struct named_integer NI_ResizePolicy[] = {
|
|
{ "RESIZE_NONE", XmRESIZE_NONE },
|
|
{ "RESIZE_ANY", XmRESIZE_ANY },
|
|
{ "RESIZE_GROW", XmRESIZE_GROW },
|
|
};
|
|
|
|
struct named_integer NI_FileTypeMask[] = {
|
|
{ "FILE_REGULAR", XmFILE_REGULAR },
|
|
{ "FILE_DIRECTORY", XmFILE_DIRECTORY },
|
|
{ "FILE_ANY_TYPE", XmFILE_ANY_TYPE },
|
|
};
|
|
|
|
struct named_integer NI_ShadowType[] = {
|
|
{ "SHADOW_IN", XmSHADOW_IN },
|
|
{ "SHADOW_OUT", XmSHADOW_OUT },
|
|
{ "SHADOW_ETCHED_IN", XmSHADOW_ETCHED_IN },
|
|
{ "SHADOW_ETCHED_OUT", XmSHADOW_ETCHED_OUT },
|
|
};
|
|
|
|
struct named_integer NI_Attachment[] = {
|
|
{ "ATTACH_NONE", XmATTACH_NONE },
|
|
{ "ATTACH_FORM", XmATTACH_FORM },
|
|
{ "ATTACH_OPPOSITE_FORM", XmATTACH_OPPOSITE_FORM },
|
|
{ "ATTACH_WIDGET", XmATTACH_WIDGET },
|
|
{ "ATTACH_OPPOSITE_WIDGET", XmATTACH_OPPOSITE_WIDGET },
|
|
{ "ATTACH_POSITION", XmATTACH_POSITION },
|
|
{ "ATTACH_SELF", XmATTACH_SELF },
|
|
};
|
|
|
|
struct named_integer NI_ChildType[] = {
|
|
{ "FRAME_TITLE_CHILD", XmFRAME_TITLE_CHILD },
|
|
{ "FRAME_WORKAREA_CHILD",XmFRAME_WORKAREA_CHILD },
|
|
{ "FRAME_GENERIC_CHILD",XmFRAME_GENERIC_CHILD },
|
|
};
|
|
|
|
struct named_integer NI_ChildVerticalAlignment[] = {
|
|
{ "ALIGNMENT_BASELINE_BOTTOM", XmALIGNMENT_BASELINE_BOTTOM },
|
|
{ "ALIGNMENT_BASELINE_TOP",XmALIGNMENT_BASELINE_TOP },
|
|
{ "ALIGNMENT_WIDGET_TOP",XmALIGNMENT_WIDGET_TOP },
|
|
{ "ALIGNMENT_CENTER",XmALIGNMENT_CENTER },
|
|
{ "ALIGNMENT_WIDGET_BOTTOM",XmALIGNMENT_WIDGET_BOTTOM },
|
|
};
|
|
|
|
struct named_integer NI_UnitType[] = {
|
|
{ "PIXELS", XmPIXELS },
|
|
{ "100TH_MILLIMETERS", Xm100TH_MILLIMETERS },
|
|
{ "1000TH_INCHES", Xm1000TH_INCHES },
|
|
{ "100TH_POINTS", Xm100TH_POINTS },
|
|
{ "100TH_FONT_UNITS", Xm100TH_FONT_UNITS },
|
|
};
|
|
|
|
struct named_integer NI_NavigationType[] = {
|
|
{ "NONE", XmNONE },
|
|
{ "TAB_GROUP", XmTAB_GROUP },
|
|
{ "STICKY_TAB_GROUP", XmSTICKY_TAB_GROUP },
|
|
{ "EXCLUSIVE_TAB_GROUP", XmEXCLUSIVE_TAB_GROUP },
|
|
};
|
|
|
|
struct named_integer NI_Alignment[] = {
|
|
{ "ALIGNMENT_CENTER", XmALIGNMENT_CENTER },
|
|
{ "ALIGNMENT_END", XmALIGNMENT_END },
|
|
{ "ALIGNMENT_BEGINNING", XmALIGNMENT_BEGINNING },
|
|
};
|
|
|
|
struct named_integer NI_LabelType[] = {
|
|
{ "STRING", XmSTRING },
|
|
{ "PIXMAP", XmPIXMAP }
|
|
};
|
|
|
|
struct named_integer NI_StringDirection[] = {
|
|
{ "STRING_DIRECTION_L_TO_R", XmSTRING_DIRECTION_L_TO_R },
|
|
{ "STRING_DIRECTION_R_TO_L", XmSTRING_DIRECTION_R_TO_L },
|
|
};
|
|
|
|
struct named_integer NI_SelectionPolicy[] = {
|
|
{ "SINGLE_SELECT", XmSINGLE_SELECT },
|
|
{ "MULTIPLE_SELECT", XmMULTIPLE_SELECT },
|
|
{ "EXTENDED_SELECT", XmEXTENDED_SELECT },
|
|
{ "BROWSE_SELECT", XmBROWSE_SELECT },
|
|
};
|
|
|
|
struct named_integer NI_ScrollBarPlacement[] = {
|
|
{ "TOP_LEFT", XmTOP_LEFT },
|
|
{ "BOTTOM_LEFT", XmBOTTOM_LEFT },
|
|
{ "TOP_RIGHT", XmTOP_RIGHT },
|
|
{ "BOTTOM_RIGHT", XmBOTTOM_RIGHT },
|
|
};
|
|
|
|
struct named_integer NI_ScrollBarDisplayPolicy[] = {
|
|
{ "AS_NEEDED", XmAS_NEEDED },
|
|
{ "STATIC", XmSTATIC },
|
|
};
|
|
|
|
struct named_integer NI_ScrollingPolicy[] = {
|
|
{ "AUTOMATIC", XmAUTOMATIC },
|
|
{ "APPLICATION_DEFINED", XmAPPLICATION_DEFINED },
|
|
};
|
|
|
|
struct named_integer NI_VisualPolicy[] = {
|
|
{ "VARIABLE", XmVARIABLE },
|
|
{ "CONSTANT", XmCONSTANT },
|
|
};
|
|
|
|
struct named_integer NI_ListSizePolicy[] = {
|
|
{ "CONSTANT", XmCONSTANT },
|
|
{ "VARIABLE", XmVARIABLE },
|
|
{ "RESIZE_IF_POSSIBLE", XmRESIZE_IF_POSSIBLE },
|
|
};
|
|
|
|
struct named_integer NI_EditMode[] = {
|
|
{ "SINGLE_LINE_EDIT", XmSINGLE_LINE_EDIT },
|
|
{ "MULTI_LINE_EDIT", XmMULTI_LINE_EDIT },
|
|
};
|
|
|
|
struct named_integer NI_CommandWindowLocation[] = {
|
|
{ "COMMAND_ABOVE_WORKSPACE", XmCOMMAND_ABOVE_WORKSPACE },
|
|
{ "COMMAND_BELOW_WORKSPACE", XmCOMMAND_BELOW_WORKSPACE },
|
|
};
|
|
|
|
struct named_integer NI_DefaultButtonType[] = {
|
|
{ "DIALOG_CANCEL_BUTTON", XmDIALOG_CANCEL_BUTTON },
|
|
{ "DIALOG_OK_BUTTON", XmDIALOG_OK_BUTTON },
|
|
{ "DIALOG_HELP_BUTTON", XmDIALOG_HELP_BUTTON },
|
|
{ "DIALOG_NONE", XmDIALOG_NONE },
|
|
};
|
|
|
|
struct named_integer NI_DialogType[] = {
|
|
{ "DIALOG_TEMPLATE", XmDIALOG_TEMPLATE },
|
|
{ "DIALOG_INFORMATION", XmDIALOG_INFORMATION },
|
|
{ "DIALOG_QUESTION", XmDIALOG_QUESTION },
|
|
{ "DIALOG_WORKING", XmDIALOG_WORKING },
|
|
{ "DIALOG_ERROR", XmDIALOG_ERROR },
|
|
{ "DIALOG_MESSAGE", XmDIALOG_MESSAGE },
|
|
{ "DIALOG_WARNING", XmDIALOG_WARNING },
|
|
};
|
|
|
|
struct named_integer NI_EntryVerticalAlignment[] = {
|
|
{ "ALIGNMENT_BASELINE_BOTTOM", XmALIGNMENT_BASELINE_BOTTOM },
|
|
{ "ALIGNMENT_BASELINE_TOP",XmALIGNMENT_BASELINE_TOP },
|
|
{ "ALIGNMENT_CONTENTS_BOTTOM",XmALIGNMENT_CONTENTS_BOTTOM },
|
|
{ "ALIGNMENT_CENTER",XmALIGNMENT_CENTER },
|
|
{ "ALIGNMENT_CONTENTS_TOP",XmALIGNMENT_CONTENTS_TOP },
|
|
};
|
|
|
|
struct named_integer NI_Orientation[] = {
|
|
{ "HORIZONTAL", XmHORIZONTAL },
|
|
{ "VERTICAL", XmVERTICAL },
|
|
};
|
|
|
|
struct named_integer NI_Packing[] = {
|
|
{ "PACK_TIGHT", XmPACK_TIGHT },
|
|
{ "PACK_COLUMN",XmPACK_COLUMN },
|
|
{ "PACK_NONE", XmPACK_NONE },
|
|
};
|
|
|
|
struct named_integer NI_RowColumnType[] = {
|
|
{ "WORK_AREA", XmWORK_AREA },
|
|
{ "MENU_BAR", XmMENU_BAR },
|
|
{ "MENU_PULLDOWN",XmMENU_PULLDOWN },
|
|
{ "MENU_POPUP", XmMENU_POPUP },
|
|
{ "MENU_OPTION",XmMENU_OPTION },
|
|
};
|
|
|
|
struct named_integer NI_ProcessingDirection[] = {
|
|
{ "MAX_ON_TOP", XmMAX_ON_TOP },
|
|
{ "MAX_ON_BOTTOM",XmMAX_ON_BOTTOM },
|
|
{ "MAX_ON_LEFT",XmMAX_ON_LEFT },
|
|
{ "MAX_ON_RIGHT",XmMAX_ON_RIGHT },
|
|
};
|
|
|
|
struct named_integer NI_ChildPlacement[] = {
|
|
{ "PLACE_ABOVE_SELECTION", XmPLACE_ABOVE_SELECTION },
|
|
{ "PLACE_BELOW_SELECTION", XmPLACE_BELOW_SELECTION },
|
|
{ "PLACE_TOP", XmPLACE_TOP },
|
|
};
|
|
|
|
struct named_integer NI_SelectionDialogType[] = {
|
|
{ "DIALOG_PROMPT", XmDIALOG_PROMPT },
|
|
{ "DIALOG_COMMAND", XmDIALOG_COMMAND },
|
|
{ "DIALOG_SELECTION", XmDIALOG_SELECTION },
|
|
{ "DIALOG_FILE_SELECTION", XmDIALOG_FILE_SELECTION },
|
|
{ "DIALOG_WORK_AREA", XmDIALOG_WORK_AREA },
|
|
};
|
|
|
|
struct named_integer NI_SeparatorType[] = {
|
|
{ "SINGLE_LINE", XmSINGLE_LINE },
|
|
{ "DOUBLE_LINE", XmDOUBLE_LINE },
|
|
{ "SINGLE_DASHED_LINE", XmSINGLE_DASHED_LINE },
|
|
{ "DOUBLE_DASHED_LINE", XmDOUBLE_DASHED_LINE },
|
|
{ "NO_LINE", XmNO_LINE },
|
|
{ "SHADOW_ETCHED_IN", XmSHADOW_ETCHED_IN },
|
|
{ "SHADOW_ETCHED_OUT", XmSHADOW_ETCHED_OUT },
|
|
{ "SHADOW_ETCHED_IN_DASH", XmSHADOW_ETCHED_IN_DASH },
|
|
{ "SHADOW_ETCHED_OUT_DASH", XmSHADOW_ETCHED_OUT_DASH },
|
|
};
|
|
|
|
struct named_integer NI_IndicatorType[] = {
|
|
{ "ONE_OF_MANY", XmONE_OF_MANY },
|
|
{ "N_OF_MANY", XmN_OF_MANY },
|
|
};
|
|
|
|
struct named_integer NI_AudibleWarning[] = {
|
|
{ "BELL", XmBELL },
|
|
{ "NONE", XmNONE },
|
|
};
|
|
|
|
struct named_integer NI_DeleteResponse[] = {
|
|
{ "DESTROY", XmDESTROY },
|
|
{ "UNMAP", XmUNMAP },
|
|
{ "DO_NOTHING", XmDO_NOTHING },
|
|
};
|
|
|
|
struct named_integer NI_KeyboardFocusPolicy[] = {
|
|
{ "EXPLICIT", XmEXPLICIT },
|
|
{ "POINTER", XmPOINTER },
|
|
};
|
|
|
|
struct named_integer NI_InitialState[] = {
|
|
{ "NormalState", NormalState },
|
|
{ "IconicState", IconicState },
|
|
};
|
|
|
|
struct named_integer NI_HelpReturnSelectedWidgetResultType[] = {
|
|
{ "HELP_SELECT_VALID", DtHELP_SELECT_VALID },
|
|
{ "HELP_SELECT_INVALID",DtHELP_SELECT_INVALID },
|
|
{ "HELP_SELECT_ABORT", DtHELP_SELECT_ABORT },
|
|
{ "HELP_SELECT_ERROR", DtHELP_SELECT_ERROR },
|
|
};
|
|
|
|
struct named_integer NI_QuickHelpChildType[] = {
|
|
{ "HELP_QUICK_CLOSE_BUTTON", DtHELP_QUICK_CLOSE_BUTTON },
|
|
{ "HELP_QUICK_PRINT_BUTTON",DtHELP_QUICK_PRINT_BUTTON },
|
|
{ "HELP_QUICK_HELP_BUTTON",DtHELP_QUICK_HELP_BUTTON },
|
|
{ "HELP_QUICK_SEPARATOR", DtHELP_QUICK_SEPARATOR },
|
|
{ "HELP_QUICK_MORE_BUTTON",DtHELP_QUICK_MORE_BUTTON },
|
|
{ "HELP_QUICK_BACK_BUTTON",DtHELP_QUICK_BACK_BUTTON },
|
|
};
|
|
|
|
struct named_integer NI_HelpType[] = {
|
|
{ "HELP_TYPE_TOPIC", DtHELP_TYPE_TOPIC },
|
|
{ "HELP_TYPE_STRING",DtHELP_TYPE_STRING },
|
|
{ "HELP_TYPE_DYNAMIC_STRING",DtHELP_TYPE_DYNAMIC_STRING },
|
|
{ "HELP_TYPE_MAN_PAGE", DtHELP_TYPE_MAN_PAGE },
|
|
{ "HELP_TYPE_FILE",DtHELP_TYPE_FILE },
|
|
};
|
|
|
|
struct named_integer NI_HelpScrollBarDisplayPolicy[] = {
|
|
{ "HELP_AS_NEEDED_SCROLLBARS", DtHELP_AS_NEEDED_SCROLLBARS },
|
|
{ "HELP_STATIC_SCROLLBARS", DtHELP_STATIC_SCROLLBARS },
|
|
{ "HELP_NO_SCROLLBARS",DtHELP_NO_SCROLLBARS },
|
|
};
|
|
|
|
struct named_integer NI_TextHighlightMode[] = {
|
|
{ "HIGHLIGHT_NORMAL", XmHIGHLIGHT_NORMAL },
|
|
{ "HIGHLIGHT_SELECTED", XmHIGHLIGHT_SELECTED },
|
|
{ "HIGHLIGHT_SECONDARY_SELECTED",XmHIGHLIGHT_SECONDARY_SELECTED },
|
|
};
|
|
|
|
struct named_integer NI_TextSearchDirection[] = {
|
|
{ "TEXT_FORWARD", XmTEXT_FORWARD },
|
|
{ "TEXT_BACKWARD", XmTEXT_BACKWARD },
|
|
};
|
|
|
|
struct named_integer NI_ListSelectionType[] = {
|
|
{ "INITIAL", XmINITIAL },
|
|
{ "MODIFICATION", XmMODIFICATION },
|
|
{ "ADDITION", XmADDITION },
|
|
};
|
|
|
|
struct named_integer NI_TT_STATUS[] = {
|
|
{ "TT_OK", TT_OK } ,
|
|
{ "TT_WRN_NOTFOUND", TT_WRN_NOTFOUND } ,
|
|
{ "TT_WRN_STALE_OBJID", TT_WRN_STALE_OBJID } ,
|
|
{ "TT_WRN_STOPPED", TT_WRN_STOPPED } ,
|
|
{ "TT_WRN_SAME_OBJID", TT_WRN_SAME_OBJID } ,
|
|
{ "TT_WRN_START_MESSAGE", TT_WRN_START_MESSAGE } ,
|
|
{ "TT_ERR_CLASS", TT_ERR_CLASS } ,
|
|
{ "TT_ERR_DBAVAIL", TT_ERR_DBAVAIL } ,
|
|
{ "TT_ERR_DBEXIST", TT_ERR_DBEXIST } ,
|
|
{ "TT_ERR_FILE", TT_ERR_FILE } ,
|
|
{ "TT_ERR_INVALID", TT_ERR_INVALID } ,
|
|
{ "TT_ERR_MODE", TT_ERR_MODE } ,
|
|
{ "TT_ERR_ACCESS", TT_ERR_ACCESS } ,
|
|
{ "TT_ERR_NOMP", TT_ERR_NOMP } ,
|
|
{ "TT_ERR_NOTHANDLER", TT_ERR_NOTHANDLER } ,
|
|
{ "TT_ERR_NUM", TT_ERR_NUM } ,
|
|
{ "TT_ERR_OBJID", TT_ERR_OBJID } ,
|
|
{ "TT_ERR_OP", TT_ERR_OP } ,
|
|
{ "TT_ERR_OTYPE", TT_ERR_OTYPE } ,
|
|
{ "TT_ERR_ADDRESS", TT_ERR_ADDRESS } ,
|
|
{ "TT_ERR_PATH", TT_ERR_PATH } ,
|
|
{ "TT_ERR_POINTER", TT_ERR_POINTER } ,
|
|
{ "TT_ERR_PROCID", TT_ERR_PROCID } ,
|
|
{ "TT_ERR_PROPLEN", TT_ERR_PROPLEN } ,
|
|
{ "TT_ERR_PROPNAME", TT_ERR_PROPNAME } ,
|
|
{ "TT_ERR_PTYPE", TT_ERR_PTYPE } ,
|
|
{ "TT_ERR_DISPOSITION", TT_ERR_DISPOSITION } ,
|
|
{ "TT_ERR_SCOPE", TT_ERR_SCOPE } ,
|
|
{ "TT_ERR_SESSION", TT_ERR_SESSION } ,
|
|
{ "TT_ERR_VTYPE", TT_ERR_VTYPE } ,
|
|
{ "TT_ERR_NO_VALUE", TT_ERR_NO_VALUE } ,
|
|
{ "TT_ERR_INTERNAL", TT_ERR_INTERNAL } ,
|
|
{ "TT_ERR_READONLY", TT_ERR_READONLY } ,
|
|
{ "TT_ERR_NO_MATCH", TT_ERR_NO_MATCH } ,
|
|
{ "TT_ERR_UNIMP", TT_ERR_UNIMP } ,
|
|
{ "TT_ERR_OVERFLOW", TT_ERR_OVERFLOW } ,
|
|
{ "TT_ERR_PTYPE_START", TT_ERR_PTYPE_START } ,
|
|
{ "TT_ERR_CATEGORY", TT_ERR_CATEGORY } ,
|
|
{ "TT_ERR_DBUPDATE", TT_ERR_DBUPDATE } ,
|
|
{ "TT_ERR_DBFULL", TT_ERR_DBFULL } ,
|
|
{ "TT_ERR_DBCONSIST", TT_ERR_DBCONSIST } ,
|
|
{ "TT_ERR_STATE", TT_ERR_STATE } ,
|
|
{ "TT_ERR_NOMEM", TT_ERR_NOMEM } ,
|
|
{ "TT_ERR_SLOTNAME", TT_ERR_SLOTNAME } ,
|
|
{ "TT_ERR_XDR", TT_ERR_XDR } ,
|
|
{ "TT_ERR_NETFILE", TT_ERR_NETFILE } ,
|
|
{ "TT_ERR_TOOLATE", TT_ERR_TOOLATE } ,
|
|
{ "TT_ERR_AUTHORIZATION", TT_ERR_AUTHORIZATION } ,
|
|
{ "TT_ERR_VERSION_MISMATCH", TT_ERR_VERSION_MISMATCH } ,
|
|
{ "TT_DESKTOP_EPERM", TT_DESKTOP_EPERM } ,
|
|
{ "TT_DESKTOP_ENOENT", TT_DESKTOP_ENOENT } ,
|
|
{ "TT_DESKTOP_EINTR", TT_DESKTOP_EINTR } ,
|
|
{ "TT_DESKTOP_EIO", TT_DESKTOP_EIO } ,
|
|
{ "TT_DESKTOP_EAGAIN", TT_DESKTOP_EAGAIN } ,
|
|
{ "TT_DESKTOP_ENOMEM", TT_DESKTOP_ENOMEM } ,
|
|
{ "TT_DESKTOP_EACCES", TT_DESKTOP_EACCES } ,
|
|
{ "TT_DESKTOP_EFAULT", TT_DESKTOP_EFAULT } ,
|
|
{ "TT_DESKTOP_EEXIST", TT_DESKTOP_EEXIST } ,
|
|
{ "TT_DESKTOP_ENODEV", TT_DESKTOP_ENODEV } ,
|
|
{ "TT_DESKTOP_ENOTDIR", TT_DESKTOP_ENOTDIR } ,
|
|
{ "TT_DESKTOP_EISDIR", TT_DESKTOP_EISDIR } ,
|
|
{ "TT_DESKTOP_EINVAL", TT_DESKTOP_EINVAL } ,
|
|
{ "TT_DESKTOP_ENFILE", TT_DESKTOP_ENFILE } ,
|
|
{ "TT_DESKTOP_EMFILE", TT_DESKTOP_EMFILE } ,
|
|
{ "TT_DESKTOP_ETXTBSY", TT_DESKTOP_ETXTBSY } ,
|
|
{ "TT_DESKTOP_EFBIG", TT_DESKTOP_EFBIG } ,
|
|
{ "TT_DESKTOP_ENOSPC", TT_DESKTOP_ENOSPC } ,
|
|
{ "TT_DESKTOP_EROFS", TT_DESKTOP_EROFS } ,
|
|
{ "TT_DESKTOP_EMLINK", TT_DESKTOP_EMLINK } ,
|
|
{ "TT_DESKTOP_EPIPE", TT_DESKTOP_EPIPE } ,
|
|
{ "TT_DESKTOP_ENOMSG", TT_DESKTOP_ENOMSG } ,
|
|
{ "TT_DESKTOP_EDEADLK", TT_DESKTOP_EDEADLK } ,
|
|
{ "TT_DESKTOP_ECANCELED", TT_DESKTOP_ECANCELED } ,
|
|
{ "TT_DESKTOP_ENOTSUP", TT_DESKTOP_ENOTSUP } ,
|
|
{ "TT_DESKTOP_ENODATA", TT_DESKTOP_ENODATA } ,
|
|
{ "TT_DESKTOP_EPROTO", TT_DESKTOP_EPROTO } ,
|
|
{ "TT_DESKTOP_ENOTEMPTY", TT_DESKTOP_ENOTEMPTY } ,
|
|
{ "TT_DESKTOP_ETIMEDOUT", TT_DESKTOP_ETIMEDOUT } ,
|
|
{ "TT_DESKTOP_EALREADY", TT_DESKTOP_EALREADY } ,
|
|
{ "TT_DESKTOP_UNMODIFIED", TT_DESKTOP_UNMODIFIED } ,
|
|
{ "TT_MEDIA_ERR_SIZE", TT_MEDIA_ERR_SIZE } ,
|
|
{ "TT_MEDIA_ERR_FORMAT", TT_MEDIA_ERR_FORMAT } ,
|
|
{ "TT_AUTHFILE_ACCESS", TT_AUTHFILE_ACCESS } ,
|
|
{ "TT_AUTHFILE_LOCK", TT_AUTHFILE_LOCK } ,
|
|
{ "TT_AUTHFILE_LOCK_TIMEOUT", TT_AUTHFILE_LOCK_TIMEOUT } ,
|
|
{ "TT_AUTHFILE_UNLOCK", TT_AUTHFILE_UNLOCK } ,
|
|
{ "TT_AUTHFILE_MISSING", TT_AUTHFILE_MISSING } ,
|
|
{ "TT_AUTHFILE_ENTRY_MISSING", TT_AUTHFILE_ENTRY_MISSING } ,
|
|
{ "TT_AUTHFILE_WRITE", TT_AUTHFILE_WRITE } ,
|
|
};
|
|
|
|
|
|
struct named_integer NI_TT_SCOPE[] = {
|
|
{ "TT_SCOPE_NONE", TT_SCOPE_NONE },
|
|
{ "TT_SESSION", TT_SESSION },
|
|
{ "TT_FILE", TT_FILE },
|
|
{ "TT_BOTH", TT_BOTH },
|
|
{ "TT_FILE_IN_SESSION", TT_FILE_IN_SESSION },
|
|
};
|
|
|
|
struct named_integer NI_TT_OP[] = {
|
|
{ "TTDT_OP_NONE", TTDT_OP_NONE },
|
|
{ "TTDT_CREATED", TTDT_CREATED },
|
|
{ "TTDT_DELETED", TTDT_DELETED },
|
|
{ "TTDT_DO_COMMAND", TTDT_DO_COMMAND },
|
|
{ "TTDT_SET_ENVIRONMENT", TTDT_SET_ENVIRONMENT },
|
|
{ "TTDT_GET_ENVIRONMENT", TTDT_GET_ENVIRONMENT },
|
|
{ "TTDT_SET_GEOMETRY", TTDT_SET_GEOMETRY },
|
|
{ "TTDT_GET_GEOMETRY", TTDT_GET_GEOMETRY },
|
|
{ "TTDT_SET_ICONIFIED", TTDT_SET_ICONIFIED },
|
|
{ "TTDT_GET_ICONIFIED", TTDT_GET_ICONIFIED },
|
|
{ "TTDT_SET_LOCALE", TTDT_SET_LOCALE },
|
|
{ "TTDT_GET_LOCALE", TTDT_GET_LOCALE },
|
|
{ "TTDT_SET_MAPPED", TTDT_SET_MAPPED },
|
|
{ "TTDT_GET_MAPPED", TTDT_GET_MAPPED },
|
|
{ "TTDT_MODIFIED", TTDT_MODIFIED },
|
|
{ "TTDT_REVERTED", TTDT_REVERTED },
|
|
{ "TTDT_GET_MODIFIED", TTDT_GET_MODIFIED },
|
|
{ "TTDT_MOVED", TTDT_MOVED },
|
|
{ "TTDT_PAUSE", TTDT_PAUSE },
|
|
{ "TTDT_RESUME", TTDT_RESUME },
|
|
{ "TTDT_QUIT", TTDT_QUIT },
|
|
{ "TTDT_RAISE", TTDT_RAISE },
|
|
{ "TTDT_LOWER", TTDT_LOWER },
|
|
{ "TTDT_SAVE", TTDT_SAVE },
|
|
{ "TTDT_REVERT", TTDT_REVERT },
|
|
{ "TTDT_SAVED", TTDT_SAVED },
|
|
{ "TTDT_SET_SITUATION", TTDT_SET_SITUATION },
|
|
{ "TTDT_GET_SITUATION", TTDT_GET_SITUATION },
|
|
{ "TTDT_SIGNAL", TTDT_SIGNAL },
|
|
{ "TTDT_STARTED", TTDT_STARTED },
|
|
{ "TTDT_STOPPED", TTDT_STOPPED },
|
|
{ "TTDT_STATUS", TTDT_STATUS },
|
|
{ "TTDT_GET_STATUS", TTDT_GET_STATUS },
|
|
{ "TTDT_GET_SYSINFO", TTDT_GET_SYSINFO },
|
|
{ "TTDT_SET_XINFO", TTDT_SET_XINFO },
|
|
{ "TTDT_GET_XINFO", TTDT_GET_XINFO },
|
|
{ "TTME_ABSTRACT", TTME_ABSTRACT },
|
|
{ "TTME_DEPOSIT", TTME_DEPOSIT },
|
|
{ "TTME_DISPLAY", TTME_DISPLAY },
|
|
{ "TTME_EDIT", TTME_EDIT },
|
|
{ "TTME_COMPOSE", TTME_COMPOSE },
|
|
{ "TTME_INTERPRET", TTME_INTERPRET },
|
|
{ "TTME_PRINT", TTME_PRINT },
|
|
{ "TTME_TRANSLATE", TTME_TRANSLATE },
|
|
};
|
|
|
|
|
|
struct named_integer NI_TEAR_OFF[] = {
|
|
{ "TEAR_OFF_ENABLED", XmTEAR_OFF_ENABLED },
|
|
{ "TEAR_OFF_DISABLED", XmTEAR_OFF_DISABLED },
|
|
};
|
|
|
|
/************************************************************************/
|
|
|
|
struct named_integer NI_Button[] = {
|
|
{ "Button1", Button1 },
|
|
{ "Button2", Button2 },
|
|
{ "Button3", Button3 },
|
|
{ "Button4", Button4 },
|
|
{ "Button5", Button5 },
|
|
};
|
|
|
|
struct named_integer NI_EventType[] = {
|
|
{"KeyPress", KeyPress},
|
|
{"KeyRelease", KeyRelease},
|
|
{"ButtonPress", ButtonPress},
|
|
{"ButtonRelease", ButtonRelease},
|
|
{"MotionNotify", MotionNotify},
|
|
{"EnterNotify", EnterNotify},
|
|
{"LeaveNotify", LeaveNotify},
|
|
{"FocusIn", FocusIn},
|
|
{"FocusOut", FocusOut},
|
|
{"KeymapNotify", KeymapNotify},
|
|
{"Expose", Expose},
|
|
{"GraphicsExpose", GraphicsExpose},
|
|
{"NoExpose", NoExpose},
|
|
{"VisibilityNotify", VisibilityNotify},
|
|
{"CreateNotify", CreateNotify},
|
|
{"DestroyNotify", DestroyNotify},
|
|
{"UnmapNotify", UnmapNotify},
|
|
{"MapNotify", MapNotify},
|
|
{"MapRequest", MapRequest},
|
|
{"ReparentNotify", ReparentNotify},
|
|
{"ConfigureNotify", ConfigureNotify},
|
|
{"ConfigureRequest", ConfigureRequest},
|
|
{"GravityNotify", GravityNotify},
|
|
{"ResizeRequest", ResizeRequest},
|
|
{"CirculateNotify", CirculateNotify},
|
|
{"PropertyNotify", PropertyNotify},
|
|
{"SelectionClear", SelectionClear},
|
|
{"SelectionRequest", SelectionRequest},
|
|
{"SelectionNotify", SelectionNotify},
|
|
{"ColormapNotify", ColormapNotify},
|
|
{"ClientMessage", ClientMessage},
|
|
{"MappingNotify", MappingNotify},
|
|
};
|
|
|
|
struct named_integer NI_XBool[] = {
|
|
{ "true", 1 },
|
|
{ "false", 0 },
|
|
};
|
|
|
|
struct named_integer NI_TextFormat[] = {
|
|
{ "FMT_8_BIT", XmFMT_8_BIT },
|
|
{ "FMT_16_BIT", XmFMT_16_BIT },
|
|
};
|
|
|
|
struct named_integer NI_HelpHyperType[] = {
|
|
{ "HELP_LINK_TOPIC", DtHELP_LINK_TOPIC },
|
|
{ "HELP_LINK_MAN_PAGE", DtHELP_LINK_MAN_PAGE },
|
|
{ "HELP_LINK_APP_DEFINE", DtHELP_LINK_APP_DEFINE },
|
|
};
|
|
|
|
struct named_integer NI_WIN_GRAVITY[] = {
|
|
{ "ForgetGravity", ForgetGravity },
|
|
{ "NorthWestGravity", NorthWestGravity },
|
|
{ "NorthGravity", NorthGravity },
|
|
{ "NorthEastGravity", NorthEastGravity },
|
|
{ "WestGravity", WestGravity },
|
|
{ "CenterGravity", CenterGravity },
|
|
{ "EastGravity", EastGravity },
|
|
{ "SouthWestGravity", SouthWestGravity },
|
|
{ "SouthGravity", SouthGravity },
|
|
{ "SouthEastGravity", SouthEastGravity },
|
|
{ "StaticGravity", StaticGravity },
|
|
{ "-1", -1 },
|
|
};
|
|
|
|
/************************************************************************/
|
|
|
|
void
|
|
DtkshRegisterNamedIntConverters( void )
|
|
{
|
|
XtConvertArgRec args[1];
|
|
|
|
#define SETARGS(X) args[0].address_mode = XtAddress; args[0].address_id = (caddr_t)&X[0]; args[0].size = sizeof(X);
|
|
|
|
/* Special!! Converts string to named value */
|
|
SETARGS(NI_TraversalDirection);
|
|
XtAddConverter(XmRString, "TraversalDirection",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_CommandChild);
|
|
XtAddConverter(XmRString, "CommandChildType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_MessageBoxChild);
|
|
XtAddConverter(XmRString, "MessageBoxChildType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_FileSelChild);
|
|
XtAddConverter(XmRString, "FileSelChildType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_SelBoxChild);
|
|
XtAddConverter(XmRString, "SelBoxChildType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_QuickHelpChildType);
|
|
XtAddConverter(XmRString, "QuickHelpChildType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_HelpType);
|
|
XtAddConverter(XmRString, "HelpType",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_HelpScrollBarDisplayPolicy);
|
|
XtAddConverter(XmRString, "HelpScrollBarDisplayPolicy",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TextHighlightMode);
|
|
XtAddConverter(XmRString, "TextHighlightMode",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TextSearchDirection);
|
|
XtAddConverter(XmRString, "TextSearchDirection",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TextFormat);
|
|
XtAddConverter(XmRString, "TextFormat",
|
|
DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TT_OP);
|
|
XtAddConverter(XmRString, "TtOp", DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TT_SCOPE);
|
|
XtAddConverter(XmRString, "TtScope", DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TT_STATUS);
|
|
XtAddConverter(XmRString, "TtStatus", DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_TEAR_OFF);
|
|
XtAddConverter(XmRString, XmRTearOffModel, DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_WIN_GRAVITY);
|
|
XtAddConverter(XmRString, "XWinGravity", DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
SETARGS(NI_MWMInputMode);
|
|
XtAddConverter(XmRString, "MWMInputMode", DtkshCvtStringToNamedValue,
|
|
args, 1);
|
|
|
|
/* The rest of these convert named values into strings */
|
|
SETARGS(NI_ArrowDirection);
|
|
XtAddConverter(XmRArrowDirection, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_MultiClick);
|
|
XtAddConverter(XmRMultiClick, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_DialogStyle);
|
|
XtAddConverter(XmRDialogStyle, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_MWMInputMode);
|
|
XtAddConverter("MWMInputMode", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ResizePolicy);
|
|
XtAddConverter(XmRResizePolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_FileTypeMask);
|
|
XtAddConverter(XmRFileTypeMask, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ShadowType);
|
|
XtAddConverter(XmRShadowType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Attachment);
|
|
XtAddConverter(XmRAttachment, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ChildType);
|
|
XtAddConverter(XmRChildType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Alignment);
|
|
XtAddConverter(XmRChildHorizontalAlignment, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ChildVerticalAlignment);
|
|
XtAddConverter(XmRChildVerticalAlignment, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_UnitType);
|
|
XtAddConverter(XmRUnitType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_NavigationType);
|
|
XtAddConverter(XmRNavigationType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Alignment);
|
|
XtAddConverter(XmRAlignment, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_LabelType);
|
|
XtAddConverter(XmRLabelType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_StringDirection);
|
|
XtAddConverter(XmRStringDirection, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_SelectionPolicy);
|
|
XtAddConverter(XmRSelectionPolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ScrollBarPlacement);
|
|
XtAddConverter(XmRScrollBarPlacement, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ScrollBarDisplayPolicy);
|
|
XtAddConverter(XmRScrollBarDisplayPolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ScrollingPolicy);
|
|
XtAddConverter(XmRScrollingPolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_VisualPolicy);
|
|
XtAddConverter(XmRVisualPolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ListSizePolicy);
|
|
XtAddConverter(XmRListSizePolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_EditMode);
|
|
XtAddConverter(XmREditMode, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_CommandWindowLocation);
|
|
XtAddConverter(XmRCommandWindowLocation, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_DefaultButtonType);
|
|
XtAddConverter(XmRDefaultButtonType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_DialogType);
|
|
XtAddConverter(XmRDialogType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_EntryVerticalAlignment);
|
|
XtAddConverter(XmRVerticalAlignment, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Orientation);
|
|
XtAddConverter(XmROrientation, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Packing);
|
|
XtAddConverter(XmRPacking, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_RowColumnType);
|
|
XtAddConverter(XmRRowColumnType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ProcessingDirection);
|
|
XtAddConverter(XmRProcessingDirection, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ChildPlacement);
|
|
XtAddConverter(XmRChildPlacement, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_SelectionDialogType);
|
|
XtAddConverter(XmRSelectionType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_SeparatorType);
|
|
XtAddConverter(XmRSeparatorType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_IndicatorType);
|
|
XtAddConverter(XmRIndicatorType, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_AudibleWarning);
|
|
XtAddConverter(XmRAudibleWarning, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_DeleteResponse);
|
|
XtAddConverter(XmRDeleteResponse, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_KeyboardFocusPolicy);
|
|
XtAddConverter(XmRKeyboardFocusPolicy, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_InitialState);
|
|
XtAddConverter(XmRInitialState, XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_HelpReturnSelectedWidgetResultType);
|
|
XtAddConverter("HelpReturnSelectedWidgetResultType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_HelpType);
|
|
XtAddConverter("HelpType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_HelpScrollBarDisplayPolicy);
|
|
XtAddConverter("HelpScrollBarDisplayPolicy", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_Button);
|
|
XtAddConverter("XE_Button", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_EventType);
|
|
XtAddConverter("XE_EventType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_XBool);
|
|
XtAddConverter("X_Bool", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_TraversalDirection);
|
|
XtAddConverter("TraversalDirection", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_VisibilityType);
|
|
XtAddConverter("VisibilityType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_ListSelectionType);
|
|
XtAddConverter("ListSelectionType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_TextFormat);
|
|
XtAddConverter("TextFormat", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_HelpHyperType);
|
|
XtAddConverter("HelpHyperType", XtRString,
|
|
DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_TT_STATUS);
|
|
XtAddConverter("TtStatus", XtRString, DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_TT_OP);
|
|
XtAddConverter("TtOp", XtRString, DtkshCvtNamedValueToString, args, 1);
|
|
SETARGS(NI_TEAR_OFF);
|
|
XtAddConverter(XmRTearOffModel, XtRString, DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
SETARGS(NI_WIN_GRAVITY);
|
|
XtAddConverter("XWinGravity", XtRString, DtkshCvtNamedValueToString,
|
|
args, 1);
|
|
}
|
|
|
|
/*****************************************************************************/
|
|
|
|
static ModifierState modifierTable[] = {
|
|
{"Button1Mask", Button1Mask},
|
|
{"Button2Mask", Button2Mask},
|
|
{"Button3Mask", Button3Mask},
|
|
{"Button4Mask", Button4Mask},
|
|
{"Button5Mask", Button5Mask},
|
|
{"ControlMask", ControlMask},
|
|
{"LockMask", LockMask},
|
|
{"Mod1Mask", Mod1Mask},
|
|
{"Mod2Mask", Mod2Mask},
|
|
{"Mod3Mask", Mod3Mask},
|
|
{"Mod4Mask", Mod4Mask},
|
|
{"Mod5Mask", Mod5Mask},
|
|
{"ShiftMask", ShiftMask},
|
|
{NULL, 0},
|
|
};
|
|
|
|
|
|
void
|
|
DtkshCvtXEModifierStateToString(
|
|
XrmValuePtr args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval )
|
|
{
|
|
static char *string = NULL;
|
|
unsigned int value;
|
|
int i = 0;
|
|
Boolean firstOne = True;
|
|
|
|
string = XtRealloc(string, 1);
|
|
string[0] = '\0';
|
|
value = ((unsigned int *)(fval->addr))[0];
|
|
|
|
while (modifierTable[i].modifierName)
|
|
{
|
|
if (value & modifierTable[i].modifier)
|
|
{
|
|
if (!firstOne)
|
|
{
|
|
string = XtRealloc(string,
|
|
strlen(string) + strlen(modifierTable[i].modifierName) + 2);
|
|
strcat(string, "|");
|
|
strcat(string, modifierTable[i].modifierName);
|
|
}
|
|
else
|
|
{
|
|
firstOne = False;
|
|
string = XtRealloc(string,
|
|
strlen(string) + strlen(modifierTable[i].modifierName) + 1);
|
|
strcat(string, modifierTable[i].modifierName);
|
|
}
|
|
}
|
|
i++;
|
|
}
|
|
|
|
toval->addr = (caddr_t)string;
|
|
toval->size = strlen(string) + 1;
|
|
}
|
|
|
|
|
|
void
|
|
DtkshCvtXEMotionHintToString(
|
|
XrmValuePtr args,
|
|
Cardinal *nargs,
|
|
XrmValuePtr fval,
|
|
XrmValuePtr toval )
|
|
{
|
|
if (fval->size != sizeof(char))
|
|
{
|
|
toval->addr = NULL;
|
|
toval->size = 0;
|
|
return;
|
|
}
|
|
if ((((char *)(fval->addr))[0]) == NotifyNormal)
|
|
toval->addr = (caddr_t)("NotifyNormal");
|
|
else
|
|
toval->addr = (caddr_t)("NotifyHint");
|
|
toval->size = strlen(toval->addr)+1;
|
|
}
|
|
|
|
/*
|
|
* The following routines exist in order to enable ToolTalk commands
|
|
* to operate without the script having to call XtInitialize. Another way
|
|
* of accomplishing the conversions done by these routines is by calling
|
|
* XtConvert with appropriate parameters, but XtConvert requires a valid
|
|
* widget in order to look up the converter tables.
|
|
*
|
|
* The routines provided are:
|
|
* DtkshCvtTtStatusToString()
|
|
* DtkshCvtStringToTtStatus()
|
|
* DtkshCvtStringToBool()
|
|
* DtkshCvtStringToTtOp()
|
|
* DtkshCvtTtOpToString()
|
|
* DtkshCvtStringToTtScope()
|
|
*/
|
|
|
|
/*
|
|
* DtkshCvtTtStatusToString takes a toolTalk error code and a pointer to an
|
|
* XrmValue struct. The XrmValue struct will be filled in with the
|
|
* results of the translation - presumably a string version of the
|
|
* error code.
|
|
* This routine is in this file because it must "know" the size of the
|
|
* NI_TT_STATUS array.
|
|
*/
|
|
void
|
|
DtkshCvtTtStatusToString(
|
|
Tt_status ttStatus,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
fval.addr = (caddr_t)&ttStatus;
|
|
fval.size = sizeof(Tt_status);
|
|
nargs = 1;
|
|
cval[0].size = sizeof(NI_TT_STATUS);
|
|
cval[0].addr = (caddr_t)NI_TT_STATUS;
|
|
DtkshCvtNamedValueToString(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* DtkshCvtStringToTtStatus - converts a string to the corresponding
|
|
* TtStatus value.
|
|
*/
|
|
void
|
|
DtkshCvtStringToTtStatus(
|
|
char *pString,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
fval.addr = (caddr_t)pString;
|
|
fval.size = strlen(pString);
|
|
nargs = 1;
|
|
cval[0].size = sizeof(NI_TT_STATUS);
|
|
cval[0].addr = (caddr_t)NI_TT_STATUS;
|
|
DtkshCvtStringToNamedValue(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* DtkshCvtStringToBool - takes a string (either "true" or "false")
|
|
* and a pointer to an XrmValue struct. The XrmValue struct will be filled
|
|
* out with the results of the conversion of the string to a boolean.
|
|
* This routine is in this file because it must "know" the size of the
|
|
* NI_XBool array.
|
|
*/
|
|
void
|
|
DtkshCvtStringToBool(
|
|
char *pString,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
cval[0].size = sizeof(NI_XBool);
|
|
cval[0].addr = (caddr_t)NI_XBool;
|
|
fval.addr = pString;
|
|
fval.size = strlen(pString);
|
|
nargs = 1;
|
|
DtkshCvtStringToNamedValue(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|
|
|
|
|
|
/*
|
|
* DtkshCvtStringToTtOp - converts a string to the corresponding
|
|
* TtOp value.
|
|
*/
|
|
void
|
|
DtkshCvtStringToTtOp(
|
|
char *pString,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
fval.addr = (caddr_t)pString;
|
|
fval.size = strlen(pString);
|
|
nargs = 1;
|
|
cval[0].size = sizeof(NI_TT_OP);
|
|
cval[0].addr = (caddr_t)NI_TT_OP;
|
|
DtkshCvtStringToNamedValue(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* DtkshCvtTtOpToString - converts a TtOp to the representative string.
|
|
*/
|
|
void
|
|
DtkshCvtTtOpToString(
|
|
Tttk_op op,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
fval.addr = (caddr_t)&op;
|
|
fval.size = sizeof(Tttk_op);
|
|
nargs = 1;
|
|
cval[0].size = sizeof(NI_TT_OP);
|
|
cval[0].addr = (caddr_t)NI_TT_OP;
|
|
DtkshCvtNamedValueToString(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* DtkshCvtStringToTtScope - converts a string to the appropriate
|
|
* TtScope numeric value.
|
|
*/
|
|
void
|
|
DtkshCvtStringToTtScope(
|
|
char *pString,
|
|
XrmValue *pToVal)
|
|
{
|
|
XrmValue cval[1], fval;
|
|
Cardinal nargs;
|
|
|
|
fval.addr = (caddr_t)pString;
|
|
fval.size = strlen(pString);
|
|
nargs = 1;
|
|
cval[0].size = sizeof(NI_TT_OP);
|
|
cval[0].addr = (caddr_t)NI_TT_OP;
|
|
DtkshCvtNamedValueToString(cval, &nargs, &fval, pToVal);
|
|
return;
|
|
}
|