Initial import of the CDE 2.1.30 sources from the Open Group.

This commit is contained in:
Peter Howkins
2012-03-10 18:21:40 +00:00
commit 83b6996daa
18978 changed files with 3945623 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:29:26 drk $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = parser dthelpview dthelpdemo dthelpgen dthelpprint
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
LintSubdirs($(SUBDIRS))

View File

@@ -0,0 +1,98 @@
!########
!#
!# Dthelpdemo app-defaults file.
!#
!# (c) Copyright 1993, 1994 Hewlett-Packard Company
!# (c) Copyright 1993, 1994 International Business Machines Corp.
!# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
!# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
!# Novell, Inc.
!#
!########
!########
!#
!# Display Area Colors
!#
!# These resources set the colors for the display area (where
!# actual help text is displayed).
!#
!########
Dthelpdemo*DisplayArea.background: white
Dthelpdemo*DisplayArea.foreground: black
Dthelpdemo*TocArea.background: white
Dthelpdemo*TocArea.foreground: black
!########
!#
!# Help On Help
!#
!# The "helpOnHelpVolume" resource specifies the help volume to be used
!# to display the "help on help" topics (when a help request is made
!# while using a help window).
!#
!#
!########
Dthelpdemo*helpOnHelpVolume: Help4Help
!########
!#
!# Man Page Box
!#
!# The "man box" is used to display man pages in dthelpdemo.
!#
!########
Dthelpdemo*manBox.rows: 32
Dthelpdemo*manBox.columns: 80
!########
!#
!# Menu Accelerators
!#
!# The following resources establish keyboard accelerators
!# for the most frequently accessed menu commands in the help dialogs.
!#
!########
*DtHelpDialog*searchMenu.keyword.acceleratorText: Ctrl+I
*DtHelpDialog*searchMenu.keyword.accelerator: Ctrl<Key>i
*DtHelpDialog*navigateMenu.backTrack.acceleratorText: Ctrl+B
*DtHelpDialog*navigateMenu.backTrack.accelerator: Ctrl<Key>b
*DtHelpDialog*navigateMenu.homeTopic.acceleratorText: Ctrl+H
*DtHelpDialog*navigateMenu.homeTopic.accelerator: Ctrl<Key>h
*DtHelpDialog*fileMenu.close.acceleratorText: Alt+F4
*DtHelpDialog*fileMenu.close.accelerator: Alt<Key>f4
!########
!#
!# Execution Alias commands
!#
!# The following resources establish execution aliasis. This isolates
!# the actual command from the help volume src files, allowing for
!# end-user modification.
!#
!########
*Dthelpdemo.executionAlias.xclockAlias: xclock &
*Dthelpdemo.executionAlias.dtCalcAlias: dtcalc &
*Dthelpdemo.executionAlias.xloadAlias: xload &
!########################### eof ###################

View File

@@ -0,0 +1,799 @@
/* $XConsortium: HelpCache.c /main/4 1995/11/08 09:17:54 rswiston $ */
/*************************************<+>*************************************
*****************************************************************************
**
** File: HelpCache.c
**
** Project: dthelpdemo demo program
**
** Description: Contains the Help Callbacks and Utility functions for our
** demo tool dthelpdemo.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
****************************************************************************
************************************<+>*************************************/
/* System Include Files */
#include <Xm/Xm.h>
#include <Xm/XmP.h>
#include <Dt/Help.h>
#include <Dt/HelpDialog.h>
#include <Dt/HelpQuickD.h>
/* Local Includes */
#include "Main.h"
#include "HelpCacheI.h"
#include "HourGlassI.h"
/******** Static Function Declarations ********/
static void CloseHelpCB (
Widget w,
XtPointer clientData,
XtPointer callData);
static Boolean GetFromCache(
Widget parent,
CacheListStruct **pCurrentNode);
/* Global Main Help Dialog Widget */
static Widget helpMain=NULL;
static Widget versionMain=NULL;
/*****************************************************************************
* Function: void HelpMapCB()
*
*
*
* Parameters: clientData is the widget in reference to
* which widget w is placed
*
* Return Value: Void.
*
* Purpose: Determins where a new child dialog should be mapped in
* relation to its parent.
*
* Algorithm: 1. attempt left or right placement with no overlap
* 2. if fails, attempt up or down placement with no overlap
* 3. if fails, determines location with least
* amount of overlap, and places there.
*
*****************************************************************************/
XtCallbackProc HelpMapCB(
Widget w,
XtPointer clientData,
XtPointer callData)
{
Arg args[2];
Widget parent;
Position centeredY, bestX, bestY, pX, pY;
Dimension pHeight, myHeight, pWidth, myWidth;
Dimension maxX, maxY;
int rhsX, lhsX, topY, botY; /* needs to be int, not Dimension */
Display * display;
Screen * screen;
int screenNumber;
parent = (Widget)clientData;
display = XtDisplay(w);
screen = XtScreen(w);
screenNumber = XScreenNumberOfScreen(screen);
pX = XtX(parent);
pY = XtY(parent);
if (pX < 0) pX = 0;
if (pY < 0) pY = 0;
pHeight = XtHeight(parent);
pWidth = XtWidth(parent);
myHeight = XtHeight(w);
myWidth = XtWidth(w);
maxX = XDisplayWidth(display,screenNumber);
maxY = XDisplayHeight(display,screenNumber);
/* algorithm
* 1. attempt left or right placement with no overlap
* 2. if fails, attempt up or down placement with no overlap
* 3. if fails, places on the right in the middle
*/
/* first try left right placement */
bestY = pY + pHeight/2 - myHeight/2;
centeredY = bestY;
rhsX = pX + pWidth;
lhsX = pX - myWidth - 8; /* 8: account for border */
if ( (rhsX + myWidth) < maxX ) bestX = rhsX;
else if ( lhsX > 0 ) bestX = lhsX;
else
{
/* then try up down placement */
bestX = pX + pWidth/2 - myWidth/2;
botY = pY + pHeight;
topY = pY - myHeight - 44; /* 44: account for menu border */
if ( (botY + myWidth) < maxY ) bestY = botY;
else if ( topY > 0 ) bestY = topY;
else
{
/* otherwise, center vertically and on the right */
bestX = maxX - myWidth;
bestY = centeredY;
}
}
XtSetArg(args[0], XmNx, bestX);
XtSetArg(args[1], XmNy, bestY);
XtSetValues(w, args, 2);
return((XtCallbackProc) NULL);
}
/****************************************************************************
* Function: CloseHelpCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process close requests on all Help Dialog widgets
* created and managed by this application.
*
***************************************************************************/
static void CloseHelpCB (
Widget w,
XtPointer clientData,
XtPointer callData)
{
Widget helpDialog = (Widget) clientData;
CacheListStruct *pTemp;
pTemp = pCacheListHead;
/* Search our Cache List for the closed help dialog */
while ((pTemp->helpDialog != helpDialog) && (pTemp != NULL))
pTemp = pTemp->pNext;
if (pTemp == NULL)
/* ERROR */
printf("We did not find our help dialog widget in the cache list??? /n");
/* Un Map and Clean up the help widget */
XtUnmanageChild(helpDialog);
pTemp->inUseFlag = FALSE;
}
/****************************************************************************
* Function: CloseMainCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process close requests on our main help dialog.
*
***************************************************************************/
static void CloseMainCB (
Widget w,
XtPointer clientData,
XtPointer callData)
{
Widget currentDialog = (Widget) clientData;
/* Un Map and Clean up the help widget */
XtUnmanageChild(currentDialog);
}
/****************************************************************************
* Function: void ProcessLinkCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process JUMP-NEW and APP-LINK hypertext requests in a
* given Help Dialog Window.
*
* This is the callback used for the DtNhyperLinkCallback
* on each of the help dialog widges created.
*
****************************************************************************/
void ProcessLinkCB (
Widget w,
XtPointer clientData,
XtPointer callData)
{
Arg args[20];
int n;
Position xPos, yPos;
int appLinkNum=0;
int count;
static Dimension width=0;
static Dimension height=0;
static Boolean goBigger=TRUE;
DtHelpDialogCallbackStruct * hyperData =
(DtHelpDialogCallbackStruct *) callData;
switch (hyperData->hyperType)
{
case DtHELP_LINK_JUMP_NEW:
DisplayTopic (XtParent(w), hyperData->helpVolume,
hyperData->locationId);
break;
case DtHELP_LINK_MAN_PAGE:
/* Create and display the requested man page */
DisplayMan(XtParent(w), hyperData->specification);
break;
case DtHELP_LINK_TEXT_FILE:
/* Create a quick help dialog and display the text file in it */
break;
case DtHELP_LINK_APP_DEFINE:
appLinkNum = atoi(hyperData->specification);
if (appLinkNum == 100) /* Move the window */
{
/* First Place the window in the upper left */
n = 0;
XtSetArg(args[n], XmNx, 0); ++n;
XtSetArg(args[n], XmNy, 0); ++n;
XtSetValues(topLevel, args, n);
/* Now move it down to the center of the display */
for (count = 1;count < 500; count= count+5)
{
n = 0;
XtSetArg(args[n], XmNx, count); ++n;
XtSetArg(args[n], XmNy, count); ++n;
XtSetValues(topLevel, args, n);
XmUpdateDisplay(topLevel);
}
}
if (appLinkNum == 101) /* Resize the window */
{
if (width == 0)
{
/* Get the current dialog size */
n =0;
XtSetArg (args[n], XmNheight, &height); n++;
XtSetArg (args[n], XmNwidth, &width); n++;
XtGetValues(topLevel, args, n);
}
if (goBigger)
{
n =0;
XtSetArg (args[n], XmNheight, height+100); n++;
XtSetArg (args[n], XmNwidth, width+50); n++;
XtSetValues(topLevel, args, n);
goBigger = FALSE;
}
else
{
/* Go smaller */
n =0;
XtSetArg (args[n], XmNheight, height); n++;
XtSetArg (args[n], XmNwidth, width); n++;
XtSetValues(topLevel, args, n);
goBigger = TRUE;
}
}
if (appLinkNum == 102)
{
}
if (appLinkNum == 103)
{
}
break;
default: /* Catches any other applicaion definded link types */
printf("We some how got a bogus hyptertext link type/n");
} /* End Switch Statement */
}
/****************************************************************************
* Function: void DisplayMan()
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a UNIX man page in a quick help dialog.
*
****************************************************************************/
void DisplayMan(
Widget parent,
char *man)
{
Arg args[20];
int n;
Widget helpWidget;
char *title;
XmUpdateDisplay(topLevel);
if (manWidget == NULL)
{
/* Create the QuickHelpDialog widget for help on help */
title = XtNewString(man);
n =0;
XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetArg (args[n], DtNhelpType,DtHELP_TYPE_MAN_PAGE); n++;
XtSetArg (args[n], DtNmanPage, man); n++;
manWidget = DtCreateHelpQuickDialog(topLevel,"manBox", args, n);
XtFree((char*) title);
XtAddCallback(manWidget, DtNcloseCallback,
CloseMainCB, (XtPointer) manWidget);
/* Add the popup position callback to our man dialog */
XtAddCallback (XtParent(manWidget), XmNpopupCallback,
(XtCallbackProc)HelpMapCB,
(XtPointer)topLevel);
/* We do not want a help button for now so we unmap it */
helpWidget = DtHelpQuickDialogGetChild (manWidget,
DtHELP_QUICK_HELP_BUTTON);
XtUnmanageChild (helpWidget);
XtManageChild(manWidget);
}
else
{
TurnOnHourGlass(manWidget);
/* We already have a quick help dialog so re-use it */
n = 0;
XtSetArg (args[n], DtNhelpType,DtHELP_TYPE_MAN_PAGE); n++;
XtSetArg (args[n], DtNmanPage, man); n++;
XtSetValues(manWidget, args, n);
title = XtNewString(man);
n = 0;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetValues(XtParent(manWidget), args, n);
XtFree((char*) title);
XtManageChild(manWidget);
XtMapWidget(XtParent(manWidget));
XRaiseWindow(XtDisplay(parent), XtWindow(XtParent(manWidget)));
TurnOffHourGlass(manWidget);
}
}
/****************************************************************************
* Function: void DisplayTopic(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Creats and displays a new help dialog w/the requested help
* volume and topic.
*
****************************************************************************/
void DisplayTopic(
Widget parent,
char *helpVolume,
char *locationId)
{
Arg args[10];
int n;
CacheListStruct *pCurrentNode = NULL;
Boolean cachedNode = FALSE;
/* Get a inuse node if we have one or a Cached one */
cachedNode = GetFromCache(parent, &pCurrentNode);
/* If we got a free one from the Cache, use it */
/* Set Values on current free one, then map it */
if (cachedNode)
{
n = 0;
XtSetArg (args[n], XmNtitle, "HelpDemo Help"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
XtSetValues(pCurrentNode->helpDialog, args, n);
XtManageChild(pCurrentNode->helpDialog);
XtMapWidget(XtParent(pCurrentNode->helpDialog));
}
else
{
while (!XtIsSubclass(parent, applicationShellWidgetClass))
parent = XtParent(parent);
/* Build a new one in our cached list */
n = 0;
XtSetArg (args[n], XmNtitle, "Helpdemo Help"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
pCurrentNode->helpDialog =
DtCreateHelpDialog(parent, "helpWidget", args, n);
XtAddCallback(pCurrentNode->helpDialog, DtNhyperLinkCallback,
ProcessLinkCB, NULL);
XtAddCallback(pCurrentNode->helpDialog, DtNcloseCallback,
CloseHelpCB, (XtPointer) pCurrentNode->helpDialog);
XtManageChild(pCurrentNode->helpDialog);
XtMapWidget(XtParent(pCurrentNode->helpDialog));
}
}
/****************************************************************************
* Function: void DisplayMain(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays help for helpdemo in the one helpDialog window
* created for the applicaiton.
*
****************************************************************************/
void DisplayMain (
Widget parent,
char *helpVolume,
char *locationId)
{
Arg args[10];
int n;
if (helpMain != NULL)
{
n = 0;
XtSetArg (args[n], XmNtitle, "hemodemo Help"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
XtSetValues(helpMain, args, n);
XtManageChild(helpMain);
}
else
{
while (!XtIsSubclass(parent, applicationShellWidgetClass))
parent = XtParent(parent);
/* Build a new one in our cached list */
n = 0;
XtSetArg (args[n], XmNtitle, "Helpdemo Help"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
helpMain = DtCreateHelpDialog(parent, "helpWidget", args, n);
XtAddCallback(helpMain, DtNhyperLinkCallback,
ProcessLinkCB, NULL);
XtAddCallback(helpMain, DtNcloseCallback,
CloseMainCB, (XtPointer) helpMain);
/* Add the popup position callback to our main help dialog */
XtAddCallback (XtParent(helpMain), XmNpopupCallback,
(XtCallbackProc)HelpMapCB,
(XtPointer)parent);
XtManageChild(helpMain);
}
}
/****************************************************************************
* Function: void DisplayVersion(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays the version dialog for the helpdemo program.
*
****************************************************************************/
void DisplayVersion (
Widget parent,
char *helpVolume,
char *locationId)
{
Arg args[10];
int n;
Widget printWidget;
Widget helpWidget;
Widget backWidget;
if (versionMain != NULL)
{
n = 0;
XtSetArg (args[n], XmNtitle, "Helpdemo Version Dialog"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
XtSetValues(versionMain, args, n);
XtManageChild(versionMain);
}
else
{
while (!XtIsSubclass(parent, applicationShellWidgetClass))
parent = XtParent(parent);
/* Build a new one in our cached list */
n = 0;
XtSetArg (args[n], XmNtitle, "Helpdemo Version Dialog"); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
XtSetArg (args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
versionMain = DtCreateHelpQuickDialog(parent,"versionWidget",args,n);
XtAddCallback(versionMain, DtNcloseCallback,
CloseMainCB, (XtPointer) versionMain);
/* We do not want a print button for now so we unmap it */
printWidget = DtHelpQuickDialogGetChild (versionMain,
DtHELP_QUICK_PRINT_BUTTON);
XtUnmanageChild (printWidget);
/* We do not want a help button for now so we unmap it */
helpWidget = DtHelpQuickDialogGetChild (versionMain,
DtHELP_QUICK_HELP_BUTTON);
XtUnmanageChild (helpWidget);
backWidget = DtHelpQuickDialogGetChild (versionMain,
DtHELP_QUICK_BACK_BUTTON);
XtUnmanageChild (backWidget);
XtManageChild(versionMain);
}
}
/****************************************************************************
* Function: static CacheListStruct GetFromCache(
* Widget parent);
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Gets a free help node form our cache list. If none are
* free, it will return fallse and the calling routine will
* create a new help dialog widget.
*
****************************************************************************/
static Boolean GetFromCache(
Widget parent,
CacheListStruct **pCurrentNode)
{
CacheListStruct *pTemp;
if (pCacheListHead == NULL)
{
/* We have a new list so lets create one and pass it back */
pCacheListHead =
(CacheListStruct *) XtMalloc((sizeof(CacheListStruct)));
/* Assign the default values to our node */
pCacheListHead->helpDialog = NULL;
pCacheListHead->inUseFlag = TRUE;
pCacheListHead->pNext = NULL;
pCacheListHead->pPrevious = NULL;
/* Assign our tale pointer */
pCacheListTale = pCacheListHead;
/* Make sure or totalNodes counter is correct, e.g. force it to 1 */
totalCacheNodes = 1;
/* Return our head pointer because it's our first and only node */
*pCurrentNode = pCacheListHead;
return (FALSE);
}
else
{
/* We have need for an in-use help dialog or a new one, so look */
pTemp = pCacheListHead;
while (pTemp != NULL)
{
if (pTemp->inUseFlag == FALSE)
{
pTemp->inUseFlag = TRUE;
*pCurrentNode = pTemp;
return (TRUE);
}
else
pTemp = pTemp->pNext;
}
/* If we did not find a free nod then we must add a new one to the
* top of the list, and return it.
*/
pTemp = (CacheListStruct *) XtMalloc((sizeof(CacheListStruct)));
/* Assign the default values to our node */
pTemp->helpDialog = NULL;
pTemp->inUseFlag = TRUE;
pTemp->pNext = pCacheListHead;
pTemp->pPrevious = NULL;
pCacheListHead->pPrevious = pTemp;
/* Re-Assign our head pointer to point to the new head of the list */
pCacheListHead = pTemp;
/* Make sure or totalNodes counter is correct, e.g. force it to 1 */
totalCacheNodes = totalCacheNodes + 1;
/* Return our head pointer because it's our new node */
*pCurrentNode = pCacheListHead;
return (FALSE);
}
}

View File

@@ -0,0 +1,182 @@
/* $XConsortium: HelpCacheI.h /main/3 1995/11/08 09:18:06 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: HelpCacheI.h
**
** Project: CDE dthelpdemo sample program.
**
** Description: This is the header file for the HelpCache.c module.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
****************************************************************************
************************************<+>*************************************/
#ifndef _HelpCacheI_h
#define _HelpCacheI_h
/****************************************************************
*
* Cache List Info Structure Definition.
*
****************************************************************/
typedef struct _CacheListStruct {
Widget helpDialog;
Boolean inUseFlag;
struct _CacheListStruct *pNext;
struct _CacheListStruct *pPrevious;
} CacheListStruct;
/****************************************************************************
* Function: void DisplayTopic(
* Widget parent,
* char *accessPath,
* char *idString)
*
*
* Return Value: Void.
*
* Purpose: Creats and displays a new help dialog w/the requested help
* volume and topic.
*
****************************************************************************/
extern void DisplayTopic(
Widget parent,
char *helpVolume,
char *locationId);
/****************************************************************************
* Function: void DisplayMain(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
*
* Return Value: Void.
*
* Purpose: Displays help for helpdemo in the one helpDialog window
* created for the applicaiton.
*
****************************************************************************/
extern void DisplayMain(
Widget parent,
char *helpVolume,
char *locationId);
/****************************************************************************
* Function: void DisplayVersion(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
* Return Value: Void.
*
* Purpose: Displays the version dialog for the helpdemo program.
*
****************************************************************************/
extern void DisplayVersion(
Widget parent,
char *helpVolume,
char *locationId);
/*****************************************************************************
* Function: void HelpMapCB()
*
*
*
* Parameters: client_data is the widget in reference to
* which widget w is placed
*
* Return Value: Void.
*
* Purpose: Determins where a new child dialog should be mapped in
* relation to its parent.
*
* Algorithm: 1. attempt left or right placement with no overlap
* 2. if fails, attempt up or down placement with no overlap
* 3. if fails, determines location with least
* amount of overlap, and places there.
*
*****************************************************************************/
extern XtCallbackProc HelpMapCB(
Widget w,
XtPointer clientData,
XtPointer callData);
/****************************************************************************
* Function: void DisplayMan()
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a UNIX man page in a quick help dialog.
*
****************************************************************************/
extern void DisplayMan(
Widget parent,
char *man);
/****************************************************************************
* Function: void ProcessLinkCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process JUMP-NEW and APP-LINK hypertext requests in a
* given Help Dialog Window.
*
* This is the callback used for the DtNhyperLinkCallback
* on each of the help dialog widges created.
*
****************************************************************************/
extern void ProcessLinkCB (
Widget w,
XtPointer clientData,
XtPointer callData);
#endif /* _HelpCacheI_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,54 @@
/* $XConsortium: HelpEntry.h /main/3 1995/11/08 09:18:17 rswiston $ */
/*************************************<+>*************************************
*****************************************************************************
**
** File: HelpEntry.h
**
** Project: CDE dthelpdemo sample program.
**
** Description: Header file containing all the help entry
** points for the dthelpdemo program.
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
*******************************************************************
*************************************<+>*************************************/
#ifndef _HelpEntry_h
#define _HelpEntry_h
/* Help Dialog, main entry point */
#define DIALOG_HELP_ID "_hometopic"
/* HELP widget Entry Point Id's */
#define CREATE_FRAME "API"
#define CONTROL1_FRAME "TOOLKIT"
#define CONTROL2_FRAME "controlTestId"
#define MORE_BTN_ID "QUICKHELP"
/* Menubar Id's */
#define APP_MENU_ID "_hometopic"
#define VER_MENU_ID "_copyright"
#endif /* _HelpEntry_h */
/* Do not add anything after this endif. */

View File

@@ -0,0 +1,259 @@
/* $XConsortium: HourGlass.c /main/3 1995/11/08 09:18:28 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: HourGlass.c
**
** Project: CDE dthelpdemo sample program.
**
** Description: This module contains a simple function for
** creating an hourglass cursor.
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#define time32_width 32
#define time32_height 32
#define time32_x_hot 15
#define time32_y_hot 15
static unsigned char time32_bits[] = {
0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f,
0x8c, 0x00, 0x00, 0x31, 0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32,
0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32,
0x8c, 0x00, 0x00, 0x31, 0x0c, 0x7f, 0xfe, 0x30, 0x0c, 0xfe, 0x7f, 0x30,
0x0c, 0xfc, 0x3f, 0x30, 0x0c, 0xf8, 0x1f, 0x30, 0x0c, 0xe0, 0x07, 0x30,
0x0c, 0x80, 0x01, 0x30, 0x0c, 0x80, 0x01, 0x30, 0x0c, 0x60, 0x06, 0x30,
0x0c, 0x18, 0x18, 0x30, 0x0c, 0x04, 0x20, 0x30, 0x0c, 0x02, 0x40, 0x30,
0x0c, 0x01, 0x80, 0x30, 0x8c, 0x00, 0x00, 0x31, 0x4c, 0x80, 0x01, 0x32,
0x4c, 0xc0, 0x03, 0x32, 0x4c, 0xf0, 0x1f, 0x32, 0x4c, 0xff, 0xff, 0x32,
0xcc, 0xff, 0xff, 0x33, 0x8c, 0xff, 0xff, 0x31, 0xfe, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
#define time32m_width 32
#define time32m_height 32
static unsigned char time32m_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xcf, 0x00, 0x00, 0xf3, 0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76,
0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76,
0xce, 0x00, 0x00, 0x73, 0x8e, 0x7f, 0xfe, 0x71, 0x0e, 0xff, 0xff, 0x70,
0x0e, 0xfe, 0x7f, 0x70, 0x0e, 0xfc, 0x3f, 0x70, 0x0e, 0xf8, 0x1f, 0x70,
0x0e, 0xe0, 0x07, 0x70, 0x0e, 0xe0, 0x07, 0x70, 0x0e, 0x78, 0x1e, 0x70,
0x0e, 0x1c, 0x38, 0x70, 0x0e, 0x06, 0x60, 0x70, 0x0e, 0x03, 0xc0, 0x70,
0x8e, 0x01, 0x80, 0x71, 0xce, 0x00, 0x00, 0x73, 0x6e, 0x80, 0x01, 0x76,
0x6e, 0xc0, 0x03, 0x76, 0x6e, 0xf0, 0x1f, 0x76, 0x6e, 0xff, 0xff, 0x76,
0xee, 0xff, 0xff, 0x77, 0xcf, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
#define time16_x_hot 7
#define time16_y_hot 7
#define time16_width 16
#define time16_height 16
static unsigned char time16_bits[] = {
0x00, 0x00, 0xfe, 0x7f, 0x14, 0x28, 0x14, 0x28, 0x14, 0x28, 0x24, 0x24,
0x44, 0x22, 0x84, 0x21, 0x84, 0x21, 0x44, 0x22, 0x24, 0x24, 0x14, 0x28,
0x94, 0x29, 0xd4, 0x2b, 0xfe, 0x7f, 0x00, 0x00};
#define time16m_width 16
#define time16m_height 16
static unsigned char time16m_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f,
0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f,
0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff};
/******** End Public Function Declarations ********/
/*************************************<->*************************************
*
* Cursor GetHourGlassCursor ()
*
*
* Description:
* -----------
* Builds and returns the appropriate Hourglass cursor
*
*
* Inputs:
* ------
* dpy = display
*
* Outputs:
* -------
* Return = cursor.
*
* Comments:
* --------
* None. (None doesn't count as a comment)
*
*************************************<->***********************************/
static Cursor GetHourGlassCursor(
Display *dpy)
{
char *bits;
char *maskBits;
unsigned int width;
unsigned int height;
unsigned int xHotspot;
unsigned int yHotspot;
Pixmap pixmap;
Pixmap maskPixmap;
XColor xcolors[2];
int scr;
unsigned int cWidth;
unsigned int cHeight;
int useLargeCursors = 0;
static Cursor waitCursor=0;
if (waitCursor != 0)
return(waitCursor);
if (XQueryBestCursor (dpy, DefaultRootWindow(dpy),
32, 32, &cWidth, &cHeight))
{
if ((cWidth >= 32) && (cHeight >= 32))
{
useLargeCursors = 1;
}
}
if (useLargeCursors)
{
width = time32_width;
height = time32_height;
bits = (char *) time32_bits;
maskBits = (char *) time32m_bits;
xHotspot = time32_x_hot;
yHotspot = time32_y_hot;
}
else
{
width = time16_width;
height = time16_height;
bits = (char *) time16_bits;
maskBits = (char *) time16m_bits;
xHotspot = time16_x_hot;
yHotspot = time16_y_hot;
}
pixmap = XCreateBitmapFromData (dpy,
DefaultRootWindow(dpy), bits,
width, height);
maskPixmap = XCreateBitmapFromData (dpy,
DefaultRootWindow(dpy), maskBits,
width, height);
xcolors[0].pixel = BlackPixelOfScreen(DefaultScreenOfDisplay(dpy));
xcolors[1].pixel = WhitePixelOfScreen(DefaultScreenOfDisplay(dpy));
XQueryColors (dpy,
DefaultColormapOfScreen(DefaultScreenOfDisplay
(dpy)), xcolors, 2);
waitCursor = XCreatePixmapCursor (dpy, pixmap, maskPixmap,
&(xcolors[0]), &(xcolors[1]),
xHotspot, yHotspot);
XFreePixmap (dpy, pixmap);
XFreePixmap (dpy, maskPixmap);
return (waitCursor);
}
/*************************************<->*************************************
*
* void TurnOnHourGlass
*
*
* Description:
* -----------
* sets the window cursor to an hourglass
*
*
* Inputs:
* ------
* w = Widget
*
* Outputs:
* -------
* None
*
* Comments:
* --------
* None. (None doesn't count as a comment)
*
*************************************<->***********************************/
void TurnOnHourGlass(
Widget w)
{
Cursor cursor;
cursor = GetHourGlassCursor(XtDisplay(w));
XDefineCursor(XtDisplay(w), XtWindow(w), cursor);
XFlush(XtDisplay(w));
}
/*************************************<->*************************************
*
* void TurnOffHourGlass
*
*
* Description:
* -----------
* Removed the hourglass cursor from a window
*
*
* Inputs:
* ------
* w = Widget
*
* Outputs:
* -------
* None
*
* Comments:
* --------
* None. (None doesn't count as a comment)
*
*************************************<->***********************************/
void TurnOffHourGlass(
Widget w)
{
XUndefineCursor(XtDisplay(w), XtWindow(w));
XFlush(XtDisplay(w));
}

View File

@@ -0,0 +1,65 @@
/* $XConsortium: HourGlassI.h /main/3 1995/11/08 09:18:38 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: HourGlassI.h
**
** Project: CDE dthelpdemo sample program.
**
** Description: Internal include file for HourGlass Library.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
#ifndef _hourglassI_h
#define _hourglassI_h
/* TurnOnHourGlass -
*
* Gets and displays an hourglass cursor in the window of the widget
* which is passed in to the funciton.
*/
extern void _DtHelpTurnOnHourGlass(
Widget widget);
/*
* widget is the toplevel shell of the window you want
* the hourglass cursor to appear in.
*/
/* TurnOffHourGlass -
*
* Removes the hourglass cursor from the window of the widget
* which is passed in to the funciton.
*/
extern void _DtHelpTurnOffHourGlass(
Widget widget);
/*
* widget is the toplevel shell of the window you want
* to remove hourglass cursor from.
*/
#endif /* _hourglassI_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,23 @@
XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:26:24 drk $
/**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**/
PROGRAMS = dthelpdemo
DEFINES = -D_BMS
INCLUDES = -I.
DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
LOCAL_LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB)
SYS_LIBRARIES = DtClientSysLibs $(CXXLIB)
SRCS = Main.c HourGlass.c HelpCache.c
OBJS = Main.o HourGlass.o HelpCache.o
ComplexProgramTarget($(PROGRAMS))

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
/* $XConsortium: Main.h /main/3 1995/11/08 09:19:11 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: Main.h
**
** Project: CDE dthelpdemo sample program.
**
** Description: This is the main header file for the dthelpdemo
** program. It includes globally referenced variables and
** defines.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
** Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
** Novell, Inc.
**
****************************************************************************
************************************<+>*************************************/
#ifndef _Main_h
#define _Main_h
#include "HelpCacheI.h"
/* Option defines for menubar help access */
#define HELP_ON_ITEM 1
#define HELP_ON_TOPIC 2
#define HELP_ON_VERSION 3
/* Option defines for Sample Buttons */
#define CREATE_SAMPLE 1
#define DESTROY_SAMPLE 2
#define CHANGE_CONTENT 3
#define CHANGE_SIZE 4
#define CHANGE_GUI 5
#define SHOW_APP_DEFINED_LINKS 6
/* Global Variables Used by our helpCache */
CacheListStruct *pCacheListHead;
CacheListStruct *pCacheListTale;
int totalCacheNodes;
/* Globally referenced widget variables */
extern Widget topLevel;
extern Widget mainShell;
extern Widget manWidget;
#endif /* _Main_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,76 @@
#
# @DEC_COPYRIGHT@
#
#
# HISTORY
# $Log$
# Revision 2.1.2.2 1995/04/27 20:47:27 Kwanchai_Pawutiyapong
# SunSoft Jan. snapshot merge from deltacde.
# [1995/04/25 22:00:43 Kwanchai_Pawutiyapong]
#
# Revision 1.1.2.2 1995/04/20 03:02:02 Kwanchai_Pawutiyapong
# Create DEC version of Makefile for dthelpdemo.
# [1995/04/19 00:35:14 Kwanchai_Pawutiyapong]
#
# $EndLog$
#
# @(#)$XConsortium: Makefile.DEC /main/2 1996/05/13 11:26:48 drk $
#
##########################################################################
#
# Makefile for dthelpdemo
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
##########################################################################
#ifndef CDE_INSTALLATION_TOP
CDE_INSTALLATION_TOP = /usr/dt
#endif
PROGRAM = dthelpdemo
SOURCES = Main.c HelpCache.c HourGlass.c
OBJECTS = Main.o HelpCache.o HourGlass.o
HELPSRC = helpdemo.htg
HELPOUT = help/helpdemo.sdl \
help/helpdemo.err \
help/helpdemo.xrh
OPTIMIZEDFLAGS = -O
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
X11INCLUDE = -I/usr/include/X11
EXTRA_INCLUDES =
INCLUDES = $(DTINCLUDE) $(X11INCLUDE) $(EXTRA_INCLUDES)
DTHELPLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtHelp
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
XMLIB = -lXm
XTLIB = -lXt
X11LIB = -lX11
LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) $(X11LIB)
LDFLAGS =
.c.o:
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) volume
$(PROGRAM):: $(OBJECTS)
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
volume::
(cd help/ ; \
dthelptag $(HELPSRC);)
clean::
rm -f $(PROGRAM)
rm -f $(OBJECTS)
rm -f $(HELPOUT)

View File

@@ -0,0 +1,66 @@
# $XConsortium: Makefile.HP /main/2 1996/05/13 11:30:43 drk $
##########################################################################
#
# Makefile for dthelpdemo
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
##########################################################################
#ifndef CDE_INSTALLATION_TOP
CDE_INSTALLATION_TOP = /usr/dt
#endif
PROGRAM = dthelpdemo
SOURCES = Main.c HelpCache.c HourGlass.c
OBJECTS = Main.o HelpCache.o HourGlass.o
HELPSRC = helpdemo.htg
HELPOUT = help/helpdemo.sdl \
help/helpdemo.err \
help/helpdemo.xrh
CFLAGS = -Aa -D_HPUX_SOURCE
CDEBUGFLAGS = -O
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
X11INCLUDE = -I/usr/include/X11R5
EXTRA_INCLUDES =
INCLUDES = $(DTINCLUDE) $(X11INCLUDE) $(EXTRA_INCLUDES)
DTHELPLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtHelp
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
XTLIB = -L/usr/lib/X11R5 -lXt
X11LIB = -L/usr/lib/X11R5 -lX11
LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) $(X11LIB)
LDFLAGS =
.c.o:
cc -c $(CFLAGS) $(CDEBUGFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) volume
$(PROGRAM):: $(OBJECTS)
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
volume::
(cd help/ ; \
dthelptag $(HELPSRC);)
clean::
rm -f $(PROGRAM)
rm -f $(OBJECTS)
rm -f $(HELPOUT)

View File

@@ -0,0 +1,59 @@
# $XConsortium: Makefile.IBM /main/2 1996/05/13 11:31:00 drk $
##########################################################################
#
# Makefile for dthelpdemo
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
##########################################################################
#ifndef CDE_INSTALLATION_TOP
CDE_INSTALLATION_TOP = /usr/dt
#endif
PROGRAM = dthelpdemo
SOURCES = Main.c HelpCache.c HourGlass.c
OBJECTS = Main.o HelpCache.o HourGlass.o
HELPSRC = helpdemo.htg
HELPOUT = help/helpdemo.sdl \
help/helpdemo.err \
help/helpdemo.xrh
OPTIMIZEDFLAGS = -O
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
X11INCLUDE = -I/usr/include
EXTRA_INCLUDES =
INCLUDES = $(DTINCLUDE) $(X11INCLUDE) $(EXTRA_INCLUDES)
DTHELPLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtHelp
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
XTLIB = -L/usr/lib -lXt
X11LIB = -L/usr/lib -lX11
LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) $(X11LIB)
LDFLAGS =
.c.o:
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) volume
$(PROGRAM):: $(OBJECTS)
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
volume::
(cd help/ ; \
dthelptag $(HELPSRC);)
clean::
rm -f $(PROGRAM)
rm -f $(OBJECTS)
rm -f $(HELPOUT)

