#include <wx/wxprec.h>
#include <wx/wx.h>
#include "../include/wxdragon.h"
#include <wx/spinctrl.h>
WXD_EXPORTED wxd_SpinCtrl_t*
wxd_SpinCtrl_Create(wxd_Window_t* parent, wxd_Id id,
const char* value, wxd_Point pos, wxd_Size size, wxd_Style_t style,
int min_val, int max_val, int initial_val)
{
wxWindow* parentWin = reinterpret_cast<wxWindow*>(parent);
wxSpinCtrl* spinCtrl = new wxSpinCtrl(
parentWin, id,
wxString::FromUTF8(value ? value : ""), wxPoint(pos.x, pos.y), wxSize(size.width, size.height), style, min_val, max_val,
initial_val );
return reinterpret_cast<wxd_SpinCtrl_t*>(spinCtrl);
}
WXD_EXPORTED int
wxd_SpinCtrl_GetValue(wxd_SpinCtrl_t* self)
{
wxSpinCtrl* spinCtrl = reinterpret_cast<wxSpinCtrl*>(self);
if (!spinCtrl)
return 0; return spinCtrl->GetValue();
}
WXD_EXPORTED void
wxd_SpinCtrl_SetValue(wxd_SpinCtrl_t* self, int value)
{
wxSpinCtrl* spinCtrl = reinterpret_cast<wxSpinCtrl*>(self);
if (spinCtrl) {
spinCtrl->SetValue(value);
}
}
WXD_EXPORTED void
wxd_SpinCtrl_SetRange(wxd_SpinCtrl_t* self, int minVal, int maxVal)
{
wxSpinCtrl* spinCtrl = reinterpret_cast<wxSpinCtrl*>(self);
if (spinCtrl) {
spinCtrl->SetRange(minVal, maxVal);
}
}
WXD_EXPORTED int
wxd_SpinCtrl_GetMin(wxd_SpinCtrl_t* self)
{
wxSpinCtrl* spinCtrl = reinterpret_cast<wxSpinCtrl*>(self);
if (!spinCtrl)
return 0; return spinCtrl->GetMin();
}
WXD_EXPORTED int
wxd_SpinCtrl_GetMax(wxd_SpinCtrl_t* self)
{
wxSpinCtrl* spinCtrl = reinterpret_cast<wxSpinCtrl*>(self);
if (!spinCtrl)
return 0; return spinCtrl->GetMax();
}