Blame tests/Auto/lib/Create/other/GetClassCode.c

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
#ifdef REV_INFO
Packit b099d7
#ifndef lint
Packit b099d7
static char rcsid[] = "$XConsortium: GetClassCode.c /main/9 1995/07/14 11:16:01 drk $"
Packit b099d7
#endif
Packit b099d7
#endif
Packit b099d7
/***********************************************************************
Packit b099d7
  	@(#)GetClassCode.c	1.6.1.1	Date:1/22/91
Packit b099d7
  	Author: TAT
Packit b099d7
	History:
Packit b099d7
            05/21/90 SJS add to SCCS
Packit b099d7
            06/05/90 SJS fix #define usage of DialogShell class
Packit b099d7
            06/19/90 SJS add in ToggleB & ToggleBG classes
Packit b099d7
            08/15/90 PSN added missing class & fixed for checking end condition
Packit b099d7
	Calls:
Packit b099d7
Packit b099d7
	Summary:
Packit b099d7
            Returns an integer code representation of the class that
Packit b099d7
            corresponds to all the mvs class codes defined in mvslib.h.
Packit b099d7
Packit b099d7
            INPUTS
Packit b099d7
                widget - the widget to return the class code of
Packit b099d7
Packit b099d7
            OUTPUTS
Packit b099d7
                none
Packit b099d7
  
Packit b099d7
            RETURNS
Packit b099d7
                class code
Packit b099d7
************************************************************************/
Packit b099d7
Packit b099d7
#include "mvslib.h"
Packit b099d7
Packit b099d7
#include <X11/Shell.h>
Packit b099d7
#include <X11/Vendor.h>
Packit b099d7
#include <X11/Xproto.h>
Packit b099d7
#include <Xm/ArrowB.h>
Packit b099d7
#include <Xm/ArrowBG.h>
Packit b099d7
#include <Xm/BulletinB.h>
Packit b099d7
#include <Xm/CascadeB.h>
Packit b099d7
#include <Xm/CascadeBG.h>
Packit b099d7
#include <Xm/ComboBox.h>
Packit b099d7
#include <Xm/Command.h>
Packit b099d7
#include <Xm/Container.h>
Packit b099d7
#include <Xm/CutPaste.h>
Packit b099d7
#include <Xm/DialogS.h>
Packit b099d7
#include <Xm/DrawingA.h>
Packit b099d7
#include <Xm/DrawnB.h>
Packit b099d7
#include <Xm/FileSB.h>
Packit b099d7
#include <Xm/Form.h>
Packit b099d7
#include <Xm/Frame.h>
Packit b099d7
#include <Xm/IconG.h>
Packit b099d7
#include <Xm/Label.h>
Packit b099d7
#include <Xm/LabelG.h>
Packit b099d7
#include <Xm/List.h>
Packit b099d7
#include <Xm/MainW.h>
Packit b099d7
#include <Xm/MenuShell.h>
Packit b099d7
#include <Xm/MessageB.h>
Packit b099d7
#include <Xm/Notebook.h>
Packit b099d7
#include <Xm/PanedW.h>
Packit b099d7
#include <Xm/ProtocolsP.h>    /* Possible non-portability */
Packit b099d7
#include <Xm/PushB.h>
Packit b099d7
#include <Xm/PushBG.h>
Packit b099d7
#include <Xm/RowColumn.h>
Packit b099d7
#include <Xm/SashP.h>         /* Possible non-portability */
Packit b099d7
#include <Xm/Scale.h>
Packit b099d7
#include <Xm/ScrollBar.h>
Packit b099d7
#include <Xm/ScrolledW.h>
Packit b099d7
#include <Xm/SelectioB.h>
Packit b099d7
#include <Xm/SeparatoG.h>
Packit b099d7
#include <Xm/Separator.h>
Packit b099d7
#include <Xm/SpinB.h>
Packit b099d7
#include <Xm/Text.h>
Packit b099d7
#include <Xm/TextF.h>
Packit b099d7
#include <Xm/ToggleB.h>
Packit b099d7
#include <Xm/ToggleBG.h>
Packit b099d7
Packit b099d7
#ifndef MOTIF1_1
Packit b099d7
#include <Xm/DesktopP.h> 	
Packit b099d7
#include <Xm/Screen.h>
Packit b099d7
#include <Xm/ShellEP.h>
Packit b099d7
#include <Xm/VendorSEP.h>
Packit b099d7
#include <Xm/TearOffBP.h>
Packit b099d7
#else
Packit b099d7
#include <Xm/VendorE.h>
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/* NOTE: The following list must correspond EXACTLY with the mvs class codes
Packit b099d7
         in mvslib.h                                                         */