View File

@@ -0,0 +1,61 @@
# $XConsortium: Makefile.Sun /main/2 1996/05/13 11:31:16 drk $
##########################################################################
#
# Makefile for dthelpdemo
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
##########################################################################
#ifndef CDE_INSTALLATION_TOP
CDE_INSTALLATION_TOP = /usr/dt
#endif
PROGRAM = dthelpdemo
SOURCES = Main.c HelpCache.c HourGlass.c
OBJECTS = Main.o HelpCache.o HourGlass.o
HELPSRC = helpdemo.htg
HELPOUT = help/helpdemo.sdl \
help/helpdemo.err \
help/helpdemo.xrh
OPTIMIZEDFLAGS = -O
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
X11INCLUDE = -I/usr/openwin/include
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
DTHELPLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtHelp
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
XTLIB = -L/usr/openwin/lib -lXt
X11LIB = -L/usr/openwin/lib -lX11
CPLUSPLUS = -L/usr/lib -lC
EXTRA_LIBS = -L/usr/openwin/lib -lgen
LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) \
$(X11LIB) $(CPLUSPLUS) $(EXTRA_LIBS)
LDFLAGS = -R$(CDE_INSTALLATION_TOP)/lib:/usr/openwin/lib
.c.o:
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) volume
$(PROGRAM):: $(OBJECTS)
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
volume::
(cd help/ ; \
dthelptag $(HELPSRC);)
clean::
rm -f $(PROGRAM)
rm -f $(OBJECTS)
rm -f $(HELPOUT)

View File

@@ -0,0 +1,59 @@
# $XConsortium: Makefile.UXP /main/2 1996/05/13 11:31:31 drk $
##########################################################################
#
# Makefile for dthelpdemo
#
# (Fujitsu.patch applied)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
##########################################################################
#ifndef CDE_INSTALLATION_TOP
CDE_INSTALLATION_TOP = /usr/dt
#endif
PROGRAM = dthelpdemo
SOURCES = Main.c HelpCache.c HourGlass.c
OBJECTS = Main.o HelpCache.o HourGlass.o
HELPSRC = helpdemo.htg
HELPOUT = help/helpdemo.sdl \
help/helpdemo.err \
help/helpdemo.xrh
OPTIMIZEDFLAGS = -O
DTINCLUDE = -I$(CDE_INSTALLATION_TOP)/include
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTSVCLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtSvc
DTHELPLIB = -L$(CDE_INSTALLATION_TOP)/lib -lDtHelp
TTLIB = -L$(CDE_INSTALLATION_TOP)/lib -ltt
XMLIB = -L$(CDE_INSTALLATION_TOP)/lib -lXm
XTLIB = -lXt
X11LIB = -lX11
CPLUSPLUS = -L/usr/lib -lC
EXTRA_LIBS = -lgen -lm
LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTLIB) \
$(X11LIB) $(CPLUSPLUS) $(EXTRA_LIBS)
.c.o:
cc -c $(OPTIMIZEDFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) volume
$(PROGRAM):: $(OBJECTS)
cc -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
volume::
(cd help/ ; \
dthelptag $(HELPSRC);)
clean::
rm -f $(PROGRAM)
rm -f $(OBJECTS)
rm -f $(HELPOUT)

View File

@@ -0,0 +1,57 @@
/* $XConsortium: README /main/2 1996/07/15 14:11:16 drk $ */
dthelpdemo
----------
The demo illustrates the use of the CDE Help system.
Steps required to build and preview the dthelpdemo program:
1) Compile the dthelpdemo and sample help volume using the appropriate
Makefile for your platform:
a) Making both the dthelpdemo and help demo sample volume (helpdemo.sdl):
make -f Makefile.[SUN|HP|IBM]
b) Making only the dthelpdemo program:
make -f Makefile.[SUN|HP|IBM] dthelpdemo
c) Making only the dthelpdemo help volume (helpdemo.sdl):
make -f Makefile.[SUN|HP|IBM] volume
d) Cleaning all the generated files for dthelpdemo and the sample help
volume:
make -f Makefile.[SUN|HP|IBM] clean
2) Make sure the sample help volume "helpdemo.sdl" used by dthelpdemo is
accessable via the DTUSERHELPSEARCHPATH environment variable. To do
this use one of the supplied shell scripts:
. ./helpdemoHelpEnv.sh
or
source ./helpdemoHelpEnv.csh
3) Copy the Dthelpdemo to either $HOME or the default location for app-defaults
files on your system.
4) Run dthelpdemo:
dthelpdemo
5) To clean up all files generated by the build use:
make -f Makefile.[SUN|HP|IBM] clean

View File

@@ -0,0 +1,25 @@
# $XConsortium: Makefile /main/2 1996/05/13 11:31:48 drk $
# ###############################################
# Makefile for building the Help demo volume
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
#
# ###############################################
HELPSRC = helpdemo.htg
HELPVOL = helpdemo.sdl
HELPCHARSET = iso8859.1
all: $(HELPVOL)
$(HELPVOL): $(HELPSRC)
dthelptag $(HELPSRC)
# dthelptag -verbose -charset $(HELPCHARSET) $(HELPSRC)
clean:
dthelptag -clean $(HELPSRC)

View File

@@ -0,0 +1,25 @@
/* $XConsortium: Snapshot.bm /main/2 1995/07/17 14:05:27 drk $ */
#define snap_width 42
#define snap_height 42
static char snap_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x40, 0x20, 0x20, 0x00, 0x00, 0xfc,
0x80, 0x00, 0x10, 0x00, 0x00, 0xfc, 0x00, 0xf1, 0x08, 0x00, 0x00, 0xfc,
0x00, 0xfc, 0x03, 0x00, 0x00, 0xfc, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfc,
0x00, 0xfe, 0x07, 0x00, 0x00, 0xfc, 0x00, 0x9f, 0x0f, 0x00, 0x00, 0xfc,
0x68, 0x6f, 0x6f, 0x05, 0x00, 0xfc, 0x00, 0x6f, 0x0f, 0x00, 0x00, 0xfc,
0x00, 0x9f, 0x0f, 0x00, 0x00, 0xfc, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfc,
0x00, 0xfe, 0x07, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x03, 0x00, 0x00, 0xfc,
0x00, 0xf1, 0xf0, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x18, 0x01, 0x00, 0xfc,
0x40, 0x90, 0xfc, 0x02, 0x00, 0xfc, 0x00, 0xac, 0x06, 0xe4, 0x02, 0xfc,
0x10, 0xfe, 0xff, 0xff, 0x07, 0xfc, 0x00, 0xfc, 0xff, 0xff, 0x07, 0xfc,
0x00, 0x80, 0xff, 0x33, 0x00, 0xfc, 0x00, 0x04, 0x07, 0x12, 0x02, 0xfc,
0x00, 0x00, 0xf3, 0x1c, 0x00, 0xfc, 0x00, 0x04, 0x09, 0x19, 0x02, 0xfc,
0x00, 0x00, 0x35, 0x12, 0x00, 0xfc, 0x00, 0x04, 0x15, 0x12, 0x02, 0xfc,
0x00, 0x00, 0x05, 0x12, 0x00, 0xfc, 0x00, 0x04, 0x05, 0x12, 0x02, 0xfc,
0x00, 0x00, 0x09, 0x11, 0x00, 0xfc, 0x00, 0x04, 0xf3, 0x10, 0x02, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfe, 0x0f, 0xfc, 0x03, 0xfc,
0x00, 0x54, 0x55, 0x55, 0x05, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc};

Binary file not shown.

View File

@@ -0,0 +1,46 @@
/* XPM */
/* $XConsortium: cauticon.pm /main/1 1995/11/08 09:19:51 rswiston $ */
/*********************************************************************
* (c) Copyright 1993, 1994 Hewlett-Packard Company
* (c) Copyright 1993, 1994 International Business Machines Corp.
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
* (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
* Novell, Inc.
**********************************************************************/
static char * cauticon [] = {
/* width height ncolors cpp [x_hot y_hot] */
"31 28 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c black",
"X s iconColor5 m black c blue",
"o s iconColor6 m white c yellow",
/* pixels */
" ..... ",
" .XXXXX. ",
" .XXoooXX. ",
" .XXoooooXX. ",
" .XoooooooX. ",
" .XXoooooooXX. ",
" .XXoooXXXoooXX. ",
" .XoooXXXXXoooX. ",
" .XXoooXXXXXoooXX. ",
" .XXooooXXXXXooooXX. ",
" .XoooooXXXXXoooooX. ",
" .XXoooooXXXXXoooooXX. ",
" .XXooooooXXXXXooooooXX. ",
" .XooooooooXXXooooooooX. ",
" .XXooooooooXXXooooooooXX. ",
" .XXoooooooooXXXoooooooooXX. ",
" .XooooooooooXXXooooooooooX. ",
" .XXooooooooooXXXooooooooooXX. ",
".XXoooooooooooooooooooooooooX. ",
".XXoooooooooooooooooooooooooXX.",
".XooooooooooooXXXooooooooooooX.",
".XoooooooooooXXXXXoooooooooooX.",
".XoooooooooooXXXXXoooooooooooX.",
".XXoooooooooooXXXoooooooooooXX.",
" .XoooooooooooooooooooooooooX. ",
" .XXXoooooooooooooooooooooXXX. ",
" ..XXXXXXXXXXXXXXXXXXXXXXX.. ",
" ....................... "};

Binary file not shown.

View File

@@ -0,0 +1,87 @@
/* XPM */
/* $XConsortium: clouds.xpm /main/3 1995/07/18 17:14:10 drk $ */
static char * clouds_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"296 73 7 1 -1 -1",
/* colors */
" s iconColor2 m white c white",
". s iconColor1 m black c black",
"X s iconColor3 m black c red",
"o s iconColor5 m black c blue",
"O s iconColor8 m black c magenta",
"+ s iconGray6 m black c #646464646464",
"@ s iconColor6 m white c yellow",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ......... ",
" ... .... ",
" .. ... ...... ",
" .. ... ... .... ........ ",
" . .. .. ... .. ... ",
" . .. . .. .. ...... ........ ",
" ....... ...... . . .. .. ... ... .... .......... ",
" ... .. .. ... . . .. . .. .. ... ... .... ......... ",
" .. .. . . .. . . .. ....... .. .. .. ... .. ... ",
" . . . .. . . .. ... . . .. . ... .. ... ",
" . .. .. . . .. .. . . .. . ... .. ",
" . . .. ... .. . . . .. . .. .. ",
" . .. . .. .. . .. . .. . . .. . ",
" . . .. . ... . .. . .. .. ",
" . .. ... . ...... . .... ....... . .. . . ",
" . . .. . ... . . ... .. ... .. . . ",
" . . . ... . .. . . .. . . .. . . ",
" .. . .... . .. . . .. . . .. . . ",
" . . . . . ... . . . .. . . .. . . ... . . ",
" .. .. .. .. . . .. . . ..... . . ",
" .. . . . .. ... . . .. . .. .. . . .. ... . . ",
" ... . .. .... .. .. . .. .. . . .. ... . . ",
" ..... . . . ... . ... . . .. . . .. . . . .. . . ",
" ...... . .. . ... .. .. .. . . . . .. . . ",
" . ........ . . .. . . . . ... . .. . .. .. .. . . ",
" . .... .. .. . .. .... .. . . . ... .. . . . ...... .. . . ",
" . . .. . . . .... . ....... .. .. ... .. . . ",
" . .. .. . ... .. . . . . . . . . ... ...... . ... . ... . . ",
" . .. . . . ..... . . . ... . .. ... .. . ... ........... . .. . . ",
" . . ..... .... . . .. ..... . ... . . . ... . . ..... ...... . . . . . .. . . . .... . . ",
" . .. . . . . ................. .. . . . ... . ............ ... ..... . ..... .. ... .. ",
" . ... ... .......... . . .. . .......... . . . . .............. . ...... . . . . . . ........ . . ..... . ",
" . .. . . .... .. . . . .. . . . ... . . ... .............. . . ......... .......... ............... ",
" . .... ...... . . ... . . . ..... . . ..... . . . ............................ ......... ",
" .............. .. . . . . . . . .... . . ..... ...... . . . . ................ . ",
" ........ . ... .... ...... . . . ............. . . . . . . . ",
" . . ..... . .................. . . ....... . . . . . . . ",
" . . . ............... ........ . . . . . . . . . . . ",
" . . . . . ......... . . . . . . . . . . . . ",
" . . . . . . . . . . . . . . . ",
" . . . . . . . . . . . . . ",
" . . . . . . . . . . . . . ",
" . . . . . . . . . . . . . . ",
" . . . . . . . . . . . . . ",
" . . . . . . . . . . . ",
" XXXXXXXXXXXXXXXXX . . . . . . . . . . ",
" X o oOo X . . . . . . . . . ",
" X o+ Oo X . . . . . . . ",
" X o++ o X . . . . . . . ",
" X o+++ X . . . . ",
" X o++++ X . . ",
" Xooo+++++ o o X . . . . ",
" Xo@@+++++ O O X . . . . . ",
" Xo@@+++++ oOoOoOX . . . . ",
" Xo@@+++++ O O X . . . . ",
" Xo@@+++++ o o X . . ",
" Xooo+++++ X . ",
" X o++++ X . ",
" X o+++ o X ",
" X o++ Oo X ",
" X o+ oOo X ",
" X o oOo X ",
" XXXXXXXXXXXXXXXXX ",
" "};

View File

@@ -0,0 +1,79 @@
/* XPM */
/* $XConsortium: helpShelf.pm /main/3 1995/07/18 17:14:19 drk $ */
/*********************************************************************
* (c) Copyright 1993, 1994 Hewlett-Packard Company
* (c) Copyright 1993, 1994 International Business Machines Corp.
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
* (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
* Novell, Inc.
**********************************************************************/
static char * helpmgr [] = {
/* width height ncolors cpp [x_hot y_hot] */
"48 48 16 1 0 0",
/* colors */
" s none m none c none",
". s bottomShadowColor m black c #636363636363",
"X s iconGray5 m black c #737373737373",
"o s iconGray3 m white c #adadadadadad",
"O s iconGray2 m white c #bdbdbdbdbdbd",
"+ s iconGray4 m white c #949494949494",
"@ s iconGray7 m black c #424242424242",
"# s topShadowColor m white c #bdbdbdbdbdbd",
"$ s iconGray6 m black c #636363636363",
"% s iconColor7 m white c cyan",
"& s iconGray8 m black c #212121212121",
"* s iconColor3 m black c red",
"= s selectColor m white c #737373737373",
"- s iconGray1 m white c #dededededede",
"; s iconColor5 m black c blue",
": s iconColor2 m white c white",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ......... ",
" .XoO++X@# ",
" .$o%o%@@......... $OOooooX& ",
" ......&$%+%X*@&++++++$@.....&$o++++X$&= ",
" .---Oo&$X%X*@@&+X$XXX$@&o;o;&$OXO+o+X&== ",
" .-Oo+X&$%+%X*@&+XXXXX$@&;o@$&$oX++XX@&= ",
" .-Oo+X&$X%X*@@&+XXXXX$@&@$X;&$OXo+XXX&== ",
" .-+X$X&$%+%X*@&+XXXXX$@&;o@$&$oX++XXX&= ",
" .-+X$X&$X%X*@@&:::::::@&@$@;&$OX+@XXX&== ",
" .-Oo+X&$%@%&*@:::::::::&;o@$&$oX++XXX&= ",
" .-+X$X&$X%&*@::::@@@::::@$@;&$OX+$XXX&== ",
" .-+o$X&$%+%X*:::@@XXX:::@o@$&$oX+@XXX&= ",
" .-Oo+X&$X%X*@:::@XXXX:::@$@;&$OX+$XXX&== ",
" .-+X$X&$%+%X*:::@XXXX:::@o@$&$oX+@XXX&= ",
" .-Oo+X&$X%&*@@&@XXXX::::@$X;&$OX+$XXX&== ",
" .-+X$X&$%@%&*@&+XXX::::&;o@$&$oX++XXX&= ",
" .-+o+X&$X%X*@@&+XX::::@&@$X;&$OX++XXX&== ",
" .-+X$X&$%@%&*@&+X::::$@&;o@$&$oX+$XXX&= ",
" .-Oo+X&$X%&*@@&+X:::@@@&@$X;&$oX+XXXX&== ",
" .-Oo+X&$%+%X*@&+X:::@$@&;o@$&$oX++XXX&= ",
" .-Oo+X&$X%X*@@&+XX@@@$@&@$X;&$oX++XXX&== ",
" .-Oo+X&$%+%X*@&+X:::X$@&;o@$&$oX++XXX&= ",
" .-Oo+X&$X%X*@@&+$:::@$@&@$X;&$oX++XXX&== ",
" .-Oo+X&$%+%X*@&+X:::@$@&;o@$&$oX++XXX&= ",
" .-Oo+X&$X%X*@@&+$$@@@$@&@$X;&$oX+@XXX&== ",
" .-oX$X&$%+%X*@&+XXXXX$@&;o@$&$oX++XXX&= ",
" .-Oo+X&$X%X*@@&+$X@@@$@&@$X;&$oX++XXX&== ",
" .-Oo+X&$%+%X*@&+XXXXX$@&;o@$&$oX++XXX&= ",
" .-Oo+X&$X%X*@@&+XXXXX$@&@$X;&$o$++XXX&== ",
" .OOo+X&$%+%X*@&+XXXXX$@&;o@$&$oX++XXX&= ",
" .oo+XX&$XXX$$@&+$XX$@$@&@$@;&$o$XXX$$&== ",
" .&&&&&&&&&&&&&&&&&&&&&&&&&&&& o&&&&&&&= ",
" .############################## == ",
" ======= ",
" = = = = ",
" ",
" ",
" ",
" "};

View File

@@ -0,0 +1,133 @@
/* $XConsortium: integral.bm /main/2 1995/07/17 14:05:42 drk $ */
#define integral_width 214
#define integral_height 57
static char integral_bits[] = {
0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e,
0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x80, 0x07,
0x00, 0x80, 0x01, 0x80, 0x03, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00, 0xc0, 0x0f, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x40, 0x1c, 0x00, 0x80, 0x01, 0x00, 0x01, 0x00,
0x00, 0x03, 0xe0, 0xe3, 0x18, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00,
0x00, 0x80, 0x01, 0x30, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x80, 0x01,
0x00, 0x01, 0x00, 0x00, 0x03, 0x90, 0x83, 0x15, 0x00, 0x00, 0x00, 0x80,
0x60, 0xc0, 0xc1, 0x31, 0x80, 0x01, 0xf0, 0x03, 0x00, 0x00, 0x20, 0x18,
0x70, 0x80, 0x01, 0xf0, 0x71, 0x0c, 0x00, 0x03, 0x08, 0x81, 0x03, 0x00,
0x00, 0x00, 0x00, 0x60, 0x30, 0x03, 0x2b, 0x80, 0x01, 0x30, 0x06, 0x00,
0x00, 0x00, 0x18, 0xcc, 0x80, 0x01, 0xc8, 0xc1, 0x0a, 0x00, 0x03, 0x0c,
0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x03, 0x07, 0x80, 0x01,
0x18, 0x06, 0x00, 0x00, 0x00, 0x0c, 0xc6, 0x80, 0x01, 0x84, 0xc0, 0x01,
0x00, 0x03, 0x86, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00,
0x02, 0xfc, 0x3f, 0x18, 0x06, 0x00, 0x00, 0x00, 0x04, 0x02, 0x80, 0x01,
0x86, 0x80, 0x00, 0x00, 0x03, 0x86, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
0x08, 0x0c, 0x00, 0x02, 0xfc, 0x3f, 0x08, 0x06, 0x00, 0x00, 0x00, 0x02,
0x03, 0x80, 0x01, 0xc3, 0x80, 0x00, 0x00, 0x03, 0xc6, 0x40, 0x03, 0x00,
0x00, 0x00, 0x00, 0x04, 0x0c, 0x00, 0x03, 0x80, 0x01, 0x08, 0x02, 0x00,
0x00, 0x00, 0x01, 0x03, 0x80, 0x01, 0x43, 0xc0, 0x00, 0x00, 0x03, 0xe6,
0x4a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x82, 0x8c, 0x80, 0x06, 0x80, 0x01,
0x0c, 0x03, 0x00, 0x00, 0x80, 0x20, 0x23, 0x80, 0x01, 0x63, 0xa0, 0x01,
0x00, 0x03, 0xdc, 0x39, 0x06, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8c, 0x90,
0x16, 0x80, 0x01, 0x8c, 0x01, 0x00, 0x00, 0xc0, 0x3f, 0x23, 0x80, 0x01,
0x73, 0xa5, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x7f, 0x78, 0x70, 0x0c, 0x80, 0x01, 0x7c, 0x00, 0x80, 0x01, 0xe0, 0x1f,
0x1e, 0x80, 0x01, 0xee, 0x1c, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x01, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x80,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xfc, 0x3f, 0xf0, 0xff,
0xff, 0x81, 0x01, 0xff, 0xff, 0x0f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
0x3f, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x0e, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x01,
0xe0, 0xe7, 0x01, 0x00, 0x03, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xe0, 0xe7, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
0x00, 0x80, 0x01, 0x80, 0xc1, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc1, 0x00, 0x00, 0x00, 0x80,
0x01, 0x00, 0xe0, 0x02, 0x80, 0x01, 0x80, 0x61, 0x00, 0x00, 0x03, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x61, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x80, 0x01, 0x00, 0x33, 0x00,
0x00, 0x03, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x80, 0x01,
0x00, 0x1b, 0x00, 0x00, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0x02, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
0x01, 0x80, 0x01, 0x00, 0x0e, 0x00, 0x00, 0x03, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x01, 0x80, 0x01, 0x00, 0x06, 0x00, 0x00, 0x03, 0xfc,
0x3c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x80, 0x01, 0x00, 0x0f, 0x00,
0x00, 0x03, 0x30, 0x18, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
0x01, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x80, 0x01,
0x80, 0x0d, 0x00, 0x00, 0x03, 0x30, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x81, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6,
0x00, 0x80, 0x01, 0xc0, 0x1c, 0x00, 0x00, 0x03, 0x60, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0xc1, 0x1c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xdc, 0x00, 0x80, 0x01, 0x40, 0x18, 0x00, 0x00, 0x03, 0x60,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x40, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x30, 0x38, 0x00,
0x00, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6,
0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x01,
0x78, 0x7c, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xdc, 0x78, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xb0,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x98, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x00, 0x00, 0x03, 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8f,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00,
0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00};

View File

@@ -0,0 +1,49 @@
/* $XConsortium: noteicon.pm /main/1 1995/11/08 09:20:03 rswiston $ */
/* XPM */
/*********************************************************************
* (c) Copyright 1993, 1994 Hewlett-Packard Company
* (c) Copyright 1993, 1994 International Business Machines Corp.
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
* (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
* Novell, Inc.
**********************************************************************/
static char * noteicon [] = {
/* width height ncolors cpp [x_hot y_hot] */
"32 32 3 1 0 0",
/* colors */
" s none m none c none",
". s iconColor5 m black c blue",
"X s iconGray2 m white c #bdbdbdbdbdbd",
/* pixels */
" ........ ",
" ...XXXXXXXX... ",
" ..XXXXXXXXXXXXXX.. ",
" .XXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXX...XXXXXXXXXX. ",
" .XXXXXXXXX.....XXXXXXXXXX. ",
" .XXXXXXXXXX.....XXXXXXXXXXX. ",
" .XXXXXXXXXX.....XXXXXXXXXXX. ",
" .XXXXXXXXXXXX...XXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
".XXXXXXXXXXXXX....XXXXXXXXXXXXX.",
".XXXXXXXXXXX......XXXXXXXXXXXXX.",
".XXXXXXXXXXX......XXXXXXXXXXXXX.",
".XXXXXXXXXXX......XXXXXXXXXXXXX.",
".XXXXXXXXXXXXX....XXXXXXXXXXXXX.",
".XXXXXXXXXXXXX....XXXXXXXXXXXXX.",
".XXXXXXXXXXXXX....XXXXXXXXXXXXX.",
".XXXXXXXXXXXXX....XXXXXXXXXXXXX.",
" .XXXXXXXXXXXX....XXXXXXXXXXXX. ",
" .XXXXXXXXXXXX....XXXXXXXXXXXX. ",
" .XXXXXXXXXXXX....XXXXXXXXXXXX. ",
" .XXXXXXXXX........XXXXXXXXX. ",
" .XXXXXXXXX........XXXXXXXXX. ",
" .XXXXXXXX........XXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXX. ",
" ..XXXXXXXXXXXXXX.. ",
" ...XXXXXXXX... ",
" ........ "};

View File

