]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dnd/dnd.cpp
Some doc tweaks
[wxWidgets.git] / samples / dnd / dnd.cpp
index e08ee8377cbe06d6dfea90ecd765e781ab0796a3..203fe373037bdc28ae8adf85826af058f441f9d1 100644 (file)
@@ -29,6 +29,7 @@
 #include "wx/clipbrd.h"
 #include "wx/colordlg.h"
 #include "wx/sizer.h"
+#include "wx/dataobj.h"
 
 #if wxUSE_METAFILES
     #include "wx/metafile.h"
 
 #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__)
     #include "mondrian.xpm"
-
+#if wxUSE_DRAG_AND_DROP
     #include "dnd_copy.xpm"
     #include "dnd_move.xpm"
     #include "dnd_none.xpm"
 #endif
+#endif
 
 #if wxUSE_DRAG_AND_DROP
 
@@ -81,7 +83,7 @@ class URLDropTarget : public wxDropTarget
 public:
     URLDropTarget() { SetDataObject(new wxURLDataObject); }
 
-    void OnDropURL(wxCoord x, wxCoord y, const wxString& text)
+    void OnDropURL(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y), const wxString& text)
     {
         // of course, a real program would do something more useful here...
         wxMessageBox(text, _T("wxDnD sample: got URL"),
@@ -90,7 +92,7 @@ public:
 
     // URLs can't be moved, only copied
     virtual wxDragResult OnDragOver(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
-                                    wxDragResult def)
+                                    wxDragResult WXUNUSED(def))
         {
             return wxDragLink;  // At least IE 5.x needs wxDragLink, the
                                 // other browsers on MSW seem okay with it too.
@@ -122,7 +124,7 @@ public:
 
 IMPLEMENT_APP(DnDApp);
 
-#if wxUSE_DRAG_AND_DROP
+#if wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD
 
 // ----------------------------------------------------------------------------
 // Define canvas class to show a bitmap
@@ -143,7 +145,7 @@ public:
         Refresh();
     }
 
-    void OnPaint(wxPaintEvent& event)
+    void OnPaint(wxPaintEvent& WXUNUSED(event))
     {
         wxPaintDC dc(this);
 
@@ -267,6 +269,8 @@ private:
 // shapes, each one with its own colour and position
 // ----------------------------------------------------------------------------
 
+#if wxUSE_DRAG_AND_DROP
+
 class DnDShape
 {
 public:
@@ -610,7 +614,7 @@ public:
     }
 
     virtual bool SetData(const wxDataFormat& format,
-                         size_t len, const void *buf)
+                         size_t WXUNUSED(len), const void *buf)
     {
         wxCHECK_MSG( format == m_formatShape, false,
                      wxT( "unsupported format") );
@@ -760,6 +764,8 @@ private:
     DnDShapeFrame *m_frame;
 };
 
+#endif // wxUSE_DRAG_AND_DROP
+
 // ----------------------------------------------------------------------------
 // functions prototypes
 // ----------------------------------------------------------------------------
@@ -827,6 +833,8 @@ BEGIN_EVENT_TABLE(DnDFrame, wxFrame)
     EVT_SIZE(                 DnDFrame::OnSize)
 END_EVENT_TABLE()
 
+#if wxUSE_DRAG_AND_DROP
+
 BEGIN_EVENT_TABLE(DnDShapeFrame, wxFrame)
     EVT_MENU(Menu_Shape_New,    DnDShapeFrame::OnNewShape)
     EVT_MENU(Menu_Shape_Edit,   DnDShapeFrame::OnEditShape)
@@ -847,6 +855,8 @@ BEGIN_EVENT_TABLE(DnDShapeDialog, wxDialog)
     EVT_BUTTON(Button_Colour, DnDShapeDialog::OnColour)
 END_EVENT_TABLE()
 
+#endif // wxUSE_DRAG_AND_DROP
+
 BEGIN_EVENT_TABLE(DnDCanvasBitmap, wxScrolledWindow)
     EVT_PAINT(DnDCanvasBitmap::OnPaint)
 END_EVENT_TABLE()
@@ -866,7 +876,7 @@ END_EVENT_TABLE()
 // `Main program' equivalent, creating windows and returning main app frame
 bool DnDApp::OnInit()
 {
-#if wxUSE_DRAG_AND_DROP
+#if wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD
     // switch on trace messages
 #if defined(__WXGTK__)
     wxLog::AddTraceMask(_T("clipboard"));
@@ -884,7 +894,7 @@ bool DnDApp::OnInit()
 
     // create the main frame window
     DnDFrame *frame = new DnDFrame((wxFrame  *) NULL,
-                                   _T("Drag-and-Drop/Clipboard wxWindows Sample"),
+                                   _T("Drag-and-Drop/Clipboard wxWidgets Sample"),
                                    10, 100, 650, 340);
 
     // activate it
@@ -899,11 +909,11 @@ bool DnDApp::OnInit()
 #endif // wxUSE_DRAG_AND_DROP
 }
 
-#if wxUSE_DRAG_AND_DROP
+#if wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD
 
 DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h)
         : wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)),
