#include <wx/wxprec.h>
#include <wx/wx.h>
#include "../include/wxdragon.h"
#include <wx/dataview.h>
WXD_EXPORTED const wxd_DataViewItem_t* wxd_DataViewItem_Clone(const wxd_DataViewItem_t* item) {
if (!item) return reinterpret_cast<const wxd_DataViewItem_t*>(new wxDataViewItem());
const wxDataViewItem* inner = reinterpret_cast<const wxDataViewItem*>(item);
wxDataViewItem* heap_item = new wxDataViewItem(*inner);
return reinterpret_cast<const wxd_DataViewItem_t*>(heap_item);
}
WXD_EXPORTED bool wxd_DataViewItem_IsOk(const wxd_DataViewItem_t* item) {
if (!item) return false;
const wxDataViewItem* inner = reinterpret_cast<const wxDataViewItem*>(item);
return inner->IsOk();
}
WXD_EXPORTED const void* wxd_DataViewItem_GetID(const wxd_DataViewItem_t* item) {
if (!item) return nullptr;
const wxDataViewItem* inner = reinterpret_cast<const wxDataViewItem*>(item);
return inner->GetID();
}
WXD_EXPORTED const wxd_DataViewItem_t* wxd_DataViewItem_CreateFromID(const void* id) {
wxDataViewItem* heap_item = new wxDataViewItem(const_cast<void*>(id));
return reinterpret_cast<const wxd_DataViewItem_t*>(heap_item);
}
WXD_EXPORTED void wxd_DataViewItem_Release(const wxd_DataViewItem_t* item) {
if (!item) return;
delete reinterpret_cast<const wxDataViewItem*>(item);
}