@@ -0,0 +1,147 @@
/* XPM */
/* $XConsortium: rooster.xpm /main/3 1995/07/18 17:14:28 drk $ */
static char * rooster_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"148 133 7 1 -1 -1",
/* colors */
" s iconColor2 m white c white",
". s iconColor3 m black c red",
"X s iconColor5 m black c blue",
"o s iconColor8 m black c magenta",
"O s iconGray6 m black c #646464646464",
"+ s iconColor6 m white c yellow",
"@ s iconColor1 m black c black",
/* pixels */
" ",
" ",
" ",
" ................. ",
" . X XoX . ",
" . XO oX . ",
" . XOO X . ",
" . XOOO . ",
" . XOOOO . ",
" .XXXOOOOO X X . ",
" .X++OOOOO o o . ",
" .X++OOOOO XoXoXo. ",
" .X++OOOOO o o . ",
" .X++OOOOO X X . ",
" .XXXOOOOO . ",
" . XOOOO . ",
" . XOOO X . ",
" . XOO oX . ",
" . XO XoX . ",
" . X XoX . @@@ ",
" ................. @@@ @@@ ",
" @@@@@@@@ @ @@@ @ ",
" @@@ @ @ @@@@ @@ @@@@@ ",
" @@@@@ @@ @ @ @ @@ @@ @@@ @@ @@ ",
" @@@@ @ @@@@ @@@@@@@@ @ @ @@ @ @ @@@ @@@@ ",
" @@@ @ @ @@@@@@@@@@@@@@@ @ @ @@ @@ @@@ @@@ @@ ",
" @@ @ @ @@@@@@ @@@ @@@ @ @ @ @@ @ @ @@@ @ ",
" @@@@@@@@@@@@@ @@@ @ @ @@@@ @ @@ @ @ @ @@@ @@ ",
" @@@ @@@ @@ @@ @@ @ @ @@ @ @ @@@ @ @ ",
" @@@ @ @@@@@@@@@@@@@@ @@ @ @ @@ @ @@@ @@@@@ ",
" @@ @@@@@@ @ @ @ @ @ @@@ @@@ @@@ @@ @ @ @@@ @@ ",
" @@@ @@@@@ @ @ @ @ @ @ @ @@@@ @@ @ @@ @@@ @ @ @@@ @ ",
" @@ @@@ @ @ @ @ @ @ @ @ @ @ @@ @@ @ @@ @@@ @ @ @ @@ ",
" @ @@@@ @ @ @ @ @ @ @ @ @ @ @ @@ @@ @ @ @@ @ @ @ @ ",
" @@ @@ @ @ @ @@@@@@@@@@@ @ @ @ @ @@@ @@@ @@ @@@@@ @ @@ ",
" @@ @@ @ @ @@@ @@@@@@ @@@@@@ @ @ @@@ @@ @ @ @@@@@@@@ @ @ @ ",
" @ @@ @ @ @@@ @@@ @@@ @ @@@@@ @ @@@ @ @@@ @@@@@ @ @@@@ @@ ",
" @@ @ @ @ @@@ @@ @@ @ @@@@ @ @@@ @@ @ @@@@ @ @ @@ @ @@ ",
" @@ @@@ @ @ @ @@@ @@@@@@@ @ @@@ @ @@@ @@ @ @ @@@@@@@@@@@@@ @ @@@ @ @@@@@ ",
" @ @@ @ @ @@ @@ @@@@ @@@ @ @@@ @ @@ @@ @ @@ @ @ @ @ @ @@ @ @@@@@ ",
" @@ @@ @ @ @@ @@ @@@ @@@@ @ @@ @@@@ @ @@@ @@ @ @ @ @ @@ @@ @ @@ ",
" @ @ @ @ @@@ @ @@ @@@@ @@@@@ @@@@@@@ @@@ @ @ @ @ @ @@@@ @ @ ",
" @@ @@ @ @ @ @@@@ @@@@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@ @ @ @ @ @ @@@ @@ ",
" @ @ @ @ @@@ @ @@@@@ @ @ @ @@@ @@ @@@@ @@@@@ @ @@ @@ @ @ @ @ @@@@@ @@ ",
" @@ @ @@ @@@@ @ @ @ @ @ @ @@ @@@@ @ @ @@@ @@ @ @ @ @ @@ @@ @@ @ ",
" @@ @ @ @ @@@@@ @ @ @ @ @ @ @ @@@@ @@@@ @@@@@@ @@@ @@@ @ @ @ @ @ @@@@@ @ ",
" @ @ @ @@ @ @ @ @@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@ @ @ @ @ @@ @@@ ",
" @@@ @ @ @ @@@ @ @@ @@@ @@ @ @@@@@ @@ @ @@@ @@@@@ @ @ @ @ @ @ @@ @@ ",
" @@@@@ @ @@@@@ @@@@@@ @ @ @@@ @@@@ @@@@@@@@@@@ @ @@ @ @ @ @@ @@@ @@@@ @ ",
" @ @@ @ @ @@@ @ @@ @@@@@@ @@@@ @@ @@ @ @ @ @ @ @ @@@@@ @@@@@@ ",
" @@@@@@ @ @@@@@ @@ @@@@@@@ @ @@ @@@@@ @@ @ @@@@@@ @ @ @ @ @ @ @ @ @ ",
" @@ @@@@ @ @@@@@@@@@ @@@@ @ @ @@@ @@ @@@@ @@ @ @ @ @ @ @ @ @ @ @ ",
" @ @@@@ @ @ @@@@@ @@@@@@@ @@ @@ @@@@ @@ @@ @@@@ @@ @@ @ @ @ @ @ @ @ @ @ @ ",
" @@ @@@@ @ @@@@@ @@@@@@@@@ @@ @ @@@ @@@ @@ @@ @@ @@ @@ @@ @ @ @ @ @ @ @ @ @ ",
" @ @ @@ @ @ @@@ @@@@ @@@ @ @@@@@@ @@ @@ @@ @@@@ @ @ @ @ @ @ @@ @ @ @ ",
" @@ @@@@ @ @ @@ @@ @ @@@@@@ @@ @ @@ @@@ @@ @ @@@@ @ @ @ @ @ @@ @ @@@@ ",
" @ @@@@@@ @ @@@ @ @@ @@ @@@@ @ @ @@@@ @@ @ @ @ @ @@ @ @ @ @ @@@@@@ ",
" @ @@@@@@ @ @@@@@ @ @ @ @@@ @@ @ @@ @@@ @ @@@ @@@ @ @ @ @ @ @@ @ ",
" @@ @@@@ @ @ @@@ @@ @ @@@@@@@ @@ @ @@@@@@ @ @ @ @ @@ @ @ @ @ @@ ",
" @ @ @@@@ @ @@@@@ @ @ @ @ @@@@@ @ @ @@@@ @ @@ @@ @@@@@ @ @ @ @ @ @ ",
" @@ @@@@@@ @ @@@ @@ @ @ @@@@@ @ @@ @ @@@@ @ @ @ @@@@@ @ @ @ @ @ ",
" @@@@@@@@@@ @ @@@ @ @ @ @ @@@ @@@@ @ @@@ @ @ @ @ @@@ @ @@ @ @ @ ",
" @ @@ @@@ @ @ @@@@ @ @ @@@ @ @ @@ @ @@ @ @@ @ @@ @ @@ @ @ ",
" @@@ @ @@@ @ @@@@@@ @@@ @@@@@@@@@@ @ @@@ @ @@ @ @@ @ @@@@@ @@ @@ ",
" @@ @ @@@@@ @ @@@@@ @@ @@@@ @@@@@@@@ @ @@ @@ @ @ @ @@@@@@@ @@@@@ ",
" @ @ @@@@@@@ @ @@@@ @@ @ @ @@@@ @ @@@ @ @ @@ @@@@ @ @ @@@@ ",
" @@ @@@@@@@@@ @ @@@ @@ @@@@@@ @ @@@ @ @@@ @ @ @@@ @@@ @@ @@@@ @@ ",
" @ @ @@ @@@@@@ @@@@@ @@@ @ @@@ @ @ @ @@@ @ @@@ @@@@@ @ @ @ @ ",
" @ @ @@ @ @@ @@ @ @@@ @@ @@@@ @@@ @ @ @@ @ @@@ @ @ @ @ @@ ",
" @@ @@@ @@ @ @@@ @ @@ @ @@@@ @@@ @ @ @@@@ @@ @@ @ @ @ @ @@ ",
" @ @@@ @ @@ @ @@ @ @@@@ @ @@ @ @ @ @@ @ @ @ @ @ @@ ",
" @@@ @@ @@ @ @@ @@ @@@@ @@@@ @ @ @ @@ @ @ @ @ @ @@ ",
" @@ @@ @ @@@ @@ @ @@@@ @ @ @ @@ @@ @ @ @ @ @@ ",
" @ @@@ @@ @@ @@@@ @@@ @ @@@@@@@@@ @ @ @ @ @@@ ",
" @@@@@ @@ @ @ @@ @@ @@ @ @ @ @ @ @ @ @ @ ",
" @ @@ @ @ @ @ @@ @@@ @ @ @@@@ @ @ @ @@ @ @ @ @ @ ",
" @@@@ @ @@ @@ @ @@ @ @@@@@@ @ @ @ @@@ @ @ @ @@@ ",
" @ @@ @@ @ @@ @ @@ @ @@@@@@ @ @ @ @@@ @ @ @ @@@ ",
" @ @@ @ @ @ @@@@@ @@@ @@ @@@@ @@@@@@@@@@@ ",
" @@@@ @ @@ @ @@ @@ @ @@@@ @@@@@@@ ",
" @ @@ @ @@ @@@ @@ @ @@@@@@@@@@@@@ ",
" @@@@ @ @@ @@ @@ @ @@@@@@@@@@ ",
" @@@ @@@@ @@ @@ @@@@@ @ @ ",
" @@@ @@ @@ @@ @@ @ @@@ ",
" @@@ @@ @@ @@ @ @ ",
" @ @@ @@@@@@@ @@@@@@@@@@@@@@ @@ ",
" @@@ @@@ @@ @@ @@ @@@ ",
" @@@ @@@@ @ @@ @@@ @@ ",
" @@ @@@@@ @@ @@@ @@@@ @@ ",
" @ @@@@@@ @@@ @@ @@ @@ ",
" @@@@ @@ @ @ @@ @ @@ @@ ",
" @@@@ @@ @@ @@@@ @ @ @@@@@@@ @@ ",
" @@@@ @@@@@@ @ @@ @@@@@@@@@ @@@ @ ",
" @@@ @ @ @@ @ @ @ @@ @ @@@ @@ ",
" @@@ @ @ @@ @ @ @ @ @ @ @ @@ @ ",
" @@@@ @ @ @ @@@@ @@@ @ @ @@ @@@ ",
" @@@ @ @ @@@@ @@@ @ @ @ @ @ ",
" @@@ @@ @ @ @ @ @ @ @ @ @@ ",
" @@@ @@@@ @ @ @@@@ @ @ @ @ @ ",
" @@@ @ @ @ @ @ @ @ @ @ @ @@ @ ",
" @@@@@ @@ @@ @ @ @ @ @ @ @ @ ",
" @@@ @ @@ @@ @ @ @@ @ @ @ @ @ ",
" @@@ @@@@ @ @ @ @ @@ @ @ @@ @ @ ",
" @@@@@@@@ @ @ @ @ @@ @ @ @ @@ @ ",
" @@@@@@@@ @ @ @ @ @ @ @ @@ @ @ ",
" @@@ @ @ @@@ @ @@ @ @ @ @@@@@ ",
" @@@ @@@@ @ @ @@ @ @ @ @@@@ ",
" @@@@ @@@@ @@ @ @ @ @ @@@ ",
" @@@@@@@ @ @ @@ @ @ @ @@ @@ ",
" @@@ @@ @ @ @@ @ @ @@ @@ @@ ",
" @@@ @ @ @ @ @@@ @ @ @@ @ @@ ",
" @@@ @@ @ @ @@@ @ @ @ @ @@ ",
" @@@ @ @ @@ @@@ @ @ @ @ @@ ",
" @@ @ @@ @@ @@@ @ @ @@@ @ @ @@ ",
" @@ @ @@ @@ @@@ @ @ @@@ @ @@ @@ ",
" @@@ @@@ @@ @@@ @ @ @@@ @@ @ @@ ",
" @ @ @ @@ @@ @ @ @@@ @ @ @ ",
" @ @ @ @@ @@ @ @ @@@ @ @@ @ ",
" @@ @@ @ @ @ @ @@ @ @ @ ",
" @@@@ @ @ @@ @ @ @ @ ",
" @@@@ @@ @ @ @ @@ @ ",
" @@@@ @@ @@@ @ ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

View File

@@ -0,0 +1,35 @@
/* XPM */
/* $XConsortium: speaker.pm /main/3 1995/07/18 17:14:36 drk $ */
static char * speaker_pm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"22 22 6 1 0 0",
/* colors */
" s none m none c none",
". s iconColor3 m black c red",
"X s iconColor5 m black c blue",
"o s iconColor8 m black c magenta",
"O s bottomShadowColor m black c #636363636363",
"+ s iconColor6 m white c yellow",
/* pixels */
" ",
" ",
" ................. ",
" . X XoX . ",
" . XO oX . ",
" . XOO X . ",
" . XOOO . ",
" . XOOOO . ",
" .XXXOOOOO X X . ",
" .X++OOOOO o o . ",
" .X++OOOOO XoXoXo. ",
" .X++OOOOO o o . ",
" .X++OOOOO X X . ",
" .XXXOOOOO . ",
" . XOOOO . ",
" . XOOO X . ",
" . XOO oX . ",
" . XO XoX . ",
" . X XoX . ",
" ................. ",
" ",
" "};

Binary file not shown.

View File

@@ -0,0 +1,49 @@
/* $XConsortium: warnicon.pm /main/1 1995/11/08 09:20:13 rswiston $ */
/* XPM */
/*********************************************************************
* (c) Copyright 1993, 1994 Hewlett-Packard Company
* (c) Copyright 1993, 1994 International Business Machines Corp.
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
* (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
* Novell, Inc.
**********************************************************************/
static char * warnicon [] = {
/* width height ncolors cpp [x_hot y_hot] */
"31 31 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c black",
"X s iconColor3 m black c red",
"o s iconColor6 m white c yellow",
/* pixels */
" ..... X ",
" .ooooo. XXX ",
" .ooXXXoo. XXXX ",
" .ooXXXXXoo. XXXXXXX ",
" .oXXXXXXXo. XXXXXXX ",
" .ooXXXXXXXooXXXXXXX ",
" .ooXXXXXXXXXoXXXXXX ",
" .oXXXXXXXXXoXXXXX ",
" .ooXXXXXXXXoooXX ",
" .ooXXXXXXXXoooooXXX ",
" .oXXXXXXXXooooooXoX ",
" .ooXXXXXXXooooooXXoo. ",
" .ooXXXXXXXooooooXXXXoo. ",
" .oXXXXXXXooooooXXXXXXo. ",
" .ooXXXXXXooooooXXXXXXXoo. ",
" .ooXXXXXXXXXoooXXXXXXXXXoo. ",
" .oXXXXXXXXXXooooXXXXXXXXXo. ",
" .ooXXXXXXXXXooooooXXXXXXXXoo. ",
".ooXXXXXXXXXoooooXXXXXXXXXXXo. ",
".ooXXXXXXXXoooooXXXXXXXXXXXXoo.",
".oXXXXXXXXooooXXXXXXXXXXXXXXXo.",
".oXXXXXXXXoooXXXXXXXXXXXXXXXXo.",
".oXXXXXXXoooXXXXXXXXXXXXXXXXXo.",
".ooXXXXXoooooXXXXXXXXXXXXXXXoo.",
"..oXXXXooooXXXXXXXXXXXXXXXXXo. ",
" .oooooooXXXXXXXXXXXXXXXXXooo. ",
" ..oXXXooooooooooooooooooo.. ",
" XXXX.................... ",
" XXX ",
" XX ",
" X "};

Binary file not shown.

View File

