cdesktopenv/cde/lib/DtWidget/View.c

377 lines
8.9 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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
*/
/* static char rcsid[] =
"$XConsortium: View.c /main/6 1996/10/14 10:48:27 pascale $";
*/
/**---------------------------------------------------------------------
***
*** file: View.c
***
*** project: MotifPlus Widgets
***
*** description: Source code for DtView class.
***
***
*** (c) Copyright 1990 by Hewlett-Packard Company.
***
***
***-------------------------------------------------------------------*/
/*-------------------------------------------------------------
** Include Files
*/
#include <stdio.h>
#include <Xm/DialogS.h>
#include <Xm/LabelG.h>
#include <Xm/List.h>
#include <Xm/SeparatoG.h>
#include <Xm/TextF.h>
#include <Dt/Control.h>
#include <Dt/ViewP.h>
/*-------------------------------------------------------------
** Public Interface
**-------------------------------------------------------------
*/
WidgetClass dtViewWidgetClass;
Widget _DtCreateView ();
/*-------------------------------------------------------------
** Forward Declarations
*/
#define OFFSET 12
#define XmCR_SELECT XmCR_SINGLE_SELECT
/******** Public Function Declarations ********/
extern Widget _DtCreateView(
Widget parent,
String name,
ArgList arglist,
Cardinal argcount) ;
/******** End Public Function Declarations ********/
/******** Static Function Declarations ********/
/******** End Static Function Declarations ********/
/*-------------------------------------------------------------
** Translations and Actions
*/
/*-------------------------------------------------------------
** Resource List
*/
/* Define offset macros.
*/
#define R_Offset(field) \
XtOffset (DtViewWidget, view.field)
static XtResource resources[] =
{
{
XmNleftInset,
XmCSpacing, XmRHorizontalDimension, sizeof (Dimension),
R_Offset (left_inset), XmRImmediate, (caddr_t) 3
},
{
XmNrightInset,
XmCSpacing, XmRHorizontalDimension, sizeof (Dimension),
R_Offset (right_inset), XmRImmediate, (caddr_t) 3
},
{
XmNtopInset,
XmCSpacing, XmRVerticalDimension, sizeof (Dimension),
R_Offset (top_inset), XmRImmediate, (caddr_t) 3
},
{
XmNbottomInset,
XmCSpacing, XmRVerticalDimension, sizeof (Dimension),
R_Offset (bottom_inset), XmRImmediate, (caddr_t) 3
},
{
XmNwidthIncrement,
XmCSpacing, XmRHorizontalDimension, sizeof (Dimension),
R_Offset (width_increment), XmRImmediate, (caddr_t) 2
},
{
XmNheightIncrement,
XmCSpacing, XmRVerticalDimension, sizeof (Dimension),
R_Offset (height_increment), XmRImmediate, (caddr_t) 2
},
{
XmNboxType,
XmCBoxType, XmRBoxType, sizeof (unsigned char),
R_Offset (box_type),
XmRImmediate, (XtPointer) XmBOX_NONE
},
{
XmNsubpanelUnpostOnSelect,
XmCSubpanelUnpostOnSelect, XmRBoolean, sizeof (Boolean),
R_Offset (subpanel_unpost_on_select),
XmRImmediate, (XtPointer) TRUE
},
{
XmNsubpanelTorn,
XmCSubpanelTorn, XmRBoolean, sizeof (Boolean),
R_Offset (subpanel_torn), XmRImmediate, (XtPointer) FALSE
}
};
/*-------------------------------------------------------------
** Class Record
*/
DtViewClassRec dtViewClassRec =
{
/* Core Part
*/
{
(WidgetClass) &xmFormClassRec, /* superclass */
"Box", /* class_name */
sizeof (DtViewRec), /* widget_size */
NULL, /* class_initialize */
NULL, /* class_part_initialize*/
False, /* class_inited */
(XtInitProc) NULL, /* initialize */
NULL, /* initialize_hook */
XtInheritRealize, /* realize */
NULL, /* actions */
0, /* num_actions */
resources, /* resources */
XtNumber (resources), /* num_resources */
NULLQUARK, /* xrm_class */
True, /* compress_motion */
XtExposeCompressMaximal, /* compress_exposure */
True, /* compress_enterleave */
False, /* visible_interest */
NULL, /* destroy */
XtInheritResize, /* resize */
XtInheritExpose, /* expose */
(XtSetValuesFunc) NULL, /* set_values */
NULL, /* set_values_hook */
XtInheritSetValuesAlmost, /* set_values_almost */
NULL, /* get_values_hook */
NULL, /* accept_focus */
XtVersion, /* version */
NULL, /* callback private */
XtInheritTranslations, /* tm_table */
XtInheritQueryGeometry, /* query_geometry */
NULL, /* display_accelerator */
NULL, /* extension */
},
/* Composite Part
*/
{
XtInheritGeometryManager, /* geometry_manager */
XtInheritChangeManaged, /* change_managed */
XtInheritInsertChild, /* insert_child */
XtInheritDeleteChild, /* delete_child */
NULL, /* extension */
},
/* Constraint Part
*/
{
NULL, /* constraint_resources */
0, /* num_constraint_resources */
sizeof (DtViewConstraintRec),/* constraint_record */
NULL, /* constraint_initialize */
NULL, /* constraint_destroy */
NULL, /* constraint_set_values */
NULL, /* extension */
},
/* XmManager Part
*/
{
XtInheritTranslations, /* default_translations */
NULL, /* syn_resources */
0, /* num_syn_resources */
NULL, /* syn_cont_resources */
0, /* num_syn_cont_resources */
XmInheritParentProcess, /* parent_process */
NULL, /* extension */
},
/* XmBulletinBoard Part
*/
{
False, /* always_install_accelerators*/
NULL, /* geo_matrix_create */
XmInheritFocusMovedProc, /* focus_moved_proc */
NULL, /* extension */
},
/* XmForm Part
*/
{
NULL, /* extension */
},
/* DtView Part
*/
{
NULL, /* extension */
}
};
WidgetClass dtViewWidgetClass = (WidgetClass) &dtViewClassRec;
/*-------------------------------------------------------------
** Private Procs
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** Action Procs
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** Core Procs
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** Initialize
** Initialize a new widget instance.
*/
#if 0
/* ARGSUSED */
static void
Initialize(
Widget request_w,
Widget new_w )
{
DtViewWidget request = (DtViewWidget) request_w,
new = (DtViewWidget) new_w;
Pixmap pix;
/* Validate box type.
*/
if (M_BoxType (new) != XmBOX_NONE &&
M_BoxType (new) != XmBOX_PRIMARY &&
M_BoxType (new) != XmBOX_SECONDARY &&
M_BoxType (new) != XmBOX_SUBPANEL)
{
M_BoxType (new) == XmBOX_NONE;
}
}
#endif /* 0 */
/*-------------------------------------------------------------
** SetValues
** Handle changes in resource data.
*/
#if 0
static Boolean
SetValues(
Widget current_w,
Widget request_w,
Widget new_w )
{
DtViewWidget current = (DtViewWidget) current_w,
request = (DtViewWidget) request_w,
new = (DtViewWidget) new_w;
Boolean redraw_flag = False;
/* Can't change box type.
*/
if (M_BoxType (new) != M_BoxType (current))
{
M_BoxType (new) = M_BoxType (current);
}
return (redraw_flag);
}
#endif /* 0 */
/*-------------------------------------------------------------
** Composite Procs
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** Manager Procs
**-------------------------------------------------------------
*/
/* All inherited from superclass.
*/
/*-------------------------------------------------------------
** View Procs
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** Public Entry Points
**-------------------------------------------------------------
*/
/*-------------------------------------------------------------
** _DtCreateView
** Create a new DtView instance.
**-------------------------------------------------------------
*/
Widget
_DtCreateView(
Widget parent,
String name,
ArgList arglist,
Cardinal argcount )
{
return (XtCreateWidget (name, dtViewWidgetClass,
parent, arglist, argcount));
}