Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives Frequently Asked Questions (FAQ)
Section - 19. What changed from R3 to R4 to R5?

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Cities ]

Top Document: Frequently Asked Questions (FAQ)
Previous Document: 18. How do I open multiple displays?
Next Document: 20. Where are the resources loaded from?
See reader questions & answers on this topic! - Help others by sharing your knowledge

This addresses only changes in the Intrinsics.  First, the general
changes for each release are described.  Then a, certainly incomplete,
list of new functions added and others that are now deprecated are
listed.  Brevity is a primary goal.

Much of the following information is retrieved from Chapter 13 of the MIT
Xt Intrinsics Manual and from O'Reilly Volume 5, 3rd edition.

From R3 to R4
- Addition of gadgets (windowless widgets)
- New resource type converter interface to handle cacheing and
  additional  data.
- Variable argument list interface.
- #define XtSpecificationRelease 4  (added with this release)
- WMShellPart, TopLevelShellPart & TransientShellPart changed
- core.initialize, core.set_values added ArgList and count parameters
- event handlers had continue_to_dispatch parameter added
- core.set_values_almost specification changed.
- core.compress_exposure changed to an enumerated data type from Boolean
- core.class_inited changed to enumerated data type from Boolean
- constraint.get_values_hook added to extension record
- core.initialize_hook obsolete as info is passed to core.initialize
- shell.root_geometry_manager added to extension record
- core.set_values_hook obsolete as info is passed to core.set_values
- Calling XtQueryGeometry() must store complete geometry.
- Added UnrealizeCallback.
- XtTranslateCoords() actually works under R4.

From R4 to R5:
- Psuedo resource baseTranslation added.
- Searching for app-default, and other files, made more flexible
- customization resource added.
- Per-screen resource database.
- Support permanently allocated strings.
- Permanetly allocated strings required for several class fields.
- The args argument to XtAppInitialize, XtVaAppInitialize,
  XtOpenDisplay, XtDisplayInitialize, and XtInitialize were changed
  from Cardinal* to int*