@@ -0,0 +1,852 @@
<!entity HELPlogo FILE "helpShelf.pm">
<!entity SnapshotIcon FILE "Snapshot.xwd">
<!entity SoundIcon FILE "speaker.pm">
<!entity head-down FILE "head-down.xwd">
<!entity sunset FILE "sunset.xwd">
<!entity tribe FILE "tribe.xwd">
<!entity dead-jim FILE "deadjim.xwd">
<!entity computer-bee FILE "bee.xwd">
<!entity bugs-bunny FILE "bugs.bunny.xwd">
<!entity rooster FILE "rooster.xpm">
<!entity clouds FILE "clouds.xpm">
<!entity space-shuttle FILE "shuttle2.xwd">
<!entity integral FILE "integral.bm">
<!entity snapshot FILE "Snapshot.bm">
<!entity clock FILE "clock.xwd">
<!entity xload FILE "xload.xwd">
<!entity ApplicationWithHelp FILE "AppWithHelp.xwd">
<!entity QuickHelpModel FILE "QuickHelp.xwd">
<!entity GeneralHelpModel FILE "GeneralHelp.xwd">
<!entity HELPICONENT FILE "helpicon.ent">
&HELPICONENT;
<!entity HELPLANGENT FILE "helplang.ent">
&HELPLANGENT;
<!entity HELPCHARENT FILE "helpchar.ent">
&HELPCHARENT;
<metainfo>
<title>CDE Help System Demo Volume
<copyright>
<image><term nogloss|Common Desktop Environment (CDE)|
Copyright &copy; 1993, 1994 Hewlett-Packard Company
Copyright &copy; 1993, 1994 International Business Machines Corp.
Copyright &copy; 1993, 1994 Novell, Inc.
Copyright &copy; 1993, 1994 Sun Microsystems, Inc.
<\image>
<abstract>
Demonstration help volume for the CDE Help System.
<\abstract>
<!-- CLASSESDEF -->
<otherfront id=CLASSESDEF><head>Widget Class
A type of widget. A widget's !!class!! determines what methods will be
called for it and what instance variables it has.
<procedure>See Also
<list bullet tight>
* <xref SUBCLASSESDEF>
* <xref WIDGETDEF>
<\list>
<!-- SUBCLASSESDEF -->
<otherfront id=SUBCLASSESDEF><head>Widget Subclass
A more specific class, used to create related widget objects. A widget
!!subclass!! has its own features plus many of the features of its
superclasses.
<procedure>See Also
<list bullet tight>
* <xref CLASSESDEF>
* <xref WIDGETDEF>
<\list>
<!-- WIDGETDEF -->
<otherfront id=WIDGETDEF><head>Widget
An individual component used within a graphical user interface.
Widgets are like "building blocks" -- push buttons, scroll bars, data
fields -- used to build application interfaces.
<procedure>See Also
<list bullet tight>
* <xref CLASSESDEF>
* <xref SUBCLASSESDEF>
<\list>
<otherfront id=gifted-topic><head>He's dead, Jim!
<figure nonumber
entity=dead-jim ghyperlink="dtaction Play sounds/deadjim.snd&" glinktype=Execute>
<\figure>
<otherfront id=head-down-topic><head>Nope, nothing in here.
<figure nonumber entity=head-down
ghyperlink="dtaction Play sounds/clunk.snd &" glinktype=Execute>
<\figure>
<otherfront id=sunset-topic><head>Online!
<figure nonumber
entity=sunset ghyperlink="dtaction Play sounds/haleluja.snd &" glinktype=Execute>
<\figure>
<otherfront id=tribe-topic><head>Learning products cost too much?
<figure nonumber
entity=tribe ghyperlink="dtaction Play sounds/tarzan.snd &" glinktype=Execute>
<\figure>
<otherfront id=whats-up-doc-topic><head>What's up?
<figure nonumber entity=bugs-bunny ghyperlink="dtaction Play sounds/whatsup.snd &" glinktype=Execute>
<\figure>
<!--
<esc>
<figure file graphics/whatsup.xwd link "dtaction Play sounds/whatsup.snd &" typelink 3>
</figure>
<\esc>
-->
<\metainfo>
<hometopic>The CDE Help System
<p indent gentity=HELPlogo gposition=left>
<emph>Welcome to a self-paced demonstration of the
CDE Help System!<\emph>
<newline>What better way to learn about a hypermedia system, than by using the
system itself. This demo lets you explore information and
capabilities about CDE Help according to your interests.
<idx|getting started|
To get started, choose one of the hyperlinks below (they're underlined):
<list bullet tight>
* <xref overview>
* <xref features>
* <xref design>
<\list>
<note>
This help volume serves as a self-paced demonstration of the CDE Help System,
as well as supports the various help entry points used within the
``dthelpdemo'' sample program. ``dthelpdemo'' is sample OSF/Motif client
intented to show how the CDE Help System can be used. The source code
for both the ``dthelpdemo'' client as well as this help volume are
present on your system.
<\note>
<!-- FEATURES -->
<s1 id=features>A Self-Guided Tour
<idx|touring CDE Help|
This tour demonstrate the major features of the CDE Help System. You may
explore them in any order.
While exploring, to return to a previous topic, choose the Backtrack
command button. To return to the top-level topic, choose Contents.
The indented list at the top of the help window tells you where you are in
the topic hierarchy and lists the sutopics for the current topic. You can
go directly to any topic in the path by selecting its title.
<!-- OVERVIEW -->
<list bullet tight>
* <xref HYPERTEXT>
* <xref DEFINITIONS>
* <xref GRAPHICS>
* <xref AUDIO>
* <xref COMMANDS>
* <xref COMMUNICATION>
<\list>
<s2 id=OVERVIEW>General Overview
CDE Help is an online help system, primarily intended for OSF/Motif
applications. The following sections provide a summary of major CDE Help
features. (For more details, refer to "<xref DESIGN>.")
<otherhead>Hyperlinks
Hyperlinks are the key feature in a hypermedia system.
CDE Help supports four types of hyperlinks:
<list bullet>
* <emph>Standard hypertext jumps<\emph> immediately move the reader to
a different location within the online information. By default, these
types of jumps replace the contents of the existing window. However,
the author may specify jumps that should be displayed in a "new view."
(For more detail, refer to "<xref HYPERTEXT>.")
* <emph>Definition links<\emph> temporarily show the definition of a key
word or phrase. Although intended for keyword-to-glossary lookup,
definition links have many other useful applications. (For an example,
refer to "<link hyperlink="Intromgr _HOMETOPIC" JumpNewView>Introducing the CDE Desktop.<\link>.")
* <emph>Command links<\emph> execute an author-defined command to
invoke an action beyond the domain of the help system. Any shell
command can be executed, so this feature is really the "open door" to
the outside world for CDE Help authors. (To try examples, refer to
"<xref COMMANDS>.")
* <emph>Application-defined links<\emph> (To try some examples, refer
to "<xref COMMUNICATION>.")
<\list>
<otherhead>Embedded Graphics
CDE Help supports the following graphics formats. To view samples
of a few of these formats, refer to "<xref GRAPHICS>."
<list bullet>
* !!X Window Dump!! (xwd) color graphics. This format is
created using the standard <computer>xwd<\computer> utility program.
Many popular graphics tools for the X Window System also support this
format.
* !!X Pixmap!! (xpm) color graphics. This is an emerging
standard format for multicolor icons.
* <emph>X Bitmap<\emph> (bitmap) two-tone graphics. The foreground
and background of these images tracks the foreground and background
used to display text in the display area. This format can be created
and edited using the standard <computer> bitmap<\computer> utility
program.
* <emph>TIFF<\emph> (tagged image file format) black and white and
greyscale graphics. This is perhaps the most common format in the
personal computer graphics industry.
<\list>
<otherhead>Interactive Keyword Index
CDE Help's keyword index functions much like the index in a book,
listing words the author marked as important. Unlike the index in a book,
this online index accelerates the reader's ability to jump to references
because each word or phrase is a link to the location (or list of
locations) where it is used.
<otherhead>Help Registration
When an application is installed, it may install its help files in any
location. Optionally, applications can participate in a "registration"
process that enables two important features for online help:
<list bullet>
* <emph>Cross-application links<\emph> that allow hyperlinks to jump
from one application's help to another's.
* <emph>System-wide access to help<\emph> provided by the <link
hyperlink="browser _HOMETOPIC" JumpNewView>CDE Help Manager<\link>.
<\list>
<note>
See the <link dtappintegrate man>dtappintegrate Man Page<\link>
for specific information on registration of application help volumes.
<\note>
<!-- HYPERTEXT -->
<s2 id=HYPERTEXT>Hyperlinks for Navigation
The "hyper" in hypermedia is what separates hypermedia systems
from online documentation systems. Unlike books that have a linear
organization, hyperlinks let authors create many different, nonlinear
organizations, including "webs," "trees," "circles," and "chains."
In CDE Help, the basis for all organizations is a hierarchy.
However, authors can augment the structure by creating links between
related topics that are in different branches of the hierarchy.
<otherhead>Simple Jumps (Same Window)
Most hyperlinks are simple jumps within the same application help. These
simple jumps reuse the same window, overwriting the previous topic with
each jump.
<otherhead>Jumping to a New Window
When an author creates a new link, she can specify that the link should
open a new help window. The application is responsible for creating and
managing the new window.
<p gentity=SnapshotIcon glinktype=JumpNewView ghyperlink=HYPERTEXT>
For example, this camera icon is a hyperlink to this topic on
hypertext. However this link specifies that a new window is desired.
Effectively, this link takes a "snapshot" of this window. You may use
this snapshot link to create as many demo windows as you want. The demo
will continue to run until you close the last one.
<otherhead>Knowing Where You Are
Near the top of the general help window is an indented list of
topic titles. This list represents your current position (highlighted entry)
with respect to its related topics.
You can go directly to any of the related topics in the list by selecting its
title.
<otherhead>Knowing Where You've Been
CDE Help keeps track of each topic you've viewed in each help
window. To go back to previous topics, you can:
<list bullet>
* Choose Backtrack from the Navigate menu or from the pop-up menu in the
dipslay area to immediately go back to the previous topic.
* Choose History from the Search menu to display a list of all the topics
you've viewed. To return to a topic, select its title in the list.
<\list>
<!-- DEFINITIONS -->
<s2 id=DEFINITIONS>Pop-Up Definition Links
A special class of hyperlink is provided for temporarily displaying
"elaborative" information. Most frequently, this feature is used to
display the glossary definition for a key word or phrase.
For example, the following paragraph has three definition links.
<p indent>OSF/Motif graphical user interfaces are constructed using <link
WIDGETDEF Definition>widgets<\link>. Widgets are organized by form and
function into <link CLASSESDEF Definition>classes<\link> and <link
SUBCLASSESDEF Definition>subclasses<\link>.
The use of definition links is not limited to defining key words and
phrases. For instance, you could use this feature to provide a <link
hyperlink="Intromgr quick-start" JumpNewView>visual overview<\link> of the
application.
<!-- GRAPHICS -->
<s2 id=GRAPHICS>A Graphics Sampler
The following images demonstrated the diverse capabilities of CDE Help's
graphics support. Some of these images are oversized -- you
may want to resize the window to get a better view.
<idx|Graphics Sampler|
<!--
<esc>
<figure file graphics/color.xwd>
</figure>
<newline>
<newline>
<\esc>
<esc>
<figure file graphics/hutlogo.xwd>
</figure>
<newline>
<newline>
<\esc>
-->
<figure nonumber entity=computer-bee>
<\figure>
<otherhead>We Do Bitmaps!
<figure nonumber entity=integral>
<\figure>
<!--
<esc>
<figure file graphics/libAnne.bm>
</figure>
<newline>
<newline>
<\esc>
-->
<!--
<esc>
<figure file graphics/hplogo.bm>
</figure>
<newline>
<newline>
<\esc>
-->
<figure nonumber entity=snapshot>
<\figure>
<otherhead>We Do Grayscale!
<figure nonumber entity=space-shuttle>
<\figure>
<s2 id=Audio>An Audio Sampler
<idx|Audio Sampler|
<figure nonumber
entity=rooster ghyperlink="dtaction Play sounds/rooster.snd &" glinktype=Execute>
<\figure>
<figure nonumber
entity=clouds ghyperlink="dtaction Play sounds/thunder.snd &" glinktype=Execute>
<\figure>
<otherhead>Pop-Up Windows With Graphical Audio Links
<list bullet>
* <link whats-up-doc-topic Definition>Whats up?<\link>
* <link gifted-topic Definition>Our customer, after getting too many
manuals ...<\link>
<!--
* <link head-down-topic Definition>Our competitors ...<\link>
-->
* <link sunset-topic Definition>I found it ...<\link>
<!--
* <link tribe-topic Definition>A coffee talk ...<\link>
-->
<\list>
<otherhead>Some Text-Based Audio Links
<list plain loose>
* <link hyperlink="dtaction Play sounds/monkey.snd &" Execute>
Monkey<graphic entity=SoundIcon>
<\link>
* <link hyperlink="dtaction Play sounds/chord.snd &" Execute>
Pleasant Chord<graphic entity=SoundIcon>
<\link>
* <link hyperlink="dtaction Play sounds/hal2.snd &" Execute>
Hal 9000 <graphic entity=SoundIcon>
<\link>
* <link hyperlink="dtaction Play sounds/attack.snd &" Execute>
Prepare to attack! <graphic entity=SoundIcon>
<\link>
* <link hyperlink="dtaction Play sounds/beback.snd &" Execute>
I'll be back!<graphic entity=SoundIcon>
<\link>
<\list>
<!-- COMMANDS -->
<s2 id=COMMANDS>Executing Commands
<idx|Command execution|
Each of the following icons is a hyperlink assigned to a particular
system command. If the program in the command is installed on your
system, clicking the icon will invoke it.
<p gentity=clock ghyperlink="DtHelpExecAlias xclockAlias" glinktype=Execute>This
icon starts the ``xclock'' program if it is
installed on your system, and in your PATH.
<p gentity=xload ghyperlink="DtHelpExecAlias xloadAlias" glinktype=Execute>This
icon starts the ``xload'' program if it is installed on your
system, and in your PATH.
Command links do not have to be graphics. For example, this link
executes the <link EXECUTE hyperlink="DtHelpExecAlias dtCalcAlias">CDE
Calculator<\link> program (if it is installed on your system).
<note>
The above Execute examples take advantage of Execution Aliases in the
hyperlinks. When execution alises are defined in the help volume, and
supported in the hosting client, they execute directly when selected by the
user.
To learn more general information about supporting execution hyperlinks and
aliases, refer to the <book|CDE Author's and Programmer's Guide|.
<\note>
<!-- COMMUNICATION -->
<s2 id=COMMUNICATION>Two-Way Communication
<idx|Two way communication|
A help system that is tightly coupled with an application has more
potential for presenting relevant, context-sensitive information. The
architecture of the ...
<otherhead>Help System Controlling the Application
Since CDE Help is intended for use in OSF/Motif-based applications, it takes
advantage of the !!callback!! mechanism used by all other user interface
components. Help callbacks notify the application when certain events
occur within a help window.
Perhaps the most powerful use of help callbacks is the use of
!!application-defined links!!. These are link types invented by the
application developer that can have any meaning.
For example, a developer may want to create a special type of link to
play video clips. Each time the user selects one of these links, the
application is notified so it can do whatever is necessary to play the
appropriate video.
<xref controlTestId>
<otherhead>Application Controlling the Help System
As a toolkit, all CDE Help facilites are under control of the
application. All help windows are transient windows of the
application. The application can control the number of help windows,
the color schemes used within them and other options provided by the
CDE Help libraries.
<s3 id=controlTestId> Sample Application Defined Links
The following collection of hypertext links demonstrate how the CDE Help
System can control the hosting application. These links are authored
as <emph>AppDefined<\emph> links, and require special support in the hosting
client
<note>
These example !!application-defined!! links are supported by the ``dthelpdemo''
program. (If you view this help volume with another application, such as
dthelpview, the links are ignored.)
<\note>
<otherhead>Controlling <emph>YOUR<\emph> client:
<list bullet>
* <link hyperlink="100" type=AppDefined> Move dthelpdemo's window<\link>
* <link hyperlink="101" type=AppDefined> Resize dthelpdemo's window<\link>
<\list>
<!-- design -->
<s1 id=design>The CDE Help System Design
<!-- MODEL -->
<list bullet tight>
* <xref MODEL>
* <xref TOOLKIT>
* <xref API>
* <xref HELPTAG>
<\list>
<s2 id=MODEL>The CDE Help System Use Model
<idx|use model|
<idx|prime directive|
The overriding principle for providing online help is:
<p indent>!!Get the user back on task as quickly and successfully as
possible.!!
To fulfill this "prime directive," online help must be easily accessible
within whatever applications the user has chosen to accomplish the task.
The CDE Help System is cast in a supporting roll. That is,
the help system's job is to function as part of the application with
the purpose of making the user successful with the rest of the
application.
<figure nonumber entity=ApplicationWithHelp>
<\figure>
The idea of keeping the help system tightly coupled with the application
improves the user's <emph>perceived proximity<\emph>. User are more likely
to be successful and productive if they feel like devations to get help
don't take them far from the application.
CDE Help supports two types of <emph> entry
points<\emph> into online help:
<list bullet>
* <link QUICKHELP>Quick help<\link> presents a focussed node of
information for a given context.
* <link GENERALHELP>General help<\link> presents navigable information
that the user can explore.
<\list>
<!-- QUICKHELP -->
<s3 id=QUICKHELP>Quick Help
Quick help information is optimized -- by writing style and
organization -- to get the user back on task with minimal interruption.
<figure entity=QuickHelpModel>
<\figure>
Quick help has a high level of context sensitivity and contains very
specific information. By design, the content and presentation of
quick help information should <emph>not<\emph> encourage the user to
"explore."
So, what if a quick help entry point doesn't fill the user's need?
<emph>Progressive disclosure<\emph> sequences are designed to maintain
a sense of proximity, while exploring an author-constrained path of
nodes that incrementally provide more information for the given
context. (This concept is sometimes called "progressive revelation"
or "progressively-more-help.")
Typical uses of quick help include:
<list bullet>
* Messages (errors, status, etc.).
* Context-sensitive help (invoked with F1 key or Help command button).
* Each step in a constrained progressive disclosure sequence.
* Item help.
* Application copyright and version.
* Simple help on help.
<\list>
<!-- GENERALHELP -->
<s3 id=GENERALHELP>General Help
General help information is anything that isn't quick help. Usually,
general help is intended to be explored (such as this demo).
<figure nonumber entity=GeneralHelpModel>
<\figure>
Typical uses of general help include:
<list bullet>
* Application overview.
* A follow-up to quick help -- that is, when quick help isn't enough.
* Application tutorials.
* Application training modules.
* Complete help on help (when quick help on help isn't enough).
<\list>
<!-- TOOLKIT -->
<s2 id=TOOLKIT>The Toolkit Architecture
Application developers add help components to their
software just as they add any other window. The CDE Help
programmer's toolkit defines new widget classes for the various help
windows. There are many advantages to this toolkit architecture:
<list bullet>
* There's no dependency on a separate help server process -- the
"help system" is part of the application.
* Response time is dramatically faster.
* Memory usage is significantly less (which increases overall system
performance).
* User's perceive help to be part of the application, making it seem
like less of a deviation to ask for help.
* There's no need for an inter-process communication (IPC) mechanism.
The application interacts with CDE Help components just as it does
with all other user interface components.
* There's no new programming paradigm -- all CDE Help
components are accessed using the same object-oriented
interface used for OSF/Motif (via the Xt Intrinsics and convenience
functions).
<\list>
Since the CDE Help toolkit is based exclusively on standards (ANSI
C, Xlib, Xt Intrinsics, and OSF/Motif), it is as portable as any OSF/Motif
application can be.
<!-- HELPTAG -->
<s2 id=API>CDE Help API Summary
<idx|API summary|
The CDE Help System's Application Programmers Interface (API) includes the
following functions:
<list bullet>
* Functions for creating and working with help dialogs:
<list plain tight>
* <link DtHelpDialog man>DtHelpDialog()<\link>
* <link DtHelpQuickDialog man>DtHelpQuickDialog()<\link>
* <link DtCreateHelpDialog man>DtCreateHelpDialog()<\link>
* <link DtCreateHelpQuickDialog man>DtCreateHelpQuickDialog()<\link>
* <link DtHelpQuickDialogGetChild man>DtHelpQuickDialogGetChild()<\link>
<\list>
* Function for implementing item help mode:
<list plain tight>
* <link DtHelpReturnSelectedWidgetId man>DtHelpReturnSelectedWidgetId()<\link>
<\list>
* Function for specifying the message catalog for the Xvh library:
<list plain tight>
* <link DtHelpSetCatalogName man>DtHelpSetCatalogName()<\link>
<\list>
<\list>
<!-- HELPTAG -->
<s2 id=HELPTAG>Authoring with HelpTag
Authoring for CDE Help is based on the HelpTag markup language and
accompanying software. HelpTag is based on the SMGL standard (ISO
8879).
<otherhead>The HelpTag Markup Language
Online help is written in ordinary text files. You use special codes, or tags to
markup elements within the information. The tags form a markup language called
CDE HelpTag.
The CDE HelpTag markup language defines a hierarchy of elements that define
high-level elements such as chapters, sections, and subsections, and low-level
elements such as paragraphs, lists, and emphasized words.
To learn more general information about authoring with CDE HelpTag, refer to
the <book|CDE Author's and Programmer's Guide|.
<otherhead>The HelpTag Software
The HelpTag software is responsible for converting the author's files
into the run-time help files that are shipped with the application.
The software is invoked with a command like this:
<ex>dthelptag %%basename%%.htg<\ex>
A run-time help file is generated. If the application that
the help is intended for is ready to use, the help volume can be tested
immediately.
If the application is not ready, or the help is not associated with a
particular application, it can be viewed using the <book|dthelpview| preview
client.

View File

@@ -0,0 +1,3 @@
search=/usr/dt/dthelp/dthelptag
search=/usr/dt/dthelp/dthelptag/icons
search=./graphics

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,15 @@
##########################################################################
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
#
# Csh script to set DTHELPUSERSEARCHPATH to find
# the help volume used by helpdemo.
#
# To activate, execute "source ./helpdemoHelpEnv.csh"
#
##########################################################################
set PWD = `pwd`
setenv DTHELPUSERSEARCHPATH $PWD/help/%H:$PWD/help/%H.hv:$PWD/help/%H.sdl

View File

@@ -0,0 +1,15 @@
# $XConsortium: helpdemoHelpEnv.sh /main/2 1995/07/19 17:09:31 drk $
##########################################################################
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
#
# Sh and Ksh script to set DTHELPUSERSEARCHPATH to find
# the help volume used by helpdemo.
#
# To activate, execute ". ./helpdemoHelpEnv.sh"
#
##########################################################################
export DTHELPUSERSEARCHPATH="$PWD/help/%H:$PWD/help/%H.hv:$PWD/help/%H.sdl"

View File

@@ -0,0 +1,17 @@
XCOMM $XConsortium: Imakefile /main/6 1996/04/21 19:29:32 drk $
PROGRAMS = dthelpgen
DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
-DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
INCLUDES = -I.
DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
LOCAL_LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB)
SYS_LIBRARIES = DtClientSysLibs $(CXXLIB)
EXTRA_INCLUDES = -I$(DTHELPSRC)
SRCS = helpgen.c version.c
OBJS = helpgen.o version.o
ComplexProgramTarget($(PROGRAMS))

View File

@@ -0,0 +1,139 @@
#! /usr/dt/bin/dtksh
#####################################################################
### File: dthelpgen.dtsh
###
### Default Location: /usr/dt/bin/dthelpgen.dtsh
###
### Purpose: Display a 'working' dialog for dthelpgen.
###
### Description: This shell script provides a graphical interface
### to notify the user that the help browser is
### being (re)generated.
###
### Invoked by: The the dthelpgen application.
###
### Product: @(#)Common Desktop Environment 1.0
###
### Note: Please do not modify this file.
### Later product updates will overwrite this file.
###
### Revision: $XConsortium: dthelpgen.dtsh /main/3 1995/11/07 13:13:18 rswiston $
###
### Defect(s):
###
#####################################################################
set -u
##################################################################
### Internal Globals
###
### Actually, most variables in this script are global.
###
### Most are defined in the Initialize() routine.
###
##################################################################
COMMAND_NAME=dthelpgen
#
# Exit/Return codes
#
SUCCESS=0
USAGE_EXIT=2
NO_INIT_FILE_ERR=5
failure_flag=$SUCCESS
##################################################################
### Initialize()
###
### Initialize the tile, msg and cat id.
###
##################################################################
Initialize()
{
CAT_MESG_TITLE=""
CAT_MESG_MSG=""
catopen CAT_ID $COMMAND_NAME
}
##################################################################
### Exit()
###
### All exits should go through this routine.
###
##################################################################
Exit() {
exit $1
}
################## GUI Callbacks ####################
#
# This is the callback for the 'OK' button. It will exit the program
#
OkButton()
{
XtUnmanageChild $_DT_WORKING_DIALOG_HANDLE
XSync $DISPLAY True
Exit 0
}
#
# This is the callback if the timer goes off
#
# TimerCB()
# {
#
# CAT_MESG_MSG=${CAT_MESG_MSG}"."
# XtSetValues $_DT_WORKING_DIALOG_HANDLE \
# messageString:"${CAT_MESG_MSG}"
#
# XtAppAddTimeOut TIMER_ID $TIMER_CONTEXT $TIMER_TIME "TimerCB" ""
#
# }
##################################################################
### Main()
###
### Display a 'working' dialog for dthelpgen.
###
##################################################################
Initialize
if [[ -r /usr/dt/lib/dtksh/DtFuncs.dtsh ]]
then
. /usr/dt/lib/dtksh/DtFuncs.dtsh
else
echo Sorry--cannot find initialization file.
Exit $NO_INIT_FILE_ERR
fi
XtInitialize TOPLEVEL dthelpgenDialog Dthelpgen ""
XtDisplay DISPLAY $TOPLEVEL
catgets CAT_MESG_TITLE $CAT_ID 2 6 "${COMMAND_NAME}"
catgets CAT_MESG_MSG $CAT_ID 2 7 \
"Generating browser information. Please wait."
DtkshDisplayWorkingDialog "${CAT_MESG_TITLE}" \
"${CAT_MESG_MSG}" \
"OkButton" "" "" \
DIALOG_PRIMARY_APPLICATION_MODAL
XtManageChild $_DT_WORKING_DIALOG_HANDLE
# XtWidgetToApplicationContext TIMER_CONTEXT $_DT_WORKING_DIALOG_HANDLE
# XtGetMultiClickTime TIMER_TIME $DISPLAY
# XtAppAddTimeOut TIMER_ID $TIMER_CONTEXT $TIMER_TIME "TimerCB" ""
XtMainLoop
#
# Never reached.
#
##################### eof ##############################

View File

@@ -0,0 +1,158 @@
$ $XConsortium: dthelpgen.msg /main/3 1995/11/07 13:13:35 rswiston $
$ *****************************************************************************
$
$ ***** NOTE FOR MESSAGE CATALOG TRANSLATORS *****
$
$ There may be three types of messages in this file:
$
$ 1. Messages that appear in dialogs or are displayed to the user.
$
$ These messages are the default and they should ALL BE LOCALIZED.
$ Note that these messages do NOT have any identification (see the
$ comments for type 2 and 3 below).
$
$ 2. Messages that only appear in the DT error log file ($HOME/.dt/errorlog).
$
$ The localization of these messages is OPTIONAL. These messages are
$ identified by the following:
$
$ MESSAGES xx-yy IN SET zz WILL ONLY APPEAR IN THE DT ERRORLOG FILE
$
$ 3. Messages that should not be localized.
$
$ These messages are identified by the following:
$
$ DO NOT TRANSLATE or CHANGE or LOCALIZE MESSAGES xx-yy from set zz
$
$ ***** END (NOTE FOR MESSAGE CATALOG TRANSLATORS) *****
$
$ ******************************************************************************
$
$set 1
$
$ _DtMessage 1 is the usage message
$
$ Localize only the words 'directory', 'name', and 'language'.
$ 'directory' means the directory name in which the resulting files
$ will be placed. 'name' mean what base name to give the files placed
$ in 'directory'. 'language' means which localized versions of help files
$ to look for.
$
1 %s -dir <directory> [-generate] [-file <name>] [-lang <language>]\n
$
$ Mesages 2-18 are error messages.
$
2 %s: Element of %s is not a directory\n
3 %s: Access denied for directory %s\nTry running as super user?\n
4 %s: Element of %s does not exist\n
5 %s: File system containing %s is full\n
6 %s: Unable to access %s - error status number %d\n
7 %s: File system containing %s is read only\n
8 %s: Requires root permission to write to %s\n
9 %s: Write to %s invalid\n
10 %s: Search Path empty\n
11 %s: 'title' resource missing\n
12 %s: 'abstract' resource missing\n
13 %s: 'volumes' resource missing\n
14 %s: 'character' set resource missing\n
15 %s: Destination directory missing\n
16 %s: Zero Family files found\n
17 %s: Zero Volume files found\n
18 %s: Unable to access current working directory - error status number %d\n
19 %s: Unable to allocate memory\n
20 %s: Invalid system language specified %s\n
$
$set 2
$
$ Specifies the character set used to create this file
$
$ This must be localized for the various languages. That is
$ for Japanese shift JIS, it would be 'ja_JP.SJIS'; for Japanese
$ EUC it would be 'ja_JP.eucJP'. For files written using
$ HP Roman8 character set it would be '<lang+terr>.HP-ROMAN8', etc.
$ The set of allowable locale strings can be found in
$ /usr/dt/config/svc/CDE.lcx
$
1 C.ISO-8859-1
$
$ Specifies the title for the browser.
$ It is used in the body of text displayed to the user.
$
2 Welcome to Help Manager
$
$ Specifies the body of text displayed in the browser.
$
$ When localizing, DO NOT alter any text between the "<" and ">" pairs.
$ That is - DO NOT localize the tags such as <ABBREV> and <PARAGRAPH>.
$ DO localize the text between the tags.
$
3 <ABBREV>Welcome to the Help Manager</ABBREV> \
<PARAGRAPH>Each of the titles listed below represents a\n \
<ANGLE italic> product family</>\n \
that has installed and registered its online help. Each title\n \
(and icon) is a hyperlink that lists the help within the family.</> \
<PARAGRAPH after 0 first 1 left 3 label "<CHAR C.DT-SYMBOL-1><0xB7></>"> \
To display a list of the help available for a product family, choose\n \
its title (underlined text) or icon.</PARAGRAPH> \
<PARAGRAPH after 0 first 1 left 3 label "<CHAR C.DT-SYMBOL-1><0xB7></>"> \
Within a product family, find the help you want to view, then\n \
choose its title.</PARAGRAPH> \
<PARAGRAPH first 1 left 3 label "<CHAR C.DT-SYMBOL-1><0xB7></>"> \
If you need help while using help windows, press F1.</PARAGRAPH>
$
$ Specifies the Volume Title
$
4 Help - Top Level
$
$ Specifies the preamble to the help file if no volumes or family files
$ are found.
$
$ When localizing, DO NOT alter any text between the "<" and ">" pairs.
$ That is - DO NOT localize the tags such as <ABBREV> and <PARAGRAPH>.
$ DO localize the text between the tags.
$
5 <ABBREV>Welcome to the Help Manager</ABBREV> \
<LINK 0 "Help4Help How-To-Register-Help"> \
<TYPE serif><WEIGHT bold><SIZE 12><ANGLE italic> \
Note:\ \ \ No Help Registered \
</SIZE></WEIGHT></TYPE></></LINK> \
<PARAGRAPH leftindent 3 firstindent 3> \
<WEIGHT bold>No product families have registered their online help \
files for browsing.</> Help may be available for some applications by \
choosing Help commands directly within the applications.</>
$
$ Specifies the title to use in the dthelpgen dtksh dialog.
$
6 dthelpgen
$
$ Specifies the message to display in the dthelpgen dtksh dialog.
$ This message indicates that dthelpgen is building (or rebuilding)
$ the browser information.
$
7 Generating browser information. Please wait.
$
$set 3
$
$ ******* Text Formatting Templates ********
$ DO NOT TRANSLATE THESE MESSAGES
$ DO NOT CHANGE THESE MESSAGES
$ DO NOT LOCALIZE THESE MESSAGES
$
1 <TOPIC charset %s>
2 <TITLE><TYPE serif><WEIGHT bold><SIZE 14>%s</SIZE></WEIGHT></TYPE></TITLE>
3 <PARAGRAPH before 1 first 1 left 1>
4 <CHARACTERSET %s>
5 <TYPE serif><WEIGHT bold><SIZE 12><ANGLE italic>%s</></></></>
6 <PARAGRAPH before 1 first 1 left 1 graphic %s glink %s gtypelink 0>
7 <PARAGRAPH before 1 first 1 left 1 graphic %s glink "%s %s" gtypelink 1>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,172 @@
# $XConsortium: nlsMsgChk.txt /main/2 1996/11/11 11:28:27 drk $
helpgen is a non-Motif (terminal based) application. It creates three files,
<filename>.hv, <filename>00.ht and <filename>01.ht in the target directory.
The default target directory is '/usr/dt/help/<language>/Browser'. The
default <filename> is 'browser'.
1) To get the usage message, type
helpgen -help
tests message:
Set 1 _DtMessage: 1
2) Specify a name using the -dir option that is not a directory. To do
this, create a file in the /tmp directory, then use it as if it were
a directory. For example, type:
touch /tmp/testdir
helpgen -dir /tmp/testdir/testfile
Remove /tmp/testdir when finished.
tests message:
Set 1 _DtMessage: 2
3) Attempt to write to a directory that only the super-user (system
administrator) has permission to write to. To do this, check that
the directory /usr/vhelp/help exists and that write permission is
denied for the average user. For example, type:
ll -d /usr/vhelp/help.
If the permission shown do not allow the average user access, continue.
Otherwise, change them to disallow access or create and/or use another
directory that does not allow the average user access.
Upon finding a suitable directory for testing, type the following (this
example assumes /usr/vhelp/help is being used):
helpgen -dir /usr/vhelp/help/testdir.
tests message:
Set 1 _DtMessage: 3
4) Specify a name using the -dir option that is not a directory. To do
this, create a file in the /tmp directory, then use it as if it were
a directory. For example, type:
touch /tmp/testdir
helpgen -dir /tmp/testdir
Remove /tmp/testdir when finished.
tests message:
Set 1 _DtMessage: 6
5) Attempt to overwrite an existing read-only browser volume. To do this,
check the permissions on the files in the directory
/usr/dt/help/C/Browser. If the permissions allow the average user
to access these files, change the permissions to allow only the
super-user access. Type:
helpgen
tests message:
Set 1 _DtMessage: 8
6) Create a browser volume in a read-only directory. To do this, create
a directory without write permission. For example, type:
mkdir /tmp/testdir
chmod -w /tmp/testdir
Now use the read-only directory as the parameter to the -dir option:
helpgen -dir /tmp/testdir
Remove /tmp/testdir when finished.
tests message:
Set 1 _DtMessage: 9
7) Copy a family file to a work directory. Edit the file and remove
the 'title' resource from the file. Symbolically link this file
to the directory /usr/vhelp/families/<language>. Type:
helpgen -dir /tmp
Remove the symbolic link in /usr/vhelp/families/<language> and
the browser volumes in /tmp when done.
tests message:
Set 1 _DtMessage: 11
8) Copy a family file to a work directory. Edit the file and remove
the 'abstract' resource from the file. Symbolically link this file
to the directory /usr/vhelp/families/<language>. Type:
helpgen -dir /tmp
Remove the symbolic link in /usr/vhelp/families/<language> and
the browser volumes in /tmp when done.
tests message:
Set 1 _DtMessage: 12
9) Copy a family file to a work directory. Edit the file and remove
the 'volumes' resource from the file. Symbolically link this file
to the directory /usr/vhelp/families/<language>. Type:
helpgen -dir /tmp
Remove the symbolic link in /usr/vhelp/families/<language> and
the browser volumes in /tmp when done.
tests message:
Set 1 _DtMessage: 13
10) Copy a family file to a work directory. Edit the file and remove
the 'charSet' resource from the file. Symbolically link this file
to the directory /usr/vhelp/families/<language>. Type:
helpgen -dir /tmp
Remove the symbolic link in /usr/vhelp/families/<language> and
the browser volumes in /tmp when done.
tests message:
Set 1 _DtMessage: 14
11) Move the directory /usr/vhelp/familes to /usr/vhelp/familes.save.
NOTE: This requires the user to be super-user.
Type:
helpgen -dir /tmp
Restore the families directory by moving /usr/vhelp/families.save
to /usr/vhelp/families.
tests message:
Set 1 _DtMessage: 16
12) Move the directory /usr/vhelp/volumes to /usr/vhelp/volumes.save.
NOTE: This requires the user to be super-user.
Type:
helpgen -dir /tmp
Restore the families directory by moving /usr/vhelp/volumes.save
to /usr/vhelp/volumes.
tests message:
Set 1 _DtMessage: 17
13) Run helpgen as super-user. Run helpview. The application helpview,
can either be run from a terminal window or by selecting the icon on
the front panel showing books with a question mark over them. The
window that displays should show the browser volume created by helpgen.
The text localized in set 2 messages 2 through 4 should be displayed
at the top of the window. The text between the <ABBREV> tags in
set 2 message 3 will be displayed in the topic hierarchy. The last
hypertext link (underlined titles) should be from set 2 message 5.
The text will use the fonts associated with the character set
specified in set 2 message 1. Check that the app-defaults file
for helpview contains a font set associated with the character
set specified.
tests messages:
Set 2 Messages: 1-5
Set 3 Messages: 1-7

View File

@@ -0,0 +1,14 @@
# $XConsortium: nlsREADME.txt /main/2 1996/11/11 11:28:59 drk $
#############################################################################
#
# Component: helpgen
#
############################################################################
_DtMessage catalog source:
File name: helpgen.msg
Target: /usr/lib/nls/%l/%t/helpgen.cat
#
#

View File

@@ -0,0 +1,28 @@
/********************************************************
Copyright (c) 1988 by the Massachusetts Institute of Technology
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the names of
Hewlett-Packard or M.I.T. not be used in advertising or publicity
pertaining to distribution of the software without specific, written
prior permission.
(c) Copyright 1996 Digital Equipment Corporation.
(c) Copyright 1988,1996 Hewlett-Packard Company.
(c) Copyright 1996 International Business Machines Corp.
(c) Copyright 1996 Sun Microsystems, Inc.
(c) Copyright 1996 Novell, Inc.
(c) Copyright 1996 FUJITSU LIMITED.
(c) Copyright 1996 Hitachi.
********************************************************/
#include <include/hpversion.h>
#ifndef lint
version_tag("dthelpgen: $XConsortium: version.c /main/5 1996/08/30 15:39:04 drk $")
#endif /* lint */

View File

