]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/dnd.cpp
Add wxActivateEvent::GetActivationReason().
[wxWidgets.git] / src / motif / dnd.cpp
index 618c3e46f3aec351c2f6535603a689ae8943df35..ae99ccc1a6f11f133fe162f63d414d40970be246 100644 (file)
@@ -1,27 +1,26 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        dnd.cpp
+// Name:        src/motif/dnd.cpp
 // Purpose:     wxDropTarget, wxDropSource classes
 // Author:      Julian Smart
-// Id:          $Id$
 // Copyright:   (c) 1998 Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "dnd.h"
-#endif
-
-#include "wx/setup.h"
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
 #if wxUSE_DRAG_AND_DROP
 
 #include "wx/dnd.h"
-#include "wx/window.h"
-#include "wx/app.h"
-#include "wx/gdicmn.h"
-#include "wx/intl.h"
-#include "wx/utils.h"
-#include "wx/log.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/window.h"
+    #include "wx/gdicmn.h"
+#endif
 
 #include <X11/Xlib.h>
 
@@ -48,14 +47,14 @@ wxDropTarget::~wxDropTarget()
 bool wxTextDropTarget::OnDrop( long x, long y, const void *data, size_t WXUNUSED(size) )
 {
   OnDropText( x, y, (const char*)data );
-  return TRUE;
+  return true;
 }
 
 bool wxTextDropTarget::OnDropText( long x, long y, const char *psz )
 {
   wxLogDebug( "Got dropped text: %s.", psz );
   wxLogDebug( "At x: %d, y: %d.", (int)x, (int)y );
-  return TRUE;
+  return true;
 }
 
 size_t wxTextDropTarget::GetFormatCount() const
@@ -76,36 +75,38 @@ bool wxFileDropTarget::OnDropFiles( long x, long y, size_t nFiles, const char *
 {
   wxLogDebug( "Got %d dropped files.", (int)nFiles );
   wxLogDebug( "At x: %d, y: %d.", (int)x, (int)y );
-  for (size_t i = 0; i < nFiles; i++)
+  size_t i;
+  for (i = 0; i < nFiles; i++)
   {
     wxLogDebug( aszFiles[i] );
   }
-  return TRUE;
+  return true;
 }
 
 bool wxFileDropTarget::OnDrop(long x, long y, const void *data, size_t size )
 {
   size_t number = 0;
   char *text = (char*) data;
-  for (size_t i = 0; i < size; i++)
+  size_t i;
+  for (i = 0; i < size; i++)
     if (text[i] == 0) number++;
 
-  if (number == 0) return TRUE;    
-    
+  if (number == 0) return true;
+
   char **files = new char*[number];
-  
+
   text = (char*) data;
-  for (size_t i = 0; i < number; i++)
+  for ( i = 0; i < number; i++)
   {
     files[i] = text;
     int len = strlen( text );
     text += len+1;
   }
 
-  bool ret = OnDropFiles( x, y, 1, files ); 
-  
+  bool ret = OnDropFiles( x, y, 1, files );
+
   free( files );
-  
+
   return ret;
 }
 
@@ -127,7 +128,7 @@ wxDropSource::wxDropSource( wxWindow *win )
 {
 #if 0
   m_window = win;
-  m_data = (wxDataObject *) NULL;
+  m_data = NULL;
   m_retValue = wxDragCancel;
 
   m_defaultCursor = wxCursor( wxCURSOR_NO_ENTRY );
@@ -138,13 +139,13 @@ wxDropSource::wxDropSource( wxWindow *win )
 wxDropSource::wxDropSource( wxDataObject &data, wxWindow *win )
 {
 #if 0
-  g_blockEventsOnDrag = TRUE;
-  
+  g_blockEventsOnDrag = true;
+
   m_window = win;
   m_widget = win->m_widget;
   if (win->m_wxwindow) m_widget = win->m_wxwindow;
   m_retValue = wxDragCancel;
-  
+
   m_data = &data;
 
   m_defaultCursor = wxCursor( wxCURSOR_NO_ENTRY );
@@ -161,8 +162,8 @@ wxDropSource::~wxDropSource(void)
 {
 //  if (m_data) delete m_data;
 }
-   
-wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
+
+wxDragResult wxDropSource::DoDragDrop( int WXUNUSED(flags) )
 {
   //  wxASSERT_MSG( m_data, "wxDragSource: no data" );
 
@@ -170,15 +171,15 @@ wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
 #if 0
   if (!m_data) return (wxDragResult) wxDragNone;
   if (m_data->GetDataSize() == 0) return (wxDragResult) wxDragNone;
-  
+
   RegisterWindow();
-  
+
   // TODO
-  
+
   UnregisterWindow();
-  
-  g_blockEventsOnDrag = FALSE;
-  
+
+  g_blockEventsOnDrag = false;
+
   return m_retValue;
 #endif
 }
@@ -189,34 +190,48 @@ void wxDropSource::RegisterWindow(void)
   if (!m_data) return;
 
   wxString formats;
-    
+
   wxDataFormat df = m_data->GetPreferredFormat();
-  
-    switch (df) 
+
+    switch (df)
     {
-      case wxDF_TEXT: 
+      case wxDF_TEXT:
         formats += "text/plain";
-       break;
+        break;
       case wxDF_FILENAME:
         formats += "file:ALL";
-       break;
+        break;
       default:
         break;
     }
-  
+
   char *str = WXSTRINGCAST formats;
-  
+
   // TODO
 }
 
 void wxDropSource::UnregisterWindow(void)
 {
   if (!m_widget) return;
-  
+
   // TODO
 }
 #endif
 
+wxPrivateDropTarget::wxPrivateDropTarget()
+{
+    m_id = wxTheApp->GetAppName();
+}
+
+size_t wxPrivateDropTarget::GetFormatCount() const
+{
+    return 1;
+}
+
+wxDataFormat wxPrivateDropTarget::GetFormat(size_t n) const
+{
+    return wxDF_INVALID;
+}
 
 #endif
       // wxUSE_DRAG_AND_DROP