]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/dropsrc.cpp
basic support for encodings for wxMSW::wxFont
[wxWidgets.git] / src / msw / ole / dropsrc.cpp
index 83d00f3aeb4c1959cbc415657149d711cf6f0ade..86f31d8c585e78e0c5453a76e49f1aee8d53e9a3 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        msw/ole/dropsrc.cpp
 // Purpose:     implementation of wxIDropSource and wxDropSource
 // Author:      Vadim Zeitlin
-// Modified by: 
+// Modified by:
 // Created:     10.05.98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 #if defined(__BORLANDC__)
   #pragma hdrstop
 #endif
+#ifndef WX_PRECOMP
+#include "wx/window.h"
+#endif
+
+#include "wx/setup.h"
 
-#include  <wx/setup.h>
+#if wxUSE_DRAG_AND_DROP
 
-#if USE_DRAG_AND_DROP
+#include "wx/log.h"
+#include "wx/dataobj.h"
+#include "wx/msw/ole/dropsrc.h"
 
-#include  <wx/log.h>
-#include  <wx/msw/ole/oleutils.h>
-#include  <wx/msw/ole/dataobj.h>
-#include  <wx/msw/ole/dropsrc.h>
+#include <windows.h>
+#ifdef wxUSE_NORLANDER_HEADERS
+#include <ole2.h>
+#endif
 
 #ifndef __WIN32__
   #include <ole2.h>
   #include <olestd.h>
 #endif
 
+#include <oleauto.h>
+
+#include "wx/msw/ole/oleutils.h"
+
 // ----------------------------------------------------------------------------
 // wxIDropSource implementation of IDropSource interface
 // ----------------------------------------------------------------------------
@@ -116,18 +127,18 @@ STDMETHODIMP wxIDropSource::QueryContinueDrag(BOOL fEscapePressed,
 
 // Name    : wxIDropSource::GiveFeedback
 // Purpose : give UI feedback according to current state of operation
-// Returns : STDMETHODIMP 
+// Returns : STDMETHODIMP
 // Params  : [in] DWORD dwEffect - what would happen if we dropped now
 // Notes   : default implementation is ok in more than 99% of cases
 STDMETHODIMP wxIDropSource::GiveFeedback(DWORD dwEffect)
 {
-  wxDropSource::DragResult effect;
+  wxDragResult effect;
   if ( dwEffect & DROPEFFECT_COPY )
-    effect = wxDropSource::Copy;
+    effect = wxDragCopy;
   else if ( dwEffect & DROPEFFECT_MOVE )
-    effect = wxDropSource::Move;
+    effect = wxDragMove;
   else
-    effect = wxDropSource::None;
+    effect = wxDragNone;
 
   if ( m_pDropSource->GiveFeedback(effect,
                                    (dwEffect & DROPEFFECT_SCROLL) != 0 ) )
@@ -149,13 +160,13 @@ void wxDropSource::Init()
   m_pIDropSource->AddRef();
 }
 
-wxDropSource::wxDropSource()
+wxDropSource::wxDropSource(wxWindow* WXUNUSED(win))
 {
   Init();
   m_pData = NULL;
 }
 
-wxDropSource::wxDropSource(wxDataObject& data)
+wxDropSource::wxDropSource(wxDataObject& data, wxWindow* WXUNUSED(win))
 {
   Init();
   SetData(data);
@@ -173,50 +184,50 @@ wxDropSource::~wxDropSource()
 
 // Name    : DoDragDrop
 // Purpose : start drag and drop operation
-// Returns : DragResult - the code of performed operation
+// Returns : wxDragResult - the code of performed operation
 // Params  : [in] bool bAllowMove: if false, only copy is allowed
 // Notes   : you must call SetData() before if you had used def ctor
-wxDropSource::DragResult wxDropSource::DoDragDrop(bool bAllowMove)
+wxDragResult wxDropSource::DoDragDrop(bool bAllowMove)
 {
-  wxCHECK_MSG( m_pData != NULL, None, "No data in wxDropSource!" );
+  wxCHECK_MSG( m_pData != NULL, wxDragNone, _T("No data in wxDropSource!") );
 
   DWORD dwEffect;
-  HRESULT hr = ::DoDragDrop(m_pData->GetInterface(), 
-                            m_pIDropSource, 
+  HRESULT hr = ::DoDragDrop(m_pData->GetInterface(),
+                            m_pIDropSource,
                             bAllowMove ? DROPEFFECT_COPY | DROPEFFECT_MOVE
                                        : DROPEFFECT_COPY,
                             &dwEffect);
 
   if ( hr == DRAGDROP_S_CANCEL ) {
-    return Cancel;
+    return wxDragCancel;
   }
   else if ( hr == DRAGDROP_S_DROP ) {
     if ( dwEffect & DROPEFFECT_COPY ) {
-      return Copy;
+      return wxDragCopy;
     }
     else if ( dwEffect & DROPEFFECT_MOVE ) {
       // consistency check: normally, we shouldn't get "move" at all
       // here if !bAllowMove, but in practice it does happen quite often
       if ( bAllowMove )
-        return Move;
+        return wxDragMove;
       else
-        return Copy;
+        return wxDragCopy;
     }
     else {
       // not copy or move
-      return None;
+      return wxDragNone;
     }
   }
   else {
     if ( FAILED(hr) ) {
       wxLogApiError("DoDragDrop", hr);
-      wxLogError("Drag & drop operation failed.");
+      wxLogError(_T("Drag & drop operation failed."));
     }
     else {
-      wxLogDebug("Unexpected success return code %08lx from DoDragDrop.", hr);
+      wxLogDebug(_T("Unexpected success return code %08lx from DoDragDrop."), hr);
     }
 
-    return Error;
+    return wxDragError;
   }
 }
 
@@ -224,11 +235,11 @@ wxDropSource::DragResult wxDropSource::DoDragDrop(bool bAllowMove)
 // Purpose : visually inform the user about d&d operation state
 // Returns : bool: true if we do all ourselves or false for default feedback
 // Params  : [in] DragResult effect - what would happen if we dropped now
-//           [in] bool bScrolling   - true if target is scrolling    
+//           [in] bool bScrolling   - true if target is scrolling
 // Notes   : here we just leave this stuff for default implementation
-bool wxDropSource::GiveFeedback(DragResult effect, bool bScrolling)
+bool wxDropSource::GiveFeedback(wxDragResult effect, bool bScrolling)
 {
   return FALSE;
 }
 
-#endif  //USE_DRAG_AND_DROP
\ No newline at end of file
+#endif  //USE_DRAG_AND_DROP