#include "wx/statusbr.h"
#include "wx/window.h"
#include "wx/string.h"
#include "wxdragon.h"
extern "C" {
WXD_EXPORTED wxd_StatusBar_t* wxd_StatusBar_Create(wxd_Window_t* parent, wxd_Id id, wxd_Style_t style) {
wxWindow* parentWin = (wxWindow*)parent;
wxStatusBar* statusBar = new wxStatusBar(parentWin, id, style);
return (wxd_StatusBar_t*)statusBar;
}
WXD_EXPORTED void wxd_StatusBar_SetFieldsCount(wxd_StatusBar_t* self, int count) {
wxStatusBar* statusBar = (wxStatusBar*)self;
if (statusBar) {
statusBar->SetFieldsCount(static_cast<unsigned int>(count));
}
}
WXD_EXPORTED void wxd_StatusBar_SetStatusText(wxd_StatusBar_t* self, const char* text, int fieldIndex) {
wxStatusBar* statusBar = (wxStatusBar*)self;
if (statusBar) {
statusBar->SetStatusText(wxString::FromUTF8(text ? text : ""), fieldIndex);
}
}
WXD_EXPORTED void wxd_StatusBar_SetStatusWidths(wxd_StatusBar_t* self, int count, const int* widths) {
wxStatusBar* statusBar = (wxStatusBar*)self;
if (statusBar && count > 0 && widths) {
statusBar->SetStatusWidths(count, widths);
}
}
WXD_EXPORTED void wxd_StatusBar_PushStatusText(wxd_StatusBar_t* self, const char* text, int fieldIndex) {
wxStatusBar* statusBar = (wxStatusBar*)self;
if (statusBar) {
statusBar->PushStatusText(wxString::FromUTF8(text ? text : ""), fieldIndex);
}
}
WXD_EXPORTED void wxd_StatusBar_PopStatusText(wxd_StatusBar_t* self, int fieldIndex) {
wxStatusBar* statusBar = (wxStatusBar*)self;
if (statusBar) {
statusBar->PopStatusText(fieldIndex);
}
}
}