@@ -0,0 +1,259 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! File: Dthelpprint
!!! Default Location: /usr/dt/app-defaults/C/Dthelpprint
!!! Other OK locations: /usr/lib/X11/app-defaults/Dthelpprint
!!! $HOME/Dthelpprint
!!!
!!! (c) Copyright 1993, 1994 Hewlett-Packard Company
!!! (c) Copyright 1993, 1994 International Business Machines Corp.
!!! (c) Copyright 1993, 1994 Sun Microsystems, Inc.
!!! (c) Copyright 1993, 1994 Novell, Inc.
!!!
!!! Purpose: dthelpprint application default resources
!!! Description:
!!! This file contains a list of all resources supported by
!!! dthelpprint and their default or useful alternative values.
!!! To customize dthelpprint operation, these resources can be
!!! specified on the dthelpprint command line, added to the current
!!! session database, or a put in a private Dthelpprint app-default
!!! file in $HOME/Dthelpprint.
!!! Used by: dthelpprint
!!! Product: @(#)Common Desktop Environment 1.0
!!! Revision: $XConsortium: Dthelpprint /main/3 1995/11/07 13:15:21 rswiston $
!!! Warning:
!!! Because of how dthelpprint merges resources from various
!!! locations, a resource should only be uncommented when it
!!! is explicitly set. Defining a resource without a value
!!! actually overrides a previous value, which may cause
!!! incorrect behaviour.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! if defined, sends rsrc db and commands to stdout
!dthelpprint.debugHelpPrint:
!Dthelpprint.DebugHelpPrint:
!!! what resources to use
!application.name:
!Application.Name:
!application.class:
!Application.Class:
!!! what resources to use
!dthelpprint.name: dthelpprint
!Dthelpprint.Name:
!dthelpprint.class: Dthelpprint
!Dthelpprint.Class:
!!! how to print
!dthelpprint.display:
!Dthelpprint.Display:
!dthelpprint.printer:
!Dthelpprint.Printer:
!dthelpprint.copies: 1
!Dthelpprint.Copies:
!dthelpprint.outputFile:
!Dthelpprint.OutputFile:
!!! what content to print; In most cases, these options should be
!!! specified on the command line, not in a resource file
! valid types are: 0: help topic, 1: string, 2: man page, 3: file, 4: dyn str
!dthelpprint.helpType: 0
!Dthelpprint.HelpType:
!dthelpprint.helpVolume:
!Dthelpprint.HelpVolume:
!dthelpprint.locationId: _hometopic
!Dthelpprint.LocationId:
! if defined, will cause only the entire volume, including TOC & Index to be printed
!dthelpprint.allTopics:
!Dthelpprint.AllTopics:
! if defined, will cause only the the topic and its subtopics to be printed
!dthelpprint.subTopics:
!Dthelpprint.SubTopics:
! if defined, will cause only the TOC to be printed
!dthelpprint.toc:
!Dthelpprint.Toc:
! if defined, will cause only the Index to be printed
!dthelpprint.index:
!Dthelpprint.Index:
!dthelpprint.manPage:
!Dthelpprint.ManPage:
!dthelpprint.stringData:
!Dthelpprint.StringData:
!dthelpprint.helpFile:
!Dthelpprint.HelpFile:
!dthelpprint.topicTitle:
!Dthelpprint.TopicTitle:
!!! Page Headers and Footers
!!! The examples headers and footers given below are suitable for printing
!!! double-sided pages with 72 column content size. By tuning for even
!!! and odd pages, the page number and section number can always appear
!!! at the outside of a bound page, for example.
!!!
!!! These are the set of possible symbolic values that may be used
!!! in header/footer strings.
!!!
!!! $LMARGIN left margin blanks
!!! $TODAY today's date
!!! $VOLDATE date on the help volume file
!!! $VOLUME volume name
!!! $VOLUMEFILL filler for fixed sized 50 column volume name
!!! $TOPIC section topic title
!!! $TOPICFILL filler for fixed sized 50 column section topic title
!!! $PAGENUM page number
!!! $PAGENUMFILL filler for fixed sized 3 column page number
!!! $SECTNUM section number or name
!!! $SECTNUMFILL filler for fixed sized 8 column section number or name
!dthelpprint.evenTocHeader:$LMARGIN $VOLUMEFILL$VOLUME\n\n
!Dthelpprint.EvenTocHeader:
!dthelpprint.oddTocHeader:$LMARGIN$VOLUME\n\n
!Dthelpprint.OddTocHeader:
!dthelpprint.evenTocFooter:\n$LMARGIN$SECTNUM\n
!Dthelpprint.EvenTocFooter:
!dthelpprint.oddTocFooter:\n$LMARGIN $SECTNUM\n
!Dthelpprint.OddTocFooter:
!dthelpprint.evenBodyHeader:$LMARGINPage $PAGENUM$PAGENUMFILL $VOLUMEFILL$VOLUME\n\n
!Dthelpprint.EvenBodyHeader:
!dthelpprint.oddBodyHeader:$LMARGIN$VOLUME$VOLUMEFILL $PAGENUMFILLPage $PAGENUM\n\n
!Dthelpprint.OddBodyHeader:
!dthelpprint.evenBodyFooter:\n$LMARGINSection $SECTNUM$SECTNUMFILL $TOPICFILL$TOPIC\n
!Dthelpprint.EvenBodyFooter:
!dthelpprint.oddBodyFooter:\n$LMARGIN$TOPIC$TOPICFILL $SECTNUMFILLSection $SECTNUM\n
!Dthelpprint.OddBodyFooter:
!dthelpprint.evenIndexHeader:$LMARGINPage $PAGENUM$PAGENUMFILL $VOLUMEFILL$VOLUME\n\n
!Dthelpprint.EvenIndexHeader:
!dthelpprint.oddIndexHeader:$LMARGIN$VOLUME$VOLUMEFILL $PAGENUMFILLPage $PAGENUM\n\n
!Dthelpprint.OddIndexHeader:
!dthelpprint.evenIndexFooter:\n$LMARGIN$SECTNUM\n
!Dthelpprint.EvenIndexFooter:
!dthelpprint.oddIndexFooter:\n$LMARGIN $SECTNUM\n
!Dthelpprint.OddIndexFooter:
!!! print activity control
!dthelpprint.echoCommand: echo
!Dthelpprint.EchoCommand:
!! echo arg values order: STRING string
!dthelpprint.echoArgs: "%s"
!Dthelpprint.FoldArgs:
!dthelpprint.foldCommand: fold
!Dthelpprint.FoldCommand:
!! fold arg values order: INT column width, STRING filename
!for HP, IBM: dthelpprint.foldArgs: -s -w %d %s
!for Sun (-s not suported): dthelpprint.foldArgs: -w %d %s
!dthelpprint.foldArgs: -w %d %s
!Dthelpprint.FoldArgs:
!dthelpprint.prCommand: pr
!Dthelpprint.PrCommand:
!! pr arg values order: STRING topic title, INT page height, STRING filename
!dthelpprint.prArgs: -h "%s" -f -l%d %s
!Dthelpprint.PrArgs:
!! pr offset arg value order: INT col offset
!dthelpprint.prOffsetArg: -o%d
!Dthelpprint.PrOffsetArg:
!dthelpprint.manCommand: man
!Dthelpprint.ManCommand:
!! man arg values order: STRING man page
!dthelpprint.manArgs: %s
!Dthelpprint.ManArgs:
!! redirect arg value order: STRING filename
!dthelpprint.redirectCmdAndArgs: > %s
!Dthelpprint.RedirectCmdAndArgs:
!dthelpprint.lpCommand:
!Dthelpprint.LpCommand:
!dthelpprint.shCommand: /usr/dt/bin/dthelpprint.sh
!Dthelpprint.ShCommand:
!! iconv arg values: STRING toCodeset, STRING fromCodeset, STRING srcFile, STRING destfile
!dthelpprint.iconvCmdAndArgs: iconv -f %s -t %s %s > %s
!Dthelpprint.IconvCmdAndArgs:
!!! paper info resources
! valid values: help_papersize_letter, help_papersize_a4, help_papersize_b5,
! help_papersize_legal, help_papersize_executive
!dthelpprint.printer.paperSize: help_papersize_letter
!Dthelpprint.Printer.PaperSize:
!dthelpprint.printer.colsWidth:
!Dthelpprint.Printer.ColsWidth:
!dthelpprint.printer.rowsHeight:
!Dthelpprint.Printer.RowsHeight:
!dthelpprint.printer.colsLeftMargin:
!Dthelpprint.Printer.ColsLeftMargin:
!dthelpprint.printer.colsRightMargin:
!Dthelpprint.Printer.ColsRightMargin:
!dthelpprint.printer.rowsTopMargin:
!Dthelpprint.Printer.RowsTopMargin:
!dthelpprint.printer.rowsBottomMargin:
!Dthelpprint.Printer.RowsBottomMargin:
!!! example of a printer-specific set of info resources
! valid values: help_papersize_letter, help_papersize_a4, help_papersize_b5,
! help_papersize_legal, help_papersize_executive
!dthelpprint.printer.name: laser_c4
!Dthelpprint.Printer.Name:
!dthelpprint.printer.laser_c4.paperSize: help_papersize_letter
!Dthelpprint.Printer.laser_c4.PaperSize:
!dthelpprint.printer.laser_c4.colsWidth:
!Dthelpprint.Printer.laser_c4.ColsWidth:
!dthelpprint.printer.laser_c4.rowsHeight:
!Dthelpprint.Printer.laser_c4.RowsHeight:
!dthelpprint.printer.laser_c4.colsLeftMargin:
!Dthelpprint.Printer.laser_c4.ColsLeftMargin:
!dthelpprint.printer.laser_c4.colsRightMargin:
!Dthelpprint.Printer.laser_c4.ColsRightMargin:
!dthelpprint.printer.laser_c4.rowsTopMargin:
!Dthelpprint.Printer.laser_c4.RowsTopMargin:
!dthelpprint.printer.laser_c4.rowsBottomMargin:
!Dthelpprint.Printer.laser_c4.RowsBottomMargin:

View File

@@ -0,0 +1,407 @@
#ifdef DOC
/*===================================================================
$FILEBEG$: HelpPrintI.h
$COMPONENT$: dthelpprint
$PROJECT$: Cde1
$SYSTEM$: HPUX 9.0; AIX 3.2; SunOS 5.3
$REVISION$: $TOG: HelpPrintI.h /main/6 1998/04/06 13:16:19 mgreess $
$CHGLOG$:
$COPYRIGHT$:
(c) Copyright 1993, 1994 Hewlett-Packard Company
(c) Copyright 1993, 1994 International Business Machines Corp.
(c) Copyright 1993, 1994 Sun Microsystems, Inc.
(c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
==$END$==============================================================*/
#endif /*DOC*/
#ifndef HELPPRINTI_H
#define HELPPRINTI_H
#define TMPFILE_PREFIX "phlp" /* max len of 4 chars */
#define TMPFILE_SUFFIX ".txt" /* max len of 4 chars */
#define MAX_COMMAND_LENGTH 5120 /* max system can handle */
/* Message catalog support */
#ifndef NO_MESSAGE_CATALOG
# define _DTGETMESSAGE(set, number, str) _DtHPrGetMessage(set, number, str)
#else
# define _DTGETMESSAGE(set, number, str) str
#endif
/* These are for Xt emulation */
#if 0
typedef char * XtPointer;
typedef char * String;
typedef int Cardinal;
typedef char Boolean;
# define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
# define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
#else
# include <X11/Intrinsic.h>
#endif
#define XtRefOffset(struct_base,field_offset) \
((XtPointer *)(((unsigned long)struct_base) + (field_offset)))
typedef struct __DtHPrHeadFoot
{
String evenHeader; /* even-page header when printing volume */
String oddHeader; /* odd-page header when printing volume */
String evenFooter; /* even-page footer when printing volume */
String oddFooter; /* odd-page footer when printing volume */
} _DtHPrHeadFoot;
/* This is the list of all options that controls
the operation of dthelprint. */
typedef struct __DtHPrOptions {
String display;
String printer;
String copies;
String outputFile;
String paperSize;
String rsrcname;
String rsrcclass;
String helpType;
String helpVolume;
String locationId;
String allTopics;
String subTopics;
String oneTopic;
String toc; /* table of contents of a help volume */
String index; /* index of a help volume */
String frontMatter; /* frontMatter of a help volume */
_DtHPrHeadFoot tocHF; /* header / footer of table of contents */
_DtHPrHeadFoot bodyHF; /* header / footer of body */
_DtHPrHeadFoot indexHF; /* header / footer of index */
String manPage;
String stringData;
String helpFile;
String topicTitle;
String echoCommand;
String echoArgs;
String foldCommand;
String foldArgs;
String prCommand;
String prArgs;
String prOffsetArg;
String manCommand;
String manArgs;
String redirectCmdAndArgs;
String lpCommand;
String shCommand;
String iconvCmdAndArgs;
String debugHelpPrint;
char * programName; /* value from argv[0] */
int colsWidth; /* full width of page */
int rowsHeight; /* full height of page */
int colsLeftMargin; /* blank cols to leave on left */
int colsRightMargin; /* blank cols to leave on right */
int rowsTopMargin; /* blank rows to leave on top */
int rowsBottomMargin; /* blank rows to leave on bottom */
int colsTextWidth; /* width - margins */
int rowsTextHeight; /* height - margins */
int colsAdjLeftMargin; /* minus cols that printer cant print on */
int colsAdjRightMargin; /* minus cols that printer cant print on */
int rowsAdjTopMargin; /* minus rows that printer cant print on */
int rowsAdjBottomMargin; /* minus rows that printer cant print on */
} _DtHPrOptions, * _DtHPrOptionsPtr;
/* application name and class */
#ifdef RASTER_PRINT
#define HELPPRINT_APPLICATION_NAME "dthelpprintrst"
#define HELPPRINT_APPLICATION_CLASS "Dthelpprintrst"
#else
#define HELPPRINT_APPLICATION_NAME "dthelpprint"
#define HELPPRINT_APPLICATION_CLASS "Dthelpprint"
#endif
/* These constants are used throughout dthelpprint to specify
command line args, resources, and arg and resource values
AC: arg class
AN: arg name
RC: rsrc class
RN: rsrc name
RV: rsrc value
*/
#define RN_appname "application.name"
#define RC_appname "Application.Name"
#define RN_appclass "application.class"
#define RC_appclass "Application.Class"
#define AN_display "-display"
#define AC_display "-Display"
#define RN_display ".display"
#define RC_display ".Display"
#define AN_printer "-printer"
#define AC_printer "-Printer"
#define RN_printer ".printer"
#define RC_printer ".Printer"
#define AN_copies "-copies"
#define AC_copies "-Copies"
#define RN_copies ".copies"
#define RC_copies ".Copies"
#define AN_outputFile "-outputFile"
#define AC_outputFile "-OutputFile"
#define RN_outputFile ".outputFile"
#define RC_outputFile ".OutputFile"
#define AN_paperSize "-paperSize"
#define AC_paperSize "-PaperSize"
#define RN_paperSize ".paperSize"
#define RC_paperSize ".PaperSize"
#define AN_xrm "-xrm"
#define AN_rsrcname "-name"
#define AC_rsrcname "-Name"
#define RN_rsrcname ".name"
#define RC_rsrcname ".Name"
#define AN_rsrcclass "-class"
#define AC_rsrcclass "-Class"
#define RN_rsrcclass ".class"
#define RC_rsrcclass ".Class"
#define AN_helpType "-helpType"
#define RN_helpType ".helpType"
#define RC_helpType ".HelpType"
#define AN_helpVolume "-helpVolume"
#define RN_helpVolume ".helpVolume"
#define RC_helpVolume ".HelpVolume"
#define AN_locationId "-locationId"
#define RN_locationId ".locationId"
#define RC_locationId ".LocationId"
#define AN_toc "-toc"
#define RN_toc ".toc"
#define RC_toc ".Toc"
#define AN_index "-index"
#define RN_index ".index"
#define RC_index ".Index"
#define AN_frontMatter "-frontMatter"
#define RN_frontMatter ".frontMatter"
#define RC_frontMatter ".FrontMatter"
#define AN_allTopics "-allTopics"
#define RN_allTopics ".allTopics"
#define RC_allTopics ".AllTopics"
#define AN_recurse "-R" /* VUE 3.0 helpprint name for -subTopics */
#define RN_recurse "-recurse" /* VUE 3.0 helpprint name for .subTopics */
#define RC_recurse "-Recurse" /* VUE 3.0 helpprint name for .SubTopics */
#define AN_subTopics "-subTopics"
#define RN_subTopics ".subTopics"
#define RC_subTopics ".SubTopics"
#define AN_oneTopic "-oneTopic"
#define RN_oneTopic ".oneTopic"
#define RC_oneTopic ".OneTopic"
#define AN_manPage "-manPage"
#define RN_manPage ".manPage"
#define RC_manPage ".ManPage"
#define AN_stringData "-stringData"
#define RN_stringData ".stringData"
#define RC_stringData ".StringData"
#define AN_helpFile "-helpFile"
#define RN_helpFile ".helpFile"
#define RC_helpFile ".HelpFile"
#define AN_topicTitle "-topicTitle"
#define AC_topicTitle "-TopicTitle"
#define RN_topicTitle ".topicTitle"
#define RC_topicTitle ".TopicTitle"
/* page header and footer */
#define AN_evenTocFooter "-evenTocFooter"
#define RN_evenTocFooter ".evenTocFooter"
#define RC_evenTocFooter ".EvenTocFooter"
#define AN_oddTocFooter "-oddTocFooter"
#define RN_oddTocFooter ".oddTocFooter"
#define RC_oddTocFooter ".OddTocFooter"
#define AN_evenTocHeader "-evenTocHeader"
#define RN_evenTocHeader ".evenTocHeader"
#define RC_evenTocHeader ".EvenTocHeader"
#define AN_oddTocHeader "-oddTocHeader"
#define RN_oddTocHeader ".oddTocHeader"
#define RC_oddTocHeader ".OddTocHeader"
#define AN_evenBodyFooter "-evenBodyFooter"
#define RN_evenBodyFooter ".evenBodyFooter"
#define RC_evenBodyFooter ".EvenBodyFooter"
#define AN_oddBodyFooter "-oddBodyFooter"
#define RN_oddBodyFooter ".oddBodyFooter"
#define RC_oddBodyFooter ".OddBodyFooter"
#define AN_evenBodyHeader "-evenBodyHeader"
#define RN_evenBodyHeader ".evenBodyHeader"
#define RC_evenBodyHeader ".EvenBodyHeader"
#define AN_oddBodyHeader "-oddBodyHeader"
#define RN_oddBodyHeader ".oddBodyHeader"
#define RC_oddBodyHeader ".OddBodyHeader"
#define AN_evenIndexFooter "-evenIndexFooter"
#define RN_evenIndexFooter ".evenIndexFooter"
#define RC_evenIndexFooter ".EvenIndexFooter"
#define AN_oddIndexFooter "-oddIndexFooter"
#define RN_oddIndexFooter ".oddIndexFooter"
#define RC_oddIndexFooter ".OddIndexFooter"
#define AN_evenIndexHeader "-evenIndexHeader"
#define RN_evenIndexHeader ".evenIndexHeader"
#define RC_evenIndexHeader ".EvenIndexHeader"
#define AN_oddIndexHeader "-oddIndexHeader"
#define RN_oddIndexHeader ".oddIndexHeader"
#define RC_oddIndexHeader ".OddIndexHeader"
/* star resource matches all comers */
#define STAR_RN_topicTitle "*topicTitle"
#define STAR_RC_topicTitle "*TopicTitle"
/* print activity control */
#define RN_echoCommand ".echoCommand"
#define RC_echoCommand ".EchoCommand"
#define RN_echoArgs ".echoArgs"
#define RC_echoArgs ".EchoArgs"
#define RN_foldCommand ".foldCommand"
#define RC_foldCommand ".FoldCommand"
#define RN_foldArgs ".foldArgs"
#define RC_foldArgs ".FoldArgs"
#define RN_prCommand ".prCommand"
#define RC_prCommand ".PrCommand"
#define RN_prArgs ".prArgs"
#define RC_prArgs ".PrArgs"
#define RN_prOffsetArg ".prOffsetArg"
#define RC_prOffsetArg ".PrOffsetArg"
#define RN_manCommand ".manCommand"
#define RC_manCommand ".ManCommand"
#define RN_manArgs ".manArgs"
#define RC_manArgs ".ManArgs"
#define RN_redirectCmdAndArgs ".redirectCmdAndArgs"
#define RC_redirectCmdAndArgs ".RedirectCmdAndArgs"
#define RN_lpCommand ".lpCommand"
#define RC_lpCommand ".LpCommand"
#define RN_shCommand ".shCommand"
#define RC_shCommand ".ShCommand"
#define RN_iconvCmdAndArgs ".iconvCmdAndArgs"
#define RC_iconvCmdAndArgs ".IconvCmdAndArgs"
/* resources */
#define RN_colsWidth ".colsWidth"
#define RC_colsWidth ".ColsWidth"
#define RN_rowsHeight ".rowsHeight"
#define RC_rowsHeight ".RowsHeight"
#define RN_colsLeftMargin ".colsLeftMargin"
#define RC_colsLeftMargin ".ColsLeftMargin"
#define RN_colsRightMargin ".colsRightMargin"
#define RC_colsRightMargin ".ColsRightMargin"
#define RN_rowsTopMargin ".rowsTopMargin"
#define RC_rowsTopMargin ".RowsTopMargin"
#define RN_rowsBottomMargin ".rowsBottomMargin"
#define RC_rowsBottomMargin ".RowsBottomMargin"
/* turn on to debug */
#define RN_debugHelpPrint ".debugHelpPrint"
#define RC_debugHelpPrint ".DebugHelpPrint"
/* to determine if debug is on */
#define STAR_RN_debugHelpPrint "*debugHelpPrint"
#define STAR_RC_debugHelpPrint "*DebugHelpPrint"
/* not currently used */
#define RN_leading ".leading"
#define RC_leading ".Leading"
#define STAR_RN_helpColorUse "*helpColorUse"
/* resource values */
#define RV_letter "help_papersize_letter"
#define RV_a4 "help_papersize_a4"
#define RV_b5 "help_papersize_b5"
#define RV_legal "help_papersize_legal"
#define RV_executive "help_papersize_executive"
#define RV_bitonal "bitonal"
/*========= Prototypes ===========*/
int _DtHPrPrintStringData(
Display *dpy,
_DtHPrOptions * options);
int _DtHPrPrintDynamicStringData(
Display *dpy,
_DtHPrOptions * options);
int _DtHPrPrintManPage(
Display *dpy,
_DtHPrOptions * options);
int _DtHPrPrintHelpFile(
Display *dpy,
_DtHPrOptions * options);
int _DtHPrPrintHelpTopic(
Display * dpy,
_DtHPrOptions * options);
void _DtHPrBuildResourceDb(
int * argc,
char * * argv,
XrmDatabase * appDB,
Display * * pDpy);
void _DtHPrGetResources(
XrmDatabase db,
_DtHPrOptions * options);
char * _DtHPrCreateTmpFile(
char * prefix,
char * suffix);
int _DtHPrGenFileOrPrint(
_DtHPrOptions * options,
char * userfile,
char * printCommand);
void _DtHPrGetPrOffsetArg(
_DtHPrOptions * options,
char * argStr);
char * _DtHPrGetMessage(
int set,
int n,
char *s);
#endif /* DTHELPRPINTP_H */

View File

@@ -0,0 +1,22 @@
XCOMM $TOG: Imakefile /main/11 1997/05/02 12:24:38 samborn $
PROGRAMS = dthelpprint
INCLUDES = -I. -I$(DTHELPSRC)
DEFINES = -DDTLIB $(ICONV_INBUF_DEFINE) \
-DCDE_CONFIGURATION_TOP='"$(CDE_CONFIGURATION_TOP)"' \
-DCDE_INSTALLATION_TOP='"$(CDE_INSTALLATION_TOP)"'
DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
LOCAL_LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB)
/* Sun needs the widechar library */
#ifdef SunArchitecture
SYS_LIBRARIES = DtClientSysLibs -lw $(CXXLIB)
#else
SYS_LIBRARIES = DtClientSysLibs $(CXXLIB)
#endif
SRCS = Main.c Initialize.c PrintUtil.c PrintTopics.c PrintManStrFile.c version.c
OBJS = Main.o Initialize.o PrintUtil.o PrintTopics.o PrintManStrFile.o version.o
ComplexProgramTarget($(PROGRAMS))

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,132 @@
#ifdef DOC
/*===================================================================
$FILEBEG$: Main.c
$COMPONENT$: dthelpprint
$PROJECT$: Cde1
$SYSTEM$: HPUX 9.0; AIX 3.2; SunOS 5.3
$REVISION$: $TOG: Main.c /main/6 1998/04/06 13:16:42 mgreess $
$CHGLOG$:
$COPYRIGHT$:
(c) Copyright 1993, 1994 Hewlett-Packard Company
(c) Copyright 1993, 1994 International Business Machines Corp.
(c) Copyright 1993, 1994 Sun Microsystems, Inc.
(c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
==$END$==============================================================*/
#endif /*DOC*/
/*
* Draws several different width lines on the same y axis
* to determine how the lines are drawn.
*/
#include <stdio.h>
#include <locale.h>
#include <X11/Xlib.h>
#include <X11/Xresource.h>
#include <Dt/Help.h>
#include "HelpPrintI.h"
/*======== default values ==============*/
/*======== helper values ===============*/
#define EOS '\0'
#define EMPTY_STR s_EmptyStr
#define MASET 6 /* message catalog set */
static char s_EmptyStr[1] = { EOS };
#if DOC
/*===================================================================
$FUNBEG$: main()
$1LINER$: main() routine of helpprint
$DESCRIPT$:
$WARNING$:
main() "knows" that we aren't using Xt in this program, and
sets the Display->db field explicitly. That field is a Display
structure member not used by X. It is used by Xt; if Xt is used
by dthelpprint, this part of the code must be changed.
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
int main(
int argc,
char * * argv)
{ /*$CODE$*/
XrmDatabase appDB = NULL;
_DtHPrOptions options;
Display * dpy = NULL;
int helpType;
int status;
/* init first option */
options.programName = argv[0];
/********************************************
* Read resources and open printer
*****************************************/
setlocale(LC_ALL,EMPTY_STR); /* set to user's desired locale */
_DtHPrBuildResourceDb(&argc, argv, &appDB, &dpy);
_DtHPrGetResources(appDB,&options);
if (dpy)
XrmSetDatabase(dpy,appDB); /* WARNING: Xt also uses the db member of the
Display structure. if Xt is used by
dthelpprint, this part of the code must be
changed. */
if (options.debugHelpPrint)
{
XrmPutFileDatabase(appDB,"db.dthelpprint"); /* dump rsrc for debug */
system("cat db.dthelpprint|fgrep -i print");
}
/****************************************
* Evaluate helpType and activate printing
*************************************/
helpType = atoi(options.helpType);
if (helpType == DtHELP_TYPE_STRING)
{
status = _DtHPrPrintStringData(dpy, &options);
exit(status); /* EXIT */
}
else if (helpType == DtHELP_TYPE_DYNAMIC_STRING)
{
status = _DtHPrPrintDynamicStringData(dpy, &options);
exit(status); /* EXIT */
}
else if (helpType == DtHELP_TYPE_MAN_PAGE)
{
status = _DtHPrPrintManPage(dpy, &options);
exit(status); /* EXIT */
}
else if (helpType == DtHELP_TYPE_FILE)
{
status = _DtHPrPrintHelpFile(dpy, &options);
exit(status); /* EXIT */
}
else if (helpType == DtHELP_TYPE_TOPIC)
{
status = _DtHPrPrintHelpTopic(dpy,&options);
exit(status); /* EXIT */
}
else
{
fprintf(
stderr,
_DTGETMESSAGE(MASET, 1, "%s Error: Illegal helpType %d.\n"),
argv[0], helpType);
exit(1); /* EXIT */
}
exit(1); /* EXIT */
} /*$END$*/

View File

@@ -0,0 +1,267 @@
#if DOC
/*===================================================================
$FILEBEG$: PrintManStrFile.c
$COMPONENT$: dthelpprint
$PROJECT$: Cde1
$SYSTEM$: HPUX 9.0; AIX 3.2; SunOS 5.3
$REVISION$: $XConsortium: PrintManStrFile.c /main/4 1996/10/30 11:35:27 drk $
$CHGLOG$:
$COPYRIGHT$:
(c) Copyright 1993, 1994 Hewlett-Packard Company
(c) Copyright 1993, 1994 International Business Machines Corp.
(c) Copyright 1993, 1994 Sun Microsystems, Inc.
(c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
==$END$==============================================================*/
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#if defined(sun)
#include <locale.h>
#else
#include <langinfo.h>
#endif
#include "HelpPrintI.h"
/*======== boundary values ==============*/
#define MAX_COMMAND_LENGTH 5120 /* max system can handle */
/*======== dthelpprint.sh options ==============*/
/*======== helper values ===============*/
#define EOS '\0'
#define EMPTY_STR s_EmptyStr
#define PMSET 4 /* message catalog set */
/*======== helper variables ===============*/
static char s_EmptyStr[1] = { EOS };
/*======== data structs ==============*/
/*======== static variables ===============*/
/*======== functions ==============*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrPrintStringData()
$1LINER$: Writes string data to file and then sends to printer
$DESCRIPT$:
Writes string data to file and then sends to printer
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
int _DtHPrPrintStringData(
Display *dpy,
_DtHPrOptions * options)
{ /*$CODE$*/
char *printCommand;
char cmdFormat[100];
char prOffsetArg[30];
int status;
if ( NULL == options->stringData )
{
fprintf(stderr, _DTGETMESSAGE(PMSET,1,
"%s: Error: helpType is string, "
"but no stringData specified.\n"),
options->programName);
return 1; /* RETURN */
}
/* Alloc max shell command line len */
printCommand = malloc(MAX_COMMAND_LENGTH*sizeof(char));
if (printCommand == NULL)
{
fprintf(stderr, _DTGETMESSAGE(PMSET,5,
"%s: Error: memory allocation failed\n"),
options->programName );
return 2; /* RETURN error */
}
/** generate the command **/
_DtHPrGetPrOffsetArg(options,prOffsetArg);
sprintf(cmdFormat, "%s %s|%s %s|%s %s %s", /* echo | fold | pr */
options->echoCommand, options->echoArgs,
options->foldCommand, options->foldArgs,
options->prCommand, prOffsetArg, options->prArgs);
sprintf(printCommand, cmdFormat,
options->stringData, /* echo */
options->colsTextWidth, EMPTY_STR, /* fold */
options->topicTitle, options->rowsHeight, EMPTY_STR); /* pr */
return _DtHPrGenFileOrPrint(options,"String",printCommand);
} /*$END$*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrPrintDynamicStringData()
$1LINER$: Writes string data to file, formats it, then sends to printer
$DESCRIPT$:
Writes string data to file, formats it, then sends to printer
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
int _DtHPrPrintDynamicStringData(
Display *dpy,
_DtHPrOptions * options)
{ /*$CODE$*/
char *printCommand;
char cmdFormat[100];
char prOffsetArg[30];
int status;
if ( NULL == options->stringData )
{
fprintf(stderr, _DTGETMESSAGE(PMSET,2,
"%s: Error: helpType is dynamic string, "
"but no stringData specified.\n"),
options->programName);
return 1; /* RETURN */
}
/* Alloc max shell command line len */
printCommand = malloc(MAX_COMMAND_LENGTH*sizeof(char));
if (printCommand == NULL)
{
fprintf(stderr, _DTGETMESSAGE(PMSET,5,
"%s: Error: memory allocation failed\n"),
options->programName );
return 2; /* RETURN error */
}
/** generate the command **/
_DtHPrGetPrOffsetArg(options,prOffsetArg);
sprintf(cmdFormat, "%s %s|%s %s|%s %s %s", /* echo | fold | pr */
options->echoCommand, options->echoArgs,
options->foldCommand, options->foldArgs,
options->prCommand, prOffsetArg, options->prArgs);
sprintf(printCommand, cmdFormat,
options->stringData, /* echo */
options->colsTextWidth, EMPTY_STR, /* fold */
options->topicTitle, options->rowsHeight, EMPTY_STR); /* pr */
return _DtHPrGenFileOrPrint(options,"String",printCommand);
} /*$END$*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrPrintManPage()
$1LINER$: Dumps formatted man page to file and then sends to printer
$DESCRIPT$:
Dumps formatted man page to file and then sends to printer
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
int _DtHPrPrintManPage(
Display *dpy,
_DtHPrOptions * options)
{ /*$CODE$*/
char *printCommand;
char cmdFormat[100];
int status;
if ( NULL == options->manPage )
{
fprintf(stderr, _DTGETMESSAGE(PMSET,3,
"%s: Error: helpType is man page, "
"but no manPage specified.\n"),
options->programName);
return 1; /* RETURN */
}
/* Alloc max shell command line len */
printCommand = malloc(MAX_COMMAND_LENGTH*sizeof(char));
if (printCommand == NULL)
{
fprintf(stderr, _DTGETMESSAGE(PMSET,5,
"%s: Error: memory allocation failed\n"),
options->programName );
return 2; /* RETURN error */
}
/** generate the command **/
sprintf(cmdFormat, "%s %s", /* man */
options->manCommand, options->manArgs);
sprintf(printCommand, cmdFormat,
options->manPage); /* man */
return _DtHPrGenFileOrPrint(options,options->manPage,printCommand);
} /*$END$*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrPrintHelpFile()
$1LINER$: Format file and then sends to printer
$DESCRIPT$:
Format file and then sends to printer
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
int _DtHPrPrintHelpFile(
Display *dpy,
_DtHPrOptions * options)
{ /*$CODE$*/
char *printCommand;
char cmdFormat[100];
char prOffsetArg[30];
int status;
if ( NULL == options->helpFile )
{
fprintf(stderr, _DTGETMESSAGE(PMSET,4,
"%s: Error: helpType is file, "
"but no helpFile specified.\n"),
options->programName);
return 1; /* RETURN error */
}
/* Alloc max shell command line len */
printCommand = malloc(MAX_COMMAND_LENGTH*sizeof(char));
if (printCommand == NULL)
{
fprintf(stderr, _DTGETMESSAGE(PMSET,5,
"%s: Error: memory allocation failed\n"),
options->programName );
return 2; /* RETURN error */
}
/** generate the command **/
_DtHPrGetPrOffsetArg(options,prOffsetArg);
sprintf(cmdFormat, "%s %s|%s %s %s", /* fold | pr */
options->foldCommand, options->foldArgs,
options->prCommand, prOffsetArg, options->prArgs);
sprintf(printCommand, cmdFormat,
options->colsTextWidth, options->helpFile, /* fold */
options->topicTitle, options->rowsHeight, EMPTY_STR); /* pr */
return _DtHPrGenFileOrPrint(options,options->helpFile,printCommand);
} /*$END$*/

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,267 @@
#if DOC
/*===================================================================
$FILEBEG$: PrintUtil.c
$COMPONENT$: dthelpprint
$PROJECT$: Cde1
$SYSTEM$: HPUX 9.0; AIX 3.2; SunOS 5.3
$REVISION$: $TOG: PrintUtil.c /main/6 1999/02/05 18:57:07 mgreess $
$CHGLOG$:
$COPYRIGHT$:
(c) Copyright 1993, 1994 Hewlett-Packard Company
(c) Copyright 1993, 1994 International Business Machines Corp.
(c) Copyright 1993, 1994 Sun Microsystems, Inc.
(c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
==$END$==============================================================*/
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <nl_types.h> /* for message cat processing */
#if defined(sun)
#include <locale.h>
#else
#include <langinfo.h>
#endif
#include "HelpPrintI.h"
/*======== flexible constsnts ==============*/
/* message catalog file */
#define HELPPRINT_CAT_WITH_SUFFIX "dthelpprint.cat"
#define HELPPRINT_CAT "dthelpprint"
/*======== dthelpprint.sh options ==============*/
#define OPT_LPDEST "-d"
#define OPT_COMMAND "-m"
#define OPT_COPYCOUNT "-n"
#define OPT_USERFILE "-u"
#define OPT_FILE "-f"
#define OPT_SILENT "-s"
#define OPT_FILEREMOVE "-e"
#define OPT_RAW "-w"
/*======== helper values ===============*/
#define EOS '\0'
/*======== helper variables ===============*/
/* To do:
* check roman 8/Latin 1
* check PAGER env variable
* do character wrap
*/
/*======== data structs ==============*/
/*======== static variables ===============*/
/*======== functions ==============*/
#if DOC
===================================================================
$PFUNBEG$: PutOpt()
$1LINER$: Concats option and value strings into cmd str
$DESCRIPT$:
Concats option and value strings into cmd str
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
static
void PutOpt(
char * cmdStr,
char * option,
char * value,
Boolean optionHasValue)
{ /*$CODE$*/
char * start;
char * fmt;
/* check params */
if ( option == NULL
|| option[0] == EOS
|| ( optionHasValue == True
&& (value == NULL || value[0] == EOS) ) )
return; /* RETURN */
start = &cmdStr[strlen(cmdStr)];
if ( value == NULL ) fmt = " %s";
else fmt = " %s '%s'";
sprintf(start,fmt,option,value);
} /*$END$*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrGetPrOffsetArg()
$1LINER$: Builds the pr offset argument string, if needed
$DESCRIPT$:
Concats option and value strings into cmd str
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
void _DtHPrGetPrOffsetArg(
_DtHPrOptions * options,
char * argStr)
{ /*$CODE$*/
if ( options->outputFile && options->outputFile[0] != EOS )
argStr[0] = EOS;
else
sprintf(argStr,options->prOffsetArg, options->colsAdjLeftMargin);
} /*$END$*/
#if DOC
===================================================================
$FUNBEG$: _DtHPrGenFileOrPrint()
$1LINER$: Executes print Command to generate file; prints if needed
$DESCRIPT$:
Executes the printCommand that is passed in to generate
either the desired output file or to print the results of
the command. If printing the results, the results are first
put in a temporary file, which is then printed indirectly
by invoking a shell script that should print the file. The
temp file is deleted after the shell script executes.
$RETURNS$:
If generating a file: result of system(printCommand)
If printing a file: result of system(printCommand) if fails
result of system("sh -c <shellCommand>") otherwise
$ARGS$:
printCommand: should pt to a very large (e.g. >5000 char) string
that can be modified by this routine
========================================================$SKIP$=====*/
#endif /*DOC*/
int _DtHPrGenFileOrPrint(
_DtHPrOptions * options,
char * userfile,
char * printCommand)
{ /*$CODE$*/
int status;
char * tmpfile;
char cmdFormat[30];
/* put into specified output file?? */
if (options->outputFile[0] != EOS)
{
strcat(printCommand," ");
sprintf(&printCommand[strlen(printCommand)],
options->redirectCmdAndArgs,
options->outputFile ); /* file */
if(options->debugHelpPrint) printf("%s\n",printCommand);
return (system(printCommand)); /* RETURN */
}
/* put into private tmp file */
strcat(printCommand," ");
tmpfile = _DtHPrCreateTmpFile(TMPFILE_PREFIX,TMPFILE_SUFFIX);
sprintf(&printCommand[strlen(printCommand)],
options->redirectCmdAndArgs,
tmpfile ); /* file */
if(options->debugHelpPrint)
printf("%s\n",printCommand);
strcat(printCommand,"\n");
if ( (status = system(printCommand))!= 0)
{
unlink(tmpfile);
return status; /* RETURN */
}
/* make sure there is a DISPLAY environment variable */
{
char *dispfmt = "DISPLAY=%s";
char *dispenv = malloc(strlen(dispfmt) + strlen(options->display) + 1);
sprintf(dispenv, dispfmt, options->display);
putenv(dispenv);
}
/* put the shell print script in there */
sprintf(printCommand,"%s", options->shCommand,True);
/* set all the options that are IPC to the print script */
PutOpt(printCommand,OPT_LPDEST,options->printer,True);
PutOpt(printCommand,OPT_COMMAND,options->lpCommand,True);
PutOpt(printCommand,OPT_COPYCOUNT,options->copies,True);
PutOpt(printCommand,OPT_SILENT,NULL,False);
PutOpt(printCommand,OPT_FILEREMOVE,NULL,False);
PutOpt(printCommand,OPT_FILE,tmpfile,True);
PutOpt(printCommand,OPT_USERFILE,userfile,True);
/* execute the shell command to cause printing */
if(options->debugHelpPrint) printf("%s\n",printCommand);
status = system(printCommand);
/* unlink(tmpfile); ** NOTE: don't unlink; let the printCommand do it */
/* note the DTPRINTFILEREMOVE env var setting above */
return(status);
} /*$END$*/
#ifndef NO_MESSAGE_CATALOG
#if DOC
===================================================================
$FUNBEG$: _DtHPrGetMessage()
$1LINER$: Gets a message string from the msg cat; uses dflt if no msg
$DESCRIPT$:
Gets a message string from the msg cat; uses dflt if no message defined
or LANG is undefined or "C".
$RETURNS$:
$ARGS$:
========================================================$SKIP$=====*/
#endif /*DOC*/
char * _DtHPrGetMessage(
int set,
int n,
char *s)
{ /*$CODE$*/
char *msg;
char *lang;
nl_catd catopen();
char *catgets();
static int s_First = 1;
static nl_catd s_Nlmsg_fd;
static char * s_CatFileName = NULL;
if ( s_First )
{
/* Setup our default message catalog names if none have been set! */
if (s_CatFileName == NULL)
{
/* Setup the short and long versions */
#ifdef __ultrix
s_CatFileName = strdup(HELPPRINT_CAT_WITH_SUFFIX);
#else
s_CatFileName = strdup(HELPPRINT_CAT);
#endif
}
s_First = 0;
lang = (char *) getenv ("LANG");
/* If LANG is not set or if LANG=C, then there
* is no need to open the message catalog - just
* return the built-in string "s". */
if (!lang || !(strcmp (lang, "C")))
s_Nlmsg_fd = (nl_catd) -1;
else
s_Nlmsg_fd = catopen(s_CatFileName, 0);
} /* end of first-time processing */
msg = catgets(s_Nlmsg_fd,set,n,s);
return (msg);
}
#endif /* NO_MESSAGE_CATALOG */

