Example #1
0
static void 
_XmFastExpose(Widget widg)
{
  register int i;
  register Widget child;
  XmGrabShellWidget gs = (XmGrabShellWidget)widg;

  _XmProcessLock();
  (*(XtClass(widg)->core_class.expose)) (widg, NULL, NULL);
  _XmProcessUnlock();
  
  /* Process each windowed child */
  for (i = 0; i < gs->composite.num_children; i++)
    {
      child = gs->composite.children[i];
      
      if (XtIsWidget(child) && XtIsManaged(child)) {
        _XmProcessLock();
	(*(XtClass(child)->core_class.expose)) (child, NULL, NULL);
	_XmProcessUnlock();
      }
    }
  
  XFlush(XtDisplay(widg));
  DrawBorder(widg);
}
Example #2
0
/* ARGSUSED */
static void 
DisplayDestroy(
        Widget w )
{
    XmDisplay dd = (XmDisplay) w ;
    XContext context;

    _XmProcessLock();
    context = displayContext;
    _XmProcessUnlock();


    XtFree((char *) dd->display.modals);

    if (((XmDisplayInfo *)(dd->display.displayInfo))
		->excParentPane.pane != (Widget *)NULL)
	XtFree((char *) ((XmDisplayInfo *)(dd->display.displayInfo))
		->excParentPane.pane);
    XtFree((char *) dd->display.displayInfo);

    /* Destroy the DropSiteManager object. */
    if (dd->display.dsm != NULL)
	XtDestroyWidget((Widget) dd->display.dsm);

    _XmVirtKeysDestroy (w);

    XDeleteContext( XtDisplay( w), None, context) ;
}
Example #3
0
/* 
 * Marked tabs have mark cleared but aren't actually freed.
 */
