424
+ − 1 /* Tabs Widget for XEmacs.
+ − 2 Copyright (C) 1999 Edward A. Falk
+ − 3
+ − 4 This file is part of XEmacs.
+ − 5
+ − 6 XEmacs is free software; you can redistribute it and/or modify it
+ − 7 under the terms of the GNU General Public License as published by the
+ − 8 Free Software Foundation; either version 2, or (at your option) any
+ − 9 later version.
+ − 10
+ − 11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ − 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ − 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ − 14 for more details.
+ − 15
+ − 16 You should have received a copy of the GNU General Public License
+ − 17 along with XEmacs; see the file COPYING. If not, write to
+ − 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 19 Boston, MA 02111-1307, USA. */
+ − 20
434
+ − 21 /* Synched up with: TabsP.h 1.8 */
424
+ − 22
+ − 23 /*
+ − 24 * TabsP.h - Private definitions for Index Tabs widget
+ − 25 */
+ − 26
+ − 27 #ifndef _TabsP_h
+ − 28 #define _TabsP_h
+ − 29
+ − 30 /***********************************************************************
+ − 31 *
+ − 32 * Tabs Widget Private Data
+ − 33 *
+ − 34 ***********************************************************************/
+ − 35
+ − 36 #include <X11/IntrinsicP.h>
+ − 37
+ − 38 #ifdef NEED_MOTIF
+ − 39 #include <Xm/XmP.h>
+ − 40 #include <Xm/ManagerP.h>
+ − 41 #endif
+ − 42
+ − 43 #include "xlwtabs.h"
3094
+ − 44 #ifdef USE_XFT_TABS
+ − 45 #include <X11/Xft/Xft.h>
+ − 46 #endif
424
+ − 47
+ − 48 /* New fields for the Tabs widget class record */
+ − 49 typedef struct {XtPointer extension;} TabsClassPart;
+ − 50
+ − 51 /* Full class record declaration */
+ − 52 typedef struct _TabsClassRec {
+ − 53 CoreClassPart core_class;
+ − 54 CompositeClassPart composite_class;
+ − 55 ConstraintClassPart constraint_class;
+ − 56 #ifdef NEED_MOTIF
+ − 57 XmManagerClassPart manager_class;
+ − 58 #endif
+ − 59 TabsClassPart tabs_class;
+ − 60 } TabsClassRec;
+ − 61
+ − 62 extern TabsClassRec tabsClassRec;
+ − 63
+ − 64
+ − 65
+ − 66 /****************************************************************
+ − 67 *
+ − 68 * instance record declaration
+ − 69 *
+ − 70 ****************************************************************/
+ − 71
+ − 72 /* New fields for the Tabs widget record */
+ − 73 typedef struct {
+ − 74 /* resources */
+ − 75 XFontStruct *font ;
3094
+ − 76 #ifdef USE_XFT_TABS
3397
+ − 77 XftFont *renderFont;
+ − 78 String fcFontName;
3685
+ − 79 String xftFontName;
3094
+ − 80 #endif
424
+ − 81 Dimension internalHeight, internalWidth ;
+ − 82 Widget topWidget ;
+ − 83 XtCallbackList callbacks ;
+ − 84 XtCallbackList popdownCallbacks ;
+ − 85 Boolean selectInsensitive ;
+ − 86 Boolean be_nice_to_cmap ;
+ − 87 int top_shadow_contrast ;
+ − 88 int bot_shadow_contrast ;
+ − 89 int insensitive_contrast ;
+ − 90
+ − 91 /* private state */
+ − 92 Widget hilight ;
+ − 93 GC foregroundGC ;
+ − 94 GC backgroundGC ;
+ − 95 GC greyGC ;
+ − 96 GC topGC ;
+ − 97 GC botGC ;
+ − 98 Dimension tab_height ; /* height of tabs (all the same) */
+ − 99 /* Note: includes top shadow only */
+ − 100 Dimension tab_total ; /* total height of all tabs */
+ − 101 Dimension child_width, child_height; /* child size, including borders */
+ − 102 Dimension max_cw, max_ch ; /* max child preferred size */
+ − 103 Cardinal numRows ;
446
+ − 104 Cardinal realRows; /* XEmacs addition */
424
+ − 105 XtGeometryMask last_query_mode;
+ − 106 Boolean needs_layout ;
+ − 107 Pixmap grey50 ; /* TODO: cache this elsewhere */
+ − 108 } TabsPart;
+ − 109
+ − 110
+ − 111 typedef struct _TabsRec {
+ − 112 CorePart core;
+ − 113 CompositePart composite;
+ − 114 ConstraintPart constraint;
+ − 115 #ifdef NEED_MOTIF
+ − 116 XmManagerPart manager;
+ − 117 #endif
+ − 118 TabsPart tabs;
+ − 119 } TabsRec;
+ − 120
+ − 121
+ − 122
+ − 123
+ − 124 /****************************************************************
+ − 125 *
3397
+ − 126 * Constraint record declaration
424
+ − 127 *
+ − 128 ****************************************************************/
+ − 129
+ − 130 typedef struct _TabsConstraintsPart {
+ − 131 /* resources */
+ − 132 String label ;
+ − 133 Pixmap left_bitmap ;
+ − 134 Pixel foreground ;
+ − 135 Boolean resizable ;
+ − 136
+ − 137 /* private state */
+ − 138 Pixel grey ;
+ − 139 Boolean greyAlloc ;
446
+ − 140 Boolean visible; /* XEmacs change */
424
+ − 141 Dimension width ; /* tab width */
+ − 142 Position x,y ; /* tab base position */
+ − 143 short row ; /* tab row */
+ − 144 Position l_x, l_y ; /* label position */
+ − 145 Position lbm_x, lbm_y ; /* bitmap position */
+ − 146 unsigned int lbm_width, lbm_height, lbm_depth ;
+ − 147 } TabsConstraintsPart ;
+ − 148
+ − 149 typedef struct _TabsConstraintsRec {
+ − 150 #ifdef NEED_MOTIF
+ − 151 XmManagerConstraintPart manager;
+ − 152 #endif
+ − 153 TabsConstraintsPart tabs ;
+ − 154 } TabsConstraintsRec, *TabsConstraints ;
+ − 155
+ − 156
+ − 157 #endif /* _TabsP_h */