value iconv_convert(value inbufVal, value from_charsetVal, value to_charsetVal) { char *from_charset; char *to_charset; char *inbuf; char *outbuf; size_t inlen; size_t outlen; from_charset = Val2Str(from_charsetVal); to_charset = Val2Str(to_charsetVal); inbuf = Val2Str(inbufVal); inlen = strlen(inbuf); outlen = inlen * 4; outbuf = (char *)malloc(outlen); if(code_convert(from_charset,to_charset,inbuf,inlen,outbuf,outlen) == -1) return val_null; inlen = strlen(outbuf); char *outData = (char *)malloc(inlen + 1); memcpy(outData, outbuf, inlen); *(outData + inlen) = 0; free(outbuf); value out = alloc_string(outData); return out; }
value wx_menu_append_submenu(value inMenu, value inText, value inHelp) { wxMenu *menu; if (ValueToWX(inMenu,menu)) { menu->AppendSubMenu(menu, Val2Str(inText), Val2Str(inHelp)); } return alloc_null(); }
static bool CompareSizedWord(const unsigned char * value, const unsigned char * expected, UINT element, UINT totalSize, ostream& ost) { if (*((SIZETYPE*)(&value[element << 3])) != *((SIZETYPE*)(&expected[element << 3]))) { ost << "WARNING: Expected value: 0x" << Val2Str(expected, totalSize) << endl << flush; ost << "WARNING: Received value: 0x" << Val2Str(value, totalSize) << endl << flush; return false; } return true; }
value wx_menu_bar_append(value inMenuBar, value inMenu, value inTitle) { wxMenuBar *menu_bar; wxMenu *menu; if (ValueToWX(inMenuBar,menu_bar) && ValueToWX(inMenu,menu) ) menu_bar->Append(menu, Val2Str(inTitle) ); return alloc_null(); }
value wx_dc_draw_text(value inDC, value text, value x, value y) { wxDC *dc; if (ValueToWX(inDC,dc)) { dc->DrawText(Val2Str(text), val_int(x), val_int(y) ); } return alloc_null(); }
value wx_menu_append(value inMenu, value inID, value inLable, value inHelp, value inKind) { wxMenu *menu; if (ValueToWX(inMenu,menu)) { wxItemKind kind = wxITEM_NORMAL; switch(val_int(inKind)) { case 0 : kind = wxITEM_NORMAL; break; case 1 : kind = wxITEM_SEPARATOR; break; case 2 : kind = wxITEM_CHECK; break; case 3 : kind = wxITEM_RADIO; break; } menu->Append(val_int(inID), Val2Str(inLable), Val2Str(inHelp), kind ); } return alloc_null(); }
value wx_scintilla_set_value(value inSci, value inString) { wxStyledTextCtrl *sci; if (ValueToWX(inSci, sci)) { sci->SetText( Val2Str(inString) ); } return alloc_null(); }
value wx_notebook_add_page(value inNotebook, value inPage,value inText,value inSelect, value inImage) { wxNotebook *book=0; wxWindow *page=0; if ( ValueToWX(inNotebook,book) && ValueToWX(inPage,page) ) { return alloc_bool(book->AddPage(page, Val2Str(inText), val_bool(inSelect), val_int(inImage) ) ); } return alloc_bool(false); }
value wx_menu_create(value inTitle, value inFlags) { wxMenu *menu = new wxMenu( Val2Str(inTitle), val_int(inFlags) ); return WXToValue( menu ); }