This commit was manufactured by cvs2svn to create branch 'chise-r21-4-18'.
[chise/xemacs-chise.git-] / lwlib / xlwtabs.h
diff --git a/lwlib/xlwtabs.h b/lwlib/xlwtabs.h
new file mode 100644 (file)
index 0000000..467d287
--- /dev/null
@@ -0,0 +1,211 @@
+/* Tabs Widget for XEmacs.
+    Copyright (C) 1999 Edward A. Falk
+ This file is part of XEmacs.
+ XEmacs is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+ XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ for more details.
+ You should have received a copy of the GNU General Public License
+ along with XEmacs; see the file COPYING.  If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+/*
+ * This widget manages one or more child widgets, exactly one of which is
+ * visible.  Above the child widgets is a graphic that looks like index
+ * tabs from file folders.  Each tab corresponds to one of the child widgets.
+ * By clicking on a tab, the user can bring the corresponding widget to
+ * the top of the stack.
+ */
+
+
+#ifndef _Tabs_h
+#define _Tabs_h
+
+#include <X11/Constraint.h>
+
+
+/***********************************************************************
+ *
+ * Tabs Widget (subclass of CompositeClass)
+ *
+ ***********************************************************************/
+
+/* Parameters:
+
+ Name               Class              RepType         Default Value
+ ----               -----              -------         -------------
+ font               Font               XFontStruct*    XtDefaultFont
+ internalWidth      Width              Dimension       4       *1
+ internalHeight             Height             Dimension       2       *1
+ topWidget          TopWidget          Widget                  *2
+ highlightWidget HighlightWidget Widget 4
+ callback           Callback           XtCallbackList  NULL    *3
+ popdownCallback     Callback          XtCallbackList  NULL    *4
+ selectInsensitive   SelectInsensitive Boolean         True    *5
+ beNiceToColormap    BeNiceToColormap  Boolean         False   *6
+ topShadowContrast   TopShadowContrast int             20
+ bottomShadowContrast BottomShadowContrast int         40
+ insensitiveContrast InsensitiveContrast int           33      *7
+
+ background         Background         Pixel           XtDefaultBackground
+ border                     BorderColor        Pixel           XtDefaultForeground
+ borderWidth        BorderWidth        Dimension       1
+ destroyCallback     Callback          Pointer         NULL
+ hSpace             HSpace             Dimension       4
+ height                     Height             Dimension       0
+ mappedWhenManaged   MappedWhenManaged Boolean         True
+ orientation        Orientation        XtOrientation   vertical
+ vSpace             VSpace             Dimension       4
+ width              Width              Dimension       0
+ x                  Position           Position        0
+ y                  Position           Position        0
+
+ Notes:
+
+ 1 internalWidth, internalHeight specify the margins around the text
+   in the tabs.
+ 2 topWidget identifies the widget which is currently visible.
+ 3 callbacks are called whenever the user selects a tab.  Call_data is
+   the new top widget.
+ 4 popdownCallbacks are called whenever the user selects a tab.  Call_data is
+   the old (no longer visible) top widget.  Note that popdownCallbacks
+   are called before callbacks.
+ 5 SelectInsensitive determines whether or not insensitive children may
+   be selected anyway.
+ 6 BeNiceToColormap causes the Tabs widget to use fewer colors.
+ 7 InsensitiveContrast sets the contrast used for labels of insensitive widgets.
+
+*/
+
+/* Constraint parameters:
+ Name               Class              RepType         Default Value
+ ----               -----              -------         -------------
+ tabLabel           Label              String          widget name
+ tabLeftBitmap      LeftBitmap         Pixmap          None
+ tabForeground      Foreground         Pixel           XtDefaultForeground
+ resizable          Resizable          Boolean         False
+*/
+
+/* New fields */
+
+#ifndef        XtNtabLabel
+#define        XtNtabLabel             "tabLabel"
+#define        XtNtabForeground        "tabForeground"
+#endif
+
+#ifndef        XtNtabLeftBitmap
+#define        XtNtabLeftBitmap        "tabLeftBitmap"
+#endif
+
+#ifndef        XtCLeftBitmap
+#define        XtCLeftBitmap   "LeftBitmap"
+#endif
+
+#ifndef        XtCResizable
+#define        XtCResizable    "Resizable"
+#endif
+
+#ifndef        XtNselectInsensitive
+#define        XtNselectInsensitive    "selectInsensitive"
+#define        XtCSelectInsensitive    "SelectInsensitive"
+#endif
+
+#ifndef        XtNnlabels
+#define        XtNnlabels      "nlabels"
+#define        XtCNLabels      "NLabels"
+#endif
+#ifndef        XtNlabels
+#define        XtNlabels       "labels"
+#define        XtCLabels       "Labels"
+#endif
+
+#ifndef        XtNtopWidget
+#define        XtNtopWidget    "topWidget"
+#define        XtCTopWidget    "TopWidget"
+#endif
+
+#ifndef XtNhighlightWidget
+#define XtNhighlightWidget "highlightWidget"
+#define XtCHighlightWidget "HighlightWidget"
+#endif
+
+#ifndef        XtNhSpace
+#define        XtNhSpace       "hSpace"
+#define        XtCHSpace       "HSpace"
+#define        XtNvSpace       "vSpace"
+#define        XtCVSpace       "VSpace"
+#endif
+
+#ifndef        XtNresizable
+#define        XtNresizable    "resizable"
+#endif
+
+#ifndef        XtNinsensitiveContrast
+#define        XtNinsensitiveContrast  "insensitiveContrast"
+#define        XtCInsensitiveContrast  "InsensitiveContrast"
+#endif
+
+#ifndef        XtNshadowWidth
+#define XtNshadowWidth "shadowWidth"
+#define XtCShadowWidth "ShadowWidth"
+#define XtNtopShadowPixel "topShadowPixel"
+#define XtCTopShadowPixel "TopShadowPixel"
+#define XtNbottomShadowPixel "bottomShadowPixel"
+#define XtCBottomShadowPixel "BottomShadowPixel"
+#define XtNtopShadowContrast "topShadowContrast"
+#define XtCTopShadowContrast "TopShadowContrast"
+#define XtNbottomShadowContrast "bottomShadowContrast"
+#define XtCBottomShadowContrast "BottomShadowContrast"
+#endif
+
+#ifndef        XtNtopShadowPixmap
+#define        XtNtopShadowPixmap      "topShadowPixmap"
+#define        XtCTopShadowPixmap      "TopShadowPixmap"
+#define        XtNbottomShadowPixmap   "bottomShadowPixmap"
+#define        XtCBottomShadowPixmap   "BottomShadowPixmap"
+#endif
+
+#ifndef        XtNbeNiceToColormap
+#define XtNbeNiceToColormap "beNiceToColormap"
+#define XtCBeNiceToColormap "BeNiceToColormap"
+#define XtNbeNiceToColourmap "beNiceToColormap"
+#define XtCBeNiceToColourmap "BeNiceToColormap"
+#endif
+
+/* Class record constants */
+
+extern WidgetClass tabsWidgetClass;
+
+typedef struct _TabsClassRec *TabsWidgetClass;
+typedef struct _TabsRec      *TabsWidget;
+
+_XFUNCPROTOBEGIN
+
+extern void
+XawTabsSetTop(
+#if NeedFunctionPrototypes
+       Widget  w,
+       Bool    callCallbacks
+#endif
+) ;
+
+extern void
+XawTabsSetHighlight(
+#if NeedFunctionPrototypes
+       Widget  tabs,
+       Widget  w
+#endif
+) ;
+
+_XFUNCPROTOEND
+
+#endif /* _Tabs_h */