The main thing here is handling the attribute set editor. Other services of the uiAttribPartServer are selection and volume output.
The Attribute set editor is a pretty complex piece of user interface. The left and top part of the window are fixed. They handle the 'common' things in attribute set editing. The right part is defined via the uiAttribFactory .
The problem that was facing us was that we needed a user interface that could be dynamically extended. Further more,much of the needed functionality is common to all attributes. Thus, we defined:
The uiAttrDescEd itself already has a lot of implemented functionality, leaving only things specific for that particular attribute to be defined. Once such a subclass is fully defined, a uiAttrDescEdCreater instance must be added to the factory to make it active.
To see how such a new attribute can be created aswell as a user interface for it, take a look at the uiTut seismic 'attribute style' example.
1.7.1