![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Search for an entry in the data_array for an incoming drag-and-drop event.
int PtGetDndFetchIndex(
const PtDndCallbackInfo_t * cbinfo,
const PtDndFetch_t * data_array,
unsigned array_size);
ph
This function determines if the drag-and-drop data from the event found in the PtDndCallbackInfo_t matches any of the transport types in the data_array.
In this example, we determine the index in the data_array for the incoming drag-and-drop event:
PtDndCallbackInfo_t *dndcb = cbinfo->cbdata;
static PtDndFetch_t FetchTypes[] = {
{"PhTransfiles", NULL, Ph_TRANSPORT_INLINE, },
};
/*
* ARRAY_SIZE is defined as follows.
*/
#define ARRAY_SIZE ( m_array ) ( sizeof( m_array ) / sizeof( m_array[0] ) )
int
dnd_callback( PtWidget_t *widget, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo )
{
switch( cbinfo->reason_subtype )
{
case Ph_EV_DND_ENTER:
num_matches = PtDndSelect( widget, FetchTypes, ARRAY_SIZE( FetchTypes ) )
break;
case Ph_EV_DND_DROP:
switch( PtGetDndFetchIndex( dndcb, FetchTypes, ARRAY_SIZE( FetchTypes ) ) )
{
case 0: //file
.
.
.
break;
}
.
.
.
break;
}
return( Pt_CONTINUE );
}
Photon
| Safety: | |
|---|---|
| Interrupt handler | No |
| Signal handler | No |
| Thread | No |
PtDndFetch_t, PtDndSelect(), PtInitDnd(), PtReleaseTransportCtrl() PtTransportCtrl_t, PtTransportType()
Drag and Drop chapter of the Photon Programmer's Guide
![]() |
![]() |
![]() |
![]() |