#pragma implementation "dnd.h"
#endif
-#define INCL_PM
-#define INCL_DOS
-#include <os2.h>
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#if wxUSE_DRAG_AND_DROP
+
#include "wx/window.h"
#include "wx/app.h"
#include "wx/gdicmn.h"
#include "wx/dnd.h"
-#if wxUSE_DRAG_AND_DROP
+#define INCL_PM
+#define INCL_DOS
+#include <os2.h>
// ----------------------------------------------------------------------------
// global
// Private functions
/////////////////////////////////////////////////////////////////////////////
+#if 0
static wxDragResult ConvertDragEffectToResult (
DWORD dwEffect
)
return DO_DEFAULT;
}
} // end of ConvertDragResultToEffect
+#endif
class CIDropTarget
{
// Release the held object
//
Free();
- return TRUE;
+ return true;
} // end of CIDropTarget::DragLeave
MRESULT CIDropTarget::DragOver ()
{
char zBuffer[128];
ULONG ulBytes;
- USHORT uOp;
+ USHORT uOp = 0;
USHORT uIndicator;
ULONG ulItems;
ULONG i;
{
char zBuffer[128];
ULONG ulBytes;
- USHORT uOp;
+ USHORT uOp = 0;
USHORT uIndicator;
ULONG ulItems;
ULONG i;
,m_pDragInfo->yDrop
))
{
- wxDragResult eRc;
+ wxDragResult eRc = wxDragNone;
//
// And now it has the data
,eRc
);
}
- //else: OnDrop() returned FALSE, no need to copy data
+ //else: OnDrop() returned false, no need to copy data
//
// Release the held object
if (vFormat == wxDF_INVALID)
{
- return FALSE;
+ return false;
}
//
// Under OS/2 we already have the data via the attached DRAGITEM's
//
- return TRUE;
+ return true;
} // end of wxDropTarget::GetData
wxDataFormat wxDropTarget::GetSupportedFormat (
ULONG n;
wxString sMechanism;
wxString sFormat;
- bool bValid = FALSE;
+ bool bValid = false;
pFormats = ulFormats == 1 ? &vFormat : new wxDataFormat[ulFormats];
m_dataObject->GetAllFormats( pFormats
case wxDF_TEXT:
case wxDF_FILENAME:
case wxDF_HTML:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_TEXT";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_TEXT");
break;
case wxDF_OEMTEXT:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_OEMTEXT";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_OEMTEXT");
break;
case wxDF_BITMAP:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_BITMAP";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_BITMAP");
break;
case wxDF_METAFILE:
case wxDF_ENHMETAFILE:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_METAFILE";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_METAFILE");
break;
case wxDF_TIFF:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_TIFF";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_TIFF");
break;
case wxDF_SYLK:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_SYLK";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_SYLK");
break;
case wxDF_DIF:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_DIF";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_DIF");
break;
case wxDF_DIB:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_DIB";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_DIB");
break;
case wxDF_PALETTE:
case wxDF_WAVE:
case wxDF_UNICODETEXT:
case wxDF_LOCALE:
- sMechanism = "DRM_OS2FILE";
- sFormat = "DRF_UNKNOWN";
+ sMechanism = _T("DRM_OS2FILE");
+ sFormat = _T("DRF_UNKNOWN");
break;
case wxDF_PRIVATE:
- sMechanism = "DRM_OBJECT";
- sFormat = "DRF_UNKNOWN";
+ sMechanism = _T("DRM_OBJECT");
+ sFormat = _T("DRF_UNKNOWN");
break;
}
for (i = 0; i < ulItems; i++)
{
pDragItem = ::DrgQueryDragitemPtr(pDataSource, i);
- if (::DrgVerifyRMF(pDragItem, sMechanism.c_str(), sFormat.c_str()))
+ if (::DrgVerifyRMF(pDragItem, (PSZ)sMechanism.c_str(), (PSZ)sFormat.c_str()))
{
- bValid = TRUE;
+ bValid = true;
break;
}
}
, wxCoord WXUNUSED(y)
)
{
- return TRUE;
+ return true;
} // end of wxDropTarget::OnDrop
//-------------------------------------------------------------------------
case wxDragLink:
m_pDragInfo->usOperation = DO_LINK;
break;
+
+ case wxDragNone:
+ case wxDragCancel:
+ case wxDragError:
+ break;
}
- return TRUE;
+ return true;
}
else
{
- return FALSE;
+ return false;
}
} // end of GuiAdvDnd_CDropSource::GiveFeedback
HSTR hStrType = ::DrgAddStrHandle(DRT_UNKNOWN);
HSTR hStrRMF;
HSTR hStrContainer;
- char zFormats[128];
- char zContainer[128];
+ wxChar zFormats[128];
+ wxChar zContainer[128];
USHORT uSize = GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat()) + 1;
- char* pzBuffer = new char[uSize];
+ wxChar* pzBuffer = new wxChar[uSize];
memset(pzBuffer, '\0', GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat()));
pzBuffer[GetDataObject()->GetDataSize(GetDataObject()->GetPreferredFormat())] = '\0';
,(void*)pzBuffer
);
- strcpy(zFormats, "<DRM_OS2FILE, DRF_UNKNOWN>");
- strcpy(zContainer, GetDataObject()->GetPreferredFormat().GetId().c_str());
+ wxStrcpy(zFormats, _T("<DRM_OS2FILE, DRF_UNKNOWN>"));
+ wxStrcpy(zContainer, GetDataObject()->GetPreferredFormat().GetId());
- hStrRMF = ::DrgAddStrHandle(zFormats);
- hStrContainer = ::DrgAddStrHandle(zContainer);
+ hStrRMF = ::DrgAddStrHandle((PSZ)zFormats);
+ hStrContainer = ::DrgAddStrHandle((PSZ)zContainer);
m_pDragItem = new DRAGITEM[m_ulItems];
- for (ULONG i = 0; i < m_ulItems; i++);
+ for (ULONG i = 0; i < m_ulItems; i++)
{
m_pDragItem[i].hwndItem = m_pWindow->GetHWND();
m_pDragItem[i].hstrType = hStrType;
m_pDragItem[i].hstrContainerName = hStrContainer;
m_pDragItem[i].fsControl = 0;
m_pDragItem[i].fsSupportedOps = DO_COPYABLE | DO_MOVEABLE | DO_LINKABLE;
- m_pDragItem[i].hstrSourceName = ::DrgAddStrHandle(pzBuffer);
+ m_pDragItem[i].hstrSourceName = ::DrgAddStrHandle((PSZ)pzBuffer);
m_pDragItem[i].hstrTargetName = m_pDragItem[i].hstrSourceName;
m_pDragItem[i].ulItemID = i;
::DrgSetDragitem( m_pDragInfo