void
XmTabListFree(XmTabList tablist)
{
  int	i;
  XmTab	tab, next;

  _XmProcessLock();
  if (tablist == NULL) {
	_XmProcessUnlock();
	return;
  }
  
  tab = _XmTabLStart(tablist);
  
  for (i = 1; i < _XmTabLCount(tablist); i++)
    {
      next = _XmTabNext(tab);
      
      if (_XmTabMark(tab)) _XmTabMark(tab) = FALSE;
      else XmTabFree(tab);

      tab = next;
    }
  
  if (_XmTabMark(tab)) _XmTabMark(tab) = FALSE;
  else XmTabFree(tab);

  _XmProcessUnlock();
  XtFree((char *)tablist);
}
Example #4
0
XmTab
XmTabCreate(float value,
	    unsigned char units,
	    XmOffsetModel offset_model,
	    unsigned char alignment,
	    char *decimal)
{
  XmTab 	tab;

  _XmProcessLock();
  tab = (XmTab)XtMalloc(sizeof(_XmTabRec));
  
  _XmTabMark(tab) = FALSE;
  if (value >= 0) 
    {
      _XmTabValue(tab) = value;
    }
  else 
    {
      _XmTabValue(tab) = 0.0;
      XmeWarning(NULL, NEGATIVE_VALUE_MSG);
    }
  _XmTabUnits(tab) = units;
  _XmTabModel(tab) = offset_model;
  _XmTabAlign(tab) = alignment;
  _XmTabDecimal(tab) = XtNewString(decimal);

  _XmProcessUnlock();
  return(tab);
}
Example #5
0
/*ARGSUSED*/
static Boolean 
SetValues(Widget old,
	  Widget ref,
	  Widget new_w,
	  ArgList args,
	  Cardinal *num_args)
{
  XmExtObject	  ne = (XmExtObject) new_w;
  Widget	  resParent = ne->ext.logicalParent;
  XmWidgetExtData ext = _XmGetWidgetExtData(resParent, ne->ext.extensionType);
  Cardinal	  extSize;
  
  if (resParent)
    {
      _XmProcessLock();
      extSize = XtClass(new_w)->core_class.widget_size;
      
      ext->widget = new_w;
      
      ext->oldWidget = (Widget) _XmExtObjAlloc(extSize);
      memcpy((char *)ext->oldWidget, (char *)old, extSize); 
      
      ext->reqWidget = (Widget) _XmExtObjAlloc(extSize);
      memcpy((char *)ext->reqWidget, (char *)ref, extSize); 
      _XmProcessUnlock();

      /* Convert the necessary fields from unit values to pixel values. */
      _XmExtImportArgs(new_w, args, num_args);
    }

  return FALSE;
}
Example #6
0
/*ARGSUSED*/
static XtGeometryResult 
GeometryManager(
	 Widget wid,
	 XtWidgetGeometry *request,
	 XtWidgetGeometry *reply ) /* unused */
{
  XmGrabShellWidget gs = (XmGrabShellWidget) XtParent(wid);
  XtWidgetGeometry modified;
  int bw;
  XtGeometryResult ret_val;

  /* Copy the existing request */
  modified = *request;

  bw = XtBorderWidth(wid);

  /* Add shell's shadow thickness and child's borderwidth */
  modified.width += 2*bw + 2*gs->grab_shell.shadow_thickness;
  modified.height += 2*bw + 2*gs->grab_shell.shadow_thickness;

  _XmProcessLock();
  /* Send to vendor shell for final */
  ret_val = ((VendorShellClassRec *) vendorShellWidgetClass) -> 
	 composite_class.geometry_manager(wid,&modified,reply);
  _XmProcessUnlock();
  return ret_val;
}
Example #7
0
static void 
Initialize(Widget req,
	   Widget new_w,
	   ArgList args,
	   Cardinal *num_args)
{
  XmExtObject      ne = (XmExtObject) new_w;
  XmExtObjectClass ec = (XmExtObjectClass) XtClass(new_w);
  Widget           resParent = ne->ext.logicalParent;
  XmWidgetExtData  extData;
  XmBaseClassExt  *wcePtr = _XmGetBaseClassExtPtr(ec, XmQmotif);
  
  if (!(*wcePtr)->use_sub_resources)
    {
      if (resParent)
	{
	  extData = (XmWidgetExtData) XtCalloc(1, sizeof(XmWidgetExtDataRec));
	  _XmPushWidgetExtData(resParent, extData, ne->ext.extensionType);
	  
	  extData->widget = new_w;
	  _XmProcessLock();
	  extData->reqWidget = (Widget)
	    _XmExtObjAlloc(XtClass(new_w)->core_class.widget_size);
	  memcpy((char *)extData->reqWidget, (char *)req,
		 XtClass(new_w)->core_class.widget_size);
	  _XmProcessUnlock();
	  
	  /*  Convert the fields from unit values to pixel values  */
	  _XmExtImportArgs(new_w, args, num_args);
	}
    }
}
Example #8
0
/* ARGSUSED */
static void 
Destroy(
        Widget w )
{
    XmPrintShellWidget print_shell = (XmPrintShellWidget) w ;

    /* need to remove the pixmap from this shell: no sharing
       between diff shell and the same shell pointer id can
       come up next time */
    _XmCleanPixmapCache (XtScreen(w), w);

    if (!print_shell->print.xp_connected)
	return ;

    /*** remove entry in the widget/XPContext table, used in 
         the event dispatch mechanism */
    DeleteFromTable(XpGetContext(XtDisplay(w)), w);

    _XmProcessLock();
    /* unmark the screen of this print shell in this context */
    XDeleteContext(XtDisplay(w), (XID)XtScreen(w), 
		   _XmPrintScreenToShellContext);
    /* also maintain a counter of all shells alive */
    _XmPrintShellCounter -- ;
    _XmProcessUnlock();
}
Example #9
0
/*
 * This routine uses the mark bit of tabs so that replaced tabs can
 * be copied upon replacement and not copied when the rest of the tabs
 * are copied or freed when the old tabs are freed.
 */
