24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Motif 2.1 has been optimized to generate fewer mouse events from the X server<br />

when using gadgets.<br />

8.3.4.17 UIL Extensibility and Portability<br />

Since OSF introduced an extensibility framework, it was necessary to reflect that<br />

in the UIL language. Once a developer has developed a new widget, that new<br />

widget should be usable from UIL as well. However, they should not have to<br />

generate a new compiler for every new widget supported. It was, therefore,<br />

necessary for OSF to develop a mechanism such that the UIL compiler could<br />

dynamically incorporate new widgets to be accepted in UIL source files and<br />

generate the appropriate binary UID code.<br />

In the past, OSF received numerous enhancements requests because the UID<br />

files in the 1.x releases were not architecture neutral. You had to compile the<br />

same UIL source file for every target platform. Moreover, only 32-bit platforms<br />

were supported.<br />

With OSF/Motif 2.1, OSF developed a new UIL technology that reaches those<br />

three objectives simultaneously:<br />

• The UIL compiler can be told to dynamically accept new widgets.<br />

• The UID files generated by the compiler are architecture neutral.<br />

Note that the architecture neutral format is still dependent on 32-bit versus 64-bit<br />

architectures. A UIL file compiled on a 32-bit architecture can be read on any<br />

other 32-bit architecture but not on a 64-bit architecture. Similarly, a UIL file<br />

compiled on a 64-bit architecture can be read on any other 64-bit architecture but<br />

not on a 32-bit architecture. This design decision was made because the memory<br />

used for 64-bit architectures is about twice the size of that used on 32-bit, and<br />

32-bit platforms should not have to bear a 100 percent penalty.<br />

8.3.5 Compatibility with Motif 1.2 and 2.0<br />

As stated at the beginning of this chapter, compatibility with CDE/Motif 1.2 was<br />

given greater emphasis than compatibility with OSF/Motif 2.0. The following<br />

issues should be noted concerning compatibility with Motif 1.2:<br />

• If a customer application subclasses a widget in the group of DrawingArea,<br />

Label, List, Manager, or Primitive, there is a potential for binary incompatibility.<br />

The Class Records for these widgets changed from Motif 1.2 to Motif 2.0. The<br />

only resolution in this instance is to re-compile, unless the application writer<br />

used XmResolvePartOffsets (now known as XmeResolvePartOffsets in the<br />

Motif 2.1 Widget Writer’s <strong>Guide</strong>).<br />

• The XmString definition has changed in Motif 2.1. It is now a union instead of<br />

a typedef of char *. Existing Motif applications running on Motif 2.1 may have<br />

problems depending upon their usage of XmString.<br />

Some OSF/Motif 2.0 applications may experience problems because of the<br />

following changes:<br />

• The XmCSText widget has been withdrawn, as have those APIs added to<br />

OSF/Motif 2.0 solely to support it.<br />

• Mrm support for word size-independent .uid files has been removed. Existing<br />

.uid files compiled with Motif 2.0 UIL may not be readable. As in OSF/Motif<br />

1.2, .uid files are portable only between machines with the same word size.<br />

Graphical Environment Enhancements 225

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!