- Many performance improvements (this is summarized from the article
  "Xt Performance Improvements in Release 5" by Gabe Beged-Dov in "The
  X Resource", Issue 3):
	- XrmStringToQuark() augmented with XrmPermStringToQuark() to
	  avoid string copies.  Several fields in the class record are
	  indicated as needing permanent strings.
	- Using an array of Strings for resources
	- Callback lists redesigned to use less memory
	- Translation manager redesigned and rewritten so it takes
	  less memory, translation tables merges are faster, cache of
	  action bindings
	- Keycode to Keysyms are cached.
	- Better sharing of GC's with modifiable fields
	- Window to Widget translation uses less space and faster
	- Does not malloc space for widget name since quark is available
	- Widget space is allocated to include the constraints
	- Over several example programs, about a 26% reduction in
	  memory usage.

Functions new with R5:
XtAllocateGC()		- sharable GC with modifiable fields  
XtGetActionList()	- get the action table of a class
XtScreenDatabase()	- return resource database for a screen
XtSetLanguageProc()	- register language procedure called to set locale

Functions new with R4:
XtAppAddActionHook()	- procedure to call before _every_ action.
XtAppInitialize()	- lots of initialization work.
XtAppReleaseCacheRefs()	- decrement cache reference count for converter
XtAppSetFallbackResources() - specify default resources
XtAppSetTypeConverter()	- register a new style converter
XtCallCallbackList()	- directly execute a callback list
XtCallConverter	()	- invoke a new style converter
XtCallbackReleaseCacheRef() - release a cached resource value
XtCallbackReleaseCacheRefList() - release a list of cached resource values
XtConvertAndStore()	- find and call a resource converter
XtDirectConvert()	- Invoke old-style converter
XtDisplayOfObject()	- Return the display
XtDisplayStringConversionWarning() - issue a warning about conversion
XtFindFile()		- Find a file
XtGetActionKeysym()	- Retrieve keysym & modifies for this action
XtGetApplicationNameAndClass() - return name and class
XtGetConstraintResourceList() - get constraints for a widget
XtGetKeysymTable()	- return keycode-to-keysym mapping table
XtGetMultiClickTime()	- read the multi-click time
XtGetSelectionRequest()	- retrieve the SelectionRequest event
XtGetSelectionValueIncremental() - obtain the selection value incrementally
XtGetSelectionValuesIncremental() - obtain the selection value incrementally
XtInitializeWidgetClass() - initialize a widget class manually
XtInsertEventHanlder()	- register event handler before/after others
XtInsertRawEventHandler() - register event handler without modify input mask
XtIsObject()		- test if subclass of Object
XtIsRectObj()		- test if subclass of RectObj
XtKeysymToKeyCodeList()	- return list of keycodes
XtLastTimestampProcessed() - retrieve most recent event time
XtMenuPopdown		- Action for popping down a widget
XtMenuPopup		- Action for popping up a widget
XtOffsetOf		- macro for structure offsets
XtOwnSelectionIncremental() - make selection data availabe incrementally
XtPoupSpringLoaded()	- map a spring-loaded popup
XtRegisterGrabAction()	- indicate action procedure needs a passive grab
XtRemoveActiohHook()	- remove function called after every action
XtResolvePathname()	- find a file
XtScreenOfObject()	- return screen of object.
XtSetMultiClickTime()	- set the multi-click time
XtSetWMColormapWindows() - set WM_COLORMAP_WINDOWS for custom colormaps
XtUngrabButton()	- cancel a passive button grab
XtUngrabKey()		- cancel a passive key grab
XtUngrabKeybard()	- release an active keyboard grab
XtUngrabPointer()	- release an active pointer grab
XtVa*()			- varags interfaces to a bunch of functions
XtWindowOfObject()	- return Window of nearest widget ancestor

Deprecated		Replacement			When
XtAddActions()		XtAppAddActions()		R3
XtAddConverter()	XtAppAddConverter()		R3
XtAddInput()		XtAppAddInput ()		R3
XtAddTimeout()		XtAppAddTimeout()		R3
XtAddWorkProc()		XtAppAddWorkProc()		R3
XtConvert()		XtConvertAndStore()		R4
XtCreateApplicationShell XtAppCreateShell()		R3
XtDestroyGC()		XtReleaseGC()			R3
XtError()		XtAppError()			R3
XtGetErrorDatabase()	XtAppGetErrorDatabase		R3
XtGetErrorDatabaseText() XtAppGetErrorDatabaseText	R3
XtGetSelectionTimeout()	XtAppGetSelectionTimeout	R3
XtInitialize()		XtAppInitialize()		R3
XtMainLoop()		XtAppMainLoop()			R3
MenuPopdown(action)	XtMenuPopdown(action)		R4
MenuPopup(action)	XtMenuPopup(action)		R4
XtNextEvent()		XtAppNextEvent()		R3
XtPeekEvent()		XtAppPeekEvent()		R3
XtPending()		XtAppPending()			R3
XtSetErrorHandler()	XtAppSetErrorHandler()		R3
XtSetErrorMsgHandler	XtAppSetErrorMsgHandler()	R3
XtSetSelectionTimeout()	XtAppSetSelectionTimeout()	R3
XtSetWarningHandler()	XtAppSetWarningHandler()	R3
XtSetWarningMsgHandler() XtAppSetWarningMsgHandler()	R3
XtWarning()		XtAppWarning()			R3
XtWarningMsg()		XtAppWarningMsg()		R3

User Contributions:

Comment about this article, ask questions, or add new information about this topic:


Top Document: Frequently Asked Questions (FAQ)
Previous Document: 18. How do I open multiple displays?
Next Document: 20. Where are the resources loaded from?

Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:

Last Update March 27 2014 @ 02:11 PM