XmTabList
XmTabListReplacePositions(XmTabList oldlist,
			  Cardinal *position_list,
			  XmTab *tabs,
			  Cardinal tab_count)
{
  unsigned int	i;
  unsigned int	cur_pos;
  XmTab		cur_tab, tab, prev, next;
  XmTabList	tl;
  
  _XmProcessLock();
  if ((oldlist == NULL) ||
      (position_list == NULL) ||
      (tabs == NULL) || (tab_count == 0)) {
    _XmProcessUnlock();
    return(oldlist);
  }

  tl = (XmTabList)XtMalloc(sizeof(_XmTabListRec));
  _XmTabLCount(tl) = _XmTabLCount(oldlist);
  cur_tab = _XmTabLStart(tl) = _XmTabLStart(oldlist);
  cur_pos = 0;

  /* Make the replacement in the old list, then copy and free. */
  for (i = 0; i < tab_count; i++)
    {
      cur_tab = GetNthTab(tl, position_list[i],
			  cur_tab, cur_pos);
      cur_pos = position_list[i];
      
      prev = _XmTabPrev(cur_tab);
      next = _XmTabNext(cur_tab);
      
      /* replace tab copying */
      tab = _XmTabCopy(tabs[i]);
      
      if (prev == cur_tab) { /* only one tab in list */
	_XmTabPrev(tab) = _XmTabNext(tab) = tab;
      } else {
	_XmTabNext(prev) = tab;
	_XmTabPrev(tab) = prev;
	_XmTabNext(tab) = next;
	_XmTabPrev(next) = tab;
      }
      if (cur_tab == _XmTabLStart(tl))
	_XmTabLStart(tl) = tab;

      XmTabFree(cur_tab);
      cur_tab = tab;
    }

  XtFree((char *)oldlist);

  _XmProcessUnlock();
  return(tl);
}
Example #10
0
void
XmTabSetValue(XmTab tab,
	      float value)
{
  _XmProcessLock();
  if (value >= 0) _XmTabValue(tab) = value;
  else XmeWarning(NULL, NEGATIVE_VALUE_MSG);
  _XmProcessUnlock();
}
Example #11
0
/*ARGSUSED*/
static void 
ArmAndActivate(
        Widget wid,
        XEvent *event,
        String *params,		/* unused */
        Cardinal *num_params)	/* unused */
{
  XmArrowButtonWidget ab = (XmArrowButtonWidget) wid;
  XmArrowButtonCallbackStruct call_value;
  XtExposeProc expose;
  
  ab->arrowbutton.selected = TRUE;
  _XmProcessLock();
  expose = ab->core.widget_class->core_class.expose;
  _XmProcessUnlock();
  (*(expose)) ((Widget) ab, event, FALSE);
  
  XFlush (XtDisplay (ab));
  
  if (ab->arrowbutton.arm_callback)
    {
      call_value.reason = XmCR_ARM;
      call_value.event = event;
      XtCallCallbackList((Widget)ab, ab->arrowbutton.arm_callback, &call_value);
    }
  
  call_value.reason = XmCR_ACTIVATE;
  call_value.event = event;
  call_value.click_count = 1;	/* always 1 in kselect */
  
  if (ab->arrowbutton.activate_callback)
    {
      XFlush (XtDisplay (ab));
      XtCallCallbackList((Widget)ab,ab->arrowbutton.activate_callback,
			 &call_value);
    }
  
  ab->arrowbutton.selected = FALSE;
  
  if (ab->arrowbutton.disarm_callback)
    {
      XFlush (XtDisplay (ab));
      call_value.reason = XmCR_DISARM;
      XtCallCallbackList((Widget) ab, ab->arrowbutton.disarm_callback,
			 &call_value);
    }
  
  /* If the button is still around, show it released after a short delay */
  if (ab->core.being_destroyed == False)
    {
      ab->arrowbutton.timer = 
	XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)ab),
			(unsigned long) DELAY_DEFAULT,
			ArmTimeout, (XtPointer)ab);
    }
}
Example #12
0
/* 
 * This copying routine also works with the internal marking scheming used
 * by the insert and replace routines. 
 */
XmTabList
XmTabListCopy(XmTabList tablist,
	      int offset,
	      Cardinal count)
{
  XmTabList	tl;
  XmTab		old_tab, tab, next_tab;
  unsigned int	i;
  
  _XmProcessLock();
  if (tablist == NULL) {
	_XmProcessUnlock();
	return(NULL);
  }
  
  tl = (XmTabList)XtMalloc(sizeof(_XmTabListRec));
  
  /* Zero count implies copy from offset to end/beginning */
  if (count == 0) count = (_XmTabLCount(tablist) - abs(offset));

  if (count > _XmTabLCount(tablist)) count = _XmTabLCount(tablist);
  
  old_tab = GetNthTab(tablist, offset, NULL, 0);

  /* If marked, routine called by insert/replace. Don't copy. */
  tab = _XmTabMark(old_tab) ? old_tab : _XmTabCopy(old_tab);
  
  /* Add first. */
  _XmTabLCount(tl) = count;
  _XmTabLStart(tl) = tab;

  /* Add rest. */
  for (i = 1; i < count; i++)
    {
      old_tab = (offset >= 0) ? _XmTabNext(old_tab) : _XmTabPrev(old_tab);
      /* See above.  Don't copy if marked. */
      next_tab = _XmTabMark(old_tab)? old_tab : _XmTabCopy(old_tab);
  
      _XmTabNext(tab) = next_tab;
	
      _XmTabPrev(next_tab) = tab;
	
      tab = next_tab;
    }
  
  /* Complete circle. */
  _XmTabNext(tab) = _XmTabLStart(tl);
  _XmTabPrev(_XmTabLStart(tl)) = tab;

  _XmProcessUnlock();
  return(tl);
}
Example #13
0
/************************************************************************
 *
 *  DisplayInsertChild
 *
 ************************************************************************/
