else {
else #endif  {
fe_GridCreate(MWContext* context, Widget parent, String name,	      ArgList av, Cardinal ac,	      int maxindentdepth,	      int numcolumns, int* columnwidths,	      fe_OutlineGetDataFunc datafunc,	      fe_OutlineClickFunc clickfunc,	      fe_OutlineIconClickFunc iconfunc,	      void* closure,	      char** posinfo, int tag, XP_Bool isOutline){  Widget result;  fe_OutlineInfo* info;  XP_ASSERT(numcolumns >= 0);  info = XP_NEW_ZAP(fe_OutlineInfo);  if (info == NULL) return NULL; /* ### */  XtSetArg(av[ac], XmNuserData, info); ac++;  info->numcolumns = numcolumns;  info->datafunc = datafunc;  info->clickfunc = clickfunc;  info->iconfunc = iconfunc;  info->closure = closure;  info->dragrow = -1;  info->posinfo = posinfo;  info->visibleLine = -1;  info->DataRow = -1;  info->Data.type = XP_CALLOC(numcolumns, sizeof(fe_OutlineType));  info->Data.icons = XP_CALLOC(numcolumns, sizeof(fe_icon*));  info->Data.str = XP_CALLOC(numcolumns, sizeof(char*));  info->lastx = -999;  info->columnwidths = columnwidths;  XtSetArg(av[ac], XmNselectionPolicy, XmSELECT_MULTIPLE_ROW); ac++;  if (isOutline) {    columnwidths[numcolumns - 1] = 9999; /* Make the last column always really					    wide, so we always are ready to					    show something no matter how wide					    the window gets. */    if ((context->type == MWContextMail 	 && fe_globalPrefs.mail_pane_style == FE_PANES_HORIZONTAL)	|| ((context->type == MWContextNews	     && fe_globalPrefs.news_pane_style == FE_PANES_HORIZONTAL))) {      XtSetArg(av[ac], XmNhorizontalSizePolicy, XmCONSTANT); ac++;    }    else {      XtSetArg(av[ac], XmNhorizontalSizePolicy, XmVARIABLE); ac++;    }  } else {    XtSetArg(av[ac], XmNhorizontalSizePolicy, XmCONSTANT); ac++;  }  result = XmLCreateGrid(parent, name, av, ac);  info->widget = result;  XtAddCallback(result, XmNdestroyCallback, fe_outline_destroy_cb, info);  XtVaSetValues(result,		XmNcellDefaults, True,		XmNcellLeftBorderType, XmBORDER_NONE,		XmNcellRightBorderType, XmBORDER_NONE,		XmNcellTopBorderType, XmBORDER_NONE,		XmNcellBottomBorderType, XmBORDER_NONE,		XmNcellAlignment, XmALIGNMENT_LEFT,		0);  XmLGridAddColumns(result, XmCONTENT, -1, info->numcolumns);  info->allowiconresize = (maxindentdepth > 0);  info->columnIndex = XP_CALLOC(numcolumns, sizeof(int));  fe_set_default_column_widths(result);  XtInsertEventHandler(result, ButtonPressMask | ButtonReleaseMask		       | PointerMotionMask, False,		       ButtonEvent, info, XtListHead);  XtAddCallback(result, XmNcellDrawCallback, fe_outline_celldraw, info);  /*  XtAddCallback(result, XmNselectCallback, fe_outline_click, info);      XtAddCallback(result, XmNactivateCallback, fe_outline_click, info);*/  /* initialize the column indentation stuff. */  info->column_indented = XP_CALLOC(numcolumns, sizeof(int *));  info->indent_amount = 10;  /* initialize the drag and drop stuff. */  fe_OutlineDisableDrag(result);  info->dragColumnPixmap = 0;  if (!pixmapFlippyFolded.pixmap) {    Pixel pixel;    XtVaGetValues(result, XmNbackground, &pixel, NULL);    fe_MakeIcon(context, pixel, &pixmapFlippyFolded, NULL,		HFolder.width, HFolder.height,		HFolder.mono_bits, HFolder.color_bits, HFolder.mask_bits,		FALSE);    fe_MakeIcon(context, pixel, &pixmapFlippyExpanded, NULL,		HFolderO.width, HFolderO.height,		HFolderO.mono_bits, HFolderO.color_bits, HFolderO.mask_bits,		FALSE);#if 0     /* no marks. */    fe_MakeIcon(context, pixel, &pixmapMarked, NULL,		HMarked.width, HMarked.height,		HMarked.mono_bits, HMarked.color_bits, HMarked.mask_bits,		FALSE);    fe_MakeIcon(context, pixel, &pixmapUnmarked, NULL,		HUMarked.width, HUMarked.height,		HUMarked.mono_bits, HUMarked.color_bits, HUMarked.mask_bits,		FALSE);#endif  }  return result;}