View File

@@ -0,0 +1,138 @@
$ $XConsortium: dthelpprint.msg /main/3 1995/11/07 13:18:21 rswiston $
$ *************************************<+>*************************************
$ *****************************************************************************
$ **
$ ** File: dthelpprint.msg
$ **
$ ** Project: Cde1 Help
$ **
$ ** Description:
$ ** -----------
$ ** This file is the source for the message catalog for dthelpprint
$ **
$ **
$ *****************************************************************************
$ **
$ ** (c) Copyright 1993, 1994 Hewlett-Packard Company
$ ** (c) Copyright 1993, 1994 International Business Machines Corp.
$ ** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
$ ** (c) Copyright 1993, 1994 Unix System Labs, Inc.,a subsidiary of Novell,Inc.
$ ** All Rights reserved
$ **
$ **
$ ** There are two types of messages in this file:
$ **
$ ** 1) Messages that appear in printed output
$ ** These messages are the default and they should all be localized.
$ ** These messages are marked with LOCALIZE THESE MESSAGES.
$ **
$ ** 2) Messages that should not be localized.
$ ** These messages are marked with DO NOT LOCALIZE THESE MESSAGES.
$ **
$ *****************************************************************************
$ **
$ **
$ ** ------------------------- MODIFICATION RECORD --------------------------
$ * Major Mods, 7/11/94 for dthelpprint
$ *
$ ** ----------------------- MODIFICATION RECORD END ------------------------
$ *****************************************************************************
$ *************************************<+>*************************************
$ Use the double quote char around all messages
$quote "
$set 2
$ ***** Module: PrintUtil.c *****
$
$set 3
$ ***** Module: PrintTopics.c *****
$
$ ** LOCALIZE THESE MESSAGES **
1 "%s Error: helpType is topic, but no helpVolume specified.\n"
2 "%s Error: unable to locate help volume %s\n"
3 "%s Error: problem processing help volume %s\n"
4 "%s Error: memory allocation failed\n"
5 "%s Error: unable to get topic information:\nvolume %s, locationId %s\n"
6 "%s Error: unable to open temporary file %s\n"
$ String used to replace $SECTNUM when printing the index section
10 "Index"
$ String used to replace $SECTNUM when printing the table of contents section
11 "Table of Contents"
$ ** DO NOT LOCALIZE THESE MESSAGES **
$ index entry, page number
20 "%s, %d\n"
$ index subentry, page number
21 " %s, %d\n"
$ location ID associated with the index in the TOC maintained by dthelpprint
30 "__GENERATED-INDEX"
$ string used by can't get a topic title associated with an index subentry
31 ""
$set 4
$ ***** Module: PrintManStrFile.c *****
$
$ ** LOCALIZE THESE MESSAGES **
1 "%s Error: helpType is string, but no stringData specified.\n"
2 "%s Error: helpType is dynamic string, but no stringData specified.\n"
3 "%s Error: helpType is man page, but no manPage specified.\n"
4 "%s Error: helpType is file, but no helpFile specified.\n"
5 "%s Error: memory allocation failed\n"
$set 5
$ ***** Module: Initialize.c *****
$
$ ** LOCALIZE THESE MESSAGES **
$ Messages 1 to 29: dthelpprint usage message
$ **DO NOT LOCALIZE** the command line option names (e.g. -copies).
$ **DO LOCALIZE** the option argument (e.g. number) and description.
1 "dthelpprint - Print program for Help\n\n"
2 "Usage: dthelpprint [options]\n"
3 "Options controlling how to print:\n"
4 "\t-printer printername printer to use\n"
5 "\t-copies number number of copies to print\n"
6 "\t-outputFile filename write output to this file\n"
7 "\t-paperSize size format content to this paper size\n"
$ DO NOT LOCALIZE THE PAPER SIZE NAMES help_papersize_xxx
8 "\t\tsize = { help_papersize_letter|help_papersize_legal|\n"
9 "\t\t help_papersize_executive|help_papersize_a4|help_papersize_b5}\n"
10 "\t-display displayname display from which to get resources\n"
11 "\t-name program name used when getting resources\n"
12 "\t-class class name used when getting resources\n"
13 "\t-xrm resourcestring additional resources\n"
14 "Options controlling what to print:\n"
15 "\t-helpType type type of Help data\n"
16 "\t\ttype = 0 (help volume), 1 (string), 2 (man page), 3 (help file)\n"
17 "\t-helpVolume volume full path of help volume file\n"
18 "\t-locationId location name of Help topic in the volume\n"
19 "\t-all print all topics, toc, & index in the help volume\n"
20 "\t-sub print topic locationId and all subtopics\n"
21 "\t-one print topic locationId\n"
22 "\t-toc print help volume table of contents\n"
23 "\t-index print help volume index\n"
24 "\t-frontMatter print help volume front matter\n"
25 "\t-manPage manpagename name of man page\n"
26 "\t-stringData string Help text to print\n"
27 "\t-helpFile filename file containing Help text\n"
28 "\t-jobTitle title title string for print job\n"
29 "\t-topicTitle title title string for Help text\n"
$ Warning and error messages
$ Do NOT localize the default size name help_papersize_letter
40 "%s Warning: Illegal paper size '%s'. help_papersize_letter used.\n"
41 "%s Warning: Missing paper size, height, or width value. help_papersize_letter used.\n"
42 "%s Warning: Unable to open display %s\n"
45 "Error: unable to allocate memory for temporary file\n"
$ ** DO NOT LOCALIZE THESE MESSAGES **
$ arg order: directory prefix processid filecnt suffix
50 "%1$s/%2$s%3$d_%4$d%5$s"
$set 6
$ ***** Module: Main.c *****
$
$ ** LOCALIZE THESE MESSAGES **
1 "%s Error: Illegal helpType %d.\n"

View File

@@ -0,0 +1,169 @@
#!/bin/sh
#######################################################
### File: dthelpprint.sh
###
### Default Location: /usr/dt/bin/dthelpprint.sh
###
### (c) Copyright 1993, 1994 Hewlett-Packard Company
### (c) Copyright 1993, 1994 International Business Machines Corp.
### (c) Copyright 1993, 1994 Sun Microsystems, Inc.
### (c) Copyright 1993, 1994 Novell, Inc.
###
### Purpose:
###
### The dthelpprint executable generates a fully formatted
### temporary file and then calls the dthelpprint.sh script
### with options to actually print the file.
###
### Through the use of a shell script, dthelpprint
### does not need to link against libDtSvc and also
### supports better customization of help printing.
###
### Description:
###
### This script determines whether the Cde1 environment
### is installed and whether there is a Print action.
### If there is an action, use it to print the file.
### If there isn't and Cde1 is installed, try to use dtlp directly.
### If no Cde1 components are available, lp is used.
###
### Product: @(#)Cde1
###
### Invoked by: dthelpprint (only!)
###
### Revision: $XConsortium: dthelpprint.sh /main/3 1995/11/07 13:18:44 rswiston $
###
#########################################################
# set -x # trace on
#########################################################
### Function: usage()
### Prints the usage message and exits
#########################################################
usage()
{
echo "usage: dthelpprint.sh options";
echo "options:";
echo "\t -d <lpdest> : printer to use";
echo "\t -f <print file> : file to print";
echo "\t -m <print command> : print command to use";
echo "\t -n <num copies> : number copies to print";
echo "\t -u <user file name> : filename to show user";
echo "\t -w : print raw";
echo "\t -s : print silent";
echo "\t -e : remove file";
exit 0;
}
#########################################################
### Main()
### set the env vars based on the arg list options
### These env vars conform to the dtlp interface
#########################################################
# define which executables to use
ProgDtKsh=/usr/dt/bin/dtksh
ProgDtAction=/usr/dt/bin/dtaction
ProgDtLp=/usr/dt/bin/dtlp # only executed directly if Print action not avail
ProgLp=/usr/bin/lp
ActionPrint=Print
# init vars and consts
FlagActionOk=0;
True="True"
False="False"
# get the options
if [ $# -lt 2 ]; then usage; fi;
for argument in $*
do
case $argument in
-d) LPDEST=$2; shift 2; export LPDEST; ## Cde1 Print API
;;
-e) DTPRINTFILEREMOVE=$True; shift; export DTPRINTFILEREMOVE; ## Cde1 Print API
;;
-s) DTPRINTSILENT=$True; shift; export DTPRINTSILENT; ## Cde1 Print API
;;
-u) DTPRINTUSERFILENAME=$2; shift 2; export DTPRINTUSERFILENAME; ## Cde1 Print API
;;
-f) OptFile=$2; shift 2; export OptFile; ## local variables
;;
-m) OptLpCommand=$2; shift 2; export OptLpCommand; ## local variables
;;
-n) OptCopyCnt=$2; shift 2; export OptCopyCnt; ## local variables
;;
-w) OptRaw=$True; shift; export OptRaw; ## local variables
;;
--) shift; break;
;;
-\?) usage;
;;
esac
done
# can't print if no file is spec'd
if [ -z "$OptFile" -o ! -r "$OptFile" ];
then exit 1;
fi;
# is Cde1 installed and OptLpCommand not specified ?
if [ -x $ProgDtAction -a -x $ProgDtKsh -a -z "$OptLpCommand" ];
then
# exec a dtksh script to determine whether the print action exists
$ProgDtKsh -c "XtInitialize TOPLEVEL chkPntr Dtksh;\
DtDbLoad;\
if DtActionExists $ActionPrint;\
then exit 1;\
else exit 0;\
fi;";
# if action exists, use it; action removes the print file
FlagActionOk=$?;
if [ $FlagActionOk = 1 ];
then
# don't iterate wildly
if [ -z "$OptCopyCnt" -o "$OptCopyCnt" -lt 0 -o "$OptCopyCnt" -gt "100" ]
then OptCopyCnt=1;
fi;
# honor copycount by looping
# only set the DTPRINTFILEREMOVE for the last iteration
VarOldFileRemove=$DTPRINTFILEREMOVE # save orig value
DTPRINTFILEREMOVE=$False # deactivate the remove request
while [ "$OptCopyCnt" -gt "1" ]
do
$ProgDtAction $ActionPrint $OptFile; # take other options from env vars
OptCopyCnt=`expr "$OptCopyCnt" - 1`;
done;
DTPRINTFILEREMOVE=$VarOldFileRemove; # restore orig value
$ProgDtAction $ActionPrint $OptFile; # take other options from env vars
exit 0;
# else if dtlp is installed, use it directly; it removes the print file
elif [ -x $ProgDtLp ]
then
$ProgDtLp ${LPDEST:+-d} ${LPDEST:+$LPDEST} \
${DTPRINTFILEREMOVE:+-e} \
${DTPRINTSILENT:+-s} \
-u "${DTPRINTUSERFILENAME:-Help Information}" \
-b "Help" \
${OptLpCommand:+-m} ${OptLpCommand:+$OptLpCommand} \
-n ${OptCopyCnt:-1} \
${OptRaw:+-w} \
"$OptFile";
exit 0;
fi; # use Print actio or ProgDtLp
fi; # if Cde1 installed
# if Cde1 not installed or print action & dtlp not avail or OptLpCommand set
if [ -n "$FlagActionOk" -a "$FlagActionOk" = 0 -a -r "$OptFile" ];
then
${OptLpCommand:-$ProgLp} -s -t "Help" \
${LPDEST:+-d} ${LPDEST:+$LPDEST} \
${OptRaw:+"-oraw"} \
-n ${OptCopyCnt:-1} \
$OptFile;
if [ "$DTPRINTFILEREMOVE" = $True ]; then rm -f $OptFile; fi;
fi;
exit 0;

View File

@@ -0,0 +1,119 @@
1 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
10 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
20 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
30 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
40 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
50 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
60 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
70 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
80 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
90 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
100 56789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
110 56789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

View File

@@ -0,0 +1,28 @@
/********************************************************
Copyright (c) 1988 by the Massachusetts Institute of Technology
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the names of
Hewlett-Packard or M.I.T. not be used in advertising or publicity
pertaining to distribution of the software without specific, written
prior permission.
(c) Copyright 1993-1994,1996 Digital Equipment Corporation.
(c) Copyright 1988,1993-1994,1996 Hewlett-Packard Company.
(c) Copyright 1993-1994,1996 International Business Machines Corp.
(c) Copyright 1993-1994,1996 Sun Microsystems, Inc.
(c) Copyright 1996 Novell, Inc.
(c) Copyright 1996 FUJITSU LIMITED.
(c) Copyright 1996 Hitachi.
********************************************************/
#include <include/hpversion.h>
#ifndef lint
version_tag("dthelpprint: $XConsortium: version.c /main/5 1996/08/30 15:37:29 drk $")
#endif /* lint */

View File

@@ -0,0 +1,57 @@
!######################################################################
!#
!# Dthelpview
!#
!# Common Desktop Environment (CDE)
!#
!# Application Defaults for the CDE dthelpview application
!#
!# (c) Copyright 1993, 1994 Hewlett-Packard Company
!# (c) Copyright 1993, 1994 International Business Machines Corp.
!# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
!# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary
!# of Novell, Inc.
!#
!# $XConsortium: Dthelpview /main/3 1995/11/08 09:21:11 rswiston $
!#
!######################################################################
!########
!#
!# Dthelpview app-defaults file.
!#
!########
!########
!#
!# Pull in additional help resources via the Dt app-defaults file
!#
!########
#include "Dt"
!########
!#
!# Man Page Box and File Box resources
!#
!# The "manBox" is the DtHelpQuickDialog used by dthelpview to display
!# man pages by dthelpview; "fileBox" is used to display text files.
!#
!########
Dthelpview*manBox.rows: 32
Dthelpview*manBox.columns: %|nls-1-80^columns|
Dthelpview*fileBox.rows: 32
Dthelpview*fileBox.columns: %|nls-2-80^columns|
!########
!#
!# Size of the dthelpview man page query dialog text field and the
!# search word text field in the index search dialog of the DtHelpDialog widget.
!#
!########
Dthelpview*man_text.columns: %|nls-3-#20#|
Dthelpview*searchShell*srchWord.columns: %|nls-4-#30#|

View File

@@ -0,0 +1,14 @@
XCOMM $XConsortium: Imakefile /main/7 1996/09/14 15:26:44 drk $
PROGRAMS = dthelpview
DEFINES = -D_BMS
INCLUDES = -I.
DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
LOCAL_LIBRARIES = $(DTHELPLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB)
SYS_LIBRARIES = DtClientSysLibs $(CXXLIB)
SRCS = Main.c ManPage.c Util.c version.c
OBJS = Main.o ManPage.o Util.o version.o
ComplexProgramTarget($(PROGRAMS))

View File

@@ -0,0 +1,368 @@
/* $TOG: Main.c /main/5 1998/04/20 12:52:56 mgreess $ */
/************************************<+>*************************************
****************************************************************************
**
** File: Main.c
**
** Project: Cache Creek (Rivers) Project
**
** Description: This is the main.c file for the helpview program.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
/* System Include Files */
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <sys/stat.h>
#include <sys/param.h>
#include <limits.h>
#include <unistd.h> /* R_OK */
#ifdef __osf__
/* Suppress unaligned access message */
#include <sys/types.h>
#include <sys/sysinfo.h>
#endif /* __osf__ */
#include <X11/Intrinsic.h>
#include <X11/Shell.h>
#include <X11/Xatom.h>
#include <Xm/MwmUtil.h>
#include <Xm/Protocols.h>
#include <Xm/Xm.h>
#include <Xm/PushB.h>
#include <Dt/HelpDialog.h>
#include <Dt/DtNlUtils.h>
#include <Dt/EnvControlP.h>
/* Local Includes */
#include <DtI/HelposI.h>
#include <DtI/HelpP.h>
#include <DtI/FileUtilsI.h>
#include "Main.h"
#include "UtilI.h"
#include "ManPageI.h"
/* Application resource list definition */
static XrmOptionDescRec option_list[] =
{
{ "-helpVolume", "helpVolume", XrmoptionSepArg, NULL },
{ "-locationId", "locationId", XrmoptionSepArg, NULL },
{ "-file", "file", XrmoptionSepArg, NULL },
{ "-manPage", "manPage", XrmoptionSepArg, NULL },
{ "-man", "man", XrmoptionNoArg, "True" },
};
/* Structure, resource definitions, for View's optional parameters. */
typedef struct
{
char * helpVolume;
char * locationId;
char * file;
char * manPage;
char * man;
} ApplicationArgs, *ApplicationArgsPtr;
static ApplicationArgs application_args;
static XtResource resources[] =
{
{
"helpVolume", "HelpVolume", XmRString, sizeof (char *),
XtOffset (ApplicationArgsPtr, helpVolume),XmRImmediate,(caddr_t) NULL,
},
{
"locationId", "LocationId", XmRString, sizeof (char *),
XtOffset (ApplicationArgsPtr, locationId), XmRImmediate, (caddr_t) NULL,
},
{
"file", "File", XmRString, sizeof (char *),
XtOffset (ApplicationArgsPtr, file), XmRImmediate, (caddr_t) NULL,
},
{
"manPage", "ManPage", XmRString, sizeof (char *),
XtOffset (ApplicationArgsPtr, manPage), XmRImmediate, (caddr_t) NULL,
},
{
"man", "Man", XmRString, sizeof (char *),
XtOffset (ApplicationArgsPtr, man), XmRImmediate, (caddr_t) NULL,
},
};
/******** Static Function Declarations ********/
static void Usage(
char ** argv);
static void ExpandVolume(
char **helpVolume);
/* Global Variables */
#define MAX_ARGS 20
#define charset XmFONTLIST_DEFAULT_TAG
/****************************************************************************
* Function: static void GlobalInit();
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Initializes our global variables to valid starting values.
*
****************************************************************************/
static void GlobalInit()
{
pCacheListHead = NULL;
pCacheListTale = NULL;
totalCacheNodes = NULL;
helpClass = XtNewString("Dthelpview");
viewWidget = NULL;
manWidget = NULL;
manBtn = NULL;
manText = NULL;
manForm = NULL;
closeBtn = NULL;
}
/***************************************************************************
* Main Line Program:
*
***************************************************************************/
void main(
int argc,
char **argv)
{
char *appName;
Arg args[2];
int n;
int newArgc=0;
char **newArgv;
int counter=0;
#ifdef __osf__
/* Code to suppress unaligned access message. */
unsigned long op;
int buffer[2];
unsigned long nbytes = 1;
char* arg = 0;
unsigned long flag = 0;
int ssi_status;
op = SSI_NVPAIRS;
buffer[0] = SSIN_UACPROC;
buffer[1] = 0x00000001;
#ifdef DEBUG_UAC
buffer[1] |= 0x00000004;
#endif
ssi_status = setsysinfo ( op, (caddr_t) buffer, nbytes, arg, flag );
#endif
XtSetLanguageProc(NULL, NULL, NULL);
startCommand = argv[0];
appName = strrchr(argv[0], '/');
if (appName != NULL)
appName++;
else
appName = argv[0];
/* Copy our argv values into a new array for use in DisplayTopic... */
newArgc = argc;
newArgv = (char **) XtMalloc (sizeof(char *) * (argc +1));
for (counter=0;counter < argc; counter++)
{
newArgv[counter] = XtMalloc (strlen(argv[counter]) +1);
strcpy (newArgv[counter], argv[counter]);
}
/* Setup our Help message catalog file name */
DtHelpSetCatalogName("DtHelp.cat");
_DtEnvControl(DT_ENV_SET);
{
/* char * foo = ((char *)GETMESSAGE(7, 1, "")); ??? */
}
/* Initialize toolkit and open the display */
topLevel = XtInitialize(appName, "Dthelpview", option_list, 5, &argc, argv);
appDisplay = XtDisplay(topLevel);
if (!appDisplay)
{
XtWarning ("Dialogs: Can't open display, exiting...");
exit (0);
}
/* Get the application resources. */
XtGetApplicationResources(topLevel, &application_args,
resources, XtNumber(resources), NULL, 0);
/* If all of the command line parameters were not processed */
/* out, print out a usage message set and exit. */
if (argc != 1)
Usage (argv);
/* Call our global init routine */
GlobalInit();
/* Setup or environment to handle multi-byte stuff */
#ifdef NLS16
Dt_nlInit();
#endif
/* Give our shell a default size greater than zero */
n = 0;
XtSetArg (args[n], XmNheight, 10); n++;
XtSetArg (args[n], XmNwidth, 10); n++;
XtSetValues(topLevel, args, n);
/* Setup up our top level shell */
/* XtSetMappedWhenManaged(topLevel, FALSE);
* XtRealizeWidget(topLevel);
*/
if (application_args.file != NULL)
DisplayFile(topLevel, application_args.file);
else if (application_args.manPage != NULL)
DisplayMan(topLevel, application_args.manPage,
EXIT_ON_CLOSE);
else if (application_args.man != NULL)
PostManDialog(topLevel, newArgc, newArgv);
else if (application_args.helpVolume != NULL)
{
/* See if you can expand the helpVolume value */
ExpandVolume(&(application_args.helpVolume));
DisplayTopic(topLevel, application_args.helpVolume,
application_args.locationId, newArgc, newArgv);
}
else
Usage (argv);
XtMainLoop();
}
/************************************************************************
*
* Usage
* When incorrect parameters have been specified on the command
* line, print out a set of messages detailing the correct use
* and exit.
*
************************************************************************/
static void Usage(
char ** argv)
{
(void) fprintf (stderr, ((char *)_DTGETMESSAGE(7, 1,
"Usage: %s...\n")), argv[0]);
(void) fprintf (stderr, "\n");
(void) fprintf (stderr, ((char *)_DTGETMESSAGE(7, 2,
"\t-helpVolume <Help Volume File>\n")), argv[0]);
(void) fprintf (stderr, ((char *) _DTGETMESSAGE(7, 3,
"\t-locationId <ID>\n")), argv[0]);
(void) fprintf (stderr, ((char *) _DTGETMESSAGE(7, 5,
"\t-file <ASCII Text File>\n")), argv[0]);
(void) fprintf (stderr, ((char *) _DTGETMESSAGE(7, 6,
"\t-man\n")), argv[0]);
(void) fprintf (stderr, ((char *) _DTGETMESSAGE(7, 7,
"\t-manPage <Unix Man Page>\n\n\n")), argv[0]);
exit (0);
}
/****************************************************************************
* Function: ExpandVolume()
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Takes a helpVolume file name and adds the cwd path to the
* front of it, and possibly adds a suffix.
* It then stats the file; if the file is present, the
* function returns a malloc'd full path in helpVolume,
* otherwise it returns a malloc'd copy of the original value.
*
***************************************************************************/
static void ExpandVolume(
char **helpVolume)
{
char * workingPath=NULL;
/* try to locate file and its entry, if present */
/* True: search relative to current directory as well */
workingPath = _DtHelpFileLocate("volumes", *helpVolume,
_DtHelpFileSuffixList,True,R_OK);
if (workingPath) *helpVolume = workingPath;
else *helpVolume = strdup(*helpVolume);
}

View File

