]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dnd/dnd.cpp
wxProcess fixes (Detach() added), cleared/corrected wxExecute() documentation
[wxWidgets.git] / samples / dnd / dnd.cpp
index 85253905330d24e2c1077f1fcf6802678ee9f137..f0f0469acf98d6a355dc3294557edbed2c4941c5 100644 (file)
 
 #include  "wx/dnd.h"
 
-#ifdef __WXGTK__
+#ifdef __WXMOTIF__
+#error Sorry, drag and drop is not yet implemented on wxMotif.
+#endif
+
+#if defined(__WXGTK__) || defined(__WXMOTIF__)
 #include "mondrian.xpm"
 #endif
 
@@ -87,8 +91,6 @@ public:
   void OnLeftDown(wxMouseEvent& event);
   void OnRightDown(wxMouseEvent& event);
 
-  bool OnClose();
-
   DECLARE_EVENT_TABLE()
 
 private:
@@ -236,7 +238,7 @@ void DnDFrame::OnPaint(wxPaintEvent& /*event*/)
   GetClientSize( &w, &h );
 
   wxPaintDC dc(this);
-  dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL ) );
+  dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, FALSE, "charter" ) );
   dc.DrawText( "Drag text from here!", 20, h-22 );
 }
 
@@ -298,18 +300,17 @@ void DnDFrame::OnLogClear(wxCommandEvent& /* event */ )
   m_ctrlLog->Clear();
 }
 
-bool DnDFrame::OnClose()
-{
-  return TRUE;
-}
-
 void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) )
 {
   if ( !m_strText.IsEmpty() ) 
   {
     // start drag operation
-
-    wxDropSource dragSource( new wxTextDataObject (m_strText), this );
+#ifdef __WXMSW__
+    wxTextDataObject textData(m_strText);
+    wxDropSource dragSource( textData, this );
+#else
+    wxDropSource dragSource( new wxTextDataObject (m_strText), this, wxIcon(mondrian_xpm) );
+#endif
     const char *pc;
 
     switch ( dragSource.DoDragDrop(TRUE) )