cdesktopenv/cde/programs/dtfile/Encaps.h

345 lines
10 KiB
C

/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: Encaps.h /main/4 1995/11/02 14:36:49 rswiston $ */
/************************************<+>*************************************
****************************************************************************
*
* FILE: Encaps.h
*
* COMPONENT_NAME: Desktop File Manager
*
* DESCRIPTION: Public include file for the dialog encapsulation functions.
*
* (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.
*
****************************************************************************
************************************<+>*************************************/
#ifndef _Encapsulate_h
#define _Encapsulate_h
/* Timer globals */
extern int initialTimeoutLength;
extern int activeTimeoutLength;
extern int idleTimeoutLength;
/* Dialog positioning offset value */
extern int topPositionOffset;
/*
* Common dialog instance data.
*/
typedef struct
{
Boolean displayed;
Position x;
Position y;
Dimension width;
Dimension height;
} DialogInstanceData, * DialogInstanceDataPtr;
/*
* DialogData contains the dialog type specific data shared between
* the dialog and the application.
*/
typedef struct
{
int type;
XtPointer data;
} DialogData;
/*
* The following typedefs are the function definitions used by the
* Dialog Class structure.
*/
typedef void (*DialogCreateProc)(
Display * display,
Widget parent,
Widget * shell,
XtPointer * dialog
);
typedef void (*DialogInstallChangeProc)(
XtPointer dialog,
XtCallbackProc callback,
XtPointer client_data
);
typedef void (*DialogInstallCloseProc)(
XtPointer dialog,
XtCallbackProc callback,
XtPointer client_data
);
typedef void (*DialogDestroyProc)(
XtPointer dialog
);
typedef XtPointer (*DialogGetValuesProc)(
XtPointer dialog
);
typedef XtPointer (*DialogGetDefaultValuesProc)(
void
);
typedef XtPointer (*DialogGetResourceValuesProc)(
XrmDatabase data_base,
char ** name_list
);
typedef void (*DialogSetValuesProc)(
XtPointer dialog,
XtPointer values
);
typedef void (*DialogWriteResourceValuesProc)(
DialogData * values,
int fd,
char ** name_list
);
typedef void (*DialogFreeValuesProc)(
XtPointer values
);
typedef void (*DialogSetFocusProc)(
XtPointer dialog,
XtPointer values
);
typedef void (*DialogMapWindowProc)(
Widget parent,
XtPointer dialog
);
/*
* Resource write proc and structure used for dialog resources.
*/
typedef void (*WriteResourceProc)();
/* XtPointer resource_val; */
typedef struct
{
String name;
String type;
int size;
int offset;
XtPointer default_value;
WriteResourceProc write_resource;
} DialogResource;
/*
* The Dialog Class structure.
*/
typedef struct
{
DialogResource * resources;
int resource_count;
DialogCreateProc create;
DialogInstallChangeProc install_change_callback;
DialogInstallCloseProc install_close_callback;
DialogDestroyProc destroy;
DialogGetValuesProc get_values;
DialogGetDefaultValuesProc get_default_values;
DialogGetResourceValuesProc get_resource_values;
DialogSetValuesProc set_values;
DialogWriteResourceValuesProc write_resource_values;
DialogFreeValuesProc free_values;
DialogMapWindowProc map;
DialogSetFocusProc set_focus;
} DialogClass;
/*
* Procedure types used by the application for functions to be passed
* to the encapsulation mechanism.
*/
typedef void (*DialogChangedProc)(
XtPointer change_data,
DialogData * old_data,
DialogData * new_data,
XtPointer call_data
);
typedef void (*DialogClosedProc)(
XtPointer close_data,
DialogData * old_data,
DialogData * new_data
);
/******** Public Function Declarations ********/
extern void _DtInitializeEncapsulation(
Display *display,
char *name,
char *class) ;
extern int _DtInstallDialog(
DialogClass *dialog_class,
Boolean cache,
Boolean destroyPopups) ;
extern DialogData * _DtGetDialogData(
DialogData *dialog_data) ;
extern DialogData * _DtGetDefaultDialogData(
int dialog_type) ;
extern DialogData * _DtGetResourceDialogData(
int dialog_type,
XrmDatabase data_base,
char **name_list) ;
extern void _DtShowDialog(
Widget parent,
Widget map_parent,
XtPointer top_rec,
DialogData *dialog_data,
DialogChangedProc change_proc,
XtPointer change_data,
DialogClosedProc close_proc,
XtPointer close_data,
char *workspaces,
Boolean iconify_state,
Boolean ignoreCache,
char * title,
XClassHint * classHints) ;
extern void _DtHideDialog(
DialogData *dialog_data,
Boolean call_callbacks) ;
extern Widget _DtGetDialogShell(
DialogData *dialog_data) ;
extern XtPointer _DtGetDialogInstance(
DialogData *dialog_data) ;
extern DialogData * _DtGetInstanceData(
XtPointer instance) ;
extern Boolean _DtIsDialogShowing(
DialogData *dialog_data) ;
extern void _DtWriteDialogData(
DialogData *dialog_data,
int fd,
char **name_list) ;
extern void _DtFreeDialogData(
DialogData *dialog_data) ;
extern void _DtDialogGetResources(
XrmDatabase database,
char **name_list,
char *dialog_name,
char *base,
DialogResource *resources,
int resource_count) ;
extern void _DtDialogPutResources(
int fd,
char **name_list,
char *dialog_name,
char *base,
DialogResource *resources,
int resource_count) ;
extern void _DtIntToString(
int fd,
int *value,
char *out_buf) ;
extern void _DtShortToString(
int fd,
short *value,
char *out_buf) ;
extern void _DtPositionToString(
int fd,
Position *value,
char *out_buf) ;
extern void _DtDimensionToString(
int fd,
Dimension *value,
char *out_buf) ;
extern void _DtBooleanToString(
int fd,
Boolean *value,
char *out_buf) ;
extern void _DtXmStringToString(
int fd,
XmString *value,
char *out_buf) ;
extern void _DtXmStringTableToString(
int fd,
XmStringTable *value,
char *out_buf) ;
extern void _DtStringToString(
int fd,
char **value,
char *out_buf) ;
extern void _DtmapCB(
Widget w,
XtPointer client_data,
XtPointer call_data) ;
extern void _DtEncapSetWorkSpaceHints(
Widget shell,
char *workspaces) ;
extern void _DtBuildDialog(
Widget parent,
Widget map_parent,
XtPointer top_rec,
DialogData *dialog_data,
DialogChangedProc change_proc,
XtPointer change_data,
DialogClosedProc close_proc,
XtPointer close_data,
char *workspaces,
Boolean iconify_state,
Boolean ignoreCache,
char * title,
XClassHint * classHints ) ;
extern void _DtShowBuiltDialog(
Widget parent,
Widget map_parent,
DialogData *dialog_data,
char *workspaces,
Boolean iconify_state,
XClassHint * classHints ) ;
extern void _DtChangeTo(
XtPointer client_data,
char *directory) ;
extern void _DtFreeDialog(
DialogData *dialog_data);
/******** End Public Function Declarations ********/
#endif /* _Encapsulate_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */