Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SoXt(3IV)()							   SoXt(3IV)()

NAME
       SoXt -- routines	for Inventor/Xt	compatibility.

INHERITS FROM
       SoXt

SYNOPSIS
       #include	<Inventor/Xt/SoXt.h>

	  Methods from class SoXt:

     static  Widget	   init(const  char  *appName, const char *className =
			       "Inventor")
     static void	  init(Widget topLevelWidget)
     static void	  mainLoop()
     static void	  nextEvent(XtAppContext appContext, XEvent *event)
     static Boolean	  dispatchEvent(XEvent *event)
     static XtAppContext  getAppContext()
     static Display *	  getDisplay()
     static Widget	  getTopLevelWidget()
     static void	  show(Widget widget)
     static void	  hide(Widget widget)
     static XmString	  encodeString(char *s)
     static char *	  decodeString(XmString	xs)
     static void	  setWidgetSize(Widget w, const	SbVec2s	&size)
     static SbVec2s	  getWidgetSize(Widget w)
     static Widget	  getShellWidget(Widget	w)
     static  void	   createSimpleErrorDialog(Widget  widget,  char  *di-
			       alogTitle,  char	 *errorStr1, char *errorStr2 =
			       NULL)
     static void	  getPopupArgs(Display *d, int scr, ArgList args,  int
			       *n)
     static void	  registerColormapLoad(Widget widget, Widget shell)
     static void	  addColormapToShell(Widget widget, Widget shell)
     static void	  removeColormapFromShell(Widget widget, Widget	shell)

DESCRIPTION
       The SoXt	class initializes Inventor for use with	the Xt toolkit and Mo-
       tif. SoXt::init() must be called	in order for Inventor to work properly
       with  Xt. SoXt::mainLoop() must be called in order for extension	device
       events to be passed to Inventor render areas.  The  other  methods  are
       convenience functions.

       Refer  to  the  SoXtComponent  man pages	for examples on	how this class
       should be used when using Inventor Xt components.

METHODS
     static Widget	  init(const char *appName, const  char	 *className  =
			       "Inventor")
	  This is called to initialize Inventor	and Xt,	and bind Inventor with
	  Xt event handling so that Inventor sensors will work correctly. This
	  returns   the	  top  level  shell  widget.  This  method  will  call
	  SoDB::init(),	SoNodeKit::init(), SoInteraction::init() and XtAppIni-
	  tialize().

     static void	  init(Widget topLevelWidget)
	  This alternate form of init allows the application to	initialize Xt.
	  The passed widget should be the top level shell widget returned from
	  the  Xt  initializiation.  This  method will call SoDB::init(), SoN-
	  odeKit::init(), SoInteraction::init()	and XtAppInitialize().

     static void	  mainLoop()
	  This retrieves and dispatches	 events	 (loops	 forever).  Unlike  Xt
	  which	 ignores  extension devices (i.e. any device besides mouse and
	  keyboard), this main loop will dispatch events from input  extension
	  devices   like   the	 spaceball.  It	 calls	SoXt::nextEvent()  and
	  SoXt::dispatchEvent()	to do this. If only the	mouse and keyboard de-
	  vices	are used, this is equivalent to	calling	XtAppMainLoop().

     static void	  nextEvent(XtAppContext appContext, XEvent *event)
	  Get the nextEvent by calling XtAppNextEvent(). The appContext	can be
	  had by calling SoXt::getAppContext().

     static Boolean	  dispatchEvent(XEvent *event)
	  Dispatch the passed event to a handler. Mouse	 and  keyboard	events
	  are  dispatched  by calling XtDispatchEvent(). Events	from input ex-
	  tension devices are dispatched by code implemented in	this  routine.
	  This returns True if a handler was found, else it returns False.

     static XtAppContext  getAppContext()
     static Display *	  getDisplay()
     static Widget	  getTopLevelWidget()
	  These	 return	 information based on the top level widget returned by
	  or passed to init.

     static void	  show(Widget widget)
     static void	  hide(Widget widget)
	  Convenience routines to show and hide	the passed widget.

	  For a	shell widget, this is equivalent to calling RealizeWidget()  +
	  XMapWindow() or XMapRaised() if window already exists	(raise and de-
	  iconify). hide() will	then call XUnmapWindow().

	  For a	subwidget, those simply	 calls	XtManageChild()	 and  XtUnman-
	  ageChild().

     static XmString	  encodeString(char *s)
     static char *	  decodeString(XmString	xs)
	  These	are convenience	routines for encoding a	character string as an
	  XmString, and	decoding an XmString back to a character string.  (Xm-
	  String  is a Motif string). The application is responsible for free-
	  ing up the memory  pointed  to  by  these  return  values.  Use  Xm-
	  StringFree()	to  free  an  XmString,	and free() to free a character
	  pointer.

     static void	  setWidgetSize(Widget w, const	SbVec2s	&size)
     static SbVec2s	  getWidgetSize(Widget w)
	  Convenience routines to set/get the size of the given	widget.	 Those
	  are	equivalent  to	calling	 XtSetValues()	and  XtGetValues()  on
	  XtNheight and	XtNwidth widget	resources.

     static Widget	  getShellWidget(Widget	w)
	  Convenience routine which will return	the ShellWidget	containing the
	  given	 widget.  The widget tree is traversed up until	a shell	widget
	  is found using XtIsShell().

     static  void	   createSimpleErrorDialog(Widget  widget,  char  *di-
			       alogTitle,  char	 *errorStr1, char *errorStr2 =
			       NULL)
	  Convenience routine which brings a simple  motif  error  dialog  box
	  displaying  the  given error string(s) and window title. The OK but-
	  ton, which destroys the dialog, is the only  button  displayed.  The
	  widget  argument is used to create and center	the dialog ( using Xm-
	  CreateErrorDialog()).

     static void	  getPopupArgs(Display *d, int scr, ArgList args,  int
			       *n)
	  Convenience  routine	which  gets  visual args for the popup planes.
	  These	args can then be passed	in to XmCreatePulldownMenu() or	XmCre-
	  atePopupMenu()  to  create  menus  in	the popup planes. registerCol-
	  ormapLoad() must be  called  for  each  pulldown  menu  to  properly
	  load/unload the overlay color	map on the shell when needed.

     static void	  registerColormapLoad(Widget widget, Widget shell)
	  Convenience  routine which will register map/unmap callbacks to load
	  and unload the pulldown menu color map  right	 before	 the  menu  is
	  about	 to be posted. This should be called when creating pulldown or
	  popup	menus in the overlays. This will  make	sure  that  the	 right
	  color	 map  is  loaded  into	the  shell  widget  (to	make the pull-
	  down/popup look right) and remove it when no longer needed (to  make
	  sure	the  OpenGL overlay widget color map is	correctly loaded for 8
	  bit machines).

     static void	  addColormapToShell(Widget widget, Widget shell)
     static void	  removeColormapFromShell(Widget widget, Widget	shell)
	  Convenience routine to insert/remove the given widget	colormap  onto
	  the  supplied	 shell	widget.	This will not replace the existing in-
	  stalled colormaps (or	list of	windows), but instead insert  the  new
	  colormap  first into the existing list using XGetWMColormapWindows()
	  and XSetWMColormapWindows().

SEE ALSO
       SoXtComponent

								   SoXt(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SoXt&sektion=3iv&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help