]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dnd/dnd.cpp
Some warnings removed.
[wxWidgets.git] / samples / dnd / dnd.cpp
index 6fdeb7b2da1c611934a65ddd3d24acc384b9e4de..d2983beb5a3baa77c1d9d5edbde283618d6dabb3 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
 
 // Derive two simple classes which just put in the listbox the strings (text or
 // file names) we drop on them
 // ----------------------------------------------------------------------------
+
 class DnDText : public wxTextDropTarget
 {
 public:
   DnDText(wxListBox *pOwner) { m_pOwner = pOwner; }
 
-  virtual bool OnDropText(long x, long y, const char *psz);
+  virtual bool OnDropText(long x, long y, const char *psz );
 
 private:
   wxListBox *m_pOwner;
@@ -49,7 +54,7 @@ public:
   DnDFile(wxListBox *pOwner) { m_pOwner = pOwner; }
 
   virtual bool OnDropFiles(long x, long y,
-                           size_t nFiles, const char * const aszFiles[]);
+                           size_t nFiles, const char * const aszFiles[] );
 
 private:
   wxListBox *m_pOwner;
@@ -58,6 +63,7 @@ private:
 // ----------------------------------------------------------------------------
 // Define a new application type
 // ----------------------------------------------------------------------------
+
 class DnDApp : public wxApp
 {
 public:
@@ -102,6 +108,7 @@ private:
 // ----------------------------------------------------------------------------
 // IDs for the menu commands
 // ----------------------------------------------------------------------------
+
 enum
 {
   Menu_Quit = 1,
@@ -142,7 +149,7 @@ DnDFrame::DnDFrame(wxFrame *frame, char *title, int x, int y, int w, int h)
           m_strText("wxWindows drag & drop works :-)")
 
 {
-  SetBackgroundColour(* wxWHITE);
+//  SetBackgroundColour(* wxWHITE);
 
   // frame icon and status bar
   SetIcon(wxICON(mondrian));
@@ -182,7 +189,7 @@ DnDFrame::DnDFrame(wxFrame *frame, char *title, int x, int y, int w, int h)
 
   m_ctrlLog   = new wxTextCtrl(this, -1, "", pos, size,
                                wxTE_MULTILINE | wxTE_READONLY |
-                               wxSUNKEN_BORDER| wxHSCROLL);
+                               wxSUNKEN_BORDER );
 
   // redirect log messages to the text window (don't forget to delete it!)
   m_pLog = new wxLogTextCtrl(m_ctrlLog);
@@ -190,7 +197,7 @@ DnDFrame::DnDFrame(wxFrame *frame, char *title, int x, int y, int w, int h)
 
   // associate drop targets with 2 text controls
   m_ctrlFile->SetDropTarget(new DnDFile(m_ctrlFile));
-  m_ctrlText->SetDropTarget(new DnDText(m_ctrlText));
+  m_ctrlText->SetDropTarget( new DnDText(m_ctrlText) );
 
   wxLayoutConstraints *c;
 
@@ -233,8 +240,8 @@ void DnDFrame::OnPaint(wxPaintEvent& /*event*/)
   GetClientSize( &w, &h );
 
   wxPaintDC dc(this);
-  dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL ) );
-  dc.DrawText( "Drag text from here!", 20, h-30 );
+  dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, FALSE, "charter" ) );
+  dc.DrawText( "Drag text from here!", 20, h-22 );
 }
 
 void DnDFrame::OnDrag(wxCommandEvent& /* event */)
@@ -302,14 +309,19 @@ bool DnDFrame::OnClose()
 
 void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) )
 {
-  if ( !m_strText.IsEmpty() ) {
+  if ( !m_strText.IsEmpty() ) 
+  {
     // start drag operation
-
-    wxTextDataObject data(m_strText);
-    wxDropSource dragSource(data, this);
+#ifdef __WXMSW__
+    wxTextDataObject textData(m_strText);
+    wxDropSource dragSource( textData, this );
+#else
+    wxDropSource dragSource( new wxTextDataObject (m_strText), this );
+#endif
     const char *pc;
 
-    switch ( dragSource.DoDragDrop(TRUE) ) {
+    switch ( dragSource.DoDragDrop(TRUE) ) 
+    {
       case wxDragError:   pc = "Error!";    break;
       case wxDragNone:    pc = "Nothing";   break;
       case wxDragCopy:    pc = "Copied";    break;