static void 
DisplayInsertChild(
        Widget w )
{
	if (XtIsRectObj(w)) {
		XtWidgetProc insert_child;

		_XmProcessLock();
		insert_child = ((CompositeWidgetClass)compositeWidgetClass)
				->composite_class.insert_child;
		_XmProcessUnlock();
		(*insert_child)(w);
	}
}
Example #14
0
Cardinal
XmTabListTabCount(XmTabList tablist)
{
  Cardinal ret_val;
  _XmProcessLock();
  if (tablist == NULL) {
	_XmProcessUnlock();
	return 0;
  }

  ret_val = _XmTabLCount(tablist);
  _XmProcessUnlock();
  return ret_val;
}
Example #15
0
/************************************************************************
 *
 *  DisplayDeleteChild
 *
 ************************************************************************/
static void 
DisplayDeleteChild(
        Widget w )
{
	if (XtIsRectObj(w)) {
		XtWidgetProc delete_child;

		_XmProcessLock();
		delete_child = ((CompositeWidgetClass)compositeWidgetClass)
				->composite_class.delete_child;
		_XmProcessUnlock();	
		(*delete_child)(w);
	}
}
Example #16
0
XtPointer
XmeTraitGet(XtPointer obj, XrmQuark name)
{
    XtPointer trait;
    XmTraitEntryRec entry;

    entry.obj = obj;
    entry.name = name;

    _XmProcessLock();
    trait = _XmGetHashEntry(TraitTable, &entry);
    _XmProcessUnlock();

    return(trait);
}
Example #17
0
XmTab
XmTabListGetTab(XmTabList tablist,
		Cardinal position)
{
   XmTab ret_val;
  _XmProcessLock();
  if (tablist == NULL || abs(position) >= _XmTabLCount(tablist)) {
	_XmProcessUnlock();
	return((XmTab)NULL);
  }

  ret_val = _XmTabCopy(GetNthTab(tablist, position, NULL, 0));
  _XmProcessUnlock();
  return ret_val;
}
Example #18
0
static void 
SetValuesAlmost (Widget gold, Widget gset, 
		 XtWidgetGeometry *req, XtWidgetGeometry *reply)
{
    XtAlmostProc set_val_al;

    if (reply->request_mode == 0) {	/* got turned down, so cope */
	Resize (gset);
    }

    _XmProcessLock();
    set_val_al = *SUPERCLASS->core_class.set_values_almost;
    _XmProcessUnlock();
    (*set_val_al)(gold, gset, req, reply);

}
Example #19
0
/*
 * fetch the next 'segment' of the external TCS
 */
Boolean 
XmStringGetNextSegment(XmStringContext context,
		       char **text,
		       XmStringTag *tag,
		       XmStringDirection *direction,
		       Boolean *separator )
{
  short char_count;
  Boolean ret_val;
  
  _XmProcessLock();
  ret_val = _XmStringGetNextSegment((_XmStringContext)context, 
		 tag, direction, text, &char_count, separator);
  _XmProcessUnlock();
  return ret_val;
}
Example #20
0
static void 
InsertChild(Widget w)
{
   if (_XmGadgetWarning(w))
       return;

   {
      XtWidgetProc insert_child;

      _XmProcessLock();
      insert_child = ( (CompositeWidgetClass) SUPERCLASS)->composite_class.insert_child;
      _XmProcessUnlock();

      (*insert_child)(w);
   }
}
Example #21
0
/*
 * as close as we can come to Latin1Create without knowing the charset of
 * Latin1.  This imposes the semantic of \n meaning separator.
 */