@@ -0,0 +1,73 @@
/* $XConsortium: Main.h /main/3 1995/11/08 09:22:29 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: Main.h
**
** Project: helpviewerr 3.0
**
** Description: Structures and defines needed by all of the files.
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
#ifndef _Main_h
#define _Main_h
#include "UtilI.h"
#define NOSUCCESS 0
#define SUCCESS 1
/* Close callback types used by our Quick help sutff */
#define EXIT_ON_CLOSE 1
#define NO_EXIT_ON_CLOSE 2
/* Run Mode Defines */
#define HELP_TOPIC_SESSION 1
#define SINGLE_MAN_SESSION 2
#define MULTI_MAN_SESSION 3
#define SINGLE_FILE_SESSION 4
/* Global Variables Used to maintain our cache list of help dialogs */
CacheListStruct *pCacheListHead;
CacheListStruct *pCacheListTale;
int totalCacheNodes;
/* Global Variables */
Widget topLevel;
Widget viewWidget;
Widget manWidget;
Widget manBtn;
Widget manText;
Widget manForm;
Widget closeBtn;
/* General global variables */
int runMode;
char *helpClass;
Display *appDisplay;
char *startCommand;
#endif /* _Main_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,376 @@
/* $XConsortium: ManPage.c /main/5 1996/09/30 11:28:22 cde-hp $ */
/*************************************<+>*************************************
*****************************************************************************
**
** File: ManPage.c
**
** Project: Cache Creek
**
** Description: Contains the code for generating the man page dialog
** used in the helpview program.
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
****************************************************************************
************************************<+>*************************************/
/* System Include Files */
#include <stdio.h>
#include <signal.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <Xm/Protocols.h>
#include <Xm/MwmUtil.h>
#include <Xm/Xm.h>
#include <Xm/XmP.h>
#include <Xm/TextF.h>
#include <Xm/Text.h>
#include <Xm/Form.h>
#include <Xm/LabelG.h>
#include <Xm/SeparatoG.h>
#include <Xm/PushBG.h>
#include <Xm/DialogS.h>
#include <Dt/Help.h>
#include <Dt/HelpDialog.h>
#include <DtI/HelposI.h>
#include <DtI/HourGlassI.h>
/* Local Includes */
#include "Main.h"
#include "UtilI.h"
#include "ManPageI.h"
/******** Static Function Declarations ********/
static void ManTextUpdateCB(
Widget widget,
XtPointer client_data,
XtPointer call_data);
static void ManDisplayCB(
Widget widget,
XtPointer client_data,
XtPointer callback);
static void CatchClose(
Widget widget);
/****************************************************************************
* Function: CatchClose( Widget w);
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Catches the window manager close requests and assigns our
* CloseHelpCB to handel them.
*
***************************************************************************/
static void CatchClose (
Widget widget)
{
Atom wm_delete_window;
Arg args[2];
/* Grab the window mgr close */
wm_delete_window = XmInternAtom(XtDisplay(XtParent(widget)),
"WM_DELETE_WINDOW", FALSE);
XtSetArg(args[0], XmNdeleteResponse, XmDO_NOTHING);
/* Current Help Dialog Window */
XmAddWMProtocolCallback(XtParent(widget),wm_delete_window,
(XtCallbackProc)CloseAndExitCB, (XtPointer)widget);
XtSetValues(XtParent(widget), args, 1);
}
/****************************************************************************
* Function: static void PostManDialog();
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Creates and manages a simple prompt dialog that allows a
* user to type in and display any manpage on the system.
*
****************************************************************************/
void PostManDialog(
Widget parent,
int argc,
char **argv)
{
Widget separator;
Widget manLabel;
XmString labelStr;
Arg args[20];
int n;
char * title;
Pixel foreground;
Pixel background;
Colormap colormap;
Pixel selectColor;
Pixel topShadowColor;
Pixel bottomShadowColor;
Pixel foregroundColor;
/* Create the shell and form used for the dialog. */
title = XtNewString(((char *)_DTGETMESSAGE(7, 11, "Man Page")));
n = 0;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetArg (args[n], XmNallowShellResize, False); n++;
manWidget = XmCreateDialogShell(parent, "manWidget", args, n);
XtFree(title);
/* Set the useAsyncGeo on the shell */
n = 0;
XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
XtSetValues (XtParent(manWidget), args, n);
n = 0;
XtSetArg (args[n], XmNmarginWidth, 1); n++;
XtSetArg (args[n], XmNmarginHeight, 1); n++;
XtSetArg (args[n], XmNshadowThickness, 1); n++;
XtSetArg (args[n], XmNshadowType, XmSHADOW_OUT); n++;
XtSetArg (args[n], XmNautoUnmanage, False); n++;
manForm = XmCreateForm (manWidget, "manForm", args, n);
/* Get the select color and margin widths and heights */
n = 0;
XtSetArg(args[n], XmNforeground, &foreground); ++n;
XtSetArg(args[n], XmNbackground, &background); ++n;
XtSetArg (args[n], XmNcolormap, &colormap); ++n;
XtGetValues(manForm, args, n);
XmGetColors (XtScreen (manForm), colormap, background,
&foregroundColor, &topShadowColor,
&bottomShadowColor, &selectColor);
labelStr = XmStringCreateLocalized((char *)_DTGETMESSAGE(7, 12,"Man Page:"));
n = 0;
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); ++n;
XtSetArg(args[n], XmNleftOffset,5); ++n;
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); ++n;
XtSetArg(args[n], XmNtopOffset, 15); ++n;
XtSetArg(args[n], XmNlabelType, XmSTRING); ++n;
XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); ++n;
XtSetArg(args[n], XmNtraversalOn, False); ++n;
XtSetArg(args[n], XmNlabelString, labelStr); ++n;
manLabel = XmCreateLabelGadget(manForm, "manLabel", args, n);
XtManageChild (manLabel);
XmStringFree(labelStr);
n = 0;
XtSetArg(args[n], XmNleftAttachment, XmATTACH_WIDGET); ++n;
XtSetArg(args[n], XmNleftWidget, manLabel); ++n;
XtSetArg(args[n], XmNleftOffset, 5); ++n;
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); ++n;
XtSetArg(args[n], XmNtopOffset, 10); ++n;
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); ++n;
XtSetArg(args[n], XmNrightOffset, 5); ++n;
XtSetArg(args[n], XmNeditable, True); ++n;
XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); ++n;
XtSetArg(args[n], XmNbackground, selectColor); ++n;
manText = XmCreateTextField(manForm, "man_text", args, n);
XtManageChild (manText);
XtAddCallback(manText, XmNvalueChangedCallback,
ManTextUpdateCB,(XtPointer) NULL);
/* Create a separator between the buttons */
n = 0;
XtSetArg (args[n], XmNleftAttachment, XmATTACH_FORM); n++;
XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++;
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
XtSetArg (args[n], XmNtopWidget,manLabel);n++;
XtSetArg (args[n], XmNtopOffset, 20); n++;
separator = XmCreateSeparatorGadget (manForm, "separator", args, n);
XtManageChild (separator);
/* Create the action buttons along the bottom */
labelStr = XmStringCreateLocalized ((char *)_DTGETMESSAGE(7, 13,
"Show Man Page"));
n = 0;
XtSetArg (args[n], XmNlabelString, labelStr); n++;
XtSetArg (args[n], XmNleftAttachment, XmATTACH_POSITION); n++;
XtSetArg (args[n], XmNleftPosition, 1); n++;
XtSetArg (args[n], XmNrightAttachment, XmATTACH_POSITION); n++;
XtSetArg (args[n], XmNrightPosition, 49); n++;
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
XtSetArg (args[n], XmNtopWidget, separator); n++;
XtSetArg (args[n], XmNtopOffset, 5); n++;
XtSetArg (args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
XtSetArg (args[n], XmNbottomOffset, 5); n++;
XtSetArg (args[n], XmNmarginHeight, 4); n++;
manBtn = XmCreatePushButtonGadget(manForm, "manBtn", args, n);
XtManageChild (manBtn);
XmStringFree(labelStr);
XtSetSensitive(manBtn, False);
XtAddCallback(manBtn, XmNactivateCallback, ManDisplayCB,
(XtPointer) manForm);
/* Build the Close button */
labelStr = XmStringCreateLocalized((char *)_DTGETMESSAGE(7, 16,"Exit"));
n = 0;
XtSetArg (args[n], XmNlabelString, labelStr); n++;
XtSetArg (args[n], XmNleftAttachment, XmATTACH_POSITION); n++;
XtSetArg (args[n], XmNleftPosition, 51); n++;
XtSetArg (args[n], XmNrightAttachment, XmATTACH_POSITION); n++;
XtSetArg (args[n], XmNrightPosition, 99); n++;
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
XtSetArg (args[n], XmNtopWidget, separator); n++;
XtSetArg (args[n], XmNtopOffset, 5); n++;
XtSetArg (args[n], XmNmarginHeight, 4); n++;
closeBtn = XmCreatePushButtonGadget (manForm, "closeBtn", args, n);
XtManageChild (closeBtn);
XtAddCallback(closeBtn, XmNactivateCallback, CloseAndExitCB,
(XtPointer) NULL);
XmStringFree (labelStr);
XtSetArg (args[0], XmNdefaultButton, closeBtn);
XtSetValues (manForm, args, 1);
/** force tabs to go to each widget and in right order **/
XtSetArg (args[0], XmNnavigationType, XmSTICKY_TAB_GROUP);
XtSetValues (manText,args,1);
XtSetValues (manBtn,args,1);
XtSetValues (closeBtn,args,1);
/** put focus on the text field **/
XtSetArg (args[0], XmNinitialFocus, manText);
XtSetValues (manForm,args,1);
/* Adjust the decorations for the dialog shell of the dialog */
n = 0;
XtSetArg(args[n], XmNmwmFunctions,
MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE |
MWM_FUNC_CLOSE); n++;
XtSetArg (args[n], XmNmwmDecorations,
MWM_DECOR_BORDER | MWM_DECOR_TITLE | MWM_DECOR_MENU |
MWM_DECOR_MINIMIZE | MWM_DECOR_MAXIMIZE); n++;
XtSetValues (manWidget, args, n);
XtManageChild(manForm);
/* Add the CatchClose here so we catch the window manager close requests */
CatchClose(manForm);
/* Set the wm_command property on the help dialog window */
if (argc != 0)
XSetCommand(XtDisplay(manWidget), XtWindow(manWidget), argv, argc);
}
/**************************************************************************
* Function: ManTextUpdateCB
*
* ManText is called when the string in the man text Widget changes. We
* activate or deactivate the display man page PushButton.
*
* Called by:
**************************************************************************/
static void ManTextUpdateCB(
Widget widget,
XtPointer client_data,
XtPointer call_data )
{
char *textString;
Arg args[2];
/* Get the text string to check its length, then set the search buttons' */
/* sensitivity appropriately. */
textString = XmTextFieldGetString(widget);
if (strlen(textString) == 0)
{
XtSetSensitive(manBtn, False);
XtSetArg (args[0], XmNdefaultButton, closeBtn);
XtSetValues (manForm, args, 1);
}
else
{
XtSetSensitive(manBtn, True);
XtSetArg (args[0], XmNdefaultButton, manBtn);
XtSetValues (manForm, args, 1);
}
XtFree(textString);
} /* End ManTextCB */
/*******************************************************************
* Function: ManDisplayCB
*
* ManDisplayCB is called when the user hits Return in the man text
* Widget or clicks the display man PushButton.
*******************************************************************/
static void ManDisplayCB(
Widget widget,
XtPointer client_data,
XtPointer call_data )
{
char *manPageStr;
_DtHelpTurnOnHourGlass((Widget) client_data);
manPageStr = XmTextFieldGetString(manText);
DisplayMan(topLevel, manPageStr, NO_EXIT_ON_CLOSE);
_DtHelpTurnOffHourGlass((Widget) client_data);
XtFree(manPageStr);
} /* End ManDisplayCB */

View File

@@ -0,0 +1,53 @@
/* $XConsortium: ManPageI.h /main/4 1995/11/08 09:22:48 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: ManPageI.h
**
** Project: helpviewer 3.0
**
** Description: Structures and defines supported in ManPage.c
**
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
#ifndef _ManPageI_h
#define _ManPageI_h
/****************************************************************************
* Function: static void PostManDialog();
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Creates and manages a simple prompt dialog that allows a
* user to type in and display any manpage on the system.
*
****************************************************************************/
void PostManDialog(
Widget parent,
int argc,
char **argv);
#endif /* _ManPageI_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,630 @@
/* $XConsortium: Util.c /main/5 1996/09/30 11:29:05 cde-hp $ */
/*************************************<+>*************************************
*****************************************************************************
**
** File: Util.c
**
** Project: Cache Creek
**
** Description: Contains the Help Callback and Utility functions for or
** preview tool and DT 3.0 help browser tool.
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
****************************************************************************
************************************<+>*************************************/
/* System Include Files */
#include <stdio.h>
#include <signal.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>
#include <X11/Xatom.h>
#include <X11/Xutil.h>
#include <Xm/MwmUtil.h>
#include <Xm/Protocols.h>
#include <Xm/Xm.h>
#include <Xm/XmP.h>
#include <Xm/Text.h>
#include <Dt/Help.h>
#include <DtI/HelpP.h>
#include <Dt/HelpDialog.h>
#include <Dt/HelpQuickD.h>
#include <DtI/HelposI.h>
/* Local Includes */
#include "Main.h"
#include "UtilI.h"
/******** Static Function Declarations ********/
static void CloseQuickHelpCB(
Widget w,
XtPointer clientData,
XtPointer callData);
/****************************************************************************
* Function: CloseAndExitCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Closes the helpview process when the users
* closes either a man page view or a ascii
* text file view.
*
***************************************************************************/
void CloseAndExitCB(
Widget w,
XtPointer clientData,
XtPointer callData)
{
/* We just want to go away here */
exit (0);
}
/****************************************************************************
* Function: CloseQuickHelpCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Closes the Quick Help dialog without exiting.
*
***************************************************************************/
static void CloseQuickHelpCB(
Widget w,
XtPointer clientData,
XtPointer callData)
{
/* We just unmanage the dialog */
XtUnmanageChild(viewWidget);
}
/****************************************************************************
* Function: CloseHelpCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process close requests on all Help Dialog widgets
* created and managed by this application.
*
***************************************************************************/
void CloseHelpCB (
Widget w,
XtPointer clientData,
XtPointer callData)
{
Widget helpDialog = (Widget) clientData;
CacheListStruct *pTemp;
CacheListStruct *pTempCurrent;
pTemp = pCacheListHead;
/* Search our Cache List for the closed help dialog */
while ((pTemp->helpDialog != helpDialog) && (pTemp != NULL))
pTemp = pTemp->pNext;
if (pTemp == NULL)
/* ERROR */
printf("We did not find our help dialog widget in the cache list??? /n");
/* Un Map and Clean up the help widget */
XtUnmanageChild(helpDialog);
pTemp->inUseFlag = FALSE;
/* Re-Assign our pTemp to point to our head so we can see
* if we have any in-use help dialog in our list.
*/
pTemp = pCacheListHead;
/* Check and see if we should exit */
while (pTemp != NULL && (pTemp->inUseFlag != TRUE))
pTemp = pTemp->pNext;
if (pTemp == NULL) /* We have no dialog mapped so exit */
{
/* Lets clean up our cache list just for fun, prior to exiting */
pTemp = pCacheListHead;
while (pTemp != NULL)
{
pTempCurrent = pTemp;
pTemp = pTemp->pNext;
XtDestroyWidget(pTempCurrent->helpDialog);
}
exit (0);
}
}
/****************************************************************************
* Function: void ProcessLinkCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process JUMP-NEW and APP-LINK hypertext requests in a
* given Help Dialog Window.
*
* This is the callback used for the DtNhyperLinkCallback
* on each of the help dialog widges created.
*
****************************************************************************/
void ProcessLinkCB (
Widget w,
XtPointer clientData,
XtPointer callData)
{
DtHelpDialogCallbackStruct * hyperData =
(DtHelpDialogCallbackStruct *) callData;
switch (hyperData->hyperType)
{
case DtHELP_LINK_JUMP_NEW:
DisplayTopic (topLevel, hyperData->helpVolume,
hyperData->locationId, 0, NULL);
break;
case DtHELP_LINK_MAN_PAGE:
/* Add support for man links */
DisplayMan(topLevel, hyperData->specification, NO_EXIT_ON_CLOSE);
break;
case DtHELP_LINK_APP_DEFINE:
/* Send out the proper warning (e.g. message 14) */
break;
default:
/* ERROR */
/* Send out warning (e.g. message 15) */
break;
} /* End Switch Statement */
}
/****************************************************************************
* Function: void DisplayTopic(
* Widget parent,
* char *helpVolume,
* char *locationId)
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a new Cache Creek help topic in a new/cached
* help dialog widget.
*
****************************************************************************/
void DisplayTopic (
Widget parent,
char *helpVolume,
char *locationId,
int argc,
char **argv)
{
Arg args[15];
int n;
CacheListStruct *pCurrentNode = NULL;
Boolean cachedNode = FALSE;
char *titleString;
/* If we have a null location id within helpview we want to force
* it to the default: _HOMETOPIC.
*/
if (locationId == NULL)
locationId = XtNewString("_HOMETOPIC");
/* Get a used or new node form our cache if we have one */
cachedNode = GetFromCache(parent, &pCurrentNode);
titleString = XtNewString((char*)_DTGETMESSAGE (7,20,"Help Viewer"));
/* If we got a free one from the Cache, use it */
/* Set Values on current free one, then map it */
if (cachedNode)
{
n = 0;
XtSetArg (args[n], XmNtitle, titleString); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
XtSetArg (args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
XtSetValues(pCurrentNode->helpDialog, args, n);
XtManageChild(pCurrentNode->helpDialog);
}
else
{
/* Build a new one in our cached list */
n = 0;
XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
XtSetArg (args[n], XmNtitle, titleString); n++;
XtSetArg (args[n], DtNshowTopLevelButton, TRUE); n++;
XtSetArg (args[n], DtNshowNewWindowButton, TRUE); n++;
if (helpVolume != NULL)
{
XtSetArg (args[n],DtNhelpVolume,helpVolume); n++;
}
XtSetArg (args[n], DtNlocationId,locationId); n++;
pCurrentNode->helpDialog =
DtCreateHelpDialog(parent, "helpWidget", args, n);
XtAddCallback(pCurrentNode->helpDialog, DtNhyperLinkCallback,
ProcessLinkCB, NULL);
XtAddCallback(pCurrentNode->helpDialog, DtNcloseCallback,
CloseHelpCB,(XtPointer) pCurrentNode->helpDialog);
XtManageChild(pCurrentNode->helpDialog);
/* Set the wm_command property on the help dialog window */
if (argc != 0)
XSetCommand(appDisplay,
XtWindow(XtParent(pCurrentNode->helpDialog)), argv, argc);
}
XtFree(titleString);
}
/****************************************************************************
* Function: CacheListStruct GetFromCache(
* Widget parent);
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Gets a free help node form our cache list. If none are
* free, it will return fallse and the calling routine will
* create a new help dialog widget.
*
****************************************************************************/
Boolean GetFromCache(
Widget parent,
CacheListStruct **pCurrentNode)
{
CacheListStruct *pTemp;
if (pCacheListHead == NULL)
{
/* We have a new list so lets create one and pass it back */
pCacheListHead =
(CacheListStruct *) XtMalloc((sizeof(CacheListStruct)));
/* Assign the default values to our node */
pCacheListHead->helpDialog = NULL;
pCacheListHead->inUseFlag = TRUE;
pCacheListHead->pNext = NULL;
pCacheListHead->pPrevious = NULL;
/* Assign our tale pointer */
pCacheListTale = pCacheListHead;
/* Make sure or totalNodes counter is correct, e.g. force it to 1 */
totalCacheNodes = 1;
/* Return our head pointer because it's our first and only node */
*pCurrentNode = pCacheListHead;
return (FALSE);
}
else
{
/* We have some nodes so search for a free one first */
pTemp = pCacheListHead;
while (pTemp != NULL)
{
if (pTemp->inUseFlag == FALSE)
{
pTemp->inUseFlag = TRUE;
*pCurrentNode = pTemp;
return (TRUE);
}
else
pTemp = pTemp->pNext;
}
/* If we did not find a free nod then we must add a new one to the
* top of the list, and return it.
*/
pTemp = (CacheListStruct *) XtMalloc((sizeof(CacheListStruct)));
/* Assign the default values to our node */
pTemp->helpDialog = NULL;
pTemp->inUseFlag = TRUE;
pTemp->pNext = pCacheListHead;
pTemp->pPrevious = NULL;
pCacheListHead->pPrevious = pTemp;
/* Re-Assign our head pointer to point to the new head of the list */
pCacheListHead = pTemp;
/* Make sure or totalNodes counter is correct, e.g. force it to 1 */
totalCacheNodes = totalCacheNodes + 1;
/* Return our head pointer because it's our new node */
*pCurrentNode = pCacheListHead;
return (FALSE);
}
}
/****************************************************************************
* Function: void DisplayFile(
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a ascii file in a quick help dialog.
*
****************************************************************************/
void DisplayFile (
Widget parent,
char *file)
{
Arg args[20];
int n;
Widget helpWidget;
Widget backWidget;
char *title;
XmString printString;
XmString exitString;
/* Create the QuickHelpDialog widget for help on help */
title = XtNewString(file);
printString = XmStringCreateLocalized((char *)_DTGETMESSAGE(7,19,"Print ..."));
exitString = XmStringCreateLocalized((char *)_DTGETMESSAGE(7, 16, "Exit"));
n =0;
XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetArg (args[n], DtNprintLabelString, printString); n++;
XtSetArg (args[n], XmNokLabelString, exitString); n++;
XtSetArg (args[n], DtNhelpType,DtHELP_TYPE_FILE); n++;
XtSetArg (args[n], DtNhelpFile, file); n++;
XtSetArg (args[n], XmNscrollBarPlacement,
DtHELP_AS_NEEDED_SCROLLBARS); n++;
viewWidget = DtCreateHelpQuickDialog(parent,"fileBox", args, n);
XmStringFree(printString);
XmStringFree(exitString);
XtFree((char*) title);
/* Catch the close callback so we can destroy the widget */
XtAddCallback(viewWidget, DtNcloseCallback,
CloseAndExitCB, (XtPointer) NULL);
/* We do not want a help button for now so we unmap it */
helpWidget = DtHelpQuickDialogGetChild (viewWidget,DtHELP_QUICK_HELP_BUTTON);
XtUnmanageChild (helpWidget);
/* We do not want a backtrack button for now so we unmap it */
backWidget = DtHelpQuickDialogGetChild (viewWidget,DtHELP_QUICK_BACK_BUTTON);
XtUnmanageChild (backWidget);
/* Display the dialog */
XtManageChild(viewWidget);
}
/****************************************************************************
* Function: void DisplayMan()
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a UNIX man page in a quick help dialog.
*
****************************************************************************/
void DisplayMan (
Widget parent,
char *man,
int closeOption)
{
Arg args[20];
int n;
Widget helpWidget;
char *title;
XmString printString;
XmString exitString;
XmString backString;
XmUpdateDisplay(topLevel);
if (viewWidget == NULL)
{
/* Create the QuickHelpDialog widget for help on help */
title = XtNewString(man);
printString = XmStringCreateLocalized((char *)_DTGETMESSAGE(
7, 19, "Print ..."));
backString = XmStringCreateLocalized((char *)_DTGETMESSAGE(
7, 18, "Backtrack"));
if (closeOption == EXIT_ON_CLOSE)
{
exitString = XmStringCreateLocalized((char *)_DTGETMESSAGE(
7, 16, "Exit"));
}
else
{
exitString = XmStringCreateLocalized((char *)_DTGETMESSAGE(
7, 17, "Close"));
}
n =0;
XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetArg (args[n], DtNbackLabelString, backString); n++;
XtSetArg (args[n], DtNprintLabelString, printString); n++;
XtSetArg (args[n], XmNokLabelString, exitString); n++;
XtSetArg (args[n], DtNhelpType,DtHELP_TYPE_MAN_PAGE); n++;
XtSetArg (args[n], DtNmanPage, man); n++;
XtSetArg (args[n], XmNscrollBarPlacement,
DtHELP_AS_NEEDED_SCROLLBARS); n++;
viewWidget = DtCreateHelpQuickDialog(parent,"manBox", args, n);
XmStringFree(printString);
XmStringFree(exitString);
XmStringFree(backString);
XtFree((char*) title);
if (closeOption == EXIT_ON_CLOSE)
{
XtAddCallback(viewWidget, DtNcloseCallback,
CloseAndExitCB, (XtPointer) NULL);
}
else
{
XtAddCallback(viewWidget, DtNcloseCallback,
CloseQuickHelpCB, (XtPointer) NULL);
}
/* We do not want a help button for now so we unmap it */
helpWidget = DtHelpQuickDialogGetChild (viewWidget,DtHELP_QUICK_HELP_BUTTON);
XtUnmanageChild (helpWidget);
XtManageChild(viewWidget);
}
else
{
_DtHelpTurnOnHourGlass(viewWidget);
/* We already have a quick help dialog so re-use it */
n = 0;
XtSetArg (args[n], DtNhelpType,DtHELP_TYPE_MAN_PAGE); n++;
XtSetArg (args[n], DtNmanPage, man); n++;
XtSetValues(viewWidget, args, n);
title = XtNewString(man);
n = 0;
XtSetArg (args[n], XmNtitle, title); n++;
XtSetValues(XtParent(viewWidget), args, n);
XtFree((char*) title);
XtManageChild(viewWidget);
XtMapWidget(XtParent(viewWidget));
XRaiseWindow(appDisplay, XtWindow(XtParent(viewWidget)));
_DtHelpTurnOffHourGlass(viewWidget);
}
}

View File

@@ -0,0 +1,205 @@
/* $XConsortium: UtilI.h /main/4 1995/11/08 09:23:08 rswiston $ */
/************************************<+>*************************************
****************************************************************************
**
** File: Util.h
**
** Project: helpviewer 3.0
**
** Description: Structures and defines needed HelpUtil.h in our Preview
** tool (aka, helpviewer).
**
** (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
**
** (c) Copyright 1993, 1994 Hewlett-Packard Company
** (c) Copyright 1993, 1994 International Business Machines Corp.
** (c) Copyright 1993, 1994 Sun Microsystems, Inc.
** (c) Copyright 1993, 1994 Novell, Inc.
**
**
**
****************************************************************************
************************************<+>*************************************/
#ifndef _UtilI_h
#define _UtilI_h
#define DEFAULT_ROWS 20
#define DEFAULT_COLUMNS 20
/****************************************************************
*
* Cache List Info Structure Definition.
*
****************************************************************/
typedef struct _CacheListStruct {
Widget helpDialog;
Boolean inUseFlag;
struct _CacheListStruct *pNext;
struct _CacheListStruct *pPrevious;
} CacheListStruct;
/****************************************************************************
* Function: void DisplayTopic(
* Widget parent,
* char *accessPath,
* char *idString)
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a new Cache Creek help topic in a new help dialog
* widget.
*
****************************************************************************/
extern void DisplayTopic (
Widget parent,
char *accessPath,
char *idString,
int argc,
char **argv);
/****************************************************************************
* Function: void DisplayFile(
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a ascii file in a quick help dialog.
*
****************************************************************************/
extern void DisplayFile (
Widget parent,
char *file);
/****************************************************************************
* Function: void DisplayMan();
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Displays a UNIX man page in a quick help dialog.
*
****************************************************************************/
extern void DisplayMan (
Widget parent,
char *man,
int closeOption);
/****************************************************************************
* Function: CloseAndExitCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Closes the helpview process when the users
* closes either a man page view or a ascii
* text file view.
*
***************************************************************************/
extern void CloseAndExitCB(
Widget w,
XtPointer clientData,
XtPointer callData);
/****************************************************************************
* Function: CloseHelpCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process close requests on all Help Dialog widgets
* created and managed by this application.
*
***************************************************************************/
extern void CloseHelpCB (
Widget w,
XtPointer clientData,
XtPointer callData);
/****************************************************************************
* Function: void ProcessLinkCB(
* Widget w,
* XtPointer clientData,
* XtPointer callData
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Process JUMP-NEW and APP-LINK hypertext requests in a
* given Help Dialog Window.
*
* This is the callback used for the DtNhyperLinkCallback
* on each of the help dialog widges created.
*
****************************************************************************/
extern void ProcessLinkCB (
Widget w,
XtPointer clientData,
XtPointer callData);
/****************************************************************************
* Function: CacheListStruct GetFromCache(
* Widget parent);
*
* Parameters:
*
* Return Value: Void.
*
* Purpose: Gets a free help node form our cache list. If none are
* free, it will return fallse and the calling routine will
* create a new help dialog widget.
*
****************************************************************************/
Boolean GetFromCache(
Widget parent,
CacheListStruct **pCurrentNode);
#endif /* _UtilI_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,59 @@
.\" $XConsortium: helpview.1x /main/2 1995/07/17 14:55:24 drk $
.\" **
.\" **
.\" ** (c) Copyright 1992, by Hewlett-Packard Company
.\" **
.\" **
.TH helpview 1X
.ds )H Hewlett-Packard Company
.SH NAME
\fBhelpview\fP - The HP Help viewer.
.iX "helpview"
.SH SYNOPSIS
.B helpview
[\fIoptions\fP]
.SH DESCRIPTION
\fBhelpview\fP is an OSF/Motif based client that is used to display on-line
help text, ASCII files, or man pages. helpview is an integral part of the
Hewlett-Packard Help System (HP Help). Its functionality and user interface
is almost completely that of the help and quick help widgets. See
\fIXvhHelpDialog.3x\fP and \fIXvhQuickHelpDialog.3x.\fP When displaying
information, \fBhelpview\fP provides access to the HP Hellp System's printing
capabilities. See \fIhelpprint.1X\fP.
.SS Options
.TP 8
.BI \-display " display"
This option specifies the display to use, typically of the form
\fBhostname:display_number.screen_number\fR.
For example, \fB-display oregon:2.0\fR specifies
the first screen of the second display of host \fBoregon\fR.
If no \fIscreen_number\fR is specified, the first screen (screen ``0'')
is used. See also \fIX(1)\fP.
.TP 8
.BI \-helpVolume " volume file name"
This option causes \fBhelpview\fP to display a topic of the help volume.
.TP 8
.BI \-locationId " id"
This option causes \fBhelpview\fP to display the help volume topic
referenced by location id.
.TP 8
.BI \-file " file name"
This option causes \fBhelpview\fP to read and display an ASCII file.
.TP 8
.BI \-man
This option causes \fBhelpview\fP to display a dialog which prompts for
a man page name which is then read and displayed.
.TP 8
.BI \-manPage " man page name"
This option causes \fBhelpview\fP to read and display a man page.
.sp 1
.SH COPYRIGHT
(c) Copyright 1992 by Hewlett-Packard Company
.br
All rights reserved.
.sp 1
.SH ORIGIN
Hewlett-Packard Company UTD-CV.
.sp 1
.SH SEE ALSO
\fBhelpprint(1X), XvhHelpDialog.3X, XvhQuickHelpDialog.3X\fR.

View File

@@ -0,0 +1,7 @@
/* $XConsortium: helpview_main.c /main/3 1995/11/08 09:23:17 rswiston $ */
helpview(argc,argv)
int argc;
char *argv[];
{
main(argc,argv);
}

View File

