Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
10.  Introduction to Actions and Data Types Introduction To Actions How Actions Create Icons for Applications  Previous   Contents   Next 
   
 

The Xwud action is called a command action because its definition contains the command (EXEC_STRING) to be run. The TYPE field in the action definition defines the action type.

Initially, the Xwd Display icon appears in the Desktop_Tools application group. However, you can create additional copies of the action icon in any directory for which you have write permission. As long as the Xwud action definition is part of the database, any executable file you create named Xwud will be an action file representing that action, and its icon in File Manager or Application Manager can be used to run the action.

How Actions Use Data Files as Arguments

An argument of a command is the thing, usually a file, that the command acts upon. Actions can be written to accept file arguments.

For example, the EXEC_STRING of the Xwud action specifies that a file argument is required:

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd File To Display:"%

The term Arg stands for the word argument. The syntax Arg_1 means the first argument, and (File) means that the action treats that argument as a file.

The easiest way for the user to provide a file argument is to drop a data file on the application icon. The desktop determines the path of the dropped file and substitutes it into the command line in place of the text between the % symbols (%(File)Arg_1"Xwd File To Display:"%). Thus, the command that gets executed is:

/usr/bin/X11/xwud -noclick -in file_path

When the user double-clicks the application icon, the desktop determines from the EXEC_STRING that a file argument is required, and displays a dialog box prompting the user to enter a file name or path. In the case of the Xwud action, the prompt is:

Xwd File To Display:

The file name or path supplied by the user is used as the file argument.

Additional Uses for Actions

In addition to starting applications, actions are used throughout the desktop to create functionality in:

  • The Front Panel

    The definition for a Front Panel control includes fields that specify the action that runs when the user clicks the control or drops a file on it. For more information, see "Defining Front Panel Controls".

  • Menus

    The syntax for the Window and Workspace menu definitions allows you to specify the action to be run by a menu item. For more information, see "Workspace Manager Menus" and the dtwmrc(4) man page.

  • Communication between applications

    An application can be designed to send and receive information using a special type of action called ToolTalk message (TT_MSG). TT_MSG actions are described in the developer environment documentation for the desktop.

Introduction to Data Types

When the user creates a new data file, the appearance and behavior of the file's icon in File Manager varies depending on the type of data file the user has created. This ability to create custom appearance and behavior for files and directories is provided by the desktop's data typing mechanism.

What Is a Data Type?

A data type is a construct that is defined within the desktop database. For example, here is the definition of the XWD data type. The definition is in the configuration file /usr/dt/appconfig/types/language/xclients.dt:

DATA_ATTRIBUTES XWD
 {
 ACTIONS          Open,Print
 ICON             Dtxwd
 NAME_TEMPLATE    %s.xwd
 MIME_TYPE        application/octet-stream
 SUNV3_TYPE       xwd-file
 DESCRIPTION      This file contains a graphics image in the XWD \
                  format. These files are typically created by \
                  taking snapshots of windows using the XwdCapture \
                  action. Its data type is named XWD. XWD files \
                  have names ending with `.xwd' or `.wd'.
 }
DATA_CRITERIA XWD1
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.xwd
 }

 DATA_CRITERIA XWD2
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.wd
 }

Every data type definition has two parts:

DATA_ATTRIBUTES--describes the appearance and behavior of the data type.

DATA_CRITERIA--specifies the rules (naming or content) for categorizing a file as belonging to that data type.

The DATA_ATTRIBUTES_NAME field connects the criteria to the attributes.

There can be multiple DATA_CRITERIA for a DATA_ATTRIBUTE. For example, the XWD data type has two criteria to specify two different naming criteria (NAME_PATTERN)--names ending with .xwd or .wd.

How Data Types Connect Data Files to Actions

Consider the XWD data type. The user creates an XWD-type file by giving the file one of two file-name suffixes (extensions): .xwd or.wd. The desktop uses the file name as the criteria for designating a file as that type.

The XWD data type supplies each file of that data type with:

  • A unique icon image that helps users recognize the data files.

  • On Item help that tells you about the data type.

  • A customized Selected menu in File Manager containing the actions Open and Print. The Open action for XWD files runs the Xwud action.

Running Actions from the Selected Menu

The Selected menu in File Manager is active only when a file or directory is selected. The commands at the bottom of the Selected menu depend on the data type. For example, if an XWD file is selected, the Selected menu includes the items Open and Print.

The ACTIONS field in the data type definition specifies the commands added to the bottom of the data type's Selected menu.

DATA_ATTRIBUTES XWD { ACTIONS Open,Print ... }

The contents of the Selected menu depends on the data type. However, many different data types provide an Open action--that is, when you select a file of that particular data type in File Manager and display the Selected menu, you see an Open command.

Figure 10-5 The Selected menu for an XWD file

The Open action usually runs the application with which the data file is associated. For example, opening an XWD file runs the Xwud action, which in turn runs the xwud X client to display the screen image. In other words, for the XWD data type, the Open action is synonymous with the Xwud action. Likewise, opening a file of data type TEXTFILE runs the Text Editor, and opening a BM (bitmap) or PM (pixmap) file runs Icon Editor.

The ability to create a variety of Open actions that do different things uses two features of action definitions:

  • Action mapping

    Action mapping lets you create an action that runs another action, rather than directly running a command. For example, you can create an Open action that maps to (runs) the Xwud action.

  • Data-type restrictions on an action

    Action definitions can include an ARG_TYPE field that limits the action to certain data types. For example, you can specify that the Open action that maps to the Xwud action applies only to files of data type XWD.

Here is the definition of the action that maps the Open action to the Xwud action for the XWD data type. It is located in the database configuration file /usr/dt/appconfig/types/C/xclients.dt.

ACTION Open
 {
 	LABEL				Open
 	ARG_TYPE			XWD
 	TYPE				MAP
 	MAP_ACTION		Xwud
 }
 
 
 
  Previous   Contents   Next