XmString 
XmStringLtoRCreate(
        char *text,
        XmStringTag tag )
{
  char *start, *end;
  Boolean done;
  XmString string;

  _XmProcessLock();
  if (!text) {
	_XmProcessUnlock();
	return (NULL);
  }

  start = text;
  done = FALSE;

  /* Set the direction once only at the beginning. */
  string = XmStringDirectionCreate(XmSTRING_DIRECTION_L_TO_R);
    
  while ( ! done)		/* loop thu local copy */
    {				/* looking for \n */
      end = start;

      while ((*end != '\0') && (*end != '\n'))  end++;

      if (*end == '\0')
	done = TRUE;		/* we are at the end */

      /* Don't convert empty string unless it's an initial newline. */
      /* Done so StringHeight has clue to size of empty lines. */
      if ((start != end) || (start == text))
        string = XmStringConcatAndFree (string, 
					_XmStringNCreate(start, tag, 
							 (int)(end - start))); /* Wyoming 64-bit fix */ 
      
      /* Make a separator if this isn't the last segment. */
      if (!done) {
        string = XmStringConcatAndFree(string, XmStringSeparatorCreate());
	start = ++end;		/* start at next char */
      }
    }

  _XmProcessUnlock();
  return (string);
}
Example #22
0
Boolean 
XmeUseColorObj( void )
{
    XmColorObj tmpColorObj = _XmDefaultColorObj;

    _XmProcessLock();
    if (!tmpColorObj ||
      !tmpColorObj->color_obj.colorIsRunning ||
      !tmpColorObj->color_obj.useColorObj) {
      _XmProcessUnlock();
      return False;
    }
    else {
      _XmProcessUnlock();
      return True;
    }
}
Example #23
0
/************************************************************************
 *                                                                      *
 *  Relayout the main window.				* 
 *									*
 ************************************************************************/
