As of Release 2.0, Motif uses the Uniform Transfer Method (UTM) to implement all drag and drop operations. Any drag and drop applications you write for Release 2.0 should also use UTM. Drag and drop applications written prior to Release 2.0 will work without modification at Release 2.0.
You should read Chapter 16 before reading this chapter. Chapter 16 explains UTM. Drag and drop is merely one kind of UTM transfer. That is, drag and drop uses the same convert and destination callbacks as any other UTM transfer. However, drag and drop supports richer visuals and protocols than other kinds of data transfer, and it is these topics that are the focus of this chapter.
This chapter first provides an overview of the drag and drop process and concepts from both the user's and the application developer's perspectives, then explains the actions of both initiator and receiver clients during the drag and at the drop, giving code samples.
Throughout this chapter, we refer to Btn2 as the button that activates drag and drop operations. Although Btn2 is the traditional Motif drag and drop button, some users may prefer to use Btn1 instead of Btn2 when doing drag and drop operations on Text, TextField, List, and Container widgets. Users choose their preferred drag and drop button with the XmNenableBtn1Transfer resource of XmDisplay.