Packit b099d7
Packit b099d7
static WidgetClass *mvsWidgetClass[] = {
Packit b099d7
      /*  0 */ &vendorShellWidgetClass,
Packit b099d7
      /*  1 */ &xmArrowButtonWidgetClass,
Packit b099d7
      /*  2 */ &xmArrowButtonGadgetClass, 
Packit b099d7
      /*  3 */ &xmBulletinBoardWidgetClass,
Packit b099d7
      /*  4 */ &xmCascadeButtonWidgetClass,
Packit b099d7
      /*  5 */ &xmCascadeButtonGadgetClass, 
Packit b099d7
      /*  6 */ &xmCommandWidgetClass,
Packit b099d7
#ifdef MOTIF1_1
Packit b099d7
      /*  7 */ &xmDesktopObjectClass,
Packit b099d7
#else
Packit b099d7
      /*  7 */ &xmDesktopClass,
Packit b099d7
#endif /* MOTIF1_1 */
Packit b099d7
      /*  8 */ &xmDrawingAreaWidgetClass,
Packit b099d7
      /*  9 */ &xmDrawnButtonWidgetClass,
Packit b099d7
      /* 10 */ &xmDialogShellWidgetClass,
Packit b099d7
      /* 11 */ &xmExtObjectClass,
Packit b099d7
      /* 12 */ &xmFileSelectionBoxWidgetClass,
Packit b099d7
      /* 13 */ &xmFormWidgetClass,
Packit b099d7
      /* 14 */ &xmFrameWidgetClass,
Packit b099d7
      /* 15 */ &xmGadgetClass, 
Packit b099d7
      /* 16 */ &xmLabelWidgetClass,
Packit b099d7
      /* 17 */ &xmLabelGadgetClass,
Packit b099d7
      /* 18 */ &xmListWidgetClass,
Packit b099d7
      /* 19 */ &xmMainWindowWidgetClass,
Packit b099d7
      /* 20 */ &xmManagerWidgetClass,
Packit b099d7
      /* 21 */ &xmMenuShellWidgetClass,
Packit b099d7
      /* 22 */ &xmMessageBoxWidgetClass,
Packit b099d7
      /* 23 */ &xmPanedWindowWidgetClass,
Packit b099d7
      /* 24 */ &xmPrimitiveWidgetClass,
Packit b099d7
      /* 25 */ &xmProtocolObjectClass,
Packit b099d7
      /* 26 */ &xmPushButtonGadgetClass, 
Packit b099d7
      /* 27 */ &xmRowColumnWidgetClass, 
Packit b099d7
      /* 28 */ &xmSashWidgetClass,
Packit b099d7
      /* 29 */ &xmScaleWidgetClass,
Packit b099d7
#ifdef MOTIF1_1
Packit b099d7
      /* 30 */ &xmScreenObjectClass,
Packit b099d7
#else
Packit b099d7
      /* 30 */ &xmScreenClass,
Packit b099d7
#endif
Packit b099d7
      /* 31 */ &xmScrollBarWidgetClass,
Packit b099d7
      /* 32 */ &xmScrolledWindowWidgetClass,
Packit b099d7
      /* 33 */ &xmSelectionBoxWidgetClass,
Packit b099d7
      /* 34 */ &xmSeparatorGadgetClass, 
Packit b099d7
      /* 35 */ &xmSeparatorWidgetClass,
Packit b099d7
      /* 36 */ &xmShellExtObjectClass,
Packit b099d7
      /* 37 */ &xmTextWidgetClass,
Packit b099d7
      /* 38 */ &xmTextFieldWidgetClass,
Packit b099d7
      /* 39 */ &xmToggleButtonWidgetClass,
Packit b099d7
      /* 40 */ &xmToggleButtonGadgetClass,
Packit b099d7
      /* 41 */ &xmVendorShellExtObjectClass,
Packit b099d7
      /* 42 */ &applicationShellWidgetClass,
Packit b099d7
      /* 43 */ &compositeWidgetClass,
Packit b099d7
      /* 44 */ &coreWidgetClass,
Packit b099d7
      /* 45 */ &objectClass,
Packit b099d7
      /* 46 */ &overrideShellWidgetClass,
Packit b099d7
      /* 47 */ &rectObjClass,
Packit b099d7
      /* 48 */ &shellWidgetClass,
Packit b099d7
      /* 49 */ &topLevelShellWidgetClass,
Packit b099d7
      /* 50 */ &transientShellWidgetClass,
Packit b099d7
      /* 51 */ &wmShellWidgetClass,
Packit b099d7
      /* 52 */ &xmPushButtonWidgetClass, 
Packit b099d7
#ifndef MOTIF1_1
Packit b099d7
      /* 53 */ &xmTearOffButtonWidgetClass,
Packit b099d7
#else
Packit b099d7
      /* 53 */ &xmPushButtonWidgetClass,  /* Placeholder for 1.1 */
Packit b099d7
#endif /* MOTIF1_1 */
Packit b099d7
      /* 54 */ &xmComboBoxWidgetClass,
Packit b099d7
      /* 55 */ &xmContainerWidgetClass,
Packit b099d7
      /* 56 */ &xmIconGadgetClass,
Packit b099d7
      /* 57 */ &xmNotebookWidgetClass,
Packit b099d7
      /* 58 */ &xmSpinBoxWidgetClass,
Packit b099d7
      /* 58 */ (WidgetClass *)NULL
Packit b099d7
  };
Packit b099d7
Packit b099d7
int mvsGetClassCode(widget)
Packit b099d7
Widget widget;
Packit b099d7
{
Packit b099d7
    int i;
Packit b099d7
    WidgetClass widget_class = XtClass(widget);
Packit b099d7
Packit b099d7
    for (i=0; i
Packit b099d7
        if (widget_class == *(mvsWidgetClass[i]))
Packit b099d7
            break;
Packit b099d7
Packit b099d7
    return(i);
Packit b099d7
Packit b099d7
} /* End mvsGetClassCode() */