-          m_strText(_T("wxWindows drag & drop works :-)"))
+          m_strText(_T("wxWidgets drag & drop works :-)"))
 
 {
     // frame icon and status bar
@@ -966,10 +976,12 @@ DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h)
     m_pLog = new wxLogTextCtrl(m_ctrlLog);
     m_pLogPrev = wxLog::SetActiveTarget(m_pLog);
 
+#if wxUSE_DRAG_AND_DROP
     // associate drop targets with the controls
     m_ctrlFile->SetDropTarget(new DnDFile(m_ctrlFile));
     m_ctrlText->SetDropTarget(new DnDText(m_ctrlText));
     m_ctrlLog->SetDropTarget(new URLDropTarget);
+#endif // wxUSE_DRAG_AND_DROP
 
     wxBoxSizer *m_sizer_top = new wxBoxSizer( wxHORIZONTAL );
     m_sizer_top->Add(m_ctrlFile, 1, wxEXPAND );
@@ -1042,13 +1054,16 @@ void DnDFrame::OnUpdateUIPasteBitmap(wxUpdateUIEvent& event)
 
 void DnDFrame::OnNewFrame(wxCommandEvent& WXUNUSED(event))
 {
+#if wxUSE_DRAG_AND_DROP
     (new DnDShapeFrame(this))->Show(true);
 
     wxLogStatus(this, wxT("Double click the new frame to select a shape for it"));
+#endif // wxUSE_DRAG_AND_DROP
 }
 
 void DnDFrame::OnDrag(wxCommandEvent& WXUNUSED(event))
 {
+#if wxUSE_DRAG_AND_DROP
     wxString strText = wxGetTextFromUser
         (
             _T("After you enter text in this dialog, press any mouse\n")
@@ -1059,6 +1074,7 @@ void DnDFrame::OnDrag(wxCommandEvent& WXUNUSED(event))
         );
 
     m_strText = strText;
+#endif // wxUSE_DRAG_AND_DROP
 }
 
 void DnDFrame::OnDragMoveByDefault(wxCommandEvent& event)
@@ -1084,7 +1100,7 @@ void DnDFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 void DnDFrame::OnHelp(wxCommandEvent& /* event */)
 {
     wxMessageDialog dialog(this,
-                           _T("This small program demonstrates drag & drop support in wxWindows. The program window\n")
+                           _T("This small program demonstrates drag & drop support in wxWidgets. The program window\n")
                            _T("consists of 3 parts: the bottom pane is for debug messages, so that you can see what's\n")
                            _T("going on inside. The top part is split into 2 listboxes, the left one accepts files\n")
                            _T("and the right one accepts text.\n")
@@ -1118,6 +1134,7 @@ void DnDFrame::OnLogClear(wxCommandEvent& /* event */ )
 
 void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) )
 {
+#if wxUSE_DRAG_AND_DROP
     if ( !m_strText.IsEmpty() )
     {
         // start drag operation
@@ -1151,6 +1168,7 @@ void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) )
 
         SetStatusText(wxString(_T("Drag result: ")) + pc);
     }
+#endif // wxUSE_DRAG_AND_DROP
 }
 
 void DnDFrame::OnRightDown(wxMouseEvent &event )
@@ -1425,6 +1443,8 @@ void DnDFrame::OnPaste(wxCommandEvent& WXUNUSED(event))
     wxTheClipboard->Close();
 }
 
+#if wxUSE_DRAG_AND_DROP
+
 // ----------------------------------------------------------------------------
 // Notifications called by the base class
 // ----------------------------------------------------------------------------
@@ -1873,6 +1893,8 @@ void DnDShapeDataObject::CreateBitmap() const
     self->m_hasBitmap = true;
 }
 
+#endif // wxUSE_DRAG_AND_DROP
+
 // ----------------------------------------------------------------------------
 // global functions
 // ----------------------------------------------------------------------------
@@ -1911,4 +1933,4 @@ static void ShowMetaFile(const wxMetaFile& metafile)
 
 #endif // wxUSE_METAFILES
 
-#endif // wxUSE_DRAG_AND_DROP
+#endif // wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD