#include "wx/wx.h"
#endif
-#include "wx/intl.h"
-#include "wx/log.h"
-
#include "wx/dnd.h"
-#include "wx/dirdlg.h"
-#include "wx/filedlg.h"
+#include "wx/dataobj.h"
#include "wx/image.h"
#include "wx/clipbrd.h"
#include "wx/colordlg.h"
-#include "wx/sizer.h"
-#include "wx/dataobj.h"
-
-#if wxUSE_METAFILES
- #include "wx/metafile.h"
-#endif // wxUSE_METAFILES
+#include "wx/metafile.h"
#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__)
#include "../sample.xpm"
DECLARE_EVENT_TABLE()
};
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
// and the same thing fo metafiles
class DnDCanvasMetafile : public wxScrolledWindow
Refresh();
}
- void OnPaint(wxPaintEvent& event)
+ void OnPaint(wxPaintEvent&)
{
wxPaintDC dc(this);
DECLARE_EVENT_TABLE()
};
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// Define a new frame type for the main frame
class DnDFrame : public wxFrame
{
public:
- DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h);
+ DnDFrame(wxFrame *frame, const wxChar *title, int x, int y, int w, int h);
virtual ~DnDFrame();
void OnPaint(wxPaintEvent& event);
void OnCopyBitmap(wxCommandEvent& event);
void OnPasteBitmap(wxCommandEvent& event);
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
void OnPasteMetafile(wxCommandEvent& event);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
void OnCopyFiles(wxCommandEvent& event);
// we don't draw the shape to a bitmap until it's really needed (i.e.
// we're asked to do so)
m_hasBitmap = false;
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
m_hasMetaFile = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
}
virtual ~DnDShapeDataObject() { delete m_shape; }
m_shape = (DnDShape *)NULL;
m_hasBitmap = false;
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
m_hasMetaFile = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
return shape;
}
// but the bitmap format(s) are only supported for output
nFormats += m_dobjBitmap.GetFormatCount(dir);
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
nFormats += m_dobjMetaFile.GetFormatCount(dir);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
}
return nFormats;
// under Windows
m_dobjBitmap.GetAllFormats(&formats[1], dir);
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
// don't assume that m_dobjBitmap has only 1 format
m_dobjMetaFile.GetAllFormats(&formats[1 +
m_dobjBitmap.GetFormatCount(dir)], dir);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
}
}
{
return m_shape->GetDataSize();
}
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
return m_dobjMetaFile.GetDataSize(format);
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
return true;
}
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
else if ( m_dobjMetaFile.IsSupported(format) )
{
if ( !m_hasMetaFile )
return m_dobjMetaFile.GetDataHere(format, pBuf);
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
else
{
wxASSERT_MSG( m_dobjBitmap.IsSupported(format),
// the shape has changed
m_hasBitmap = false;
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
m_hasMetaFile = false;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
return true;
}
private:
// creates a bitmap and assigns it to m_dobjBitmap (also sets m_hasBitmap)
void CreateBitmap() const;
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
void CreateMetaFile() const;
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
wxDataFormat m_formatShape; // our custom format
wxBitmapDataObject m_dobjBitmap; // it handles bitmaps
bool m_hasBitmap; // true if m_dobjBitmap has valid bitmap
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
wxMetaFileDataObject m_dobjMetaFile;// handles metafiles
bool m_hasMetaFile; // true if we have valid metafile
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
DnDShape *m_shape; // our data
};
static void ShowBitmap(const wxBitmap& bitmap);
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
static void ShowMetaFile(const wxMetaFile& metafile);
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// IDs for the menu commands
EVT_MENU(Menu_Paste, DnDFrame::OnPaste)
EVT_MENU(Menu_CopyBitmap, DnDFrame::OnCopyBitmap)
EVT_MENU(Menu_PasteBitmap,DnDFrame::OnPasteBitmap)
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
EVT_MENU(Menu_PasteMFile, DnDFrame::OnPasteMetafile)
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
EVT_MENU(Menu_CopyFiles, DnDFrame::OnCopyFiles)
EVT_UPDATE_UI(Menu_DragMoveDef, DnDFrame::OnUpdateUIMoveByDefault)
EVT_PAINT(DnDCanvasBitmap::OnPaint)
END_EVENT_TABLE()
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
BEGIN_EVENT_TABLE(DnDCanvasMetafile, wxScrolledWindow)
EVT_PAINT(DnDCanvasMetafile::OnPaint)
END_EVENT_TABLE()
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
#endif // 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)
+DnDFrame::DnDFrame(wxFrame *frame, const wxChar *title, int x, int y, int w, int h)
: wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)),
m_strText(_T("wxWidgets drag & drop works :-)"))
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyBitmap, _T("Copy &bitmap\tCtrl-Shift-C"));
clip_menu->Append(Menu_PasteBitmap, _T("Paste b&itmap\tCtrl-Shift-V"));
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
clip_menu->AppendSeparator();
clip_menu->Append(Menu_PasteMFile, _T("Paste &metafile\tCtrl-M"));
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
clip_menu->AppendSeparator();
clip_menu->Append(Menu_CopyFiles, _T("Copy &files\tCtrl-F"));
wxTheClipboard->Close();
}
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
void DnDFrame::OnPasteMetafile(wxCommandEvent& WXUNUSED(event))
{
wxTheClipboard->Close();
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
// ----------------------------------------------------------------------------
// file clipboard
{
default:
case wxDragError:
- wxLogError(wxT("An error occured during drag and drop operation"));
+ wxLogError(wxT("An error occurred during drag and drop operation"));
break;
case wxDragNone:
// DnDShapeDataObject
// ----------------------------------------------------------------------------
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
void DnDShapeDataObject::CreateMetaFile() const
{
delete mf;
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
void DnDShapeDataObject::CreateBitmap() const
{
frame->Show(true);
}
-#if wxUSE_METAFILES
+#if wxUSE_METAFILE
static void ShowMetaFile(const wxMetaFile& metafile)
{
frame->Show();
}
-#endif // wxUSE_METAFILES
+#endif // wxUSE_METAFILE
#endif // wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD