/* @(#)sel_attrs.h 20.22 93/06/28 */ #ifndef xview_selection_attributes_DEFINED #define xview_selection_attributes_DEFINED /* * (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents * pending in the U.S. and foreign countries. See LEGAL NOTICE * file for terms of the license. */ /* *********************************************************************** * Include Files *********************************************************************** */ #include /* *********************************************************************** * Definitions and Macros *********************************************************************** */ /* * PRIVATE #defines */ /* * Common requests a client may send to a selection-holder */ #define ATTR_PKG_SELN ATTR_PKG_SELN_BASE #define SELN_ATTR(type, n) ATTR(ATTR_PKG_SELN, type, n) #define SELN_ATTR_LIST(list_type, type, n) \ ATTR(ATTR_PKG_SELN, ATTR_LIST_INLINE(list_type, type), n) /* *********************************************************************** * Typedefs, Enumerations, and Structures *********************************************************************** */ /* * Public Enumerations */ /* * Attributes of selections * The numbering scheme has to match the scheme of Sunview selection_attributes.h */ typedef enum { /* * Public Attributes */ SELN_REQ_BYTESIZE = SELN_ATTR(ATTR_INT, 1), SELN_REQ_COMMIT_PENDING_DELETE = SELN_ATTR(ATTR_NO_VALUE, 65), SELN_REQ_CONTENTS_ASCII = SELN_ATTR_LIST(ATTR_NULL, ATTR_CHAR, 2), #ifdef OW_I18N SELN_REQ_CONTENTS_WCS = SELN_ATTR_LIST(ATTR_NULL, ATTR_WCHAR, 202), SELN_REQ_CHARSIZE = SELN_ATTR(ATTR_INT, 204), SELN_REQ_FIRST_WC = SELN_ATTR(ATTR_INT, 205), SELN_REQ_LAST_WC = SELN_ATTR(ATTR_INT, 206), #endif /*OW_I18N*/ SELN_REQ_CONTENTS_PIECES= SELN_ATTR_LIST(ATTR_NULL, ATTR_CHAR, 3), SELN_REQ_DELETE = SELN_ATTR(ATTR_NO_VALUE, 66), SELN_REQ_END_REQUEST = SELN_ATTR(ATTR_NO_VALUE, 253), SELN_REQ_FAILED = SELN_ATTR(ATTR_INT, 255), SELN_REQ_FAKE_LEVEL = SELN_ATTR(ATTR_INT, 98), SELN_REQ_FILE_NAME = SELN_ATTR_LIST(ATTR_NULL, ATTR_CHAR, 9), SELN_REQ_FIRST = SELN_ATTR(ATTR_INT, 4), SELN_REQ_FIRST_UNIT = SELN_ATTR(ATTR_INT, 5), SELN_REQ_LAST = SELN_ATTR(ATTR_INT, 6), SELN_REQ_LAST_UNIT = SELN_ATTR(ATTR_INT, 7), SELN_REQ_LEVEL = SELN_ATTR(ATTR_INT, 8), SELN_REQ_RESTORE = SELN_ATTR(ATTR_NO_VALUE, 67), SELN_REQ_SET_LEVEL = SELN_ATTR(ATTR_INT, 99), SELN_REQ_UNKNOWN = SELN_ATTR(ATTR_INT, 254), SELN_REQ_YIELD = SELN_ATTR(ATTR_ENUM, 97), /* * Private Attributes */ #ifdef OW_I18N SELN_REQ_CONTENTS_CT = SELN_ATTR_LIST(ATTR_NULL, ATTR_CHAR, 203), #endif /*OW_I18N*/ SELN_AGENT_INFO = SELN_ATTR(ATTR_OPAQUE, 100), SELN_REQ_FUNC_KEY_STATE = SELN_ATTR(ATTR_INT, 101), SELN_REQ_SELECTED_WINDOWS= SELN_ATTR_LIST(ATTR_NULL, ATTR_INT, 102), SELN_REQ_CONTENTS_OBJECT= SELN_ATTR_LIST(ATTR_NULL, ATTR_CHAR, 103), SELN_REQ_OBJECT_SIZE = SELN_ATTR(ATTR_INT, 104), SELN_REQ_IS_READONLY = SELN_ATTR(ATTR_BOOLEAN, 105), SELN_TRACE_ACQUIRE = SELN_ATTR(ATTR_BOOLEAN, 193), SELN_TRACE_DONE = SELN_ATTR(ATTR_BOOLEAN, 194), SELN_TRACE_DUMP = SELN_ATTR(ATTR_ENUM, 200), SELN_TRACE_HOLD_FILE = SELN_ATTR(ATTR_BOOLEAN, 195), SELN_TRACE_INFORM = SELN_ATTR(ATTR_BOOLEAN, 196), SELN_TRACE_INQUIRE = SELN_ATTR(ATTR_BOOLEAN, 197), SELN_TRACE_STOP = SELN_ATTR(ATTR_BOOLEAN, 199), SELN_TRACE_YIELD = SELN_ATTR(ATTR_BOOLEAN, 198) } Seln_attribute; /* Meta-levels available for use with SELN_REQ_FAKE/SET_LEVEL. * SELN_LEVEL_LINE is "text line bounded by newline characters, * including only the terminating newline" */ typedef enum { SELN_LEVEL_FIRST = 0x40000001, SELN_LEVEL_LINE = 0x40000101, SELN_LEVEL_ALL = 0x40008001, SELN_LEVEL_NEXT = 0x4000F001, SELN_LEVEL_PREVIOUS = 0x4000F002 } Seln_level; #endif /* ~xview_selection_attributes_DEFINED */