@@ -0,0 +1,386 @@
# $XConsortium: nlsMsgChk.txt /main/2 1996/11/11 11:29:19 drk $
#############################################################################
#
# Component: helpview (e.g $(TOP)/hp/rivers/cachecreek/helpview/helpview)
#
############################################################################
# NOTE: Some of the dialogs exercise messages which are in different
# message sets. The syntax used to specify this is:
#
# (set #, msg#)
#
1. Screendump file name: < 1.Z >
_DtMessage catalog set number: 2, and 9
_DtMessage number(s): (Set 2, messages 1 - 28), (Set 9, message 1)
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
By selecting each of the helpveiw pulldown menus, you can see each of the
menu labels covered in the messages. The screen dump given here just shows
the main helpview dialog and top level menu items.
Set 9, message 1 is displayed in the main window under the menubar.
2. Screendump file name: < 2.Z >
_DtMessage catalog set number: 2
_DtMessage number(s): 31
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -man
Type "foo" inside the 'Man Page:' text field and select the 'Show Man Page'
button. A quick help dialog will appear displaying the proper error
message (e.g. "Man Page could not be formatted").
Select the Exit button to exit the Man Page viewer.
3. Screendump file name: < 3.Z >
_DtMessage catalog set number: 7
_DtMessage number(s): 11, 12, 13, 16
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -man
The Man Page dialog that shows up contains all of the above messages.
Select the Exit button to exit the Man Page viewer.
4. Screendump file name: < 4.Z >
_DtMessage catalog set number: 2
_DtMessage number(s): 34
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv -locationId foobar
'foobar' is not a valid locationId for the HelpOnHelp help volume, thus the
error message "Nonexistent location ID" is generated within the helpview
main window. This error message is also sent to Standard Error (e.g. the
terminal window you ran helpveiw from), however, this version of the error
message is not localized. Only the version that goes comes from the
(Set 2, _DtMessage 34), and is displayed in the helpviw main window is
localized.
5. Screendump file name: < 5.Z >
_DtMessage catalog set number: 2
_DtMessage number(s): 37
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume foobar
'foobar' is not a valid helpVolume, thus the error message "Could not find
help volume." is generated within the helpview main window.
This error message is also sent to Standard Error (e.g. the
terminal window you ran helpveiw from), however, this version of the error
message is not localized. Only the version that goes comes from the
(Set 2, _DtMessage 37), and is displayed in the helpviw main window is
localized.
6. Screendump file name: < 6.Z >
_DtMessage catalog set number: 2
_DtMessage number(s): 39
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview
Because you did not give any helpVolume resource to the helpview
application it will generate the error message: "No help volume specified".
7. Screendump file name: < 7.Z >
_DtMessage catalog set number: 3
_DtMessage number(s): 1, 2, 3, 4
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the History... menu item under the
Search menu. The History dialog contains all the messages used in set 3.
8. Screendump file name: < 8.Z >
_DtMessage catalog set number: 4
_DtMessage number(s): 1, 2, 3, 4, 5, 6, and 7.
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Print... menu item under the
File menu. The Print dialog contains all the messages used in set 4.
9. Screendump file name: < 9.Z >
_DtMessage catalog set number: 5
_DtMessage number(s): 1, 2, 3, 4, 5, and 6.
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Keyword... menu item under the
Search menu. This dialog contains messages 1 through 6.
10. Screendump file name: < 10.Z >
_DtMessage catalog set number: 5 and 8
_DtMessage number(s): (Set 5, message 10), (Set 8, messages 2, and 5)
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Keyword... menu item under the
Search menu. Type foo in the "Keyword Filter (Optional):" field and hit
<return>. An error dialog will be posted.
11. Screendump file name: < 11.Z >
_DtMessage catalog set number: 5
_DtMessage number(s): 9
Instructions:
As root move the file "/usr/hphelp/help/%L/onhelp/HelpOnHelp.hvk" to
"/usr/hphelp/help/%L/onhelp/HelpOnHelp.sav".
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Keyword... menu item under the
Search menu. An error dialog will be posted stating: "Keyword index not
available!".
Be sure to restore the HelpOnHelp.sav file back to HelpOnHelp.hvk.
12. Screendump file name: < 12.Z >
_DtMessage catalog set number: 6
_DtMessage number(s): 1, 2, 3, and 5.
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Using Help... menu item under the
Help menu. The Help On Help dialog will be posted.
13. Screendump file name: < 13.Z >
_DtMessage catalog set number: 6
_DtMessage number(s): 4
Instructions:
Make a copy of the /usr/hphelp/app-defaults/%L/Helpview file in your
home directory. Comment out the following line in that file:
"Helpview*helpOnHelpVolume: HelpOnHelp.hv".
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -helpVolume HelpOnHelp.hv
From the main Helpview window select the Using Help... menu item under the
Help menu. An error dialog will be posted with the proper error message
in it.
Make sure to un-comment the HelpOnHelpVolume resource in your Helpview
app-defaults file before you continue.
14. Screendump file name: < 14.Z >
_DtMessage catalog set number: 2
_DtMessage number(s): 32
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -file foobar
Note: foobar must not exist in your current working directory.
'foobar' is not a valid file, thus the error message "Text file data could
not be formatted." is generated within the quick help window.
This error message is also sent to Standard Error (e.g. the terminal
window you ran helpveiw from), however, this version of the error
message is not localized. Only the version that goes comes from the
(Set 2, _DtMessage 32), and is displayed in the helpviw main window is
localized.
15. Screendump file name: < 15.Z >
_DtMessage catalog set number: 7
_DtMessage number(s): 7, and 16
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -manPage grep
Note: If you do not have the grep man page on your system just use any
man page that you have on the current system.
The quick help dialog that is displayed will show the above listed messages.
16. Screendump file name: <None>
_DtMessage catalog set number: 7
_DtMessage number(s): 1, 2, 3, 4, 5, 6, and 13.
Instructions:
From a terminal window type the following command to start
helpview:
/usr/hphelp/bin/helpview -foobar
Because 'foobar' is not a valid command line option, the following
Usage message is produced:
Usage: helpview...
-helpVolume <Help Volume File>
-locationId <Cache Creek LocationId>
-file <ASCII Text File>
-man
-manPage <Unix Man Page>
17. The following messages and corresponding message sets are used only when
specific error conditions are hit. Their is no easy way for a localizer
to display these messages, thus, their are no screen dumps or explanations
on how to display them.
The bottom line is that they need to be localized, however, they cannot be
viewed by the localizers.
a) _DtMessage catalog set number: 2
_DtMessage number(s): 29, 30, 33, and 38.
b) _DtMessage catalog set number: 7
_DtMessage number(s): 14, and 15.
c) _DtMessage catalog set number: 8
_DtMessage number(s): 3, and 4.

View File

@@ -0,0 +1,23 @@
# $XConsortium: nlsREADME.txt /main/2 1996/11/11 11:29:38 drk $
#############################################################################
#
# Component: helpview
#
# Helpview is a simple application that allows authors, developers, and
# end users to view Cache Creek help files within the DT environment.
#
############################################################################
_DtMessage catalog source:
File name: DtHelp.msg
Target: /usr/dt/nls/%L/DtHelp.cat
App-defaults file:
File name: Helpview
Target: /usr/hphelp/app-defaults/%L/Helpview
#

View File

@@ -0,0 +1,28 @@
/********************************************************
Copyright (c) 1988 by the Massachusetts Institute of Technology
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the names of
Hewlett-Packard or M.I.T. not be used in advertising or publicity
pertaining to distribution of the software without specific, written
prior permission.
(c) Copyright 1993-1994,1996 Digital Equipment Corporation.
(c) Copyright 1987-1994,1996 Hewlett-Packard Company.
(c) Copyright 1993-1994,1996 International Business Machines Corp.
(c) Copyright 1993-1994,1996 Sun Microsystems, Inc.
(c) Copyright 1996 Novell, Inc.
(c) Copyright 1996 FUJITSU LIMITED.
(c) Copyright 1996 Hitachi.
********************************************************/
#include <include/hpversion.h>
#ifndef lint
version_tag("dthelpview: $XConsortium: version.c /main/5 1996/08/30 15:38:24 drk $")
#endif /* lint */

View File

@@ -0,0 +1,223 @@
!##############################################################################
!# The symbol family.
!#
!# Used to display symbols that do not exist in the ISO-8895-1
!# code set (bullets, greek, mathmatical, etc.).
!#
!##############################################################################
*.6.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-80-*-*-*-*-dtsymbol-1
*.8.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-100-*-*-*-*-dtsymbol-1
*.10.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-120-*-*-*-*-dtsymbol-1
*.12.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-140-*-*-*-*-dtsymbol-1
*.14.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-180-*-*-*-*-dtsymbol-1
!##############################################################################
!#
!# Any symbol existing in the ISO-8859-1 set will use the permutations
!# listed below depending on its weight, slant, spacing, size and family.
!# Therefore, be very careful about eliminating an ISO-8859-1 permutation
!# that you don't think is being used. It might be required for a symbol.
!#
!# Also, the indication of what font is used when may be incomplete.
!# It is provided only as a guide - not as an absolute.
!#
!##############################################################################
!##############################################################################
!# The serif proportional family
!#
!# Used for <var>, <super>, <sub> and many <head> permutations.
!# <term> will use bold versions.
!# <emph> will use italic versions.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-80-*-*-p-*-iso8859-1
*.p.8.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.10.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.12.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.14.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-80-*-*-p-*-iso8859-1
*.p.8.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.10.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.12.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-140-*-*-p-*-iso8859-1
!##############################################################################
!# <head> for <hometopic>, <chapter>, <s1>...<s9>
!##############################################################################
*.p.14.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-80-*-*-p-*-iso8859-1
*.p.8.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.10.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.12.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.14.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-80-*-*-p-*-iso8859-1
*.p.8.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.10.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.12.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.14.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# The sans serif proportional family
!#
!# Used for just about everything
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-80-*-*-p-*-iso8859-1
*.p.8.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-100-*-*-p-*-iso8859-1
!##############################################################################
!# base font for <abstract>, <chapter>, <copyright>, <glossary>, <hometopic>,
!# <image>, <metainfo>, <s1>...<s9>, and <title>
!##############################################################################
*.p.10.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.12.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.14.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-80-*-*-p-*-iso8859-1
*.p.8.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.10.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.12.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-140-*-*-p-*-iso8859-1"
*.p.14.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-80-*-*-p-*-iso8859-1
*.p.8.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.10.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.12.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.14.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-80-*-*-p-*-iso8859-1
*.p.8.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.10.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.12.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.14.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# The monospace family
!#
!# serif & san serif are lumped together.
!#
!# The various sizes and slants are used for <ex>, <computer>, <user> and
!# manpages.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.m.6.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-80-*-*-m-*-iso8859-1
*.m.8.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-100-*-*-m-*-iso8859-1
*.m.10.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-120-*-*-m-*-iso8859-1
*.m.12.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-140-*-*-m-*-iso8859-1
*.m.14.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-180-*-*-m-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.m.6.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-80-*-*-m-*-iso8859-1
*.m.8.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-100-*-*-m-*-iso8859-1
*.m.10.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-120-*-*-m-*-iso8859-1
*.m.12.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-140-*-*-m-*-iso8859-1
*.m.14.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-180-*-*-m-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.m.6.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-80-*-*-m-*-iso8859-1
*.m.8.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-100-*-*-m-*-iso8859-1
*.m.10.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-120-*-*-m-*-iso8859-1
*.m.12.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-140-*-*-m-*-iso8859-1
*.m.14.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-180-*-*-m-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.m.6.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-80-*-*-m-*-iso8859-1
*.m.8.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-100-*-*-m-*-iso8859-1
*.m.10.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-120-*-*-m-*-iso8859-1
*.m.12.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-140-*-*-m-*-iso8859-1
*.m.14.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-180-*-*-m-*-iso8859-1

View File

@@ -0,0 +1,223 @@
!##############################################################################
!# The symbol family.
!#
!# Used to display symbols that do not exist in the ISO-8895-1
!# code set (bullets, greek, mathmatical, etc.).
!#
!##############################################################################
*.6.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-100-*-*-*-*-dtsymbol-1
*.8.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-120-*-*-*-*-dtsymbol-1
*.10.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-140-*-*-*-*-dtsymbol-1
*.12.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-180-*-*-*-*-dtsymbol-1
*.14.*.*.*.*.DT-SYMBOL-1: \
-dt-application-medium-r-normal-*-*-240-*-*-*-*-dtsymbol-1
!##############################################################################
!#
!# Any symbol existing in the ISO-8859-1 set will use the permutations
!# listed below depending on its weight, slant, spacing, size and family.
!# Therefore, be very careful about eliminating an ISO-8859-1 permutation
!# that you don't think is being used. It might be required for a symbol.
!#
!# Also, the indication of what font is used when may be incomplete.
!# It is provided only as a guide - not as an absolute.
!#
!##############################################################################
!##############################################################################
!# The serif proportional family
!#
!# Used for <var>, <super>, <sub> and many <head> permutations.
!# <term> will use bold versions.
!# <emph> will use italic versions.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.8.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.10.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.12.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-180-*-*-p-*-iso8859-1
*.p.14.roman.medium.serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-serif-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.8.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.10.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.12.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-180-*-*-p-*-iso8859-1
!##############################################################################
!# <head> for <hometopic>, <chapter>, <s1>...<s9>
!##############################################################################
*.p.14.roman.bold.serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-serif-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.8.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.10.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.12.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-180-*-*-p-*-iso8859-1
*.p.14.italic.medium.serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-serif-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-100-*-*-p-*-iso8859-1
*.p.8.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-120-*-*-p-*-iso8859-1
*.p.10.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-140-*-*-p-*-iso8859-1
*.p.12.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-180-*-*-p-*-iso8859-1
*.p.14.italic.bold.serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-serif-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# The sans serif proportional family
!#
!# Used for just about everything
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.8.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-120-*-*-p-*-iso8859-1
!##############################################################################
!# base font for <abstract>, <chapter>, <copyright>, <glossary>, <hometopic>,
!# <image>, <metainfo>, <s1>...<s9>, and <title>
!##############################################################################
*.p.10.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.12.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-180-*-*-p-*-iso8859-1
*.p.14.roman.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-r-normal-sans-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.8.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.10.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.12.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-180-*-*-p-*-iso8859-1"
*.p.14.roman.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-r-normal-sans-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.8.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.10.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.12.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-180-*-*-p-*-iso8859-1
*.p.14.italic.medium.sans_serif.*.ISO-8859-1: \
-dt-application-medium-i-normal-sans-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-100-*-*-p-*-iso8859-1
*.p.8.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-120-*-*-p-*-iso8859-1
*.p.10.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-140-*-*-p-*-iso8859-1
*.p.12.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-180-*-*-p-*-iso8859-1
*.p.14.italic.bold.sans_serif.*.ISO-8859-1: \
-dt-application-bold-i-normal-sans-*-240-*-*-p-*-iso8859-1
!##############################################################################
!# The monospace family
!#
!# serif & san serif are lumped together.
!#
!# The various sizes and slants are used for <ex>, <computer>, <user> and
!# manpages.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.m.6.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-100-*-*-m-*-iso8859-1
*.m.8.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-120-*-*-m-*-iso8859-1
*.m.10.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-140-*-*-m-*-iso8859-1
*.m.12.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-180-*-*-m-*-iso8859-1
*.m.14.roman.medium.*.*.ISO-8859-1: \
-dt-application-medium-r-normal-*-*-240-*-*-m-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.m.6.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-100-*-*-m-*-iso8859-1
*.m.8.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-120-*-*-m-*-iso8859-1
*.m.10.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-140-*-*-m-*-iso8859-1
*.m.12.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-180-*-*-m-*-iso8859-1
*.m.14.roman.bold.*.*.ISO-8859-1: \
-dt-application-bold-r-normal-*-*-240-*-*-m-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.m.6.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-100-*-*-m-*-iso8859-1
*.m.8.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-120-*-*-m-*-iso8859-1
*.m.10.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-140-*-*-m-*-iso8859-1
*.m.12.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-180-*-*-m-*-iso8859-1
*.m.14.italic.medium.*.*.ISO-8859-1: \
-dt-application-medium-i-normal-*-*-240-*-*-m-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.m.6.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-100-*-*-m-*-iso8859-1
*.m.8.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-120-*-*-m-*-iso8859-1
*.m.10.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-140-*-*-m-*-iso8859-1
*.m.12.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-180-*-*-m-*-iso8859-1
*.m.14.italic.bold.*.*.ISO-8859-1: \
-dt-application-bold-i-normal-*-*-240-*-*-m-*-iso8859-1

View File

@@ -0,0 +1,372 @@
!##############################################################################
!# Generic chinese fonts.
!#
!# By specifying a font specification with all but the point size starred
!# out, you allow any font server running to use scalable fonts if possible.
!#
!# Note the colon (:) ending the specification. This indicates to the
!# the help system that the font is used for a multibyte language.
!#
!##############################################################################
*.6.*.*.*.zh_CN.EUC-CN: -*-*-*-*-*-*-*-120-*-*-*-*-*-*:
*.8.*.*.*.zh_CN.EUC-CN: -*-*-*-*-*-*-*-140-*-*-*-*-*-*:
*.10.*.*.*.zh_CN.EUC-CN: -*-*-*-*-*-*-*-180-*-*-*-*-*-*:
*.12.*.*.*.zh_CN.EUC-CN: -*-*-*-*-*-*-*-240-*-*-*-*-*-*:
*.14.*.*.*.zh_CN.EUC-CN: -*-*-*-*-*-*-*-320-*-*-*-*-*-*:
!##############################################################################
!# Specific Japanese fonts
!#
!# By an exact list of fonts desired, you can custom build the font set
!# used for a resource permutation.
!#
!# Note the colon (:) ending the specification. This indicates to the
!# the help system that the font is used for a multibyte language.
!#
!##############################################################################
!##############################################################################
!# The serif proportional family
!#
!# Used for <var>, <super>, <sub> and many <head> permutations.
!# <term> will use bold versions.
!# <emph> will use italic versions.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.roman.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.roman.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.roman.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.roman.medium.serif.ja_JP.EUC-JP: \
-hp-gothic-medium-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.roman.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.roman.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.roman.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
!##############################################################################
!# <head> for <hometopic>, <chapter>, <s1>...<s9>
!##############################################################################
*.p.14.roman.bold.serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.italic.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.italic.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.italic.medium.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-medium-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.italic.medium.serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.italic.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.italic.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.italic.bold.serif.ja_JP.EUC-JP: \
-adobe-*schoolbook*-bold-i-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.italic.bold.serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# The sans serif proportional family
!#
!# Used for just about everything
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.roman.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
!##############################################################################
!# base font for <abstract>, <chapter>, <copyright>, <glossary>, <hometopic>,
!# <image>, <metainfo>, <s1>...<s9>, and <title>
!##############################################################################
*.p.10.roman.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.roman.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.roman.medium.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-medium-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.roman.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.roman.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.roman.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-r-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.roman.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.italic.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.italic.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.italic.medium.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-medium-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.italic.medium.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.italic.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.italic.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.italic.bold.sans_serif.ja_JP.EUC-JP: \
-adobe-helvetica-bold-o-normal--14-*-p-*-iso8859-1,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# The monospace family
!#
!# serif & san serif are lumped together.
!#
!# The various sizes and slants are used for <ex>, <computer>, <user> and
!# manpages.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.m.6.roman.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.8.roman.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.10.roman.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.12.roman.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.14.roman.medium.*.ja_JP.EUC-JP: \
-hp-gothic-medium-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-medium-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-medium-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold upright
!##############################################################################
*.m.6.roman.bold.*.ja_JP.EUC-JP: \
-hp-mincho-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.8.roman.bold.*.ja_JP.EUC-JP: \
-hp-mincho-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.10.roman.bold.*.ja_JP.EUC-JP: \
-hp-mincho-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.12.roman.bold.*.ja_JP.EUC-JP: \
-hp-mincho-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.14.roman.bold.*.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# medium italic
!##############################################################################
*.m.6.italic.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r_960-normal--16-*-*-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.8.italic.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r_960-normal--16-*-*-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.10.italic.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r_960-normal--16-*-*-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.12.italic.medium.*.ja_JP.EUC-JP: \
-hp-mincho-medium-r_960-normal--16-*-*-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.m.14.italic.medium.*.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.8.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.10.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.12.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--16-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--16-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-16-*-c-*-jisx0212.1990-0:
*.p.14.italic.bold.sans_serif.ja_JP.EUC-JP: \
-hp-gothic-bold-r-normal--20-*-c-*-jisx0201.1976-0,\
-hp-gothic-bold-r-normal--20-*-c-*-jisx0208.*-0,\
-hp-gothic-bold-r-normal-no glyph-20-*-c-*-jisx0212.1990-0:

View File

@@ -0,0 +1,223 @@
!##############################################################################
!# The symbol family.
!#
!# Used to display symbols that do not exist in the ISO-8895-1
!# code set (bullets, greek, mathmatical, etc.).
!#
!##############################################################################
*.6.*.*.*.*.DT-SYMBOL-1: \
-adobe-symbol-medium-r-normal--10-*-*-*-p-*-adobe-fontspecific
*.8.*.*.*.*.DT-SYMBOL-1: \
-adobe-symbol-medium-r-normal--12-*-*-*-p-*-adobe-fontspecific
*.10.*.*.*.*.DT-SYMBOL-1: \
-adobe-symbol-medium-r-normal--14-*-*-*-p-*-adobe-fontspecific
*.12.*.*.*.*.DT-SYMBOL-1: \
-adobe-symbol-medium-r-normal--17-*-*-*-p-*-adobe-fontspecific
*.14.*.*.*.*.DT-SYMBOL-1: \
-adobe-symbol-medium-r-normal--20-*-*-*-p-*-adobe-fontspecific
!##############################################################################
!#
!# Any symbol existing in the ISO-8859-1 set will use the permutations
!# listed below depending on its weight, slant, spacing, size and family.
!# Therefore, be very careful about eliminating an ISO-8859-1 permutation
!# that you don't think is being used. It might be required for a symbol.
!#
!# Also, the indication of what font is used when may be incomplete.
!# It is provided only as a guide - not as an absolute.
!#
!##############################################################################
!##############################################################################
!# The serif proportional family
!#
!# Used for <var>, <super>, <sub> and many <head> permutations.
!# <term> will use bold versions.
!# <emph> will use italic versions.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-r-normal--10-*-*-*-p-*-iso8859-1
*.p.8.roman.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-r-normal--12-*-*-*-p-*-iso8859-1
*.p.10.roman.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-r-normal--14-*-*-*-p-*-iso8859-1
*.p.12.roman.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-r-normal--17-*-*-*-p-*-iso8859-1
*.p.14.roman.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-r-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-r-normal--10-*-*-*-p-*-iso8859-1
*.p.8.roman.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-r-normal--12-*-*-*-p-*-iso8859-1
*.p.10.roman.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-r-normal--14-*-*-*-p-*-iso8859-1
*.p.12.roman.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-r-normal--17-*-*-*-p-*-iso8859-1
!##############################################################################
!# <head> for <hometopic>, <chapter>, <s1>...<s9>
!##############################################################################
*.p.14.roman.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-r-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-o-normal--10-*-*-*-p-*-iso8859-1
*.p.8.italic.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-o-normal--12-*-*-*-p-*-iso8859-1
*.p.10.italic.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-o-normal--14-*-*-*-p-*-iso8859-1
*.p.12.italic.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-o-normal--17-*-*-*-p-*-iso8859-1
*.p.14.italic.medium.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-medium-o-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-o-normal--10-*-*-*-p-*-iso8859-1
*.p.8.italic.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-o-normal--12-*-*-*-p-*-iso8859-1
*.p.10.italic.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-o-normal--14-*-*-*-p-*-iso8859-1
*.p.12.italic.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-o-normal--17-*-*-*-p-*-iso8859-1
*.p.14.italic.bold.serif.*.ISO-8859-1: \
-adobe-*schoolbook*-bold-o-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# The sans serif proportional family
!#
!# Used for just about everything
!#
!##############################################################################
!# medium upright
!##############################################################################
*.p.6.roman.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-r-normal--10-*-*-*-p-*-iso8859-1
*.p.8.roman.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-r-normal--12-*-*-*-p-*-iso8859-1
!##############################################################################
!# base font for <abstract>, <chapter>, <copyright>, <glossary>, <hometopic>,
!# <image>, <metainfo>, <s1>...<s9>, and <title>
!##############################################################################
*.p.10.roman.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-r-normal--14-*-*-*-p-*-iso8859-1
*.p.12.roman.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-r-normal--17-*-*-*-p-*-iso8859-1
*.p.14.roman.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-r-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.p.6.roman.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-r-normal--10-*-*-*-p-*-iso8859-1
*.p.8.roman.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-r-normal--12-*-*-*-p-*-iso8859-1
*.p.10.roman.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-r-normal--14-*-*-*-p-*-iso8859-1
*.p.12.roman.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-r-normal--17-*-*-*-p-*-iso8859-1"
*.p.14.roman.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-r-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.p.6.italic.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-o-normal--10-*-*-*-p-*-iso8859-1
*.p.8.italic.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-o-normal--12-*-*-*-p-*-iso8859-1
*.p.10.italic.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-o-normal--14-*-*-*-p-*-iso8859-1
*.p.12.italic.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-o-normal--17-*-*-*-p-*-iso8859-1
*.p.14.italic.medium.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-medium-o-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.p.6.italic.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-o-normal--10-*-*-*-p-*-iso8859-1
*.p.8.italic.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-o-normal--12-*-*-*-p-*-iso8859-1
*.p.10.italic.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-o-normal--14-*-*-*-p-*-iso8859-1
*.p.12.italic.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-o-normal--17-*-*-*-p-*-iso8859-1
*.p.14.italic.bold.sans_serif.*.ISO-8859-1: \
-adobe-helvetica-bold-o-normal--20-*-*-*-p-*-iso8859-1
!##############################################################################
!# The monospace family
!#
!# serif & san serif are lumped together.
!#
!# The various sizes and slants are used for <ex>, <computer>, <user> and
!# manpages.
!#
!##############################################################################
!# medium upright
!##############################################################################
*.m.6.roman.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-r-normal--10-*-*-*-m-*-iso8859-1
*.m.8.roman.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-r-normal--12-*-*-*-m-*-iso8859-1
*.m.10.roman.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-r-normal--14-*-*-*-m-*-iso8859-1
*.m.12.roman.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-r-normal--17-*-*-*-m-*-iso8859-1
*.m.14.roman.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-r-normal--20-*-*-*-m-*-iso8859-1
!##############################################################################
!# bold upright
!##############################################################################
*.m.6.roman.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-r-normal--10-*-*-*-m-*-iso8859-1
*.m.8.roman.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-r-normal--12-*-*-*-m-*-iso8859-1
*.m.10.roman.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-r-normal--14-*-*-*-m-*-iso8859-1
*.m.12.roman.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-r-normal--17-*-*-*-m-*-iso8859-1
*.m.14.roman.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-r-normal--20-*-*-*-m-*-iso8859-1
!##############################################################################
!# medium italic
!##############################################################################
*.m.6.italic.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-o-normal--10-*-*-*-m-*-iso8859-1
*.m.8.italic.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-o-normal--12-*-*-*-m-*-iso8859-1
*.m.10.italic.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-o-normal--14-*-*-*-m-*-iso8859-1
*.m.12.italic.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-o-normal--17-*-*-*-m-*-iso8859-1
*.m.14.italic.medium.*.*.ISO-8859-1: \
-adobe-courier-medium-o-normal--20-*-*-*-m-*-iso8859-1
!##############################################################################
!# bold italic
!##############################################################################
*.m.6.italic.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-o-normal--10-*-*-*-m-*-iso8859-1
*.m.8.italic.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-o-normal--12-*-*-*-m-*-iso8859-1
*.m.10.italic.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-o-normal--14-*-*-*-m-*-iso8859-1
*.m.12.italic.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-o-normal--17-*-*-*-m-*-iso8859-1
*.m.14.italic.bold.*.*.ISO-8859-1: \
-adobe-courier-bold-o-normal--20-*-*-*-m-*-iso8859-1

View File

@@ -0,0 +1,49 @@
#
# Test for font schemes
#
if test $# = 0
then
echo "usage: fonttest size"
echo "size can be 10 12 14 17 or 20"
echo "string all tests all the sizes"
elif test $1 = "all"
then
echo "Testing 10, 12, 14, 17, and 20 pixel sizes"
# 10 pixels
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help010.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
sleep 5
# 12 pixels
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help012.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
sleep 5
# 14 pixels
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help014.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
sleep 5
# 17 pixels
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help017.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
sleep 5
# 20 pixels
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help020.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
else
cp /x/r5s300/hp/rivers/cachecreek/helpview/Helpview ~/Helpview
chmod +w ~/Helpview
cat help0$1.fns >> ~/Helpview
/x/r5s300/hp/rivers/cachecreek/helpview/helpview -helpVolume /x/r5src/hp/rivers/cachecreek/volumes/developers/developers.hv &
fi

View File

@@ -0,0 +1,6 @@
list=`cat < $1 | awk '/^[^!]/{print $2}'`
for item in $list
do
echo "$item"
xlsfonts -fn "$item" > /dev/null
done

View File

@@ -0,0 +1,26 @@
# $XConsortium: Makefile /main/2 1996/05/13 11:32:08 drk $
# ###############################################
# Makefile for building the Help4Help volume
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
# Novell, Inc.
#
# ###############################################
HELPSRC = Help4Help.htg
HELPVOL = Help4Help.sdl
HELPCHARSET = iso8859.1
all: $(HELPVOL)
$(HELPVOL): $(HELPSRC)
dthelptag $(HELPSRC)
# dthelptag -verbose -charset $(HELPCHARSET) $(HELPSRC)
clean:
dthelptag -clean $(HELPSRC)

View File

@@ -0,0 +1,11 @@
/* $XConsortium: README /main/2 1996/07/15 14:11:42 drk $ */
Help 4 Help Build Instructions:
-------------------------------
The following files and directories include the source for the Help4Help help
volume used by the CDE Help Widgets. To build a local copy of this help volume
just type ``make''.
The source is included here so that developers can customize and or localize
this information independent of the current CDE desktops Help4Help version.

View File

@@ -0,0 +1,10 @@
search=.
search=..
search=/usr/dt/dthelp/dthelptag
search=/usr/dt/dthelp/dthelptag/icons
search=./graphics
search=../entityFiles

View File

@@ -0,0 +1,12 @@
XCOMM $XConsortium: Imakefile /main/3 1995/11/08 11:10:12 rswiston $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = htag volumegen helpcomp
LINTSUBDIRS = htag volumegen helpcomp
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
LintSubdirs($(LINTSUBDIRS))

View File

@@ -0,0 +1,10 @@
The icons in this directory should be replaced with the ones we ship
with the HP DT run-time online help. They are stored in:
.../hp/rivers/help/graphicsShared/noteicon.pm
.../hp/rivers/help/graphicsShared/cauticon.pm
.../hp/rivers/help/graphicsShared/warnicon.pm
It was noticed that these files were out of synch too late to make it into
the IF3 release.

View File

@@ -0,0 +1,43 @@
/* XPM */
/* $XConsortium: cauticon.pm /main/3 1995/07/18 17:15:44 drk $ */
static char * cauticon [] = {
/* width height ncolors cpp [x_hot y_hot] */
"32 32 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c black",
"X s iconColor5 m black c blue",
"o s iconColor6 m white c yellow",
/* pixels */
" ",
" ..... ",
" .XXXXX. ",
" .XXoooXX. ",
" .XXoooooXX. ",
" .XoooooooX. ",
" .XXoooooooXX. ",
" .XXoooXXXoooXX. ",
" .XoooXXXXXoooX. ",
" .XXoooXXXXXoooXX. ",
" .XXooooXXXXXooooXX. ",
" .XoooooXXXXXoooooX. ",
" .XXoooooXXXXXoooooXX. ",
" .XXooooooXXXXXooooooXX. ",
" .XooooooooXXXooooooooX. ",
" .XXooooooooXXXooooooooXX. ",
" .XXoooooooooXXXoooooooooXX. ",
" .XooooooooooXXXooooooooooX. ",
" .XXooooooooooXXXooooooooooXX. ",
".XXoooooooooooooooooooooooooX. ",
".XXoooooooooooooooooooooooooXX. ",
".XooooooooooooXXXooooooooooooX. ",
".XoooooooooooXXXXXoooooooooooX. ",
".XoooooooooooXXXXXoooooooooooX. ",
".XXoooooooooooXXXoooooooooooXX. ",
" .XoooooooooooooooooooooooooX. ",
" .XXXoooooooooooooooooooooXXX. ",
" ..XXXXXXXXXXXXXXXXXXXXXXX.. ",
" ....................... ",
" ",
" ",
" "};

View File

@@ -0,0 +1,42 @@
/* XPM */
/* $XConsortium: noteicon.pm /main/3 1995/07/18 17:15:52 drk $ */
static char * noteicon [] = {
/* width height ncolors cpp [x_hot y_hot] */
"32 32 3 1 -1 -1",
/* colors */
" s none m none c none",
". s iconGray2 m white c #bdbdbdbdbdbd",
"X s iconColor5 m black c blue",
/* pixels */
" ",
" ........ ",
" .............. ",
" .................. ",
" .................... ",
" ...................... ",
" ..........XXX........... ",
" ..........XXXXX........... ",
" ..........XXXXX........... ",
" ...........XXXXX............ ",
" ............XXX............. ",
" ............................ ",
" .............................. ",
" ..............XXX............. ",
" ............XXXXX............. ",
" ............XXXXX............. ",
" .............XXXX............. ",
" .............XXXX............. ",
" .............XXXX............. ",
" ............XXXX............ ",
" ............XXXX............ ",
" ............XXXX............ ",
" ...........XXXX........... ",
" ...........XXXX.......... ",
" .........XXXXXX......... ",
" ........XXXXXX........ ",
" .................... ",
" .................. ",
" .............. ",
" ........ ",
" ",
" "};

Some files were not shown because too many files have changed in this diff Show More