/* * @OPENGROUP_COPYRIGHT@ * COPYRIGHT NOTICE * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc. * Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for * the full copyright text. * * This software is subject to an open license. It may only be * used on, with or for operating systems which are themselves open * source systems. You must contact The Open Group for a license * allowing distribution and sublicensing of this software on, with, * or for operating systems which are not Open Source programs. * * See http://www.opengroup.org/openmotif/license for full * details of the license agreement. Any use, reproduction, or * distribution of the program constitutes recipient's acceptance of * this agreement. * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS * PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY * WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY * OR FITNESS FOR A PARTICULAR PURPOSE * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT * NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE * EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ /* * HISTORY */ #ifdef REV_INFO #ifndef lint static char rcsid[] = "$XConsortium: CreatChildrn.c /main/8 1995/07/14 11:24:23 drk $" #endif #endif /*********************************************************************** @(#)CreatChildrn.c 1.9.1.1 Date:1/22/91 Author: TAT History: 06/07/90 TAT Add to sccs tree 06/15/90 SJS add copyright 06/26/90 SJS add Dialog Shell convenience function checks 06/29/90 SJS correct PanedWindow/ScrolledWindow case 07/18/90 SJS add test for Null in SelectionBox case 07/27/90 SJS take out Paned Window ifdef 08/02/90 SJS add FileSelectionBox, add Null checks for ScrolledW Calls: Summary: Creates all the widget infos of the specified widget's children and allocs their colors. INPUTS widget_info - Pointer to the mvs widget info record OUTPUTS none RETURNS nothing ************************************************************************/ #include "mvslib.h" #include <X11/Shell.h> #include <X11/Vendor.h> #include <X11/Xproto.h> #include <Xm/ArrowB.h> #include <Xm/ArrowBG.h> #include <Xm/BulletinB.h> #include <Xm/CascadeB.h> #include <Xm/CascadeBG.h> #include <Xm/ComboBox.h> #include <Xm/Command.h> #include <Xm/Container.h> #include <Xm/ContainerP.h> /* Possible non-portability */ #include <Xm/CutPaste.h> #include <Xm/DialogS.h> #include <Xm/DrawingA.h> #include <Xm/DrawnB.h> #include <Xm/FileSB.h> #include <Xm/Form.h> #include <Xm/Frame.h> #include <Xm/IconG.h> #include <Xm/Label.h> #include <Xm/LabelG.h> #include <Xm/List.h> #include <Xm/MainW.h> #include <Xm/MenuShell.h> #include <Xm/MessageB.h> #include <Xm/Notebook.h> #include <Xm/PanedW.h> #include <Xm/ProtocolsP.h> /* Possible non-portability */ #include <Xm/PushB.h> #include <Xm/PushBG.h> #include <Xm/RowColumn.h> #include <Xm/RowColumnP.h> /* Possible non-portability */ #include <Xm/SashP.h> /* Possible non-portability */ #include <Xm/Scale.h> #include <Xm/ScrollBar.h> #include <Xm/ScrolledW.h> #include <Xm/SelectioB.h> #include <Xm/SeparatoG.h> #include <Xm/Separator.h> #include <Xm/SpinB.h> #include <Xm/Text.h> #include <Xm/ToggleB.h> #include <Xm/ToggleBG.h> #ifndef MOTIF1_1 #include <Xm/TearOffBP.h> #endif /* MOTIF1_1 */ static void UpdatePanes(); void mvsCreateChildren(widget_info) MvsWidgetInfoRecord *widget_info; { int class_code = mvsGetClassCode(widget_info->widget); Widget widget = widget_info->widget; Widget child; MvsWidgetInfoRecord *child_info; int num_children; Widget *children; Widget tear_off; XmContainerConstraint containerConstraint; int i, n, pathMode; Arg args[4]; if (widget_info->parent != NULL && widget_info->parent->widget != NULL) if (mvsGetClassCode(widget_info->parent->widget) == mvsXmPanedWindowWidgetClass) UpdatePanes(widget_info->parent); switch (class_code) { case mvsXmDialogShellWidgetClass: num_children = (int)mvsGetResourceValue(widget,XmNnumChildren, T_Cardinal); children = (Widget *)mvsGetResourceValue(widget,XmNchildren, T_WidgetList); for (i=0; i<num_children; i++) { class_code = mvsGetClassCode(children[i]); if (class_code == mvsXmMessageBoxWidgetClass) { child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmMessageBoxWidgetClass); mvsCreateChildren(child_info); } else { msg_trace("Unimplemented child of Dialog\n"); } } break; case mvsXmContainerWidgetClass: child = XtNameToWidget(widget,"Header"); if (child != (Widget) 0) { child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmIconGadgetClass); mvsCreateChildren(child_info); } break; case mvsXmIconGadgetClass: /* * Need to determine if the parent is a Container */ if(strcmp (widget_info->parent->widget_class_info->class_name, "XmContainer") == 0) { /* * Get the Container constraint part from the IconGadget * and get the outline button widget from the constraint part */ containerConstraint = GetContainerConstraint(widget); child = containerConstraint->related_cwid; /* * Set the Outline Button as an mvs child of * the IconGadget, although it is a child of * the Container widget */ if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); } } /* end if parent is a Container */ break; case mvsXmCommandWidgetClass: child = XmCommandGetChild(widget,XmDIALOG_COMMAND_TEXT); child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); child = XmCommandGetChild(widget,XmDIALOG_PROMPT_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmCommandGetChild(widget,XmDIALOG_HISTORY_LIST); child = XtParent(child); /* Get scrolled window parent */ child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrolledWindowWidgetClass); mvsCreateChildren(child_info); break; case mvsXmComboBoxWidgetClass: child = XtNameToWidget(widget,"*List"); child = XtParent(child); /* Get scrolled window parent */ child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrolledWindowWidgetClass); mvsCreateChildren(child_info); child = XtNameToWidget(widget,"Text"); child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextFieldWidgetClass); mvsCreateChildren(child_info); break; case mvsXmNotebookWidgetClass: child = XtNameToWidget(widget,"MajorTabScrollerNext"); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonWidgetClass); } child = XtNameToWidget(widget,"MajorTabScrollerPrevious"); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonWidgetClass); } child = XtNameToWidget(widget,"MinorTabScrollerNext"); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonWidgetClass); } child = XtNameToWidget(widget,"MinorTabScrollerPrevious"); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmArrowButtonWidgetClass); } break; case mvsXmFileSelectionBoxWidgetClass: /* See if this is a CDE FileSelectionBox */ n = 0; XtSetArg (args[n], XmNpathMode, &pathMode); n++; XtGetValues (widget, args, n); if (pathMode == XmPATH_MODE_RELATIVE) { child = XtNameToWidget(widget,"DirText"); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextFieldWidgetClass); } child = XtNameToWidget(widget,"DirL"); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); } } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_APPLY_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child =XmFileSelectionBoxGetChild(widget,XmDIALOG_CANCEL_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_FILTER_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_FILTER_TEXT); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_HELP_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_FILE_LIST); child = XtParent(child); /* Get scrolled window parent */ child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrolledWindowWidgetClass); mvsCreateChildren(child_info); child = XmFileSelectionBoxGetChild(widget,XmDIALOG_FILE_LIST_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_OK_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_SEPARATOR); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_SELECTION_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_TEXT); child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); child = XmFileSelectionBoxGetChild(widget,XmDIALOG_DIR_LIST_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmFileSelectionBoxGetChild(widget,XmDIALOG_DIR_LIST); child = XtParent(child); /* Get scrolled window parent */ child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrolledWindowWidgetClass); mvsCreateChildren(child_info); break; case mvsXmMainWindowWidgetClass: child = (Widget)mvsGetResourceValue(widget,XmNcommandWindow, T_Widget_ref); if(child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNmenuBar, T_Widget_ref); if(child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmRowColumnWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNmessageWindow, T_Widget_ref); if(child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNhorizontalScrollBar, T_Widget_ref); if(child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrollBarWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNverticalScrollBar, T_Widget_ref); if(child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrollBarWidgetClass); } child = XmMainWindowSep1(widget); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } child = XmMainWindowSep2(widget); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } child = XmMainWindowSep3(widget); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } break; case mvsXmMessageBoxWidgetClass: child = XmMessageBoxGetChild(widget,XmDIALOG_CANCEL_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmMessageBoxGetChild(widget,XmDIALOG_HELP_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmMessageBoxGetChild(widget,XmDIALOG_MESSAGE_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmMessageBoxGetChild(widget,XmDIALOG_OK_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmMessageBoxGetChild(widget,XmDIALOG_SEPARATOR); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } child = XmMessageBoxGetChild(widget,XmDIALOG_SYMBOL_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } break; case mvsXmPanedWindowWidgetClass: num_children = (int)mvsGetResourceValue(widget,XmNnumChildren, T_Cardinal); children = (Widget *)mvsGetResourceValue(widget,XmNchildren, T_WidgetList); for (i=0; i<num_children; i++) { class_code = mvsGetClassCode(children[i]); if (class_code == mvsXmSashWidgetClass) child_info = mvsSetupNewWidgetInfo(widget_info,children[i], iXmSashWidgetClass); else if (class_code == mvsXmSeparatorGadgetClass) { if (XmIsGadget(children[i])) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorWidgetClass); } } break; case mvsXmScaleWidgetClass: num_children = (int)mvsGetResourceValue(widget,XmNnumChildren, T_Cardinal); children = (Widget *)mvsGetResourceValue(widget,XmNchildren, T_WidgetList); for (i=0; i<num_children; i++) { class_code = mvsGetClassCode(children[i]); if (class_code == mvsXmScrollBarWidgetClass) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmScrollBarWidgetClass); else if (class_code == mvsXmLabelGadgetClass) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmLabelGadgetClass); else if (class_code == mvsXmLabelWidgetClass) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmLabelWidgetClass); else if (class_code == mvsXmSeparatorGadgetClass) { if (XmIsGadget(children[i])) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorWidgetClass); } else printf("Error, in mvsXmScaleWidgetClass\n"); } break; case mvsXmScrolledWindowWidgetClass: child = (Widget)mvsGetResourceValue(widget,XmNhorizontalScrollBar, T_Widget_ref); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmScrollBarWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNverticalScrollBar, T_Widget_ref); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmScrollBarWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNworkWindow, T_Widget_ref); if (child != NULL) { class_code = mvsGetClassCode(child); if (class_code == mvsXmListWidgetClass) child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmListWidgetClass); else if (class_code == mvsXmTextWidgetClass) child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmTextWidgetClass); } child = (Widget)mvsGetResourceValue(widget,XmNclipWindow, T_Widget_ref); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info, child, iXmDrawingAreaWidgetClass); } break; case mvsXmSelectionBoxWidgetClass: child = XmSelectionBoxGetChild(widget,XmDIALOG_APPLY_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_CANCEL_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_HELP_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_LIST); if (child != NULL) { child = XtParent(child); /* Get Scrolled window parent */ child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmScrolledWindowWidgetClass); mvsCreateChildren(child_info); } child = XmSelectionBoxGetChild(widget,XmDIALOG_LIST_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_OK_BUTTON); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmPushButtonWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_SEPARATOR); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmSeparatorWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_SELECTION_LABEL); if (child != NULL) { if (XmIsGadget(child)) child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmLabelWidgetClass); } child = XmSelectionBoxGetChild(widget,XmDIALOG_TEXT); if (child != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,child, iXmTextWidgetClass); } break; case mvsXmRowColumnWidgetClass: /* interim use of widget structure, later use convenience routine */ #ifndef MOTIF1_1 tear_off = ((XmRowColumnWidget)widget)->row_column.tear_off_control; if (tear_off != NULL) { child_info = mvsSetupNewWidgetInfo(widget_info,tear_off, iXmTearOffButtonWidgetClass); } #endif /* MOTIF1_1 */ break; default: /* Do nothing */ break; } /* End switch() */ } /* End mvsCreateChildren() */ static void UpdatePanes(widget_info) MvsWidgetInfoRecord *widget_info; { Widget widget = widget_info->widget; int class_code = mvsGetClassCode(widget_info->widget); Widget child; MvsWidgetInfoRecord *child_info; MvsWidgetInfoRecord *w_info = NULL; int num_children; Widget *children; int i; num_children = (int)mvsGetResourceValue(widget,XmNnumChildren, T_Cardinal); children = (Widget *)mvsGetResourceValue(widget,XmNchildren, T_WidgetList); for (i=0; i<num_children; i++) { class_code = mvsGetClassCode(children[i]); w_info = mvsWidgetToWidgetInfo(children[i]); if (class_code == mvsXmSashWidgetClass && w_info == NULL) child_info = mvsSetupNewWidgetInfo(widget_info,children[i], iXmSashWidgetClass); else if (class_code == mvsXmSeparatorGadgetClass && w_info == NULL) { if (XmIsGadget(children[i])) child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorGadgetClass); else child_info = mvsSetupNewWidgetInfo(widget_info, children[i], iXmSeparatorWidgetClass); } w_info = NULL; } }