#if !wxUSE_SIMPLER_DRAGIMAGE
m_hCursorImageList = 0;
#endif
- m_window = (wxWindow*) NULL;
+ m_window = NULL;
m_fullScreen = false;
}
+#if WXWIN_COMPATIBILITY_2_8
+wxDragImage::wxDragImage(const wxBitmap& image, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ Init();
+
+ Create(image, cursor);
+}
+
+wxDragImage::wxDragImage(const wxIcon& image, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ Init();
+
+ Create(image, cursor);
+}
+
+wxDragImage::wxDragImage(const wxString& str, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ Init();
+
+ Create(str, cursor);
+}
+
+bool wxDragImage::Create(const wxBitmap& image, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ return Create(image, cursor);
+}
+
+bool wxDragImage::Create(const wxIcon& image, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ return Create(image, cursor);
+}
+
+bool wxDragImage::Create(const wxString& str, const wxCursor& cursor, const wxPoint& WXUNUSED(cursorHotspot))
+{
+ return Create(str, cursor);
+}
+#endif // WXWIN_COMPATIBILITY_2_8
+
// Attributes
////////////////////////////////////////////////////////////////////////////
ImageList_Destroy(GetHimageList());
m_hImageList = (WXHIMAGELIST)
TreeView_CreateDragImage(GetHwndOf(&treeCtrl), (HTREEITEM) id.m_pItem);
- return m_hImageList != 0;
+ if ( !m_hImageList )
+ {
+ // fall back on just the item text if there is no image
+ return Create(treeCtrl.GetItemText(id));
+ }
+
+ return true;
}
#endif
if ( m_hImageList )
ImageList_Destroy(GetHimageList());
POINT pt;
- pt.x = 0; pt.y = 0;
- m_hImageList = (WXHIMAGELIST) ListView_CreateDragImage((HWND) listCtrl.GetHWND(), id, & pt);
+ pt.x =
+ pt.y = 0;
+ m_hImageList = (WXHIMAGELIST)
+ ListView_CreateDragImage(GetHwndOf(&listCtrl), id, &pt);
+
+ if ( !m_hImageList )
+ {
+ // as for wxTreeCtrl, fall back on dragging just the item text
+ return Create(listCtrl.GetItemText(id));
+ }
+
return true;
}
#endif
if (!ret)
{
- wxFAIL_MSG( _T("BeginDrag failed.") );
+ wxFAIL_MSG( wxT("BeginDrag failed.") );
return false;
}
- if (m_cursor.Ok())
+ if (m_cursor.IsOk())
{
#if wxUSE_SIMPLER_DRAGIMAGE
m_oldCursor = window->GetCursor();
}
#if !wxUSE_SIMPLER_DRAGIMAGE
- if (m_cursor.Ok())
+ if (m_cursor.IsOk())
::ShowCursor(FALSE);
#endif
wxSize sz = fullScreenRect->GetSize();
- if (fullScreenRect->GetParent() && !fullScreenRect->IsKindOf(CLASSINFO(wxFrame)))
+ if (fullScreenRect->GetParent() && !wxDynamicCast(fullScreenRect, wxFrame))
fullScreenRect->GetParent()->ClientToScreen(& x, & y);
rect.x = x; rect.y = y;
}
#if wxUSE_SIMPLER_DRAGIMAGE
- if (m_cursor.Ok() && m_oldCursor.Ok())
+ if (m_cursor.IsOk() && m_oldCursor.IsOk())
m_window->SetCursor(m_oldCursor);
#else
::ShowCursor(TRUE);
#endif
- m_window = (wxWindow*) NULL;
+ m_window = NULL;
return true;
}