int bmx_wxbitmapcombobox_append(wxBitmapComboBox * combobox, BBString * item, MaxBitmap * bitmap, void * clientData) { if (bitmap) { return combobox->Append(wxStringFromBBString(item), bitmap->Bitmap(), clientData); } else { return combobox->Append(wxStringFromBBString(item), wxNullBitmap, clientData); } }
void bmx_wxaboutdialoginfo_setwebsite(wxAboutDialogInfo * info, BBString * url, BBString * desc) { if (desc == &bbEmptyString) { info->SetWebSite(wxStringFromBBString(url)); } else { info->SetWebSite(wxStringFromBBString(url), wxStringFromBBString(desc)); } }
MaxSearchCtrl * bmx_wxsearchctrl_create(BBObject * maxHandle, wxWindow * parent, wxWindowID id, BBString * value, int x, int y, int w, int h, long style, wxValidator * validator) { if (validator) { return new MaxSearchCtrl(maxHandle, parent, id, wxStringFromBBString(value), x, y, w, h, style, *validator); } else { return new MaxSearchCtrl(maxHandle, parent, id, wxStringFromBBString(value), x, y, w, h, style, wxDefaultValidator); } }
int bmx_wxexecute(BBString * command, int sync, wxProcess * callback) { if (callback) { return wxExecute(wxStringFromBBString(command), sync, callback); } else { return wxExecute(wxStringFromBBString(command), sync); } }
wxWindow * bmx_wxwindow_findwindowbyname(BBString * name, wxWindow * parent) { if (parent) { return wxWindow::FindWindowByName(wxStringFromBBString(name), parent); } else { return wxWindow::FindWindowByName(wxStringFromBBString(name)); } }
BBObject * bmx_wxsfdiagrammanager_addshape(wxSFDiagramManager * manager, BBString * shapeInfo, int xPos, int yPos, int saveState) { if (xPos >= 0 || yPos >= 0) { return newObjectForShape(manager->AddShape(wxClassInfo::FindClass(wxStringFromBBString(shapeInfo).c_str()), wxPoint(xPos, yPos), static_cast<bool>(saveState))); } else { return newObjectForShape(manager->AddShape(wxClassInfo::FindClass(wxStringFromBBString(shapeInfo).c_str()), static_cast<bool>(saveState))); } }
wxWindow * bmx_wxwindow_findwindowbylabel(BBString * label, wxWindow * parent) { if (parent) { return wxWindow::FindWindowByLabel(wxStringFromBBString(label), parent); } else { return wxWindow::FindWindowByLabel(wxStringFromBBString(label)); } }
wxProgressDialog * bmx_wxprogressdialog_create(BBObject * handle, BBString * title, BBString * message, int maximum, wxWindow * parent, int style) { if (parent) { return new MaxProgressDialog(handle, wxStringFromBBString(title), wxStringFromBBString(message), maximum, parent, style); } else { return new MaxProgressDialog(handle, wxStringFromBBString(title), wxStringFromBBString(message), maximum, NULL, style); } }
int bmx_wxbitmapcombobox_insert(wxBitmapComboBox * combobox, unsigned int pos, BBString * item, MaxBitmap * bitmap, void * clientData) { if (bitmap) { return combobox->Insert(wxStringFromBBString(item), bitmap->Bitmap(), pos, clientData); } else { return combobox->Insert(wxStringFromBBString(item), wxNullBitmap, pos, clientData); } }
void bmx_wxlogstatus(BBString * message, wxFrame * frame) { if (frame) { wxLogStatus(frame, _("%s"), wxStringFromBBString(message).c_str()); } else { wxLogStatus(_("%s"), wxStringFromBBString(message).c_str()); } }
int bmx_wxbitmap_savefile(MaxBitmap * bitmap, BBString * name, int kind, MaxPalette * palette) { if (palette) { return bitmap->Bitmap().SaveFile(wxStringFromBBString(name), static_cast<wxBitmapType>(kind), &palette->Palette()); } else { return bitmap->Bitmap().SaveFile(wxStringFromBBString(name), static_cast<wxBitmapType>(kind)); } }
MaxTreeItem * bmx_wxtreelistctrl_insertitembefore(wxTreeListCtrl * tree, MaxTreeItem * parent, int before, BBString * text, int image, int selImage, BBObject * data) { if (data != &bbNullObject) { MaxTreeItemData * itemdata = new MaxTreeItemData(data); return new MaxTreeItem(tree->InsertItem(parent->Item(), before, wxStringFromBBString(text), image, selImage, itemdata)); } else { return new MaxTreeItem(tree->InsertItem(parent->Item(), before, wxStringFromBBString(text), image, selImage)); } }
MaxTreeItem * bmx_wxtreectrl_prependitem(wxTreeCtrl * tree, MaxTreeItem * parent, BBString * text, int image, int selImage, BBObject * data) { if (data != &bbNullObject) { MaxTreeItemData * itemdata = new MaxTreeItemData(data); return new MaxTreeItem(tree->PrependItem(parent->Item(), wxStringFromBBString(text), image, selImage, itemdata)); } else { return new MaxTreeItem(tree->PrependItem(parent->Item(), wxStringFromBBString(text), image, selImage)); } }
MaxTreeItem * bmx_wxtreectrl_addroot(wxTreeCtrl * tree, BBString * text, int image, int selImage, BBObject * data) { if (data != &bbNullObject) { MaxTreeItemData * itemdata = new MaxTreeItemData(data); return new MaxTreeItem(tree->AddRoot(wxStringFromBBString(text), image, selImage, itemdata)); } else { return new MaxTreeItem(tree->AddRoot(wxStringFromBBString(text), image, selImage)); } }
void bmx_wxwindow_gettextextent(wxWindow * window, BBString * text, int * x, int * y, int * descent, int * externalLeading, MaxFont * font, int use16) { if (font) { window->GetTextExtent(wxStringFromBBString(text), x, y, descent, externalLeading, &font->Font());//, use16); } else { window->GetTextExtent(wxStringFromBBString(text), x, y, descent, externalLeading, NULL);//, use16); } }
MaxDialog * bmx_wxdialog_create(BBObject * maxHandle, wxWindow * parent, wxWindowID id, BBString * title, int x, int y, int w, int h, long style) { if (parent) { return new MaxDialog(maxHandle, parent, id, wxStringFromBBString(title), x, y, w, h, style); } else { return new MaxDialog(maxHandle, NULL, id, wxStringFromBBString(title), x, y, w, h, style); } }
MaxFont * bmx_wxgetfontfromuser(wxWindow * window, MaxFont * font, BBString * caption) { wxFont f; if (font) { f = wxGetFontFromUser(window, font->Font(), wxStringFromBBString(caption)); } else { f = wxGetFontFromUser(window, wxNullFont, wxStringFromBBString(caption)); } return new MaxFont(f); }
int bmx_wxgetsinglechoiceindex(BBString * message, BBString * caption, BBArray * choices, wxWindow * parent, int x, int y, int centre, int width, int height) { if (parent) { return wxGetSingleChoiceIndex(wxStringFromBBString(message), wxStringFromBBString(caption), bbStringArrayTowxArrayStr(choices), parent, x, y, static_cast<bool>(centre), width, height); } else { return wxGetSingleChoiceIndex(wxStringFromBBString(message), wxStringFromBBString(caption), bbStringArrayTowxArrayStr(choices), NULL, x, y, static_cast<bool>(centre), width, height); } }
wxObject * bmx_wxxmlresource_loadobject(wxXmlResource * res, BBObject * win, wxWindow * parent, BBString * name, BBString * classname) { wxObject * obj = res->LoadObject(parent, wxStringFromBBString(name), wxStringFromBBString(classname)); if (obj) { // unbind from automatic-newly created object wxunbind(obj); // bind to *our* newly created object wxbind(obj, win); } return obj; }
wxURI * bmx_wxuri_create(BBString * uri) { if (uri != &bbEmptyString) { return new wxURI(wxStringFromBBString(uri)); } else { return new wxURI(); } }
int bmx_wxshell(BBString * command) { if (command == &bbEmptyString) { return static_cast<int>(wxShell()); } else { return static_cast<int>(wxShell(wxStringFromBBString(command))); } }
wxGenericDirCtrl * bmx_wxgenericdirctrl_create(BBObject * handle, wxWindow * parent, wxWindowID id, BBString * dir, int x, int y, int w, int h, long style, BBString * filter, int defaultFilter) { MaxGenericDirCtrl * ctrl = new MaxGenericDirCtrl(); ctrl->MaxBind(handle); ctrl->Create(parent, id, wxStringFromBBString(dir), wxPoint(x, y), wxSize(w, h), style, wxStringFromBBString(filter), defaultFilter); return ctrl; }
wxWebView * bmx_wxwebview_create(BBObject * maxHandle, wxWindow * parent, wxWindowID id, BBString * url, int x, int y, int w, int h, long style) { wxWebView * webView = wxWebView::New(parent, id, wxStringFromBBString(url), wxPoint(x, y), wxSize(w, h), wxWebViewBackendDefault, style); wxbind(webView, maxHandle); return webView; }
void bmx_wxlog_settimestamp(BBString * format) { if (format) { __timestamp = wxStringFromBBString(format); wxLog::SetTimestamp(__timestamp); } else { wxLog::SetTimestamp(wxT("")); } }
BBString * bmx_wxdatetime_parsetime(MaxDateTime * datetime, BBString * time) { wxString::const_iterator end; wxString str = wxStringFromBBString(time); if (!datetime->DateTime().ParseTime(str, &end)) { return &bbEmptyString; } else if (end == str.end()) { return time; } else { return bbStringFromWxString(wxString(end, str.end())); } }
BBString * bmx_wxdatetime_parseformat(MaxDateTime * datetime, BBString * date, BBString * format, MaxDateTime * dateDef) { wxString::const_iterator end; wxString str = wxStringFromBBString(date); wxString c = wxDefaultDateTimeFormat; if (format!=&bbEmptyString) { c = wxStringFromBBString(format); } bool res; if (dateDef) { res = datetime->DateTime().ParseFormat(str, c, dateDef->DateTime(), &end); } else { res = datetime->DateTime().ParseFormat(str, c, wxDefaultDateTime, &end); } if (!res) { return &bbEmptyString; } else if (end == str.end()) { return date; } else { return bbStringFromWxString(wxString(end, str.end())); } }
bool wxRarInputStream::OpenNextFile() { RARHeaderData hd; int nError; if ((nError = RARReadHeader(m_hRar, &hd)) != 0) { //wxMessageBox(wxString::Format(_T("AHH %ld"), nError)); if (nError != ERAR_END_ARCHIVE) { wxLogSysError(wxString::Format(_("Error : %ld"), nError)); } return false; } m_Info.szName = wxStringFromBBString(bbStringFromCString(hd.FileName)); m_Info.szComment = hd.CmtBuf; m_Info.dwUncompressedSize = hd.UnpSize; m_Info.dwCompressedSize = hd.PackSize; m_Info.dwTime = hd.FileTime; return true; }
void bmx_wxfiletypeinfo_setshortdesc(MaxFileTypeInfo * info, BBString * shortDesc) { info->FileTypeInfo().SetShortDesc(wxStringFromBBString(shortDesc)); }
void bmx_wxfiletypeinfo_seticon(MaxFileTypeInfo * info, BBString * iconFile, int iconIndex) { info->FileTypeInfo().SetIcon(wxStringFromBBString(iconFile), iconIndex); }
void bmx_wxfiletypeinfo_setprintcommand(MaxFileTypeInfo * info, BBString * command) { info->FileTypeInfo().SetPrintCommand(wxStringFromBBString(command)); }