value wx_dir_dialog_show(value ioData) { wxWindow *parent = 0; wxString message; wxString directory; int style; wxPoint position; wxSize size; ValueToWX(val_field(ioData,val_id("parent")),parent); ValueToWX(val_field(ioData,val_id("message")),message); ValueToWX(val_field(ioData,val_id("directory")),directory); ValueToWX(val_field(ioData,val_id("style")),style); ValueToWX(val_field(ioData,val_id("size")),size); wxDirDialog *dlg = new wxDirDialog(parent,message,directory,style,position,size); bool result = dlg->ShowModal()==wxID_OK; if (result) { alloc_field(ioData,val_id("directory"), WXToValue(dlg->GetPath())); } dlg->Destroy(); return alloc_bool(result); }
value wx_dc_set_background(value inDC,value inBrush) { wxDC *dc; wxBrush *brush; if (ValueToWX(inDC,dc) && ValueToWX(inBrush,brush) ) dc->SetBackground(*brush); return alloc_null(); }
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_set_pen(value inDC,value inPen) { wxDC *dc; wxPen *pen; if (ValueToWX(inDC,dc) && ValueToWX(inPen,pen) ) dc->SetPen(*pen); return alloc_null(); }
value wx_dc_set_font(value inDC,value inFont) { wxDC *dc; wxFont *font; if (ValueToWX(inDC,dc) && ValueToWX(inFont,font) ) dc->SetFont(*font); return alloc_null(); }
value wx_dc_draw_bitmap(value inDC, value inBitmap, value x, value y, value transparent) { wxDC *dc; wxBitmap *bitmap; if (ValueToWX(inDC,dc) && ValueToWX(inBitmap,bitmap) ) { dc->DrawBitmap(*bitmap, val_int(x), val_int(y), val_bool(transparent) ); } return alloc_null(); }
value wx_frame_set_menu_bar(value inFrame, value inBar) { wxFrame *frame; if (ValueToWX(inFrame,frame)) { wxMenuBar *bar; ValueToWX(inBar,bar); frame->SetMenuBar(bar); } 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_dc_clear(value inDC) { wxDC *dc; if (ValueToWX(inDC,dc)) dc->Clear(); return alloc_null(); }
value wx_window_fit(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) window->Fit(); return alloc_null(); }
value wx_window_refresh(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) window->Refresh(); return alloc_null(); }
value wx_window_get_effective_min_size(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) return WXToValue(window->GetEffectiveMinSize()); return alloc_null(); }
value wx_set_top_window(value inWindow) { wxTopLevelWindow *window; if (ValueToWX(inWindow,window)) wxTheApp->SetTopWindow(window); return val_null; }
value wx_menu_append_separator(value inMenu) { wxMenu *menu; if (ValueToWX(inMenu,menu)) menu->AppendSeparator(); return alloc_null(); }
value wx_window_destroy(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) window->Destroy(); return alloc_null(); }
value wx_scrolled_window_set_scroll_rate(value inWindow, value stepX, value stepY) { wxScrolledWindow *window; if (!ValueToWX(inWindow, window)) val_throw(alloc_string("Invalid Window")); window->SetScrollRate(Val2Int(stepX), Val2Int(stepY)); return alloc_null(); }
value wx_scintilla_get_value(value inSci) { wxStyledTextCtrl *sci; if (ValueToWX(inSci, sci)) return WXToValue( sci->GetText( ) ); return alloc_null(); }
value wx_dc_draw_line(value inDC, value inX1, value inY1, value inX2, value inY2) { wxDC *dc; if (ValueToWX(inDC,dc)) { dc->DrawLine(val_int(inX1), val_int(inY1), val_int(inX2), val_int(inY2) ); } return alloc_null(); }
value wx_timer_start(value inTimer, value inMilliSeconds, value inOneShot) { wxTimer *timer; if (ValueToWX(inTimer,timer)) { timer->Start(val_int(inMilliSeconds), val_bool(inOneShot) ); } return alloc_null(); }
value wx_timer_stop(value inTimer) { wxTimer *timer; if (ValueToWX(inTimer,timer)) { timer->Stop(); } return alloc_null(); }
value wx_dc_draw_ellipse(value inDC, value x, value y, value w, value h) { wxDC *dc; if (ValueToWX(inDC,dc)) { dc->DrawEllipse(val_int(x), val_int(y), val_int(w), val_int(h) ); } 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_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_dc_create_paint(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) { wxPaintDC *dc = new wxPaintDC(window); return WXToDeletingValue(dc); } }
value wx_dc_draw_circle(value inDC, value x, value y, value rad) { wxDC *dc; if (ValueToWX(inDC,dc)) { dc->DrawCircle(val_int(x), val_int(y), val_int(rad) ); } return alloc_null(); }
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(); }
value wx_window_post_idle_event(value inWindow) { wxWindow *window; if (ValueToWX(inWindow,window)) { wxIdleEvent evt; wxPostEvent(window,evt); } return alloc_null(); }
//------------------------------------------------------------------------------------------------------------------- // wxMessageDialog implemetation, added to /haxe/lib/waxe/1.0.1/src/waxe/Dialog.cpp value wx_message_dialog_show(value ioData) { wxWindow *parent = 0; wxString message; wxString caption; int style; ValueToWX(val_field(ioData,val_id("parent")),parent); ValueToWX(val_field(ioData,val_id("message")),message); ValueToWX(val_field(ioData,val_id("caption")),caption); ValueToWX(val_field(ioData,val_id("style")),style); wxMessageDialog *dlg = new wxMessageDialog(parent,message, caption, style); int result = dlg->ShowModal(); dlg->Destroy(); return alloc_int(result); }
value wx_scrolled_window_set_scrollbars(value *args, int nargs) { if (nargs < 8) val_throw(alloc_string("Too few arguments")); wxScrolledWindow *window; if (!ValueToWX(args[0], window)) val_throw(alloc_string("Invalid Window")); int ppuX = Val2Int(args[1]); int ppuY = Val2Int(args[2]); int nuX = Val2Int(args[3]); int nuY = Val2Int(args[4]); int xPos = Val2Int(args[5]); int yPos = Val2Int(args[6]); bool noRefresh = Val2Bool(args[7]); window->SetScrollbars(ppuX, ppuY, nuX, nuY, xPos, yPos, noRefresh); 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(); }