static void 
Resize(
        Widget wid )
{
    CompositeWidgetClass superclass = (CompositeWidgetClass)
	                xmMainWindowClassRec.core_class.superclass ;
    XtWidgetProc resize;

    Layout((XmMainWindowWidget) wid);

    /* call our superclass layout now that MainWindow has updated
       some internal positional fields: offset, pads */
    _XmProcessLock();
    resize = superclass->core_class.resize;
    _XmProcessUnlock();
    (*resize)(wid);
}
Example #24
0
static void 
GetValuesPrehook(Widget new_w,
		 ArgList args,
		 Cardinal *num_args)
{
  XmExtObjectClass ec = (XmExtObjectClass) XtClass(new_w);
  XmBaseClassExt *wcePtr = _XmGetBaseClassExtPtr(ec, XmQmotif);
  
  if ((*wcePtr)->use_sub_resources)
    {
      _XmProcessLock();
      XtGetSubvalues((XtPointer)new_w,
		     (*wcePtr)->ext_resources,
		     (*wcePtr)->num_ext_resources,
		     args, *num_args);
      _XmProcessUnlock();
    }
}
Example #25
0
float
XmTabGetValues(XmTab tab,
	       unsigned char *units,
	       XmOffsetModel *offset,
	       unsigned char *alignment,
	       char **decimal)
{
  float ret_val;
  _XmProcessLock();
  if (units != NULL) *units = _XmTabUnits(tab);
  if (offset != NULL) *offset = _XmTabModel(tab);
  if (alignment != NULL) *alignment = _XmTabAlign(tab);
  if (decimal != NULL) *decimal = _XmTabDecimal(tab);
  
  ret_val = _XmTabValue(tab);
  _XmProcessUnlock();
  return ret_val;
}
Example #26
0
void
XmeFlushIconFileCache(String	path)
{
    Cardinal	dirNameLen;
    Cardinal 	i;

    _XmProcessLock();

    /*
     * loop thru the dir list. if no path was specified then flush the
     * entire cache.
     */
    if (path) 
      dirNameLen = strlen(path);
    else
      dirNameLen = 0;
    for (i = 0; i < cacheList.numDirs; i++) {
	DtValidCachedDir	currDir;

	currDir = (DtValidCachedDir)cacheList.dirs[i];
	if (!path ||
	    ((currDir->dirNameLen == dirNameLen) &&
	     (strncmp(currDir->dirName, path, dirNameLen) == 0))) {
	    XtFree(currDir->dirName);
	    XtFree((char *)currDir);

	    if (path) {
		/* ripple down the dir array */
		for (; i < cacheList.numDirs - 1; i++)
		  cacheList.dirs[i] = cacheList.dirs[i+1];
		cacheList.numDirs--;
		_XmProcessUnlock();
		return;
	    }
	}
    }
    if (path && (i == cacheList.numDirs)) {
	_XmProcessUnlock();
	return;
    }
    cacheList.numDirs = 0;
    /* don't free the dirList itself */
    _XmProcessUnlock();
}
Example #27
0
XmStringComponentType 
XmStringGetNextComponent(
        XmStringContext context,
        char **text,
        XmStringTag *str_tag,
        XmStringDirection *direction,
        XmStringComponentType *unknown_tag,
        unsigned short *unknown_length,
        unsigned char **unknown_value )
{
  XmStringComponentType type;
  unsigned int  	len;
  XtPointer		val;
  
  _XmProcessLock();
  type = XmeStringGetComponent((_XmStringContext) context, True, True, &len, &val);

  /* Case on return type */
  /* Set appropriate return value and return. */
  switch (type)
    {
    case XmSTRING_COMPONENT_DIRECTION:
      *direction = *(XmStringDirection *)val;
      XtFree((char *)val);
      break;
    case XmSTRING_COMPONENT_TAG:
      *str_tag = (XmStringTag)val;
      break;
    case XmSTRING_COMPONENT_TEXT:
    case XmSTRING_COMPONENT_LOCALE_TEXT:
      *text = (char *)val;
      break;
    case XmSTRING_COMPONENT_SEPARATOR:
    case XmSTRING_COMPONENT_END:
      break;
    default:
      *unknown_tag = type;
      *unknown_length = len;
      *unknown_value = (unsigned char *)val; 
      type = XmSTRING_COMPONENT_UNKNOWN;
    }
  _XmProcessUnlock();
  return(type);
}
Example #28
0
static void 
Redisplay(
        Widget wid,
        XEvent *event,
        Region region )
{
  XmArrowButtonWidget aw = (XmArrowButtonWidget) wid;
  int iwidth, iheight;
  XtExposeProc expose;
  
  iwidth = (int) aw->core.width - 2 * aw->primitive.highlight_thickness;
  iheight = (int) aw->core.height - 2 * aw->primitive.highlight_thickness;
  
  /*  Draw the arrow  */
  if ((iwidth > 0) && (iheight > 0))
    {
      if (aw->primitive.shadow_thickness > 0)
	XmeDrawShadows(XtDisplay (aw), XtWindow (aw),
		       aw->primitive.top_shadow_GC,
		       aw->primitive.bottom_shadow_GC,
		       aw->primitive.highlight_thickness,
		       aw->primitive.highlight_thickness,
		       aw->core.width - 2 * aw->primitive.highlight_thickness,
		       aw->core.height - 2 * aw->primitive.highlight_thickness,
		       aw->primitive.shadow_thickness,
		       XmSHADOW_OUT);
      
      if (aw->arrowbutton.selected && XtIsSensitive(wid))
	DrawArrow(aw, aw->primitive.bottom_shadow_GC,
		  aw->primitive.top_shadow_GC, aw->arrowbutton.arrow_GC);
      else
	DrawArrow(aw, aw->primitive.top_shadow_GC,
		  aw->primitive.bottom_shadow_GC,
		  (XtIsSensitive(wid) ?
		   aw->arrowbutton.arrow_GC : aw->arrowbutton.insensitive_GC));
    }
  
  /* Envelop our superclass expose method */
  _XmProcessLock();
  expose = xmPrimitiveClassRec.core_class.expose;
  _XmProcessUnlock(); 
  (*(expose)) ((Widget) aw, event, region);
}
Example #29
0
static void
Resize(Widget wid)
{
  Cardinal ac;
  Arg             av[5] ;
 XmCommandWidget cw = (XmCommandWidget)wid;
 XtWidgetProc resize;
 
 _XmProcessLock();
 resize = xmSelectionBoxClassRec.core_class.resize;
 _XmProcessUnlock();
 (*resize) ((Widget) cw) ;

  /* keep list_visible_item_count in sync with List's visibleItemCount*/
  ac = 0 ;
  XtSetArg( av[ac], XmNvisibleItemCount, &(cw->selection_box.list_visible_item_count)) ; ++ac
;
  XtGetValues( cw->selection_box.list, av, ac) ;
}
Example #30
0
/* ARGSUSED */
static void
ArmTimeout(
        XtPointer closure,
        XtIntervalId *id )
{
  XmArrowButtonWidget ab = (XmArrowButtonWidget) closure;

  ab->arrowbutton.timer = 0;

  if (XtIsRealized((Widget)ab) && XtIsManaged((Widget)ab)) 
    {
      XtExposeProc expose;
	
      _XmProcessLock();
      expose = ab->core.widget_class->core_class.expose;
      _XmProcessUnlock();
      (*(expose)) ((Widget) ab, NULL, FALSE);
      XFlush (XtDisplay (ab));
    }
}