749N/A/***********************************************************
749N/A
749N/A $XConsortium: PanedP.h,v 1.6 94/04/17 20:12:30 gildea Exp $
749N/A
749N/A
749N/ACopyright (c) 1987, 1988 X Consortium
749N/A
749N/APermission is hereby granted, free of charge, to any person obtaining a copy
749N/Aof this software and associated documentation files (the "Software"), to deal
749N/Ain the Software without restriction, including without limitation the rights
749N/Ato use, copy, modify, merge, publish, distribute, sublicense, and/or sell
749N/Acopies of the Software, and to permit persons to whom the Software is
749N/Afurnished to do so, subject to the following conditions:
749N/A
749N/AThe above copyright notice and this permission notice shall be included in
749N/Aall copies or substantial portions of the Software.
749N/A
749N/ATHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
749N/AIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
749N/AFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
749N/AX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
749N/AAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
749N/ACONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
749N/A
749N/AExcept as contained in this notice, the name of the X Consortium shall not be
749N/Aused in advertising or otherwise to promote the sale, use or other dealings
749N/Ain this Software without prior written authorization from the X Consortium.
749N/A
749N/A
749N/ACopyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
749N/A
749N/A All Rights Reserved
749N/A
749N/APermission to use, copy, modify, and distribute this software and its
749N/Adocumentation for any purpose and without fee is hereby granted,
749N/Aprovided that the above copyright notice appear in all copies and that
749N/Aboth that copyright notice and this permission notice appear in
749N/Asupporting documentation, and that the name of Digital not be
749N/Aused in advertising or publicity pertaining to distribution of the
749N/Asoftware without specific, written prior permission.
749N/A
749N/ADIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
749N/AALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
749N/ADIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
749N/AANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
749N/AWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
749N/AARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
749N/ASOFTWARE.
749N/A
749N/A******************************************************************/
749N/A
749N/A/*
749N/A * PanedP.h - Paned Composite Widget's private header file.
749N/A *
749N/A * Updated and significantly modified from the Athena VPaned Widget.
749N/A *
749N/A * Date: March 1, 1989
749N/A *
749N/A * By: Chris D. Peterson
749N/A * MIT X Consortium
749N/A * kit@expo.lcs.mit.edu
749N/A */
749N/A
749N/A#ifndef _XawPanedP_h
749N/A#define _XawPanedP_h
749N/A
749N/A#include <X11/Xaw/Paned.h>
749N/A
749N/A/*********************************************************************
749N/A *
749N/A * Paned Widget Private Data
749N/A *
749N/A *********************************************************************/
749N/A
749N/A/* New fields for the Paned widget class record */
749N/A
749N/Atypedef struct _PanedClassPart {
749N/A int foo; /* keep compiler happy. */
749N/A} PanedClassPart;
749N/A
749N/A/* Full Class record declaration */
749N/Atypedef struct _PanedClassRec {
749N/A CoreClassPart core_class;
749N/A CompositeClassPart composite_class;
749N/A ConstraintClassPart constraint_class;
749N/A PanedClassPart paned_class;
749N/A} PanedClassRec;
749N/A
749N/Aextern PanedClassRec panedClassRec;
749N/A
749N/A/* Paned constraint record */
749N/Atypedef struct _PanedConstraintsPart {
749N/A /* Resources. */
749N/A Dimension min; /* Minimum height */
749N/A Dimension max; /* Maximum height */
749N/A Boolean allow_resize; /* TRUE iff child resize requests are ok */
749N/A Boolean show_grip; /* TRUE iff child will have grip below it,
749N/A when it is not the bottom pane. */
749N/A Boolean skip_adjust; /* TRUE iff child's height should not be */
749N/A /* changed without explicit user action. */
749N/A int position; /* position location in Paned (relative to
749N/A other children) ** NIY ** */
749N/A Dimension preferred_size; /* The Preferred size of the pane.
749N/A Iff this is zero then ask child for size.*/
749N/A Boolean resize_to_pref; /* resize this pane to its preferred size
749N/A on a resize or change managed after
749N/A realize. */
749N/A
749N/A /* Private state. */
749N/A Position delta; /* Desired Location */
749N/A Position olddelta; /* The last value of dy. */
749N/A Boolean paned_adjusted_me; /* Has the vpaned adjusted this widget w/o
749N/A user interaction to make things fit? */
749N/A Dimension wp_size; /* widget's preferred size */
749N/A int size; /* the size the widget will actually get. */
749N/A Widget grip; /* The grip for this child */
749N/A
749N/A} PanedConstraintsPart, *Pane;
749N/A
749N/Atypedef struct _PanedConstraintsRec {
749N/A PanedConstraintsPart paned;
749N/A} PanedConstraintsRec, *PanedConstraints;
749N/A
749N/A/*
749N/A * The Pane Stack Structure.
749N/A */
749N/A
749N/Atypedef struct _PaneStack {
749N/A struct _PaneStack * next; /* The next element on the stack. */
749N/A Pane pane; /* The pane in this element on the stack. */
749N/A int start_size; /* The size of this element when it was pushed
749N/A onto the stack. */
749N/A} PaneStack;
749N/A
749N/A/* New Fields for the Paned widget record */
749N/Atypedef struct {
749N/A /* resources */
749N/A Position grip_indent; /* Location of grips (offset
749N/A from right margin) */
749N/A Boolean refiguremode; /* Whether to refigure changes
749N/A right now */
749N/A XtTranslations grip_translations; /* grip translation table */
749N/A Pixel internal_bp; /* color of internal borders. */
749N/A Dimension internal_bw; /* internal border width. */
749N/A XtOrientation orientation; /* Orientation of paned widget. */
749N/A
749N/A Cursor cursor; /* Cursor for paned window */
749N/A Cursor grip_cursor; /* inactive grip cursor */
749N/A Cursor v_grip_cursor; /* inactive vert grip cursor */
749N/A Cursor h_grip_cursor; /* inactive horiz grip cursor */
749N/A Cursor adjust_this_cursor; /* active grip cursor: T */
749N/A Cursor v_adjust_this_cursor; /* active vert grip cursor: T */
749N/A Cursor h_adjust_this_cursor; /* active horiz grip cursor: T */
749N/A
749N/A /* vertical. */
749N/A Cursor adjust_upper_cursor; /* active grip cursor: U */
749N/A Cursor adjust_lower_cursor; /* active grip cursor: D */
749N/A
749N/A /* horizontal. */
749N/A Cursor adjust_left_cursor; /* active grip cursor: U */
749N/A Cursor adjust_right_cursor; /* active grip cursor: D */
749N/A
749N/A /* private */
749N/A Boolean recursively_called; /* for ChangeManaged */
749N/A Boolean resize_children_to_pref; /* override constrain resources
749N/A and resize all children to
749N/A preferred size. */
749N/A int start_loc; /* mouse origin when adjusting */
749N/A Widget whichadd; /* Which pane to add changes to */
749N/A Widget whichsub; /* Which pane to sub changes from */
749N/A GC normgc; /* GC to use when drawing borders */
749N/A GC invgc; /* GC to use when erasing borders */
749N/A GC flipgc; /* GC to use when animating
749N/A borders */
749N/A int num_panes; /* count of managed panes */
749N/A PaneStack * stack; /* The pane stack for this widget.*/
749N/A} PanedPart;
749N/A
749N/A/**************************************************************************
749N/A *
749N/A * Full instance record declaration
749N/A *
749N/A **************************************************************************/
749N/A
749N/Atypedef struct _PanedRec {
749N/A CorePart core;
749N/A CompositePart composite;
749N/A ConstraintPart constraint;
749N/A PanedPart paned;
749N/A} PanedRec;
749N/A
749N/A#endif /* _XawPanedP_h */
749N/A/* DON'T ADD STUFF AFTER THIS #endif */