# ##########################################################################
# 
#      develop.dt
# 
#      Action and DataType definitions for the Common Desktop Environment
#      (CDE) components.  This file contains common datatypes for developers.
# 
#     (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company
#     (c) Copyright 1993, 1994, 1995 International Business Machines Corp.
#     (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.
#     (c) Copyright 1993, 1994, 1995 Novell, Inc.
# 
#     $XConsortium: develop.dt.src /main/5 1996/04/23 17:35:01 drk $
# 
# ##########################################################################
set DtDbVersion=1.0
# ##########################################################################
# 
# WARNING:  This file may be overwritten in subsequent installations of
#     the Common Desktop Environment (CDE).  Consequently, any system wide
#     changes should be made to an equivalent database file in
#     /etc/dt/types and not in this file.
# 
# ##########################################################################
# ##################################################################
# 
# Data Attributes
# 
# ##################################################################
DATA_ATTRIBUTES CORE
{
        ACTIONS         (None)
        ICON		Dtcore
        MIME_TYPE	application/octet-stream
        SUNV3_TYPE      corefile
	DESCRIPTION	This file contains a core image of a process \
                        that terminated abnormally.  Its data type is \
                        named CORE.
        TYPE_LABEL      CORE
}
DATA_CRITERIA CORE1
{
	DATA_ATTRIBUTES_NAME CORE
        MODE            f
	NAME_PATTERN	core
}
DATA_CRITERIA CORE2
{
	DATA_ATTRIBUTES_NAME CORE
        MODE            f
	NAME_PATTERN	core*
}
ACTION Print
{
        LABEL           Print
        ARG_TYPE        CORE
        TYPE            MAP
        MAP_ACTION      NoPrint
}
# ###########################################################
DATA_ATTRIBUTES OBJECT
{
        ACTIONS         Open,Print
        ICON		Dtbin
        NAME_TEMPLATE	%s.o
        MIME_TYPE	application/octet-stream
        SUNV3_TYPE      o-file
	DESCRIPTION	This file contains binary data that a compiler \
                        has produced from a source file.  Its data type \
                        is named OBJECT.  OBJECT files have names ending \
                        with '.o'.
        TYPE_LABEL      OBJECT
}
DATA_CRITERIA OBJECT1
{
	DATA_ATTRIBUTES_NAME OBJECT
        MODE            f
	NAME_PATTERN	*.o
}
ACTION Open
{
        LABEL           Open
        ARG_TYPE        OBJECT
        TYPE            MAP
        MAP_ACTION      Nm
}
ACTION Print
{
        LABEL           Print
        ARG_TYPE        OBJECT
        TYPE            MAP
        MAP_ACTION      PrintNm
}
# ###########################################################
DATA_ATTRIBUTES ASSEMBLER
{
        ACTIONS         Open,Print
        ICON            Dtbin
        IS_TEXT		true
        NAME_TEMPLATE	%s.s
        MIME_TYPE	text/plain
        SUNV3_TYPE      text
	DESCRIPTION	This file contains assembler code for a given \
                        architecture.  Its data type is named ASSEMBLER. \
                        ASSEMBLER files have names ending with '.s'. 
        TYPE_LABEL      ASSEMBLER
}
DATA_CRITERIA ASSEMBLER1
{
        DATA_ATTRIBUTES_NAME ASSEMBLER
        MODE            f
        NAME_PATTERN    *.s
}
# ###########################################################
DATA_ATTRIBUTES ARCH_LIB
{
        ACTIONS         Open,Print
        ICON		Dtbinml
        MIME_TYPE	application/octet-stream
	DESCRIPTION	This file contains an archived libarary of \
                        object files.  Its data type is named ARCH_LIB. \
                        ARCH_LIB files have names ending with '.a'.
        TYPE_LABEL      ARCH_LIB
}
DATA_CRITERIA ARCH_LIB1
{
	DATA_ATTRIBUTES_NAME ARCH_LIB
        MODE            f
	NAME_PATTERN	*.a
}
ACTION Open
{
        LABEL           Open
        ARG_TYPE        ARCH_LIB
        TYPE            MAP
        MAP_ACTION      Nm
}
ACTION Print
{
        LABEL           Print
        ARG_TYPE        ARCH_LIB
        TYPE            MAP
        MAP_ACTION      PrintNm
}
# ###########################################################
DATA_ATTRIBUTES SHARED_LIB
{
        ACTIONS         Open,Print
        ICON		Dtbinml
        MIME_TYPE	application/octet-stream
	DESCRIPTION	This files contains a shared library of an \
                        object file.  Its data type is named SHARED_LIB. \
                        SHARD_LIB files have names ending with '.sl' or '.so'.
        TYPE_LABEL      SHARED_LIB
}
DATA_CRITERIA SHARED_LIB1
{
	DATA_ATTRIBUTES_NAME SHARED_LIB
        MODE            f
	NAME_PATTERN	*.sl
}
DATA_CRITERIA SHARED_LIB2
{
	DATA_ATTRIBUTES_NAME SHARED_LIB
        MODE            f
	NAME_PATTERN	*.so
}
DATA_CRITERIA SHARED_LIB3
{
	DATA_ATTRIBUTES_NAME SHARED_LIB
        MODE            f
	NAME_PATTERN	*.so*
}
ACTION Open
{
        LABEL           Open
        ARG_TYPE        SHARED_LIB
        TYPE            MAP
        MAP_ACTION      Nm
}
ACTION Print
{
        LABEL           Print
        ARG_TYPE        SHARED_LIB
        TYPE            MAP
        MAP_ACTION      PrintNm
}
# ###########################################################
DATA_ATTRIBUTES C_SRC
{
        ACTIONS         Open,Make,Print
        ICON		DtdotC
        IS_TEXT		true
        NAME_TEMPLATE	%s.c
        MIME_TYPE	text/plain
        SUNV3_TYPE      c-file
	DESCRIPTION	This file is a source file in the C \
                        programming language.  Its data type is named \
                        C_SRC.  C_SRC files have names ending with '.c'.
        TYPE_LABEL      C_SRC
}
DATA_CRITERIA C_SRC1
{
	DATA_ATTRIBUTES_NAME C_SRC
        MODE            f
	NAME_PATTERN	*.c
}
ACTION Make
{
        LABEL           Make
        TYPE            COMMAND
        ARG_TYPE        C_SRC
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING     sh -c '             make `basename "%(File)Arg_1%" .c`.o 2>&1 | \${PAGER:-more};             echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Make command for C_SRC files uses the Unix \
                        'make' command to make the associated object file.
}
# ###########################################################
DATA_ATTRIBUTES CPLUSPLUS_SRC
{
        ACTIONS         Open,Make,Print
        ICON            DtC++
        IS_TEXT         true
        NAME_TEMPLATE	%s.C
        MIME_TYPE	text/plain
        DESCRIPTION     This is a a source file in the C++ programming \
                        language.  Its data type is named CPLUSPLUS_SRC. \
                        CPLUSPLUS_SRC files have names ending with '.C' \
                        or '.cc'.
        TYPE_LABEL      CPLUSPLUS_SRC
}
DATA_CRITERIA C_PLUSPLUS1
{
        DATA_ATTRIBUTES_NAME CPLUSPLUS_SRC
        MODE            f
        NAME_PATTERN    *.C
}
DATA_CRITERIA C_PLUSPLUS2
{
        DATA_ATTRIBUTES_NAME CPLUSPLUS_SRC
        MODE            f
        NAME_PATTERN    *.cc
}
ACTION Make
{
        LABEL           Make
        TYPE            COMMAND
        ARG_TYPE        CPLUSPLUS_SRC
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING     sh -c '             if [ -r "%(File)Arg_1%.C" ]; then                make `basename "%(File)Arg_1%" .C`.o 2>&1 | \${PAGER:-more};             else                make `basename "%(File)Arg_1%" .cc`.o 2>&1 | \${PAGER:-more};             echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Make command for CPLUSPLUS_SRC files uses \
                        the Unix 'make' command to make the associated \
                        object file.
}
# ###########################################################
DATA_ATTRIBUTES H_SRC
{
        ACTIONS         Open,Print
        ICON		DtdotH
        IS_TEXT		true
        NAME_TEMPLATE	%s.h
        MIME_TYPE	text/plain
        SUNV3_TYPE      h-file
	DESCRIPTION	This is a C-language program header file. Its \
                        data type is named H_SRC.  H_SRC files have names \
                        ending with *.h.
        TYPE_LABEL      H_SRC
}
DATA_CRITERIA H_SRC1
{
	DATA_ATTRIBUTES_NAME H_SRC
        MODE            f
	NAME_PATTERN	*.h
}
# ###########################################################
DATA_ATTRIBUTES MAKEFILE
{
        ACTIONS         Open,Make,Print
        ICON		DtbigM
        IS_TEXT		true
        NAME_TEMPLATE	Makefile
        MIME_TYPE	text/plain
        SUNV3_TYPE      Makefile
	DESCRIPTION	This is a Makefile. A Makefile describes \
                        how to generate an executable file from a set of \
                        source files.  It is used by the make command.  \
                        Its data type is named MAKEFILE.  MAKEFILE files \
                        must be named Makefile or makefile, or have names \
                        starting with Makefile or makefile, or have names \
                        ending with '.mk'.
        TYPE_LABEL      MAKEFILE
}
DATA_CRITERIA MAKEFILE1
{
	DATA_ATTRIBUTES_NAME MAKEFILE
        MODE            f
        NAME_PATTERN    [Mm]akefile*
}
DATA_CRITERIA MAKEFILE2
{
	DATA_ATTRIBUTES_NAME MAKEFILE
        MODE            f
        NAME_PATTERN    *.mk
}
ACTION Make
{
        LABEL           Make
        TYPE            COMMAND
        ARG_TYPE        MAKEFILE
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING     sh -c '             make -f "%(File)Arg_1%" %"Target to Make:"% 2>&1 | \${PAGER:-more};             echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Make action for Makefiles prompts for the \
                        target to make, and then uses the Unix 'make' \
                        command to make it.  If target is left empty \
                        the command makes 'all' in the current folder.
}
# ###########################################################
DATA_ATTRIBUTES IMAKEFILE
{
        ACTIONS         Open,Make,Print
        ICON            Dtimake
        IS_TEXT         true
        NAME_TEMPLATE	Imakefile
        MIME_TYPE	text/plain
        DESCRIPTION     This is an Imakefile. An Imakefile describes \
                        how to generate an executable file from a set of \
                        source files.  It is used by the make command.  \
                        Its data type is named IMAKEFILE.  IMAKEFILE files \
                        are named imakefile or Imakefile, or have names \
                        starting with imakefile or Imakefile.
        TYPE_LABEL      IMAKEFILE
}
DATA_CRITERIA IMAKEFILE1
{
        DATA_ATTRIBUTES_NAME IMAKEFILE
        MODE            f
        NAME_PATTERN    [Ii]makefile*
}
ACTION Make
{
        LABEL           Make
        TYPE            COMMAND
        ARG_TYPE        IMAKEFILE
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING     sh -c '             make Makefile 2>&1 | \${PAGER:-more};             echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Make command for Imakefile files uses the Unix \
                        'make' command to make the associated Makefile.
}
# ##########################################################################
# ##########################################################################
# 
# Actions
# 
# ##########################################################################
ACTION Nm
{
        LABEL           Symbols List
        TYPE            COMMAND
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING     sh -c '                  nm "%(File)Arg_1"Filename:"%" 2>&1 | \${PAGER:-more};                  echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Symbols List (Nm) action lists the symbol \
                        table of an object file or library file.  It uses \
                        the 'nm' command.
}
ACTION PrintNm
{
        LABEL           Print Symbol List
        TYPE            COMMAND
        WINDOW_TYPE     NO_STDIO
        EXEC_STRING     /bin/sh -c ' nm "%(File)Arg_1%" |                         /usr/local/dt/bin/dtlp -u "Symbols List"'
        DESCRIPTION     The Print Symbol List (PrintNm) action prints \
                        the output from the 'nm' command on the default printer.
}
ACTION Make
{
        LABEL           Make
        TYPE            COMMAND
        ARG_COUNT       0
        WINDOW_TYPE     PERM_TERMINAL
        EXEC_STRING               sh -c '             make -f "%(File)Arg_1"Makefile:"%" %"Target to Make:"% 2>&1 |               \${PAGER:-more};             echo "\\n*** Select Close or Exit from the window menu to close this window ***"'
        DESCRIPTION     The Make action for no arguments prompts for \
                        a Makefile and target, and then uses the Unix \
                        'make' command to make it.
}
# ######################## EOF ############################################
