X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c9955d147ed92cdd79d795ed94d6e03fca06a52..f20a2e1f4066e4f0235698e6220f1eed91c73326:/samples/dnd/dnd.cpp diff --git a/samples/dnd/dnd.cpp b/samples/dnd/dnd.cpp index 0801b545a8..7c707d4928 100644 --- a/samples/dnd/dnd.cpp +++ b/samples/dnd/dnd.cpp @@ -19,16 +19,6 @@ #include "wx/wx.h" #endif -#if !wxUSE_DRAG_AND_DROP - #error This sample requires drag and drop support in the library -#endif - -// under Windows we also support data transfer of metafiles as an extra bonus, -// but they're not available under other platforms -#ifdef __WINDOWS__ - #define USE_METAFILES -#endif // Windows - #include "wx/intl.h" #include "wx/log.h" @@ -39,10 +29,11 @@ #include "wx/clipbrd.h" #include "wx/colordlg.h" #include "wx/sizer.h" +#include "wx/dataobj.h" -#ifdef USE_METAFILES +#if wxUSE_METAFILES #include "wx/metafile.h" -#endif // Windows +#endif // wxUSE_METAFILES #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) #include "mondrian.xpm" @@ -52,6 +43,8 @@ #include "dnd_none.xpm" #endif +#if wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // Derive two simple classes which just put in the listbox the strings (text or // file names) we drop on them @@ -89,7 +82,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"), @@ -98,7 +91,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. @@ -116,6 +109,8 @@ public: } }; +#endif // wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // Define a new application type // ---------------------------------------------------------------------------- @@ -128,6 +123,8 @@ public: IMPLEMENT_APP(DnDApp); +#if wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD + // ---------------------------------------------------------------------------- // Define canvas class to show a bitmap // ---------------------------------------------------------------------------- @@ -147,7 +144,7 @@ public: Refresh(); } - void OnPaint(wxPaintEvent& event) + void OnPaint(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); @@ -165,7 +162,7 @@ private: DECLARE_EVENT_TABLE() }; -#ifdef USE_METAFILES +#if wxUSE_METAFILES // and the same thing fo metafiles class DnDCanvasMetafile : public wxScrolledWindow @@ -201,7 +198,7 @@ private: DECLARE_EVENT_TABLE() }; -#endif // USE_METAFILES +#endif // wxUSE_METAFILES // ---------------------------------------------------------------------------- // Define a new frame type for the main frame @@ -230,9 +227,9 @@ public: void OnCopyBitmap(wxCommandEvent& event); void OnPasteBitmap(wxCommandEvent& event); -#ifdef USE_METAFILES +#if wxUSE_METAFILES void OnPasteMetafile(wxCommandEvent& event); -#endif // USE_METAFILES +#endif // wxUSE_METAFILES void OnCopyFiles(wxCommandEvent& event); @@ -271,6 +268,8 @@ private: // shapes, each one with its own colour and position // ---------------------------------------------------------------------------- +#if wxUSE_DRAG_AND_DROP + class DnDShape { public: @@ -488,10 +487,10 @@ public: // 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; -#ifdef USE_METAFILES - m_hasMetaFile = FALSE; -#endif // Windows + m_hasBitmap = false; +#if wxUSE_METAFILES + m_hasMetaFile = false; +#endif // wxUSE_METAFILES } virtual ~DnDShapeDataObject() { delete m_shape; } @@ -507,10 +506,10 @@ public: DnDShape *shape = m_shape; m_shape = (DnDShape *)NULL; - m_hasBitmap = FALSE; -#ifdef USE_METAFILES - m_hasMetaFile = FALSE; -#endif // Windows + m_hasBitmap = false; +#if wxUSE_METAFILES + m_hasMetaFile = false; +#endif // wxUSE_METAFILES return shape; } @@ -532,9 +531,9 @@ public: // but the bitmap format(s) are only supported for output nFormats += m_dobjBitmap.GetFormatCount(dir); -#ifdef USE_METAFILES +#if wxUSE_METAFILES nFormats += m_dobjMetaFile.GetFormatCount(dir); -#endif // Windows +#endif // wxUSE_METAFILES } return nFormats; @@ -549,11 +548,11 @@ public: // under Windows m_dobjBitmap.GetAllFormats(&formats[1], dir); -#ifdef USE_METAFILES +#if wxUSE_METAFILES // don't assume that m_dobjBitmap has only 1 format m_dobjMetaFile.GetAllFormats(&formats[1 + m_dobjBitmap.GetFormatCount(dir)], dir); -#endif // Windows +#endif // wxUSE_METAFILES } } @@ -563,7 +562,7 @@ public: { return m_shape->GetDataSize(); } -#ifdef USE_METAFILES +#if wxUSE_METAFILES else if ( m_dobjMetaFile.IsSupported(format) ) { if ( !m_hasMetaFile ) @@ -571,7 +570,7 @@ public: return m_dobjMetaFile.GetDataSize(format); } -#endif // Windows +#endif // wxUSE_METAFILES else { wxASSERT_MSG( m_dobjBitmap.IsSupported(format), @@ -590,9 +589,9 @@ public: { m_shape->GetDataHere(pBuf); - return TRUE; + return true; } -#ifdef USE_METAFILES +#if wxUSE_METAFILES else if ( m_dobjMetaFile.IsSupported(format) ) { if ( !m_hasMetaFile ) @@ -600,7 +599,7 @@ public: return m_dobjMetaFile.GetDataHere(format, pBuf); } -#endif // Windows +#endif // wxUSE_METAFILES else { wxASSERT_MSG( m_dobjBitmap.IsSupported(format), @@ -614,40 +613,40 @@ 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, + wxCHECK_MSG( format == m_formatShape, false, wxT( "unsupported format") ); delete m_shape; m_shape = DnDShape::New(buf); // the shape has changed - m_hasBitmap = FALSE; + m_hasBitmap = false; -#ifdef USE_METAFILES - m_hasMetaFile = FALSE; -#endif // Windows +#if wxUSE_METAFILES + m_hasMetaFile = false; +#endif // wxUSE_METAFILES - return TRUE; + return true; } private: // creates a bitmap and assigns it to m_dobjBitmap (also sets m_hasBitmap) void CreateBitmap() const; -#ifdef USE_METAFILES +#if wxUSE_METAFILES void CreateMetaFile() const; -#endif // Windows +#endif // wxUSE_METAFILES wxDataFormat m_formatShape; // our custom format wxBitmapDataObject m_dobjBitmap; // it handles bitmaps bool m_hasBitmap; // true if m_dobjBitmap has valid bitmap -#ifdef USE_METAFILES +#if wxUSE_METAFILES wxMetaFileDataObject m_dobjMetaFile;// handles metafiles bool m_hasMetaFile; // true if we have valid metafile -#endif // Windows +#endif // wxUSE_METAFILES DnDShape *m_shape; // our data }; @@ -699,6 +698,10 @@ public: ~DnDShapeFrame(); void SetShape(DnDShape *shape); + virtual bool SetShape(const wxRegion ®ion) + { + return wxFrame::SetShape( region ); + } // callbacks void OnNewShape(wxCommandEvent& event); @@ -760,15 +763,17 @@ private: DnDShapeFrame *m_frame; }; +#endif // wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // functions prototypes // ---------------------------------------------------------------------------- static void ShowBitmap(const wxBitmap& bitmap); -#ifdef USE_METAFILES +#if wxUSE_METAFILES static void ShowMetaFile(const wxMetaFile& metafile); -#endif // USE_METAFILES +#endif // wxUSE_METAFILES // ---------------------------------------------------------------------------- // IDs for the menu commands @@ -811,9 +816,9 @@ BEGIN_EVENT_TABLE(DnDFrame, wxFrame) EVT_MENU(Menu_Paste, DnDFrame::OnPaste) EVT_MENU(Menu_CopyBitmap, DnDFrame::OnCopyBitmap) EVT_MENU(Menu_PasteBitmap,DnDFrame::OnPasteBitmap) -#ifdef USE_METAFILES +#if wxUSE_METAFILES EVT_MENU(Menu_PasteMFile, DnDFrame::OnPasteMetafile) -#endif // USE_METAFILES +#endif // wxUSE_METAFILES EVT_MENU(Menu_CopyFiles, DnDFrame::OnCopyFiles) EVT_UPDATE_UI(Menu_DragMoveDef, DnDFrame::OnUpdateUIMoveByDefault) @@ -827,6 +832,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,15 +854,19 @@ 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() -#ifdef USE_METAFILES +#if wxUSE_METAFILES BEGIN_EVENT_TABLE(DnDCanvasMetafile, wxScrolledWindow) EVT_PAINT(DnDCanvasMetafile::OnPaint) END_EVENT_TABLE() -#endif // USE_METAFILES +#endif // wxUSE_METAFILES + +#endif // wxUSE_DRAG_AND_DROP // ============================================================================ // implementation @@ -864,6 +875,7 @@ END_EVENT_TABLE() // `Main program' equivalent, creating windows and returning main app frame bool DnDApp::OnInit() { +#if wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD // switch on trace messages #if defined(__WXGTK__) wxLog::AddTraceMask(_T("clipboard")); @@ -885,15 +897,21 @@ bool DnDApp::OnInit() 10, 100, 650, 340); // activate it - frame->Show(TRUE); + frame->Show(true); SetTopWindow(frame); - return TRUE; + return true; +#else + wxMessageBox( _T("This sample has to be compiled with wxUSE_DRAG_AND_DROP"), _T("Building error"), wxOK); + return false; +#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) - : wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)), + : wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)), m_strText(_T("wxWindows drag & drop works :-)")) { @@ -926,10 +944,10 @@ DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h) 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")); -#ifdef USE_METAFILES +#if wxUSE_METAFILES clip_menu->AppendSeparator(); clip_menu->Append(Menu_PasteMFile, _T("Paste &metafile\tCtrl-M")); -#endif // USE_METAFILES +#endif // wxUSE_METAFILES clip_menu->AppendSeparator(); clip_menu->Append(Menu_CopyFiles, _T("Copy &files\tCtrl-F")); @@ -942,17 +960,14 @@ DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h) SetMenuBar(menu_bar); // make a panel with 3 subwindows - wxPoint pos(0, 0); - wxSize size(400, 200); - wxString strFile(_T("Drop files here!")), strText(_T("Drop text on me")); - m_ctrlFile = new wxListBox(this, -1, pos, size, 1, &strFile, + m_ctrlFile = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 1, &strFile, wxLB_HSCROLL | wxLB_ALWAYS_SB ); - m_ctrlText = new wxListBox(this, -1, pos, size, 1, &strText, + m_ctrlText = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 1, &strText, wxLB_HSCROLL | wxLB_ALWAYS_SB ); - m_ctrlLog = new wxTextCtrl(this, -1, _T(""), pos, size, + m_ctrlLog = new wxTextCtrl(this, wxID_ANY, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY | wxSUNKEN_BORDER ); @@ -960,48 +975,33 @@ 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 - wxLayoutConstraints *c; - - // Top-left listbox - c = new wxLayoutConstraints; - c->left.SameAs(this, wxLeft); - c->top.SameAs(this, wxTop); - c->right.PercentOf(this, wxRight, 50); - c->height.PercentOf(this, wxHeight, 30); - m_ctrlFile->SetConstraints(c); - - // Top-right listbox - c = new wxLayoutConstraints; - c->left.SameAs (m_ctrlFile, wxRight); - c->top.SameAs (this, wxTop); - c->right.SameAs (this, wxRight); - c->height.PercentOf(this, wxHeight, 30); - m_ctrlText->SetConstraints(c); - - // Lower text control - c = new wxLayoutConstraints; - c->left.SameAs (this, wxLeft); - c->right.SameAs (this, wxRight); - c->height.PercentOf(this, wxHeight, 50); - c->top.SameAs(m_ctrlText, wxBottom); - m_ctrlLog->SetConstraints(c); - - SetAutoLayout(TRUE); + wxBoxSizer *m_sizer_top = new wxBoxSizer( wxHORIZONTAL ); + m_sizer_top->Add(m_ctrlFile, 1, wxEXPAND ); + m_sizer_top->Add(m_ctrlText, 1, wxEXPAND ); + + wxBoxSizer *m_sizer = new wxBoxSizer( wxVERTICAL ); + m_sizer->Add(m_sizer_top, 1, wxEXPAND ); + m_sizer->Add(m_ctrlLog, 1, wxEXPAND | wxBOTTOM, 50); + + SetSizer( m_sizer ); + m_sizer->SetSizeHints( this ); // copy data by default but allow moving it as well - m_moveByDefault = FALSE; - m_moveAllow = TRUE; - menu_bar->Check(Menu_DragMoveAllow, TRUE); + m_moveByDefault = false; + m_moveAllow = true; + menu_bar->Check(Menu_DragMoveAllow, true); } void DnDFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { - Close(TRUE); + Close(true); } void DnDFrame::OnSize(wxSizeEvent& event) @@ -1019,7 +1019,7 @@ void DnDFrame::OnPaint(wxPaintEvent& WXUNUSED(event)) wxPaintDC dc(this); // dc.Clear(); -- this kills wxGTK - dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, FALSE, _T("charter") ) ); + dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, false, _T("charter") ) ); dc.DrawText( _T("Drag text from here!"), 100, h-50 ); } @@ -1053,13 +1053,16 @@ void DnDFrame::OnUpdateUIPasteBitmap(wxUpdateUIEvent& event) void DnDFrame::OnNewFrame(wxCommandEvent& WXUNUSED(event)) { - (new DnDShapeFrame(this))->Show(TRUE); +#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") @@ -1070,6 +1073,7 @@ void DnDFrame::OnDrag(wxCommandEvent& WXUNUSED(event)) ); m_strText = strText; +#endif // wxUSE_DRAG_AND_DROP } void DnDFrame::OnDragMoveByDefault(wxCommandEvent& event) @@ -1129,6 +1133,7 @@ void DnDFrame::OnLogClear(wxCommandEvent& /* event */ ) void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) ) { +#if wxUSE_DRAG_AND_DROP if ( !m_strText.IsEmpty() ) { // start drag operation @@ -1162,6 +1167,7 @@ void DnDFrame::OnLeftDown(wxMouseEvent &WXUNUSED(event) ) SetStatusText(wxString(_T("Drag result: ")) + pc); } +#endif // wxUSE_DRAG_AND_DROP } void DnDFrame::OnRightDown(wxMouseEvent &event ) @@ -1190,10 +1196,10 @@ DnDFrame::~DnDFrame() void DnDFrame::OnCopyBitmap(wxCommandEvent& WXUNUSED(event)) { // PNG support is not always compiled in under Windows, so use BMP there -#ifdef __WXMSW__ - wxFileDialog dialog(this, _T("Open a BMP file"), _T(""), _T(""), _T("BMP files (*.bmp)|*.bmp"), 0); -#else +#if wxUSE_LIBPNG wxFileDialog dialog(this, _T("Open a PNG file"), _T(""), _T(""), _T("PNG files (*.png)|*.png"), 0); +#else + wxFileDialog dialog(this, _T("Open a BMP file"), _T(""), _T(""), _T("BMP files (*.bmp)|*.bmp"), 0); #endif if (dialog.ShowModal() != wxID_OK) @@ -1216,10 +1222,10 @@ void DnDFrame::OnCopyBitmap(wxCommandEvent& WXUNUSED(event)) wxImage image; image.LoadFile( dialog.GetPath(), -#ifdef __WXMSW__ - wxBITMAP_TYPE_BMP -#else +#if wxUSE_LIBPNG wxBITMAP_TYPE_PNG +#else + wxBITMAP_TYPE_BMP #endif ); if (!image.Ok()) @@ -1290,7 +1296,7 @@ void DnDFrame::OnPasteBitmap(wxCommandEvent& WXUNUSED(event)) wxTheClipboard->Close(); } -#ifdef USE_METAFILES +#if wxUSE_METAFILES void DnDFrame::OnPasteMetafile(wxCommandEvent& WXUNUSED(event)) { @@ -1326,7 +1332,7 @@ void DnDFrame::OnPasteMetafile(wxCommandEvent& WXUNUSED(event)) wxTheClipboard->Close(); } -#endif // USE_METAFILES +#endif // wxUSE_METAFILES // ---------------------------------------------------------------------------- // file clipboard @@ -1436,6 +1442,8 @@ void DnDFrame::OnPaste(wxCommandEvent& WXUNUSED(event)) wxTheClipboard->Close(); } +#if wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // Notifications called by the base class // ---------------------------------------------------------------------------- @@ -1444,20 +1452,20 @@ bool DnDText::OnDropText(wxCoord, wxCoord, const wxString& text) { m_pOwner->Append(text); - return TRUE; + return true; } bool DnDFile::OnDropFiles(wxCoord, wxCoord, const wxArrayString& filenames) { size_t nFiles = filenames.GetCount(); wxString str; - str.Printf( _T("%d files dropped"), nFiles); + str.Printf( _T("%d files dropped"), (int)nFiles); m_pOwner->Append(str); for ( size_t n = 0; n < nFiles; n++ ) { m_pOwner->Append(filenames[n]); } - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -1477,39 +1485,39 @@ DnDShapeDialog::DnDShapeDialog(wxFrame *parent, DnDShape *shape) const wxString choices[] = { wxT("None"), wxT("Triangle"), wxT("Rectangle"), wxT("Ellipse") }; - m_radio = new wxRadioBox( this, -1, wxT("&Shape"), + m_radio = new wxRadioBox( this, wxID_ANY, wxT("&Shape"), wxDefaultPosition, wxDefaultSize, 4, choices, 4, wxRA_SPECIFY_COLS ); shapesSizer->Add( m_radio, 0, wxGROW|wxALL, 5 ); topSizer->Add( shapesSizer, 0, wxALL, 2 ); // attributes - wxStaticBox* box = new wxStaticBox( this, -1, wxT("&Attributes") ); + wxStaticBox* box = new wxStaticBox( this, wxID_ANY, wxT("&Attributes") ); wxStaticBoxSizer* attrSizer = new wxStaticBoxSizer( box, wxHORIZONTAL ); wxFlexGridSizer* xywhSizer = new wxFlexGridSizer( 4, 2 ); wxStaticText* st; - st = new wxStaticText( this, -1, wxT("Position &X:") ); - m_textX = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, + st = new wxStaticText( this, wxID_ANY, wxT("Position &X:") ); + m_textX = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30, 20 ) ); xywhSizer->Add( st, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textX, 1, wxGROW|wxALL, 2 ); - st = new wxStaticText( this, -1, wxT("Size &width:") ); - m_textW = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, + st = new wxStaticText( this, wxID_ANY, wxT("Size &width:") ); + m_textW = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30, 20 ) ); xywhSizer->Add( st, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textW, 1, wxGROW|wxALL, 2 ); - st = new wxStaticText( this, -1, wxT("&Y:") ); - m_textY = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, + st = new wxStaticText( this, wxID_ANY, wxT("&Y:") ); + m_textY = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30, 20 ) ); xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 ); xywhSizer->Add( m_textY, 1, wxGROW|wxALL, 2 ); - st = new wxStaticText( this, -1, wxT("&height:") ); - m_textH = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, + st = new wxStaticText( this, wxID_ANY, wxT("&height:") ); + m_textH = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 30, 20 ) ); xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 ); xywhSizer->Add( m_textH, 1, wxGROW|wxALL, 2 ); @@ -1528,7 +1536,6 @@ DnDShapeDialog::DnDShapeDialog(wxFrame *parent, DnDShape *shape) buttonSizer->Add( bt, 0, wxALL, 2 ); topSizer->Add( buttonSizer, 0, wxALL|wxALIGN_RIGHT, 2 ); - SetAutoLayout( TRUE ); SetSizer( topSizer ); topSizer->Fit( this ); } @@ -1567,7 +1574,7 @@ bool DnDShapeDialog::TransferDataToWindow() m_textW->SetValue(wxString() << m_size.x); m_textH->SetValue(wxString() << m_size.y); - return TRUE; + return true; } bool DnDShapeDialog::TransferDataFromWindow() @@ -1584,16 +1591,16 @@ bool DnDShapeDialog::TransferDataFromWindow() wxMessageBox(_T("All sizes and positions should be non null!"), _T("Invalid shape"), wxICON_HAND | wxOK, this); - return FALSE; + return false; } - return TRUE; + return true; } void DnDShapeDialog::OnColour(wxCommandEvent& WXUNUSED(event)) { wxColourData data; - data.SetChooseFull(TRUE); + data.SetChooseFull(true); for (int i = 0; i < 16; i++) { wxColour colour(i*16, i*16, i*16); @@ -1614,7 +1621,7 @@ void DnDShapeDialog::OnColour(wxCommandEvent& WXUNUSED(event)) DnDShapeFrame *DnDShapeFrame::ms_lastDropTarget = NULL; DnDShapeFrame::DnDShapeFrame(wxFrame *parent) - : wxFrame(parent, -1, _T("Shape Frame"), + : wxFrame(parent, wxID_ANY, _T("Shape Frame"), wxDefaultPosition, wxSize(250, 150)) { CreateStatusBar(); @@ -1673,7 +1680,7 @@ void DnDShapeFrame::OnDrag(wxMouseEvent& event) wxDropSource source(shapeData, this); const wxChar *pc = NULL; - switch ( source.DoDragDrop(TRUE) ) + switch ( source.DoDragDrop(true) ) { default: case wxDragError: @@ -1723,7 +1730,7 @@ void DnDShapeFrame::OnDrop(wxCoord x, wxCoord y, DnDShape *shape) SetShape(shape); } -void DnDShapeFrame::OnEditShape(wxCommandEvent& event) +void DnDShapeFrame::OnEditShape(wxCommandEvent& WXUNUSED(event)) { DnDShapeDialog dlg(this, m_shape); if ( dlg.ShowModal() == wxID_OK ) @@ -1737,19 +1744,19 @@ void DnDShapeFrame::OnEditShape(wxCommandEvent& event) } } -void DnDShapeFrame::OnNewShape(wxCommandEvent& event) +void DnDShapeFrame::OnNewShape(wxCommandEvent& WXUNUSED(event)) { SetShape(new DnDEllipticShape(wxPoint(10, 10), wxSize(80, 60), *wxRED)); SetStatusText(_T("You can now drag the shape to another frame")); } -void DnDShapeFrame::OnClearShape(wxCommandEvent& event) +void DnDShapeFrame::OnClearShape(wxCommandEvent& WXUNUSED(event)) { SetShape(NULL); } -void DnDShapeFrame::OnCopyShape(wxCommandEvent& event) +void DnDShapeFrame::OnCopyShape(wxCommandEvent& WXUNUSED(event)) { if ( m_shape ) { @@ -1765,7 +1772,7 @@ void DnDShapeFrame::OnCopyShape(wxCommandEvent& event) } } -void DnDShapeFrame::OnPasteShape(wxCommandEvent& event) +void DnDShapeFrame::OnPasteShape(wxCommandEvent& WXUNUSED(event)) { wxClipboardLocker clipLocker; if ( !clipLocker ) @@ -1844,7 +1851,7 @@ DnDShape *DnDShape::New(const void *buf) // DnDShapeDataObject // ---------------------------------------------------------------------------- -#ifdef USE_METAFILES +#if wxUSE_METAFILES void DnDShapeDataObject::CreateMetaFile() const { @@ -1859,12 +1866,12 @@ void DnDShapeDataObject::CreateMetaFile() const DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast self->m_dobjMetaFile.SetMetafile(*mf); - self->m_hasMetaFile = TRUE; + self->m_hasMetaFile = true; delete mf; } -#endif // Windows +#endif // wxUSE_METAFILES void DnDShapeDataObject::CreateBitmap() const { @@ -1882,16 +1889,18 @@ void DnDShapeDataObject::CreateBitmap() const DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast self->m_dobjBitmap.SetBitmap(bitmap); - self->m_hasBitmap = TRUE; + self->m_hasBitmap = true; } +#endif // wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // global functions // ---------------------------------------------------------------------------- static void ShowBitmap(const wxBitmap& bitmap) { - wxFrame *frame = new wxFrame(NULL, -1, _T("Bitmap view")); + wxFrame *frame = new wxFrame(NULL, wxID_ANY, _T("Bitmap view")); frame->CreateStatusBar(); DnDCanvasBitmap *canvas = new DnDCanvasBitmap(frame); canvas->SetBitmap(bitmap); @@ -1901,14 +1910,14 @@ static void ShowBitmap(const wxBitmap& bitmap) frame->SetStatusText(wxString::Format(_T("%dx%d"), w, h)); frame->SetClientSize(w > 100 ? 100 : w, h > 100 ? 100 : h); - frame->Show(TRUE); + frame->Show(true); } -#ifdef USE_METAFILES +#if wxUSE_METAFILES static void ShowMetaFile(const wxMetaFile& metafile) { - wxFrame *frame = new wxFrame(NULL, -1, _T("Metafile view")); + wxFrame *frame = new wxFrame(NULL, wxID_ANY, _T("Metafile view")); frame->CreateStatusBar(); DnDCanvasMetafile *canvas = new DnDCanvasMetafile(frame); canvas->SetMetafile(metafile); @@ -1921,4 +1930,6 @@ static void ShowMetaFile(const wxMetaFile& metafile) frame->Show(); } -#endif // USE_METAFILES +#endif // wxUSE_METAFILES + +#endif // wxUSE_DRAG_AND_DROP || wxUSE_CLIPBOARD