open-src/lib/libXaw4/sun-src/Xaw3_1Form.c
author Niveditha Rau <Niveditha.Rau@Sun.COM>
Wed, 15 Jul 2009 16:27:02 -0700
changeset 749 d7a0cca9c876
permissions -rw-r--r--
6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     1
#ifndef lint
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     2
static char Xrcsid[] = "$XConsortium: Form.c,v 1.34 89/12/13 13:51:07 kit Exp $";
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     3
#endif /* lint */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     5
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     6
/***********************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     7
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     8
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     9
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    10
                        All Rights Reserved
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    11
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    12
Permission to use, copy, modify, and distribute this software and its 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    13
documentation for any purpose and without fee is hereby granted, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    14
provided that the above copyright notice appear in all copies and that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    15
both that copyright notice and this permission notice appear in 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    16
supporting documentation, and that the names of Digital or MIT not be
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    17
used in advertising or publicity pertaining to distribution of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    18
software without specific, written prior permission.  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    19
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    20
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    21
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    23
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    24
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    25
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
SOFTWARE.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    27
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
******************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    29
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    30
#include <X11/IntrinsicP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    31
#include <X11/StringDefs.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    32
#include <X11/Xmu/Converters.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    33
#include <X11/Xmu/CharSet.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    34
#include <./Xaw3_1XawInit.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
#include <./Xaw3_1FormP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    36
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
/* Private Definitions */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    38
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    39
static int default_value = -99999;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    40
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    41
#define Offset(field) XtOffset(FormWidget, form.field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    42
static XtResource resources[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    43
    {XtNdefaultDistance, XtCThickness, XtRInt, sizeof(int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    44
	Offset(default_spacing), XtRImmediate, (caddr_t)4}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    45
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    46
#undef Offset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    47
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    48
static XtEdgeType defEdge = XtRubber;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    49
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    50
#define Offset(field) XtOffset(FormConstraints, form.field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    51
static XtResource formConstraintResources[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    52
    {XtNtop, XtCEdge, XtREdgeType, sizeof(XtEdgeType),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    53
	Offset(top), XtREdgeType, (XtPointer)&defEdge},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    54
    {XtNbottom, XtCEdge, XtREdgeType, sizeof(XtEdgeType),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    55
	Offset(bottom), XtREdgeType, (XtPointer)&defEdge},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    56
    {XtNleft, XtCEdge, XtREdgeType, sizeof(XtEdgeType),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
	Offset(left), XtREdgeType, (XtPointer)&defEdge},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    58
    {XtNright, XtCEdge, XtREdgeType, sizeof(XtEdgeType),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
	Offset(right), XtREdgeType, (XtPointer)&defEdge},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    60
    {XtNhorizDistance, XtCThickness, XtRInt, sizeof(int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
	Offset(dx), XtRInt, (XtPointer) &default_value},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    62
    {XtNfromHoriz, XtCWidget, XtRWidget, sizeof(Widget),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    63
	Offset(horiz_base), XtRWidget, (XtPointer)NULL},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    64
    {XtNvertDistance, XtCThickness, XtRInt, sizeof(int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
	Offset(dy), XtRInt, (XtPointer) &default_value},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    66
    {XtNfromVert, XtCWidget, XtRWidget, sizeof(Widget),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
	Offset(vert_base), XtRWidget, (XtPointer)NULL},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
    {XtNresizable, XtCBoolean, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    69
	Offset(allow_resize), XtRImmediate, (XtPointer) FALSE},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
#undef Offset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    72
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    73
static void ClassInitialize(), ClassPartInitialize(), Initialize(), Resize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
static void ConstraintInitialize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
static Boolean SetValues(), ConstraintSetValues();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
static XtGeometryResult GeometryManager(), PreferredGeometry();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
static void ChangeManaged();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    78
static Boolean Layout();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    79
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
FormClassRec formClassRec = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    81
  { /* core_class fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    82
    /* superclass         */    (WidgetClass) &constraintClassRec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    83
    /* class_name         */    "Form",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    84
    /* widget_size        */    sizeof(FormRec),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
    /* class_initialize   */    ClassInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
    /* class_part_init    */    ClassPartInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
    /* class_inited       */    FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
    /* initialize         */    Initialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
    /* initialize_hook    */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
    /* realize            */    XtInheritRealize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    91
    /* actions            */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
    /* num_actions        */    0,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    93
    /* resources          */    resources,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    94
    /* num_resources      */    XtNumber(resources),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
    /* xrm_class          */    NULLQUARK,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    96
    /* compress_motion    */    TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    97
    /* compress_exposure  */    TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    98
    /* compress_enterleave*/    TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    99
    /* visible_interest   */    FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   100
    /* destroy            */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   101
    /* resize             */    Resize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   102
    /* expose             */    XtInheritExpose,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
    /* set_values         */    SetValues,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
    /* set_values_hook    */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   105
    /* set_values_almost  */    XtInheritSetValuesAlmost,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
    /* get_values_hook    */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
    /* accept_focus       */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   108
    /* version            */    XtVersion,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
    /* callback_private   */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
    /* tm_table           */    NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
    /* query_geometry     */	PreferredGeometry,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
    /* display_accelerator*/	XtInheritDisplayAccelerator,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
    /* extension          */	NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
  { /* composite_class fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
    /* geometry_manager   */   GeometryManager,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   117
    /* change_managed     */   ChangeManaged,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   118
    /* insert_child       */   XtInheritInsertChild,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   119
    /* delete_child       */   XtInheritDeleteChild,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   120
    /* extension          */   NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
  { /* constraint_class fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
    /* subresourses       */   formConstraintResources,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
    /* subresource_count  */   XtNumber(formConstraintResources),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
    /* constraint_size    */   sizeof(FormConstraintsRec),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
    /* initialize         */   ConstraintInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
    /* destroy            */   NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   128
    /* set_values         */   ConstraintSetValues,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
    /* extension          */   NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
  { /* form_class fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   132
    /* layout             */   Layout
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   133
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   134
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   135
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   136
WidgetClass formWidgetClass = (WidgetClass)&formClassRec;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   137
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
/****************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   139
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   140
 * Private Procedures
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   142
 ****************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
static XrmQuark	XtQChainLeft, XtQChainRight, XtQChainTop,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
		XtQChainBottom, XtQRubber;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   147
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
#define	done(address, type) \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
	{ toVal->size = sizeof(type); \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
	  toVal->addr = (caddr_t) address; \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
	  return; \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   152
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   154
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   155
static void _CvtStringToEdgeType(args, num_args, fromVal, toVal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   156
    XrmValuePtr args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   157
    Cardinal    *num_args;      /* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
    XrmValuePtr fromVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   159
    XrmValuePtr toVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
    static XtEdgeType edgeType;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
    XrmQuark q;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
    char lowerName[1000];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
    XmuCopyISOLatin1Lowered (lowerName, (char*)fromVal->addr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
    q = XrmStringToQuark(lowerName);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
    if (q == XtQChainLeft) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   168
	edgeType = XtChainLeft;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
	done(&edgeType, XtEdgeType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   171
    if (q == XtQChainRight) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   172
	edgeType = XtChainRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
	done(&edgeType, XtEdgeType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
    if (q == XtQChainTop) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
	edgeType = XtChainTop;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
	done(&edgeType, XtEdgeType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
    if (q == XtQChainBottom) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
	edgeType = XtChainBottom;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
	done(&edgeType, XtEdgeType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   182
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   183
    if (q == XtQRubber) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
	edgeType = XtRubber;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   185
	done(&edgeType, XtEdgeType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   187
    XtStringConversionWarning(fromVal->addr, "edgeType");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   188
    toVal->addr = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
    toVal->size = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
static void ClassInitialize()
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
    static XtConvertArgRec parentCvtArgs[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
	{XtBaseOffset, (caddr_t)XtOffset(Widget, core.parent), sizeof(Widget)}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
    };
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
    XawInitializeWidgetSet();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
    XtQChainLeft   = XrmStringToQuark("chainleft");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
    XtQChainRight  = XrmStringToQuark("chainright");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
    XtQChainTop    = XrmStringToQuark("chaintop");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
    XtQChainBottom = XrmStringToQuark("chainbottom");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
    XtQRubber      = XrmStringToQuark("rubber");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   204
    XtAddConverter( XtRString, XtREdgeType, _CvtStringToEdgeType, NULL, 0 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   205
    XtAddConverter( XtRString, XtRWidget, XmuCvtStringToWidget,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   206
		    parentCvtArgs, XtNumber(parentCvtArgs) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   208
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
static void ClassPartInitialize(class)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
    WidgetClass class;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
    register FormWidgetClass c = (FormWidgetClass)class;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   214
    if (c->form_class.layout == XtInheritLayout)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
	c->form_class.layout = Layout;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   216
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   218
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   219
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   220
static void Initialize(request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   221
    Widget request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   222
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
    FormWidget fw = (FormWidget)new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   224
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   225
    fw->form.old_width = fw->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   226
    fw->form.old_height = fw->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
    fw->form.no_refigure = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   228
    fw->form.needs_relayout = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
    fw->form.resize_in_layout = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
static void RefigureLocations(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
    FormWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
    if (w->form.no_refigure) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   237
	w->form.needs_relayout = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
    else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
	(*((FormWidgetClass)w->core.widget_class)->form_class.layout)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   241
	    ( w, w->core.width, w->core.height );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   242
	w->form.needs_relayout = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   244
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   245
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
static Boolean Layout(fw, width, height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
    FormWidget fw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
    Dimension width, height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   250
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   251
    int num_children = fw->composite.num_children;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   252
    WidgetList children = fw->composite.children;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
    Widget *childP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
    Position maxx, maxy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   255
    static void LayoutChild();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
    Boolean ret_val;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   258
    for (childP = children; childP - children < num_children; childP++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
	FormConstraints form = (FormConstraints)(*childP)->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
	form->form.layout_state = LayoutPending;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
    maxx = maxy = 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   264
    for (childP = children; childP - children < num_children; childP++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
	if (XtIsManaged(*childP)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
	    Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
	    LayoutChild(*childP);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
	    x = (*childP)->core.x + (*childP)->core.width
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
		+ ((*childP)->core.border_width << 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
	    y = (*childP)->core.y + (*childP)->core.height
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
		+ ((*childP)->core.border_width << 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   272
	    if (maxx < x) maxx = x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
	    if (maxy < y) maxy = y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
    fw->form.preferred_width = (maxx += fw->form.default_spacing);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
    fw->form.preferred_height = (maxy += fw->form.default_spacing);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   280
    if (fw->form.resize_in_layout
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   281
	&& (maxx != fw->core.width || maxy != fw->core.height)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
	XtGeometryResult result;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   283
	result = XtMakeResizeRequest((Widget)fw,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   284
				     (Dimension)maxx, (Dimension)maxy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   285
				     (Dimension*)&maxx, (Dimension*)&maxy );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
	if (result == XtGeometryAlmost)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
	    result = XtMakeResizeRequest((Widget)fw,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
	    				 (Dimension)maxx, (Dimension)maxy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   289
					 NULL, NULL );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
	fw->form.old_width  = fw->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
	fw->form.old_height = fw->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
	ret_val = (result == XtGeometryYes);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
    } else ret_val = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   295
    return ret_val;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
static void LayoutChild(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   300
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   301
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   302
    FormConstraints form = (FormConstraints)w->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
    Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
    Widget ref;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
    switch (form->form.layout_state) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   308
      case LayoutPending:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   309
	form->form.layout_state = LayoutInProgress;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
	break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   311
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
      case LayoutDone:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   313
	return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
      case LayoutInProgress:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   316
	{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   317
	String subs[2];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   318
	Cardinal num_subs = 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   319
	subs[0] = w->core.name;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   320
	subs[1] = w->core.parent->core.name;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
	XtAppWarningMsg(XtWidgetToApplicationContext(w),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
			"constraintLoop","xawFormLayout","XawToolkitError",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
   "constraint loop detected while laying out child '%s' in FormWidget '%s'",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   324
			subs, &num_subs);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   325
	return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   326
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   328
    x = form->form.dx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   329
    y = form->form.dy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
    if ((ref = form->form.horiz_base) != (Widget)NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   331
	LayoutChild(ref);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
	x += ref->core.x + ref->core.width + (ref->core.border_width << 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
    if ((ref = form->form.vert_base) != (Widget)NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   335
	LayoutChild(ref);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   336
	y += ref->core.y + ref->core.height + (ref->core.border_width << 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   337
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
    XtMoveWidget( w, x, y );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
    form->form.layout_state = LayoutDone;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   342
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
static Position TransformCoord(loc, old, new, type)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
    register Position loc;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   345
    Dimension old, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   346
    XtEdgeType type;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
    if (type == XtRubber) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
        if ( ((int) old) > 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
	    loc = (loc * new) / old;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
    else if (type == XtChainBottom || type == XtChainRight)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   353
      loc += (Position)new - (Position)old;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
    /* I don't see any problem with returning values less than zero. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
    return (loc);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   359
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   361
static void Resize(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   363
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
    FormWidget fw = (FormWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   365
    WidgetList children = fw->composite.children;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
    int num_children = fw->composite.num_children;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   367
    Widget *childP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   368
    Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
    Dimension width, height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   371
    for (childP = children; childP - children < num_children; childP++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   372
	FormConstraints form = (FormConstraints)(*childP)->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
	if (!XtIsManaged(*childP)) continue;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
	x = TransformCoord( (*childP)->core.x, fw->form.old_width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   375
			    fw->core.width, form->form.left );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
	y = TransformCoord( (*childP)->core.y, fw->form.old_height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
			    fw->core.height, form->form.top );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
	form->form.virtual_width =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
	  TransformCoord((Position)((*childP)->core.x
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   381
				    + form->form.virtual_width
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   382
				    + 2 * (*childP)->core.border_width),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   383
			 fw->form.old_width, fw->core.width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
			 form->form.right )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
	    - (x + 2 * (*childP)->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   387
	form->form.virtual_height =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   388
	  TransformCoord((Position)((*childP)->core.y
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
				    + form->form.virtual_height
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
				    + 2 * (*childP)->core.border_width),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
			 fw->form.old_height, fw->core.height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
			 form->form.bottom ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   393
	    - ( y + 2 * (*childP)->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
	width = (Dimension) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
	       (form->form.virtual_width < 1) ? 1 : form->form.virtual_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   397
	height = (Dimension)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
	       (form->form.virtual_height < 1) ? 1 : form->form.virtual_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
	XtConfigureWidget( *childP, x, y, (Dimension)width, (Dimension)height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   401
			  (*childP)->core.border_width );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   403
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   404
    fw->form.old_width = fw->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   405
    fw->form.old_height = fw->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   407
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
static XtGeometryResult GeometryManager(w, request, reply)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   412
    XtWidgetGeometry *request;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   413
    XtWidgetGeometry *reply;	/* RETURN */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
    FormConstraints form = (FormConstraints)w->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
    XtWidgetGeometry allowed;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
    if ((request->request_mode & ~(XtCWQueryOnly | CWWidth | CWHeight)) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   419
	!form->form.allow_resize)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
	return XtGeometryNo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   421
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
    if (request->request_mode & CWWidth)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
	allowed.width = request->width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   424
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
	allowed.width = w->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   427
    if (request->request_mode & CWHeight)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   428
	allowed.height = request->height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
	allowed.height = w->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   431
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
    if (allowed.width == w->core.width && allowed.height == w->core.height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   433
	return XtGeometryNo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   434
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
    if (!(request->request_mode & XtCWQueryOnly)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   436
        /* reset virtual width and height. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
      	form->form.virtual_width = w->core.width = allowed.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
	form->form.virtual_height = w->core.height = allowed.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   439
	RefigureLocations( (FormWidget)w->core.parent );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
    return XtGeometryYes;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   443
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   445
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
static Boolean SetValues(current, request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
    Widget current, request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   449
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
    return( FALSE );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
static void ConstraintInitialize(request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   456
    Widget request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   457
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
    FormConstraints form = (FormConstraints)new->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
    FormWidget fw = (FormWidget)new->core.parent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
    form->form.virtual_width = (int) new->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   462
    form->form.virtual_height = (int) new->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
    if (form->form.dx == default_value)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
        form->form.dx = fw->form.default_spacing;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   467
    if (form->form.dy == default_value)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
        form->form.dy = fw->form.default_spacing;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   469
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   470
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
static Boolean ConstraintSetValues(current, request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
    Widget current, request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   475
    return( FALSE );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   476
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   478
static void ChangeManaged(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   480
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
  FormWidget fw = (FormWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   482
  FormConstraints form;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   483
  WidgetList children, childP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   484
  int num_children = fw->composite.num_children;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   485
  Widget child;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
  /*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   488
   * Reset virtual width and height for all children.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   489
   */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   490
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   491
  for (children = childP = fw->composite.children ;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   492
       childP - children < num_children; childP++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   493
    child = *childP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   494
    if (XtIsManaged(child)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   495
      form = (FormConstraints)child->core.constraints;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   496
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   497
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   498
 * If the size is one (1) then we must not change the virtual sizes, as
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   499
 * they contain useful information.  If someone actually wants a widget of
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   500
 * width or height one (1) in a form widget he will lose, can't win them all.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   501
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   502
 * Chris D. Peterson 2/9/89.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   503
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   504
	 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   505
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   506
      if ( child->core.width != 1)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   507
	form->form.virtual_width = (int) child->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   508
      if ( child->core.height != 1)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   509
	form->form.virtual_height = (int) child->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   510
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   511
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   512
  RefigureLocations( (FormWidget)w );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   513
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   514
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   515
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   516
static XtGeometryResult PreferredGeometry( widget, request, reply  )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   517
    Widget widget;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   518
    XtWidgetGeometry *request, *reply;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   519
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   520
    FormWidget w = (FormWidget)widget;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   521
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   522
    reply->width = w->form.preferred_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   523
    reply->height = w->form.preferred_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   524
    reply->request_mode = CWWidth | CWHeight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   525
    if (  request->request_mode & (CWWidth | CWHeight) ==
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   526
	    reply->request_mode & CWWidth | CWHeight
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   527
	  && request->width == reply->width
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   528
	  && request->height == reply->height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   529
	return XtGeometryYes;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   530
    else if (reply->width == w->core.width && reply->height == w->core.height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   531
	return XtGeometryNo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   532
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   533
	return XtGeometryAlmost;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   534
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   535
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   536
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   537
/**********************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   539
 * Public routines
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   540
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   541
 **********************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   542
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   543
/* 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   544
 * Set or reset figuring (ignored if not realized)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   545
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   546
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   547
void XawFormDoLayout(w, doit)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   548
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   549
Boolean doit;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   550
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   551
    register FormWidget fw = (FormWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   552
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   553
    fw->form.no_refigure = !doit;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   554
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   555
    if ( XtIsRealized(w) && fw->form.needs_relayout )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   556
        RefigureLocations( fw );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   557
}