]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/dnd.cpp
added HAVE_FSYNC and wxHAVE_PTHREAD_CLEANUP (replacing HAVE_THREAD_CLEANUP_FUNCTIONS)
[wxWidgets.git] / src / os2 / dnd.cpp
index 6a645291fcb00a8c1b1c0cb90d96a4c316ac006b..3a2492f7414ebf3f60f864ef61016d9804ab4ac2 100644 (file)
 #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
@@ -31,6 +35,7 @@
 // Private functions
 /////////////////////////////////////////////////////////////////////////////
 
+#if 0
 static wxDragResult ConvertDragEffectToResult (
   DWORD                             dwEffect
 )
@@ -72,6 +77,7 @@ static DWORD ConvertDragResultToEffect (
             return DO_DEFAULT;
     }
 } // end of ConvertDragResultToEffect
+#endif
 
 class CIDropTarget
 {
@@ -117,14 +123,14 @@ bool CIDropTarget::DragLeave()
     // 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;
@@ -194,7 +200,7 @@ MRESULT CIDropTarget::Drop ()
 {
     char                            zBuffer[128];
     ULONG                           ulBytes;
-    USHORT                          uOp;
+    USHORT                          uOp = 0;
     USHORT                          uIndicator;
     ULONG                           ulItems;
     ULONG                           i;
@@ -247,7 +253,7 @@ MRESULT CIDropTarget::Drop ()
                           ,m_pDragInfo->yDrop
                          ))
     {
-        wxDragResult                 eRc;
+        wxDragResult                 eRc = wxDragNone;
 
         //
         // And now it has the data
@@ -257,7 +263,7 @@ MRESULT CIDropTarget::Drop ()
                                 ,eRc
                                );
     }
-    //else: OnDrop() returned FALSE, no need to copy data
+    //else: OnDrop() returned false, no need to copy data
 
     //
     // Release the held object
@@ -289,12 +295,12 @@ bool wxDropTarget::GetData ()
 
     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 (
@@ -310,7 +316,7 @@ 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
@@ -324,44 +330,44 @@ wxDataFormat wxDropTarget::GetSupportedFormat (
             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:
@@ -370,21 +376,21 @@ wxDataFormat wxDropTarget::GetSupportedFormat (
             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;
             }
         }
@@ -431,7 +437,7 @@ bool wxDropTarget::OnDrop (
 , wxCoord                           WXUNUSED(y)
 )
 {
-    return TRUE;
+    return true;
 } // end of wxDropTarget::OnDrop
 
 //-------------------------------------------------------------------------
@@ -516,12 +522,17 @@ bool wxDropSource::GiveFeedback (
             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
 
@@ -544,10 +555,10 @@ void wxDropSource::Init ()
     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';
@@ -555,14 +566,14 @@ void wxDropSource::Init ()
                                  ,(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;
@@ -570,7 +581,7 @@ void wxDropSource::Init ()
         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